From c4e102b6c74d8950678682bcabe7870dd32b0033 Mon Sep 17 00:00:00 2001 From: "LAPTOP-0SF788NU\\admin" <3306174053@qq.com> Date: Thu, 14 Sep 2023 10:01:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=80=9F=E9=98=85=E7=94=B3?= =?UTF-8?q?=E8=AF=B7,=E6=A1=A3=E6=A1=88=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/borrow_apply20230913JS.sql | 65 +++++++++++ .../borrowapply/BorrowApplyController.java | 8 +- .../borrowapply/vo/BorrowApplyBaseVO.java | 10 +- .../borrowapply/vo/BorrowApplyExcelVO.java | 12 +-- .../vo/BorrowApplyExportReqVO.java | 10 +- .../borrowapply/vo/BorrowApplyPageReqVO.java | 10 +- .../borrowapply/vo/BorrowApplyRespVO.java | 2 +- .../vo/BorrowApplyUpdateReqVO.java | 2 +- .../dataobject/borrowapply/BorrowApplyDO.java | 12 +-- .../borrowapply/BorrowApplyService.java | 8 +- .../borrowapply/BorrowApplyServiceImpl.java | 10 +- .../setting/enums/ErrorCodeConstants.java | 2 + .../filecategory/FileCategoryController.java | 102 ++++++++++++++++++ .../filecategory/vo/FileCategoryBaseVO.java | 46 ++++++++ .../vo/FileCategoryCreateReqVO.java | 14 +++ .../filecategory/vo/FileCategoryExcelVO.java | 50 +++++++++ .../vo/FileCategoryExportReqVO.java | 45 ++++++++ .../vo/FileCategoryPageReqVO.java | 47 ++++++++ .../filecategory/vo/FileCategoryRespVO.java | 19 ++++ .../vo/FileCategoryUpdateReqVO.java | 18 ++++ .../filecategory/FileCategoryConvert.java | 34 ++++++ .../filecategory/FileCategoryDO.java | 64 +++++++++++ .../filecategory/FileCategoryMapper.java | 48 +++++++++ .../filecategory/FileCategoryService.java | 70 ++++++++++++ .../filecategory/FileCategoryServiceImpl.java | 82 ++++++++++++++ .../filecategory/FileCategoryMapper.xml | 12 +++ 26 files changed, 760 insertions(+), 42 deletions(-) create mode 100644 sql/borrow_apply20230913JS.sql create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/FileCategoryController.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryBaseVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryCreateReqVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExcelVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExportReqVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryPageReqVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryRespVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryUpdateReqVO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/convert/filecategory/FileCategoryConvert.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/dataobject/filecategory/FileCategoryDO.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/mysql/filecategory/FileCategoryMapper.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryService.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryServiceImpl.java create mode 100644 yudao-module-setting/yudao-module-setting-biz/src/main/resources/mapper/filecategory/FileCategoryMapper.xml diff --git a/sql/borrow_apply20230913JS.sql b/sql/borrow_apply20230913JS.sql new file mode 100644 index 00000000..94d7cf80 --- /dev/null +++ b/sql/borrow_apply20230913JS.sql @@ -0,0 +1,65 @@ +-- 新增 借阅申请表 +CREATE TABLE `lyr-one`.`archives_borrow_apply` ( + `id` bigint(20) NOT NULL COMMENT '借阅id', + `borrow_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅申请编码', + `borrow_state` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅申请状态 0:已通过 1驳回', + `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅事由', + `describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅描述', + `user_id` bigint(20) NULL DEFAULT NULL COMMENT '借阅人id', + `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅人名称', + `dept_id` bigint(11) NULL DEFAULT NULL COMMENT '借阅部门id', + `dept_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅部门名称', + `return_time` datetime NULL DEFAULT NULL COMMENT '预计归还日期', + `way` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '借阅方式 0:外接 1:现场查阅', + `media` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '档案介质', + `company_id` bigint(20) NULL DEFAULT NULL COMMENT '业务实体id', + `company` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务实体名称', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户编号', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改日期', + `deleted` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '逻辑删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = MyISAM CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '档案借阅申请表' ROW_FORMAT = Dynamic; + + +INSERT INTO `lyr-one`.`system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '借阅', '', 1, 0, 0, '/borrow', 'component', NULL, NULL, 0, b'1', b'1', b'1', '', '2023-09-13 15:27:06', '', '2023-09-13 15:27:16', b'0'); +SET @menuId = LAST_INSERT_ID(); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '借阅申请', 'borrow:apply:list', 2, 1, @menuId, 'apply', 'education', 'borrow/apply/index', 'apply', 0, b'1', b'1', b'1', '', '2023-09-13 15:29:48', '', '2023-09-13 15:29:48', b'0'); +SET @menuId2 = LAST_INSERT_ID(); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '新增借阅申请', 'archives:borrowAapply:create', 3, 1, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 15:36:56', '', '2023-09-13 15:36:56', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '导出借阅申请', 'archives:borrowAapply:export', 3, 2, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 15:37:31', '', '2023-09-13 15:37:31', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '修改借阅申请', 'archives:borrowAapply:update', 3, 3, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 15:39:24', '', '2023-09-13 15:39:24', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('删除借阅申请', 'archives:borrowAapply:delete', 3, 4, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 15:39:53', '', '2023-09-13 16:08:02', b'1'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '删除借阅申请', 'archives:borrowAapply:delete', 3, 4, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 16:08:23', '', '2023-09-13 16:08:23', b'0'); + +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '借阅历史记录', 'borrow:record:list', 2, 2, @menuId, 'record', 'table', 'borrow/record/index', 'record', 0, b'1', b'1', b'1', '', '2023-09-13 16:09:53', '', '2023-09-13 16:12:09', b'0'); + + +-- 新增档案分类表 +CREATE TABLE `lyr-one`.`setting_file_category` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `category_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '档案类型编码', + `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '档案类型父id', + `type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型名称', + `catalog_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目录号', + `two_catalog_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '二级类别号', + `custody_time` datetime NULL DEFAULT NULL COMMENT '保管期限', + `state` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '启用状态 0启用 1禁用', + `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '住户编号', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_time` datetime NULL DEFAULT NULL COMMENT '修改日期', + `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '制单人', + `deleted` tinyint(1) NULL DEFAULT NULL COMMENT '逻辑删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = MyISAM CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '档案分类表' ROW_FORMAT = Dynamic; + +-- 查询档案设置id进行赋值 +SELECT `id` INTO @menuId FROM system_menu WHERE `name` = '档案设置'; +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '档案分类', '', 2, 4, @menuId, 'fileCategory', '#', 'setting/fileCategory/index', 'fileCategory', 0, b'1', b'1', b'1', '', '2023-09-13 16:59:36', '', '2023-09-13 17:05:30', b'0'); +SET @menuId2 = LAST_INSERT_ID(); + +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '档案分类创建', 'setting:file-category:create', 3, 1, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 17:14:06', '', '2023-09-13 17:14:44', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('档案分类导出', 'setting:file-category:export', 3, 2, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 17:14:35', '', '2023-09-13 17:14:35', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '档案类型删除', 'setting:file-category:delete', 3, 3, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 17:15:04', '', '2023-09-13 17:15:04', b'0'); +INSERT INTO `lyr-one`.`system_menu` ( `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( '档案类型修改', 'setting:file-category:update', 3, 4, @menuId2, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-09-13 17:15:24', '', '2023-09-13 17:15:24', b'0'); diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/BorrowApplyController.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/BorrowApplyController.java index d9bd04f8..59242013 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/BorrowApplyController.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/BorrowApplyController.java @@ -40,7 +40,7 @@ public class BorrowApplyController { @PostMapping("/create") @Operation(summary = "创建档案借阅申请") @PreAuthorize("@ss.hasPermission('archives:borrow-apply:create')") - public CommonResult createBorrowApply(@Valid @RequestBody BorrowApplyCreateReqVO createReqVO) { + public CommonResult createBorrowApply(@Valid @RequestBody BorrowApplyCreateReqVO createReqVO) { return success(borrowApplyService.createBorrowApply(createReqVO)); } @@ -56,7 +56,7 @@ public class BorrowApplyController { @Operation(summary = "删除档案借阅申请") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('archives:borrow-apply:delete')") - public CommonResult deleteBorrowApply(@RequestParam("id") Integer id) { + public CommonResult deleteBorrowApply(@RequestParam("id") Long id) { borrowApplyService.deleteBorrowApply(id); return success(true); } @@ -65,7 +65,7 @@ public class BorrowApplyController { @Operation(summary = "获得档案借阅申请") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('archives:borrow-apply:query')") - public CommonResult getBorrowApply(@RequestParam("id") Integer id) { + public CommonResult getBorrowApply(@RequestParam("id") Long id) { BorrowApplyDO borrowApply = borrowApplyService.getBorrowApply(id); return success(BorrowApplyConvert.INSTANCE.convert(borrowApply)); } @@ -74,7 +74,7 @@ public class BorrowApplyController { @Operation(summary = "获得档案借阅申请列表") @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") @PreAuthorize("@ss.hasPermission('archives:borrow-apply:query')") - public CommonResult> getBorrowApplyList(@RequestParam("ids") Collection ids) { + public CommonResult> getBorrowApplyList(@RequestParam("ids") Collection ids) { List list = borrowApplyService.getBorrowApplyList(ids); return success(BorrowApplyConvert.INSTANCE.convertList(list)); } diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyBaseVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyBaseVO.java index 8a37a66f..95d87b2c 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyBaseVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyBaseVO.java @@ -22,7 +22,7 @@ public class BorrowApplyBaseVO { private String borrowCode; @Schema(description = "借阅申请状态 0:已通过 1驳回") - private Boolean borrowState; + private String borrowState; @Schema(description = "借阅事由", example = "不好") private String reason; @@ -31,13 +31,13 @@ public class BorrowApplyBaseVO { private String describe; @Schema(description = "借阅人id", example = "6652") - private Integer userId; + private Long userId; @Schema(description = "借阅人名称", example = "李四") private String userName; @Schema(description = "借阅部门id", example = "29611") - private Integer deptId; + private Long deptId; @Schema(description = "借阅部门名称", example = "张三") private String deptName; @@ -47,10 +47,10 @@ public class BorrowApplyBaseVO { private LocalDateTime returnTime; @Schema(description = "借阅方式 0:外接 1:现场查阅") - private Boolean way; + private String way; @Schema(description = "档案介质") - private Boolean media; + private String media; @Schema(description = "业务实体id", example = "23211") private Long companyId; diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExcelVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExcelVO.java index 5d46dc93..156dcc31 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExcelVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExcelVO.java @@ -18,13 +18,13 @@ import com.alibaba.excel.annotation.ExcelProperty; public class BorrowApplyExcelVO { @ExcelProperty("借阅id") - private Integer id; + private Long id; @ExcelProperty("借阅申请编码") private String borrowCode; @ExcelProperty("借阅申请状态 0:已通过 1驳回") - private Boolean borrowState; + private String borrowState; @ExcelProperty("借阅事由") private String reason; @@ -33,13 +33,13 @@ public class BorrowApplyExcelVO { private String describe; @ExcelProperty("借阅人id") - private Integer userId; + private Long userId; @ExcelProperty("借阅人名称") private String userName; @ExcelProperty("借阅部门id") - private Integer deptId; + private Long deptId; @ExcelProperty("借阅部门名称") private String deptName; @@ -48,10 +48,10 @@ public class BorrowApplyExcelVO { private LocalDateTime returnTime; @ExcelProperty("借阅方式 0:外接 1:现场查阅") - private Boolean way; + private String way; @ExcelProperty("档案介质") - private Boolean media; + private String media; @ExcelProperty("业务实体id") private Long companyId; diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExportReqVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExportReqVO.java index 726eb9b4..13d22f17 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExportReqVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyExportReqVO.java @@ -17,7 +17,7 @@ public class BorrowApplyExportReqVO { private String borrowCode; @Schema(description = "借阅申请状态 0:已通过 1驳回") - private Boolean borrowState; + private String borrowState; @Schema(description = "借阅事由", example = "不好") private String reason; @@ -26,13 +26,13 @@ public class BorrowApplyExportReqVO { private String describe; @Schema(description = "借阅人id", example = "6652") - private Integer userId; + private Long userId; @Schema(description = "借阅人名称", example = "李四") private String userName; @Schema(description = "借阅部门id", example = "29611") - private Integer deptId; + private Long deptId; @Schema(description = "借阅部门名称", example = "张三") private String deptName; @@ -42,10 +42,10 @@ public class BorrowApplyExportReqVO { private LocalDateTime[] returnTime; @Schema(description = "借阅方式 0:外接 1:现场查阅") - private Boolean way; + private String way; @Schema(description = "档案介质") - private Boolean media; + private String media; @Schema(description = "业务实体id", example = "23211") private Long companyId; diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyPageReqVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyPageReqVO.java index 19c97871..e3323da9 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyPageReqVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyPageReqVO.java @@ -19,7 +19,7 @@ public class BorrowApplyPageReqVO extends PageParam { private String borrowCode; @Schema(description = "借阅申请状态 0:已通过 1驳回") - private Boolean borrowState; + private String borrowState; @Schema(description = "借阅事由", example = "不好") private String reason; @@ -28,13 +28,13 @@ public class BorrowApplyPageReqVO extends PageParam { private String describe; @Schema(description = "借阅人id", example = "6652") - private Integer userId; + private Long userId; @Schema(description = "借阅人名称", example = "李四") private String userName; @Schema(description = "借阅部门id", example = "29611") - private Integer deptId; + private Long deptId; @Schema(description = "借阅部门名称", example = "张三") private String deptName; @@ -44,10 +44,10 @@ public class BorrowApplyPageReqVO extends PageParam { private LocalDateTime[] returnTime; @Schema(description = "借阅方式 0:外接 1:现场查阅") - private Boolean way; + private String way; @Schema(description = "档案介质") - private Boolean media; + private String media; @Schema(description = "业务实体id", example = "23211") private Long companyId; diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyRespVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyRespVO.java index 81ad9e77..5d2280bd 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyRespVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyRespVO.java @@ -11,7 +11,7 @@ import java.time.LocalDateTime; public class BorrowApplyRespVO extends BorrowApplyBaseVO { @Schema(description = "借阅id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8595") - private Integer id; + private Long id; @Schema(description = "创建日期") private LocalDateTime createTime; diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyUpdateReqVO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyUpdateReqVO.java index 37f347a0..89f245ba 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyUpdateReqVO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/borrowapply/vo/BorrowApplyUpdateReqVO.java @@ -13,6 +13,6 @@ public class BorrowApplyUpdateReqVO extends BorrowApplyBaseVO { @Schema(description = "借阅id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8595") @NotNull(message = "借阅id不能为空") - private Integer id; + private Long id; } diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/dal/dataobject/borrowapply/BorrowApplyDO.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/dal/dataobject/borrowapply/BorrowApplyDO.java index e7035160..7897b0ea 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/dal/dataobject/borrowapply/BorrowApplyDO.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/dal/dataobject/borrowapply/BorrowApplyDO.java @@ -27,7 +27,7 @@ public class BorrowApplyDO extends BaseDO { * 借阅id */ @TableId - private Integer id; + private Long id; /** * 借阅申请编码 */ @@ -35,7 +35,7 @@ public class BorrowApplyDO extends BaseDO { /** * 借阅申请状态 0:已通过 1驳回 */ - private Boolean borrowState; + private String borrowState; /** * 借阅事由 */ @@ -47,7 +47,7 @@ public class BorrowApplyDO extends BaseDO { /** * 借阅人id */ - private Integer userId; + private Long userId; /** * 借阅人名称 */ @@ -55,7 +55,7 @@ public class BorrowApplyDO extends BaseDO { /** * 借阅部门id */ - private Integer deptId; + private Long deptId; /** * 借阅部门名称 */ @@ -67,11 +67,11 @@ public class BorrowApplyDO extends BaseDO { /** * 借阅方式 0:外接 1:现场查阅 */ - private Boolean way; + private String way; /** * 档案介质 */ - private Boolean media; + private String media; /** * 业务实体id */ diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyService.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyService.java index 9dbf38e8..de63c097 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyService.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyService.java @@ -19,7 +19,7 @@ public interface BorrowApplyService { * @param createReqVO 创建信息 * @return 编号 */ - Integer createBorrowApply(@Valid BorrowApplyCreateReqVO createReqVO); + Long createBorrowApply(@Valid BorrowApplyCreateReqVO createReqVO); /** * 更新档案借阅申请 @@ -33,7 +33,7 @@ public interface BorrowApplyService { * * @param id 编号 */ - void deleteBorrowApply(Integer id); + void deleteBorrowApply(Long id); /** * 获得档案借阅申请 @@ -41,7 +41,7 @@ public interface BorrowApplyService { * @param id 编号 * @return 档案借阅申请 */ - BorrowApplyDO getBorrowApply(Integer id); + BorrowApplyDO getBorrowApply(Long id); /** * 获得档案借阅申请列表 @@ -49,7 +49,7 @@ public interface BorrowApplyService { * @param ids 编号 * @return 档案借阅申请列表 */ - List getBorrowApplyList(Collection ids); + List getBorrowApplyList(Collection ids); /** * 获得档案借阅申请分页 diff --git a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyServiceImpl.java b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyServiceImpl.java index 2e30f2bc..2251fe5b 100644 --- a/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyServiceImpl.java +++ b/yudao-module-archives/yudao-module-archives-biz/src/main/java/cn/iocoder/yudao/module/archives/service/borrowapply/BorrowApplyServiceImpl.java @@ -28,7 +28,7 @@ public class BorrowApplyServiceImpl implements BorrowApplyService { private BorrowApplyMapper borrowApplyMapper; @Override - public Integer createBorrowApply(BorrowApplyCreateReqVO createReqVO) { + public Long createBorrowApply(BorrowApplyCreateReqVO createReqVO) { // 插入 BorrowApplyDO borrowApply = BorrowApplyConvert.INSTANCE.convert(createReqVO); borrowApplyMapper.insert(borrowApply); @@ -46,26 +46,26 @@ public class BorrowApplyServiceImpl implements BorrowApplyService { } @Override - public void deleteBorrowApply(Integer id) { + public void deleteBorrowApply(Long id) { // 校验存在 validateBorrowApplyExists(id); // 删除 borrowApplyMapper.deleteById(id); } - private void validateBorrowApplyExists(Integer id) { + private void validateBorrowApplyExists(Long id) { if (borrowApplyMapper.selectById(id) == null) { throw exception(BORROW_APPLY_NOT_EXISTS); } } @Override - public BorrowApplyDO getBorrowApply(Integer id) { + public BorrowApplyDO getBorrowApply(Long id) { return borrowApplyMapper.selectById(id); } @Override - public List getBorrowApplyList(Collection ids) { + public List getBorrowApplyList(Collection ids) { return borrowApplyMapper.selectBatchIds(ids); } diff --git a/yudao-module-setting/yudao-module-setting-api/src/main/java/cn/iocoder/yudao/module/setting/enums/ErrorCodeConstants.java b/yudao-module-setting/yudao-module-setting-api/src/main/java/cn/iocoder/yudao/module/setting/enums/ErrorCodeConstants.java index 6c9119a2..0a1e8527 100644 --- a/yudao-module-setting/yudao-module-setting-api/src/main/java/cn/iocoder/yudao/module/setting/enums/ErrorCodeConstants.java +++ b/yudao-module-setting/yudao-module-setting-api/src/main/java/cn/iocoder/yudao/module/setting/enums/ErrorCodeConstants.java @@ -6,4 +6,6 @@ public interface ErrorCodeConstants { ErrorCode DEPOT_CABINET_NOT_EXISTS = new ErrorCode(300100, "档案柜管理不存在"); ErrorCode DEPOT_NOT_EXISTS = new ErrorCode(400100, "库房管理不存在"); + ErrorCode FILE_CATEGORY_NOT_EXISTS = new ErrorCode(400200, "档案分类不存在"); + } \ No newline at end of file diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/FileCategoryController.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/FileCategoryController.java new file mode 100644 index 00000000..9d38768d --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/FileCategoryController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo.*; +import cn.iocoder.yudao.module.setting.dal.dataobject.filecategory.FileCategoryDO; +import cn.iocoder.yudao.module.setting.convert.filecategory.FileCategoryConvert; +import cn.iocoder.yudao.module.setting.service.filecategory.FileCategoryService; + +@Tag(name = "管理后台 - 档案分类") +@RestController +@RequestMapping("/setting/file-category") +@Validated +public class FileCategoryController { + + @Resource + private FileCategoryService fileCategoryService; + + @PostMapping("/create") + @Operation(summary = "创建档案分类") + @PreAuthorize("@ss.hasPermission('setting:file-category:create')") + public CommonResult createFileCategory(@Valid @RequestBody FileCategoryCreateReqVO createReqVO) { + return success(fileCategoryService.createFileCategory(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新档案分类") + @PreAuthorize("@ss.hasPermission('setting:file-category:update')") + public CommonResult updateFileCategory(@Valid @RequestBody FileCategoryUpdateReqVO updateReqVO) { + fileCategoryService.updateFileCategory(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除档案分类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('setting:file-category:delete')") + public CommonResult deleteFileCategory(@RequestParam("id") Long id) { + fileCategoryService.deleteFileCategory(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得档案分类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('setting:file-category:query')") + public CommonResult getFileCategory(@RequestParam("id") Long id) { + FileCategoryDO fileCategory = fileCategoryService.getFileCategory(id); + return success(FileCategoryConvert.INSTANCE.convert(fileCategory)); + } + + @GetMapping("/list") + @Operation(summary = "获得档案分类列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('setting:file-category:query')") + public CommonResult> getFileCategoryList(@RequestParam("ids") Collection ids) { + List list = fileCategoryService.getFileCategoryList(ids); + return success(FileCategoryConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得档案分类分页") + @PreAuthorize("@ss.hasPermission('setting:file-category:query')") + public CommonResult> getFileCategoryPage(@Valid FileCategoryPageReqVO pageVO) { + PageResult pageResult = fileCategoryService.getFileCategoryPage(pageVO); + return success(FileCategoryConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出档案分类 Excel") + @PreAuthorize("@ss.hasPermission('setting:file-category:export')") + @OperateLog(type = EXPORT) + public void exportFileCategoryExcel(@Valid FileCategoryExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = fileCategoryService.getFileCategoryList(exportReqVO); + // 导出 Excel + List datas = FileCategoryConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "档案分类.xls", "数据", FileCategoryExcelVO.class, datas); + } + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryBaseVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryBaseVO.java new file mode 100644 index 00000000..81d20d52 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryBaseVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 档案分类 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class FileCategoryBaseVO { + + @Schema(description = "档案类型编码") + private String categoryCode; + + @Schema(description = "档案类型父id", example = "23289") + private Long parentId; + + @Schema(description = "类型名称", example = "张三") + private String typeName; + + @Schema(description = "目录号") + private String catalogNumber; + + @Schema(description = "二级类别号") + private String twoCatalogNumber; + + @Schema(description = "保管期限") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime custodyTime; + + @Schema(description = "启用状态 0启用 1禁用") + private Boolean state; + + @Schema(description = "制单人") + private String createBy; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryCreateReqVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryCreateReqVO.java new file mode 100644 index 00000000..0bf940ac --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryCreateReqVO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 档案分类创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileCategoryCreateReqVO extends FileCategoryBaseVO { + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExcelVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExcelVO.java new file mode 100644 index 00000000..cd0afd81 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExcelVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 档案分类 Excel VO + * + * @author 芋道源码 + */ +@Data +public class FileCategoryExcelVO { + + @ExcelProperty("tenant_id create_time update_time create_by deleted ") + private Long id; + + @ExcelProperty("档案类型编码") + private String categoryCode; + + @ExcelProperty("档案类型父id") + private Long parentId; + + @ExcelProperty("类型名称") + private String typeName; + + @ExcelProperty("目录号") + private String catalogNumber; + + @ExcelProperty("二级类别号") + private String twoCatalogNumber; + + @ExcelProperty("保管期限") + private LocalDateTime custodyTime; + + @ExcelProperty("启用状态 0启用 1禁用") + private Boolean state; + + @ExcelProperty("创建日期") + private LocalDateTime createTime; + + @ExcelProperty("制单人") + private String createBy; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExportReqVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExportReqVO.java new file mode 100644 index 00000000..593c50f1 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryExportReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 档案分类 Excel 导出 Request VO,参数和 FileCategoryPageReqVO 是一致的") +@Data +public class FileCategoryExportReqVO { + + @Schema(description = "档案类型编码") + private String categoryCode; + + @Schema(description = "档案类型父id", example = "23289") + private Long parentId; + + @Schema(description = "类型名称", example = "张三") + private String typeName; + + @Schema(description = "目录号") + private String catalogNumber; + + @Schema(description = "二级类别号") + private String twoCatalogNumber; + + @Schema(description = "保管期限") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] custodyTime; + + @Schema(description = "启用状态 0启用 1禁用") + private Boolean state; + + @Schema(description = "创建日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "制单人") + private String createBy; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryPageReqVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryPageReqVO.java new file mode 100644 index 00000000..6855cdee --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryPageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 档案分类分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileCategoryPageReqVO extends PageParam { + + @Schema(description = "档案类型编码") + private String categoryCode; + + @Schema(description = "档案类型父id", example = "23289") + private Long parentId; + + @Schema(description = "类型名称", example = "张三") + private String typeName; + + @Schema(description = "目录号") + private String catalogNumber; + + @Schema(description = "二级类别号") + private String twoCatalogNumber; + + @Schema(description = "保管期限") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] custodyTime; + + @Schema(description = "启用状态 0启用 1禁用") + private Boolean state; + + @Schema(description = "创建日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "制单人") + private String createBy; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryRespVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryRespVO.java new file mode 100644 index 00000000..4c33c686 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryRespVO.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 档案分类 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileCategoryRespVO extends FileCategoryBaseVO { + + @Schema(description = "tenant_id create_time update_time create_by deleted ", requiredMode = Schema.RequiredMode.REQUIRED, example = "19533") + private Long id; + + @Schema(description = "创建日期") + private LocalDateTime createTime; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryUpdateReqVO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryUpdateReqVO.java new file mode 100644 index 00000000..9c52d08b --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/controller/admin/filecategory/vo/FileCategoryUpdateReqVO.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 档案分类更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class FileCategoryUpdateReqVO extends FileCategoryBaseVO { + + @Schema(description = "tenant_id create_time update_time create_by deleted ", requiredMode = Schema.RequiredMode.REQUIRED, example = "19533") + @NotNull(message = "tenant_id create_time update_time create_by deleted 不能为空") + private Long id; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/convert/filecategory/FileCategoryConvert.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/convert/filecategory/FileCategoryConvert.java new file mode 100644 index 00000000..b5564ecd --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/convert/filecategory/FileCategoryConvert.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.setting.convert.filecategory; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo.*; +import cn.iocoder.yudao.module.setting.dal.dataobject.filecategory.FileCategoryDO; + +/** + * 档案分类 Convert + * + * @author 芋道源码 + */ +@Mapper +public interface FileCategoryConvert { + + FileCategoryConvert INSTANCE = Mappers.getMapper(FileCategoryConvert.class); + + FileCategoryDO convert(FileCategoryCreateReqVO bean); + + FileCategoryDO convert(FileCategoryUpdateReqVO bean); + + FileCategoryRespVO convert(FileCategoryDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/dataobject/filecategory/FileCategoryDO.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/dataobject/filecategory/FileCategoryDO.java new file mode 100644 index 00000000..43f1bfe3 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/dataobject/filecategory/FileCategoryDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.setting.dal.dataobject.filecategory; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 档案分类 DO + * + * @author 芋道源码 + */ +@TableName("setting_file_category") +@KeySequence("setting_file_category_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FileCategoryDO extends BaseDO { + + /** + * tenant_id create_time update_time create_by deleted + */ + @TableId + private Long id; + /** + * 档案类型编码 + */ + private String categoryCode; + /** + * 档案类型父id + */ + private Long parentId; + /** + * 类型名称 + */ + private String typeName; + /** + * 目录号 + */ + private String catalogNumber; + /** + * 二级类别号 + */ + private String twoCatalogNumber; + /** + * 保管期限 + */ + private LocalDateTime custodyTime; + /** + * 启用状态 0启用 1禁用 + */ + private Boolean state; + /** + * 制单人 + */ + private String createBy; + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/mysql/filecategory/FileCategoryMapper.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/mysql/filecategory/FileCategoryMapper.java new file mode 100644 index 00000000..3f19a1de --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/dal/mysql/filecategory/FileCategoryMapper.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.setting.dal.mysql.filecategory; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.setting.dal.dataobject.filecategory.FileCategoryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo.*; + +/** + * 档案分类 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FileCategoryMapper extends BaseMapperX { + + default PageResult selectPage(FileCategoryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FileCategoryDO::getCategoryCode, reqVO.getCategoryCode()) + .eqIfPresent(FileCategoryDO::getParentId, reqVO.getParentId()) + .likeIfPresent(FileCategoryDO::getTypeName, reqVO.getTypeName()) + .eqIfPresent(FileCategoryDO::getCatalogNumber, reqVO.getCatalogNumber()) + .eqIfPresent(FileCategoryDO::getTwoCatalogNumber, reqVO.getTwoCatalogNumber()) + .betweenIfPresent(FileCategoryDO::getCustodyTime, reqVO.getCustodyTime()) + .eqIfPresent(FileCategoryDO::getState, reqVO.getState()) + .betweenIfPresent(FileCategoryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FileCategoryDO::getCreateBy, reqVO.getCreateBy()) + .orderByDesc(FileCategoryDO::getId)); + } + + default List selectList(FileCategoryExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(FileCategoryDO::getCategoryCode, reqVO.getCategoryCode()) + .eqIfPresent(FileCategoryDO::getParentId, reqVO.getParentId()) + .likeIfPresent(FileCategoryDO::getTypeName, reqVO.getTypeName()) + .eqIfPresent(FileCategoryDO::getCatalogNumber, reqVO.getCatalogNumber()) + .eqIfPresent(FileCategoryDO::getTwoCatalogNumber, reqVO.getTwoCatalogNumber()) + .betweenIfPresent(FileCategoryDO::getCustodyTime, reqVO.getCustodyTime()) + .eqIfPresent(FileCategoryDO::getState, reqVO.getState()) + .betweenIfPresent(FileCategoryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FileCategoryDO::getCreateBy, reqVO.getCreateBy()) + .orderByDesc(FileCategoryDO::getId)); + } + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryService.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryService.java new file mode 100644 index 00000000..a1bd5315 --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryService.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.setting.service.filecategory; + +import java.util.*; +import javax.validation.*; +import cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo.*; +import cn.iocoder.yudao.module.setting.dal.dataobject.filecategory.FileCategoryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 档案分类 Service 接口 + * + * @author 芋道源码 + */ +public interface FileCategoryService { + + /** + * 创建档案分类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createFileCategory(@Valid FileCategoryCreateReqVO createReqVO); + + /** + * 更新档案分类 + * + * @param updateReqVO 更新信息 + */ + void updateFileCategory(@Valid FileCategoryUpdateReqVO updateReqVO); + + /** + * 删除档案分类 + * + * @param id 编号 + */ + void deleteFileCategory(Long id); + + /** + * 获得档案分类 + * + * @param id 编号 + * @return 档案分类 + */ + FileCategoryDO getFileCategory(Long id); + + /** + * 获得档案分类列表 + * + * @param ids 编号 + * @return 档案分类列表 + */ + List getFileCategoryList(Collection ids); + + /** + * 获得档案分类分页 + * + * @param pageReqVO 分页查询 + * @return 档案分类分页 + */ + PageResult getFileCategoryPage(FileCategoryPageReqVO pageReqVO); + + /** + * 获得档案分类列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 档案分类列表 + */ + List getFileCategoryList(FileCategoryExportReqVO exportReqVO); + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryServiceImpl.java b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryServiceImpl.java new file mode 100644 index 00000000..6c9c0a0e --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/java/cn/iocoder/yudao/module/setting/service/filecategory/FileCategoryServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.setting.service.filecategory; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.module.setting.controller.admin.filecategory.vo.*; +import cn.iocoder.yudao.module.setting.dal.dataobject.filecategory.FileCategoryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +import cn.iocoder.yudao.module.setting.convert.filecategory.FileCategoryConvert; +import cn.iocoder.yudao.module.setting.dal.mysql.filecategory.FileCategoryMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.setting.enums.ErrorCodeConstants.*; + +/** + * 档案分类 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FileCategoryServiceImpl implements FileCategoryService { + + @Resource + private FileCategoryMapper fileCategoryMapper; + + @Override + public Long createFileCategory(FileCategoryCreateReqVO createReqVO) { + // 插入 + FileCategoryDO fileCategory = FileCategoryConvert.INSTANCE.convert(createReqVO); + fileCategoryMapper.insert(fileCategory); + // 返回 + return fileCategory.getId(); + } + + @Override + public void updateFileCategory(FileCategoryUpdateReqVO updateReqVO) { + // 校验存在 + validateFileCategoryExists(updateReqVO.getId()); + // 更新 + FileCategoryDO updateObj = FileCategoryConvert.INSTANCE.convert(updateReqVO); + fileCategoryMapper.updateById(updateObj); + } + + @Override + public void deleteFileCategory(Long id) { + // 校验存在 + validateFileCategoryExists(id); + // 删除 + fileCategoryMapper.deleteById(id); + } + + private void validateFileCategoryExists(Long id) { + if (fileCategoryMapper.selectById(id) == null) { + throw exception(FILE_CATEGORY_NOT_EXISTS); + } + } + + @Override + public FileCategoryDO getFileCategory(Long id) { + return fileCategoryMapper.selectById(id); + } + + @Override + public List getFileCategoryList(Collection ids) { + return fileCategoryMapper.selectBatchIds(ids); + } + + @Override + public PageResult getFileCategoryPage(FileCategoryPageReqVO pageReqVO) { + return fileCategoryMapper.selectPage(pageReqVO); + } + + @Override + public List getFileCategoryList(FileCategoryExportReqVO exportReqVO) { + return fileCategoryMapper.selectList(exportReqVO); + } + +} diff --git a/yudao-module-setting/yudao-module-setting-biz/src/main/resources/mapper/filecategory/FileCategoryMapper.xml b/yudao-module-setting/yudao-module-setting-biz/src/main/resources/mapper/filecategory/FileCategoryMapper.xml new file mode 100644 index 00000000..3e1d814b --- /dev/null +++ b/yudao-module-setting/yudao-module-setting-biz/src/main/resources/mapper/filecategory/FileCategoryMapper.xml @@ -0,0 +1,12 @@ + + + + + + +