From 8de87161add3aeaefdf63c255bfe0654f4b5f005 Mon Sep 17 00:00:00 2001 From: YBP Date: Thu, 26 Mar 2026 11:46:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=B0=E5=BD=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../record/constant/RecordConstants.java | 2 - .../recordapply/CommonRecordController.java | 43 ++++------ .../vo/RecordRecordPageReqVO.java | 7 +- .../recordrecord/vo/RecordRecordRespVO.java | 8 +- .../vo/RecordRecordSaveReqVO.java | 2 +- .../recordrecord/RecordRecordDO.java | 2 +- .../record/dal/mapper/RecordRecordMapper.java | 47 +---------- .../recordapply/RecordApplyServiceImpl.java | 8 +- .../RecordPermissionServiceImpl.java | 9 ++- .../recordrecord/RecordRecordServiceImpl.java | 15 ++-- .../record/dal/mapper/RecordRecordMapper.xml | 80 +++++++++++-------- 11 files changed, 93 insertions(+), 130 deletions(-) diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/constant/RecordConstants.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/constant/RecordConstants.java index a77dc1a6..df2500f2 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/constant/RecordConstants.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/constant/RecordConstants.java @@ -5,8 +5,6 @@ package com.zt.plat.module.qms.resource.record.constant; */ public class RecordConstants { - public static final String SUPER_ADMIN = "ytjyAdmin"; // 超级管理员 标识 - /** * 权限目标类型 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/CommonRecordController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/CommonRecordController.java index 619bc733..4044156c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/CommonRecordController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/CommonRecordController.java @@ -1,13 +1,10 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordapply; -import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; -import com.zt.plat.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.qms.resource.record.controller.admin.recordassign.vo.RecordAssignRespVO; -import com.zt.plat.module.qms.resource.record.dal.dataobject.recordassign.RecordAssignDO; import com.zt.plat.module.qms.resource.record.service.recordassign.RecordAssignService; import com.zt.plat.module.system.api.dept.DeptApi; import com.zt.plat.module.system.api.dept.dto.DeptRespDTO; @@ -21,9 +18,11 @@ import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import static com.zt.plat.module.qms.enums.ErrorCodeConstants.CURRENT_USER_COMPANY_NOT_EXISTS; @@ -43,10 +42,6 @@ public class CommonRecordController { @Resource private AdminUserApi adminUserApi; - - @Resource - private PermissionCommonApi permissionCommonApi; - @Resource private RecordAssignService recordAssignService; @@ -64,7 +59,7 @@ public class CommonRecordController { @GetMapping("/user-assign-list") @Operation(summary = "获取当前用户所在公司的所有部门,以及分发号") public CommonResult> getUserAssignList() { - CommonResult> deptList = this.getUserList(); + CommonResult> deptList = this.getUserList(null); if (ObjectUtils.isEmpty(deptList)) return CommonResult.success(new ArrayList<>()); List data = deptList.getData(); List deptIds = data.stream().map(AdminUserRespDTO::getId).toList(); @@ -129,30 +124,24 @@ public class CommonRecordController { @GetMapping("/user-list") @Operation(summary = "获得当前公司下面的所有用户") //@PreAuthorize("@ss.hasPermission('qms:record-relation:query')") - public CommonResult> getUserList() { + public CommonResult> getUserList(@RequestParam(name = "deptIds", required = false) String deptIdsList) { + log.info("deptIdsList:{}", deptIdsList); // "1,2,3,4,5" + // 字符串转换成 list 列表 + List deptIds = new ArrayList<>(); + if (!ObjectUtils.isEmpty(deptIdsList)) { + deptIds = Arrays.stream(deptIdsList.split(",")).map(Long::parseLong).toList(); + } CommonResult> userDataList; CommonResult> deptList = this.getDeptList(); List data = deptList.getData(); // 获取部门的所有id - List deptIds = new ArrayList<>(); - data.forEach(deptRespDTO -> { - deptIds.add(deptRespDTO.getId()); - }); + + if (ObjectUtils.isEmpty(deptIds)) { + for (DeptRespDTO item : data) { + deptIds.add(item.getId()); + } + } userDataList = adminUserApi.getUserListByDeptIds(deptIds); return userDataList; } - - - @GetMapping("/test") - @Operation(summary = "获得当前公司下面的所有用户") - //@PreAuthorize("@ss.hasPermission('qms:record-relation:query')") - public CommonResult test() { - LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); - Long userId = loginUser.getId(); - CommonResult booleanCommonResult = permissionCommonApi.hasAnyPermissions(userId,"read"); - log.info("booleanCommonResult:{}", booleanCommonResult.getData()); - CommonResult ytjyAdmin = permissionCommonApi.getDeptDataPermissionWithRoleCodes(userId, "11"); - - return ytjyAdmin; - } } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordPageReqVO.java index 505733ed..2d4b282a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordPageReqVO.java @@ -7,6 +7,7 @@ import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -99,7 +100,8 @@ public class RecordRecordPageReqVO extends PageParam { private Integer collectionFlag; @Schema(description = "审批状态,需要走流程的审批状态") - private String ApplyStatus; + @Dict(dicCode = "flow_status") + private String applyStatus; @Schema(description = "流程实例Id") private String flowInstanceId; @@ -116,4 +118,7 @@ public class RecordRecordPageReqVO extends PageParam { private String appraisalFlag; + // ===========扩展字段========== + private List categoryIds; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java index 54d82343..17a41dfe 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java @@ -105,7 +105,7 @@ public class RecordRecordRespVO { @Schema(description = "审批状态,需要走流程的审批状态") @Dict(dicCode = "flow_status") - private String ApplyStatus; + private String applyStatus; @Schema(description = "流程实例Id") private String flowInstanceId; @@ -168,8 +168,8 @@ public class RecordRecordRespVO { // @Schema(description = "文件提交流程实例ID") // private String flowInstanceId; - @Schema(description = "文件提交业务状态") - @Dict(dicCode = "flow_status") - private String applyBusinessStatus; +// @Schema(description = "文件提交业务状态") +// @Dict(dicCode = "flow_status") +// private String applyBusinessStatus; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordSaveReqVO.java index 557ecab6..c3a2996a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordSaveReqVO.java @@ -79,7 +79,7 @@ public class RecordRecordSaveReqVO { private Integer cancelFlag; @Schema(description = "审批状态,需要走流程的审批状态") - private String ApplyStatus; + private String applyStatus; @Schema(description = "流程实例Id") private String flowInstanceId; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java index bdb9a13c..643ef629 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java @@ -132,7 +132,7 @@ public class RecordRecordDO extends BusinessBaseDO { * 审批状态,需要走流程的审批状态 */ @TableField("APL_STS") - private String ApplyStatus; + private String applyStatus; /** * 流程实例Id */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java index 852f51c8..c54ae706 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java @@ -52,52 +52,11 @@ public interface RecordRecordMapper extends BaseMapperX { .orderByDesc(RecordRecordDO::getId)); } - /** - * 多表关联分页查询:recordRecord、recordApplyDetail、recordApply - * 关联关系:recordRecord.id = recordApplyDetail.documentId - * recordApplyDetail.applyId = recordApply.id - */ -// IPage selectRecordWithApplyPage(Page page, @Param("reqVO") RecordRecordPageReqVO reqVO); - /** - * 文件评审分页查询:关联查询 recordApply、recordApplyDetail、recordRecord - * 查询条件:recordApply 的 businessType = '文件评审' - */ -// @Select("SELECT DISTINCT trr.* FROM t_rcd_rcd trr " + -// "INNER JOIN t_rcd_apl_dtl trad ON trr.ID = trad.DOC_ID " + -// "INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID " + -// "WHERE tra.BSN_TP = #{businessType} " + -// "ORDER BY trr.ID DESC " + -// "LIMIT #{offset}, #{pageSize}") -// List selectRecordReviewPage(String businessType, int offset, int pageSize); + IPage getEffectRecordPage(Page page, + RecordRecordPageReqVO reqVO); - /** - * 获取文件评审总数 - */ -// @Select("SELECT COUNT(DISTINCT trr.ID) FROM t_rcd_rcd trr " + -// "INNER JOIN t_rcd_apl_dtl trad ON trr.ID = trad.DOC_ID " + -// "INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID " + -// "WHERE tra.BSN_TP = #{businessType}") -// Long selectRecordReviewCount(String businessType); - /** - * 通过 idPath 模糊查询 关联的文件记录 - * - * @param - * @return - */ -// IPage selectRecordByIdPathLike(Page page, -// @Param("reqVO") RecordRecordPageReqVO reqVO, -// @Param("pathList") List pathList); +// IPage getNotSubmitEffectRecordPage(Page page, @Param("reqVO") RecordRecordPageReqVO reqVO); - IPage getSubmitEffectRecordPage(Page page, - RecordRecordPageReqVO reqVO, - List categoryIds); - -// IPage getEffectiveRecordBySubmitFlagPage(Page page, @Param("reqVO") RecordRecordPageReqVO reqVO); - - IPage getNotSubmitEffectRecordPage(Page page, @Param("reqVO") RecordRecordPageReqVO reqVO, List categoryIds); - - // TODO -// List selectViewApplyRecordList(@Param("pageReqVO") RecordRecordPageReqVO pageReqVO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java index 6c07972e..ae75541f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java @@ -401,7 +401,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn public boolean justifyRecordApply(RecordRecordDO recordDO) { Integer recordStatus = recordDO.getRecordStatus(); if (recordStatus != null && recordStatus == 1) - throw exception(RECORD_APPLY_NOT_EXISTS, "文件已提交,无法提交申请"); + throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "文件已提交,无法提交申请"); RecordCategoryDO recordCategory = recordCategoryService.getRecordCategory(recordDO.getCategoryId()); // 获取分类的根分类Id String idPath = recordCategory.getIdPath(); @@ -800,12 +800,10 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn LocalDateTime endDate = applyDetailDO.getEndDate(); if (!ObjectUtils.isEmpty(saveFlag)) { permissionDO.setSaveFlag(saveFlag); - permissionDO.setSaveEndDate(endDate); - }else { - permissionDO.setExpirationDate(endDate); +// permissionDO.setSaveEndDate(endDate); } List permissionDOList = new ArrayList<>(); - + permissionDO.setExpirationDate(endDate); // 过期效期 permissionDO.setPermission(RecordConstants.PermissionType.VIEW); // 可查看 permissionDO.setSourceType(RecordConstants.PermissionSourceType.RECORD); // 记录权限 permissionDO.setSourceId(applyDetailDO.getDocumentId()); // 文件Id diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionServiceImpl.java index e9ab1fdb..19331b8f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionServiceImpl.java @@ -11,6 +11,7 @@ import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.qms.core.aspect.annotation.QmsPermission; +import com.zt.plat.module.qms.enums.QmsPermissionConstant; import com.zt.plat.module.qms.resource.record.constant.RecordConstants; import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionRespVO; @@ -200,7 +201,7 @@ public class RecordPermissionServiceImpl implements RecordPermissionService { public boolean judgeIsSuperAdmin() { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); Long userId = loginUser.getId(); - CommonResult booleanCommonResult = permissionCommonApi.hasAnyRoles(userId, RecordConstants.SUPER_ADMIN); + CommonResult booleanCommonResult = permissionCommonApi.hasAnyRoles(userId, QmsPermissionConstant.ADMIN_ROLE); log.info("booleanCommonResult:{}", booleanCommonResult.getData()); return booleanCommonResult.getData(); } @@ -315,9 +316,9 @@ public class RecordPermissionServiceImpl implements RecordPermissionService { log.info("[withdrawPermissionJob] 开始执行文件记录生效状态更新任务"); try { Integer expireJob = expireDateExpireJob(); - Integer saved = saveEndDateExpireJob(); - log.info("[withdrawPermissionJob] 任务执行成功,共更新 {} 条记录", expireJob + saved); - XxlJobHelper.handleSuccess(String.format("任务执行成功,共更新 %d 条记录", expireJob + saved)); +// Integer saved = saveEndDateExpireJob(); + log.info("[withdrawPermissionJob] 任务执行成功,共更新 {} 条记录", expireJob); + XxlJobHelper.handleSuccess(String.format("任务执行成功,共更新 %d 条记录", expireJob)); } catch (Exception e) { log.error("[withdrawPermissionJob] 任务执行失败:{}", e.getMessage(), e); throw e; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java index 6244c0f5..cd15c76e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java @@ -542,16 +542,17 @@ public class RecordRecordServiceImpl implements RecordRecordService { * * @param submitFlag * @param pageReqVO - * @param categoryIds * @return */ - public PageResult selectEffectRecordList(int submitFlag, RecordRecordPageReqVO pageReqVO, List categoryIds) { + public PageResult selectEffectRecordList(int submitFlag, RecordRecordPageReqVO pageReqVO) { Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); if (submitFlag == 1) { // 不需要提交数据 - IPage recordRecordDOPageResult = recordRecordMapper.getNotSubmitEffectRecordPage(page, pageReqVO, categoryIds); + pageReqVO.setSubmitFlag(1); + IPage recordRecordDOPageResult = recordRecordMapper.getEffectRecordPage(page, pageReqVO); return new PageResult<>(recordRecordDOPageResult.getRecords(), recordRecordDOPageResult.getTotal()); } else { // 需要提交数据 - IPage submitEffectRecordPage = recordRecordMapper.getSubmitEffectRecordPage(page, pageReqVO, categoryIds); + pageReqVO.setSubmitFlag(0); + IPage submitEffectRecordPage = recordRecordMapper.getEffectRecordPage(page, pageReqVO); return new PageResult<>(submitEffectRecordPage.getRecords(), submitEffectRecordPage.getTotal()); } } @@ -584,6 +585,8 @@ public class RecordRecordServiceImpl implements RecordRecordService { String customConfig = categoryDO.getCustomConfig(); String appraisalFlag = pageReqVO.getAppraisalFlag(); + pageReqVO.setCategoryIds(categoryIds); + // 判断是否需要提交(json) Integer submitFlag = 0; if (!ObjectUtils.isEmpty(customConfig)) { @@ -599,11 +602,11 @@ public class RecordRecordServiceImpl implements RecordRecordService { // 查询有效,或者提交审批完成,将来生效的记录 (recordStatus = 1 or (applyStatus = 'completed' and now() > effectiveDate)) // 需要评审,且需要提交的数据 - return selectEffectRecordList(submitFlag, pageReqVO, categoryIds); + return selectEffectRecordList(submitFlag, pageReqVO); } // 通用查询,查询,有效,或将来有效的记录 - return selectEffectRecordList(submitFlag, pageReqVO, categoryIds); + return selectEffectRecordList(submitFlag, pageReqVO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml index 16db33ed..7d49640c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml @@ -36,18 +36,28 @@ trr.APL_STS AS applyStatus - - SELECT FROM t_rcd_rcd trr WHERE trr.deleted = 0 and trr.EXPR_STS = 0 and trr.CNL_FLG = 0 - - and (trr.RCD_STS = 1 or (trr.APL_STS = 'completed' and trr.EFCT_DT > now())) - + + + + and (trr.RCD_STS = 1 or (trr.APL_STS = 'completed' and trr.EFCT_DT > now())) + + + + and (trr.PMNT = '1' or + trr.EXPR_DT > now() + ) + + + and trr.CTGR_ID IN - + #{id} @@ -63,34 +73,34 @@ - + + + + + + + + + + + + + + + + + + \ No newline at end of file