文件记录-申请-问题修改

This commit is contained in:
YBP
2026-03-06 18:31:33 +08:00
parent 0e891bf862
commit b5ef91613b
38 changed files with 823 additions and 329 deletions

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapply;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.business.controller.AbstractFileUploadController;
@@ -11,12 +12,15 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyDetailJoinPageVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordSaveReqVO;
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapply.RecordApplyDO;
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO;
import com.zt.plat.module.qms.resource.record.service.recordapply.RecordApplyService;
import com.zt.plat.module.qms.resource.record.service.recordrecord.RecordRecordService;
import io.swagger.v3.oas.annotations.Operation;
@@ -25,6 +29,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -60,10 +65,17 @@ public class RecordApplyController extends AbstractFileUploadController implemen
return success(recordApplyService.createRecordApply(createReqVO));
}
@PostMapping("/createApplyData")
@Operation(summary = "创建文件申请数据")
//@PreAuthorize("@ss.hasPermission('qms:record-apply:create')")
public CommonResult<RecordApplyRespVO> createApplyData(@Valid @RequestBody RecordApplySaveReqVO respVO) {
return recordApplyService.createApplyData(respVO);
}
@PostMapping("/submitApply")
@Operation(summary = "创建文件记录通用申请")
//@PreAuthorize("@ss.hasPermission('qms:record-apply:create')")
public CommonResult<RecordApplyRespVO> submitApply(@Valid @RequestBody RecordApplyRespVO respVO) {
public CommonResult<RecordApplyRespVO> submitApply(@Valid @RequestBody RecordApplySaveReqVO respVO) {
return recordApplyService.submitRecordApply(respVO);
}
@@ -99,7 +111,17 @@ public class RecordApplyController extends AbstractFileUploadController implemen
//@PreAuthorize("@ss.hasPermission('qms:record-apply:query')")
public CommonResult<RecordApplyRespVO> getRecordApply(@RequestParam("id") Long id) {
RecordApplyDO recordApply = recordApplyService.getRecordApply(id);
return success(BeanUtils.toBean(recordApply, RecordApplyRespVO.class));
// 先转换为VO避免JSONObject中包含ArrayList导致的转换错误
RecordApplyRespVO respVO = BeanUtils.toBean(recordApply, RecordApplyRespVO.class);
// // 单独处理formDataObject字段
// String formData = recordApply.getFormData();
// if (!ObjectUtils.isEmpty(formData)) {
// JSONObject jsonObject = JSONObject.parseObject(formData, JSONObject.class);
// respVO.setFormDataObject(jsonObject);
// }
return success(respVO);
}
@GetMapping("/page")
@@ -108,6 +130,31 @@ public class RecordApplyController extends AbstractFileUploadController implemen
public CommonResult<PageResult<RecordApplyRespVO>> getRecordApplyPage(@Valid RecordApplyPageReqVO pageReqVO) {
PageResult<RecordApplyDO> pageResult = recordApplyService.getRecordApplyPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RecordApplyRespVO.class));
// List<RecordApplyDO> list = pageResult.getList();
//
// // 先转换为VO列表
// List<RecordApplyRespVO> respVOList = BeanUtils.toBean(list, RecordApplyRespVO.class);
// PageResult<RecordApplyRespVO> result = new PageResult<>();
// result.setList(respVOList);
// result.setTotal(pageResult.getTotal());
// return success(result);
}
@GetMapping("/recordReviewPage")
@Operation(summary = "文件评审分页")
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
public CommonResult<PageResult<RecordApplyPageReqVO>> recordReviewPage(@Valid RecordApplyPageReqVO pageReqVO) {
PageResult<RecordApplyDO> pageResult = recordApplyService.getRecordApplyPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RecordApplyPageReqVO.class));
}
@GetMapping("/recordDistributePage")
@Operation(summary = "文件分发分页")
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
public CommonResult<PageResult<RecordApplyPageReqVO>> recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO) {
PageResult<RecordApplyDO> pageResult = recordApplyService.recordDistributePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, RecordApplyPageReqVO.class));
}
@GetMapping("/export-excel")

View File

@@ -1,6 +1,8 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -20,6 +22,10 @@ public class RecordApplyPageReqVO extends PageParam {
@Schema(description = "业务类型", example = "1")
private String businessType;
@Schema(description = "业务状态")
@Dict(dicCode = "flow_status")
private String businessStatus;
@Schema(description = "申请人id", example = "15000")
private Long applyUserId;
@@ -32,11 +38,17 @@ public class RecordApplyPageReqVO extends PageParam {
@Schema(description = "部门名称", example = "研发部")
private String applyDepartmentName;
@Schema(description = "评审时间")
private LocalDateTime reviewTime;
@Schema(description = "评审范围")
private String reviewRange;
@Schema(description = "参加评审人员", example = "赵六")
private String reviewUserName;
@Schema(description = "分发目标")
private String assignTarget;
@Schema(description = "参加评审部门")
private String reviewDepartmentIds;
@Schema(description = "参加评审人员id")
private String reviewUserIds;

View File

@@ -1,11 +1,18 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo;
import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 文件记录通用申请 Response VO")
@@ -42,13 +49,20 @@ public class RecordApplyRespVO {
@ExcelProperty("部门名称")
private String applyDepartmentName;
@Schema(description = "评审时间")
@ExcelProperty("评审时间")
private LocalDateTime reviewTime;
@Schema(description = "评审范围")
@ExcelProperty("评审范围")
private String reviewRange;
@Schema(description = "参加评审人员", example = "赵六")
@ExcelProperty("参加评审人员")
private String reviewUserName;
@Schema(description = "分发目标")
private String assignTarget;
@Schema(description = "参加评审部门")
@ExcelProperty("参加评审部门")
private String reviewDepartmentIds;
@Schema(description = "参加评审人员id")
@ExcelProperty("参加评审人员id")
@@ -96,29 +110,30 @@ public class RecordApplyRespVO {
@Schema(description = "业务状态")
@ExcelProperty("业务状态")
@Dict(dicCode = "record_apply_review")
private String businessStatus;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
// // ===============临时字段=================》
@Schema(description = "明细列表")
private List<RecordApplyDetailRespVO> dataList;
// ===============临时字段=================》
// needApply 是否需要申请true-需要false-不需要
@Schema(description = "是否需要申请")
private Boolean needApply;
// @Schema(description = "文件记录ID")
// private Long recordId;
@Schema(description = "文件记录ID")
private Long recordId;
// @Schema(description = "用户IDs")
// private Long[] userIds;
//
// @Schema(description = "用户IDs")
// private Long[] deptIds;
@Schema(description = "文件记录IDS")
private Long[] recordIdS;
private List<RecordApplyDetailRespVO> paramsList;
@Schema(description = "用户IDs")
private Long[] userIds;
@Schema(description = "用户IDs")
private Long[] deptIds;
}

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -16,32 +17,44 @@ public class RecordApplySaveReqVO {
private Long id;
@Schema(description = "申请标题,【字典】【jy_record_apply_bsn_type】分发、查看申请、作废、评审", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "申请标题,【字典】【jy_record_apply_bsn_type】分发、查看申请、作废、评审不能为空")
// @NotEmpty(message = "申请标题,【字典】【jy_record_apply_bsn_type】分发、查看申请、作废、评审不能为空")
private String title;
@Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotEmpty(message = "业务类型不能为空")
// @NotEmpty(message = "业务类型不能为空")
private String businessType;
@Schema(description = "业务状态")
private String businessStatus;
@Schema(description = "申请人id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15000")
@NotNull(message = "申请人id不能为空")
// @NotNull(message = "申请人id不能为空")
private Long applyUserId;
@Schema(description = "申请人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "申请人姓名不能为空")
// @NotEmpty(message = "申请人姓名不能为空")
private String applyUserName;
@Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "部门id不能为空")
// @NotNull(message = "部门id不能为空")
private Long applyDepartmentId;
@Schema(description = "部门名称", example = "研发部")
@ExcelProperty("部门名称")
private String applyDepartmentName;
@Schema(description = "分发目标")
private String assignTarget;
@Schema(description = "评审时间")
private LocalDateTime reviewTime;
@Schema(description = "评审范围")
private String reviewRange;
@Schema(description = "参加评审部门")
private String reviewDepartmentIds;
@Schema(description = "参加评审人员", example = "赵六")
private String reviewUserName;
@@ -78,7 +91,16 @@ public class RecordApplySaveReqVO {
@Schema(description = "流程实例ID")
private String flowInstanceId;
@Schema(description = "业务状态")
private String businessStatus;
@Schema(description = "文件记录ID")
private Long recordId;
@Schema(description = "用户IDs")
private Long[] userIds;
@Schema(description = "用户IDs")
private Long[] deptIds;
private List<RecordApplyDetailRespVO> paramsList;
}

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
import java.util.*;
@@ -27,6 +28,13 @@ public class RecordApplyDetailPageReqVO extends PageParam {
@Schema(description = "授权Id")
private Long targetId;
@Schema(description = "是否需要更改")
@Dict(dicCode = "yes_or_no")
private Integer isModify;
@Schema(description = "更改原因")
private String modifyCause;
@Schema(description = "是否长期有效")
private String permanently;

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -32,6 +33,15 @@ public class RecordApplyDetailRespVO {
@ExcelProperty("授权Id")
private Long targetId;
@Schema(description = "是否需要更改")
@Dict(dicCode = "yes_or_no")
@ExcelProperty("是否需要更改")
private Integer isModify;
@Schema(description = "更改原因")
@ExcelProperty("更改原因")
private String modifyCause;
@Schema(description = "是否长期有效")
@ExcelProperty("是否长期有效")
private String permanently;

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -26,6 +27,13 @@ public class RecordApplyDetailSaveReqVO {
@Schema(description = "授权Id")
private Long targetId;
@Schema(description = "是否需要更改")
@Dict(dicCode = "yes_or_no")
private Integer isModify;
@Schema(description = "更改原因")
private String modifyCause;
@Schema(description = "是否长期有效")
private String permanently;

View File

@@ -4,6 +4,7 @@ import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIg
import com.zt.plat.module.qms.resource.record.controller.admin.recordcategory.vo.RecordCategoryPageReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordcategory.vo.RecordCategoryRespVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordcategory.vo.RecordCategorySaveReqVO;
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.ObjectUtils;
@@ -111,6 +112,17 @@ public class RecordCategoryController extends AbstractFileUploadController imple
return success(BeanUtils.toBean(recordCategory, RecordCategoryRespVO.class));
}
// 文件评审,获取满足当前账户权限的记录列表
@GetMapping("/getReviewRecordList")
@Operation(summary = "获得文件记录分类")
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
public CommonResult<List<RecordCategoryRespVO>> getReviewRecordList() {
List<RecordCategoryRespVO> recordRecords = recordCategoryService.getReviewRecordList();
return success(recordRecords);
}
@GetMapping("/getRecordCategoryTree")
@Operation(summary = "获得文件记录分类")
//@PreAuthorize("@ss.hasPermission('qms:record-category:query')")

View File

@@ -141,17 +141,17 @@ public class RecordRecordController extends AbstractFileUploadController impleme
return success(BeanUtils.toBean(matchedPermissionList, RecordPermissionRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出文件、模板、记录 Excel")
//@PreAuthorize("@ss.hasPermission('qms:record-record:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportRecordRecordExcel(@Valid RecordRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<RecordRecordDO> list = recordRecordService.getRecordRecordPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "文件、模板、记录.xls", "数据", RecordRecordRespVO.class,
BeanUtils.toBean(list, RecordRecordRespVO.class));
}
// @GetMapping("/export-excel")
// @Operation(summary = "导出文件、模板、记录 Excel")
// //@PreAuthorize("@ss.hasPermission('qms:record-record:export')")
// @ApiAccessLog(operateType = EXPORT)
// public void exportRecordRecordExcel(@Valid RecordRecordPageReqVO pageReqVO,
// HttpServletResponse response) throws IOException {
// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
// List<RecordRecordDO> list = recordRecordService.getRecordRecordPage(pageReqVO).getList();
// // 导出 Excel
// ExcelUtils.write(response, "文件、模板、记录.xls", "数据", RecordRecordRespVO.class,
// BeanUtils.toBean(list, RecordRecordRespVO.class));
// }
}

Some files were not shown because too many files have changed in this diff Show More