From 6bf81bf3807d04425ebf999d8590ed4ab09fa361 Mon Sep 17 00:00:00 2001 From: YBP Date: Fri, 13 Mar 2026 13:41:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=AE=B0=E5=BD=95-=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=9F=A5=E8=AF=A2-=E6=B7=BB=E5=8A=A0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../record/constant/RecordConstants.java | 4 +- .../RecordCategoryController.java | 14 +- .../RecordPermissionController.java | 9 ++ .../recordrecord/RecordRecordController.java | 23 ++- .../record/dal/mapper/RecordRecordMapper.java | 3 +- .../recordapply/RecordApplyServiceImpl.java | 74 +++++----- .../RecordPermissionService.java | 2 + .../RecordPermissionServiceImpl.java | 12 ++ .../recordrecord/RecordRecordService.java | 4 +- .../recordrecord/RecordRecordServiceImpl.java | 136 ++++++++++++------ .../record/dal/mapper/RecordRecordMapper.xml | 126 ++++++---------- 11 files changed, 220 insertions(+), 187 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 8c84efc8..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 @@ -51,7 +51,7 @@ public class RecordConstants { /** * 查看申请 */ - public static final String VIEW_APPLY = "文件查看申请"; + public static final String VIEW_APPLY = "文件查看"; /** * 作废 */ @@ -67,7 +67,7 @@ public class RecordConstants { /** * 文件提交 * */ - public static final String RECORD_UPDATE = "文件修改申请"; + public static final String RECORD_UPDATE = "文件更改"; } /** diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java index 289f85ca..68e03cbe 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java @@ -114,13 +114,13 @@ public class RecordCategoryController extends AbstractFileUploadController imple // 文件评审,获取满足当前账户权限的记录列表 - @GetMapping("/getReviewRecordList") - @Operation(summary = "获得文件记录分类") - //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") - public CommonResult> getReviewRecordList() { - List recordRecords = recordCategoryService.getReviewRecordList(); - return success(recordRecords); - } +// @GetMapping("/getReviewRecordList") +// @Operation(summary = "获得文件记录分类") +// //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") +// public CommonResult> getReviewRecordList() { +// List recordRecords = recordCategoryService.getReviewRecordList(); +// return success(recordRecords); +// } @GetMapping("/getRecordCategoryTree") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordpermission/RecordPermissionController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordpermission/RecordPermissionController.java index 7150df60..e0ee549f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordpermission/RecordPermissionController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordpermission/RecordPermissionController.java @@ -136,4 +136,13 @@ public class RecordPermissionController extends AbstractFileUploadController imp BeanUtils.toBean(list, RecordPermissionRespVO.class)); } + + @GetMapping("/test") + @Operation(summary = "导出记录权限 Excel") + //@PreAuthorize("@ss.hasPermission('qms:record-permission:export')") + @ApiAccessLog(operateType = EXPORT) + public void test() { + recordPermissionService.test(); + } + } \ 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/RecordRecordController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/RecordRecordController.java index 47a6ec7b..f18648eb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/RecordRecordController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/RecordRecordController.java @@ -140,17 +140,16 @@ 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 list = recordRecordService.getRecordRecordPage(pageReqVO).getList(); -// // 导出 Excel -// ExcelUtils.write(response, "文件、模板、记录.xls", "数据", RecordRecordRespVO.class, -// BeanUtils.toBean(list, RecordRecordRespVO.class)); -// } + + // 流程--查询记录列表 + @GetMapping("/getRecordList") + @Operation(summary = "获得文件、模板、记录分页") + //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") + public CommonResult> getRecordList(RecordRecordPageReqVO pageReqVO) { + + List result = recordRecordService.getRecordList(pageReqVO); + return success(BeanUtils.toBean(result, RecordRecordRespVO.class)); + } + } \ 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/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 fed44d02..3961c639 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 @@ -91,5 +91,6 @@ public interface RecordRecordMapper extends BaseMapperX { @Param("userId") Long userId, @Param("userDepts") List userDepts); - List selectViewApplyRecordList(@Param("pageReqVO") RecordRecordPageReqVO pageReqVO); + // 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 880b655e..54dc13fb 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 @@ -40,6 +40,8 @@ import com.zt.plat.module.qms.resource.record.service.recordapplydetail.RecordAp import com.zt.plat.module.qms.resource.record.service.recordcategory.RecordCategoryService; import com.zt.plat.module.qms.resource.record.service.recordpermission.RecordPermissionService; import com.zt.plat.module.qms.resource.record.service.recordrecord.RecordRecordService; +import com.zt.plat.module.system.api.dept.DeptApi; +import com.zt.plat.module.system.api.dept.dto.CompanyDeptInfoRespDTO; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; @@ -90,7 +92,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn private RecordPermissionService recordPermissionService; @Resource - private RecordRecordMapper recordRecordMapper; + private DeptApi deptApi; private LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); @@ -182,7 +184,10 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String nickName = SecurityFrameworkUtils.getLoginUserNickname(); recordApply.setApplyUserId(loginUser.getId()); recordApply.setApplyUserName(nickName); - recordApply.setApplyDepartmentId(loginUser.getVisitDeptId()); + Long visitDeptId = loginUser.getVisitDeptId(); + // 获取当前用户所在的部门 + if (ObjectUtils.isEmpty(visitDeptId)) throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(),"获取当前部门信息失败"); + recordApply.setApplyDepartmentId(visitDeptId); recordApply.setApplyDepartmentName(loginUser.getVisitDeptName()); //生成标题 @@ -267,8 +272,8 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String assignTarget = param.getAssignTarget(); List detailSaveReqVOList = new ArrayList<>(); - if (assignTarget.equals(RecordConstants.TargetType.USER)) { // 用户 - String targetUserIds = param.getTargetUserIds(); + String targetUserIds = param.getTargetUserIds(); + if (!ObjectUtils.isEmpty(targetUserIds)) { // 用户 String[] userIds = targetUserIds.split(","); for (String userId : userIds) { if (ObjectUtils.isEmpty(userId)) break; // 过滤空 @@ -280,8 +285,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn recordApplyDetailDO.setApplyStartDate(LocalDateTime.now()); // TODO 申请开始时间 detailSaveReqVOList.add(recordApplyDetailDO); } - } else if (assignTarget.equals(RecordConstants.TargetType.DEPT)) { - String targetDepartmentIds = param.getTargetDepartmentIds(); + } + String targetDepartmentIds = param.getTargetDepartmentIds(); + if (!ObjectUtils.isEmpty(targetDepartmentIds)) { // if (ObjectUtils.isEmpty(targetDepartmentIds)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"分发部门不存在"); String[] deptIds = targetDepartmentIds.split(","); for (String deptId : deptIds) { @@ -640,7 +646,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String wfInsId = result.getData(); recordApplyDO.setFlowInstanceId(wfInsId); // 更新申请实例Id - recordApplyDO.setBusinessStatus(QmsCommonConstant.RUNNING); // + recordApplyDO.setBusinessStatus(QmsCommonConstant.IN_PROGRESS); // recordApplyMapper.updateById(recordApplyDO); return CommonResult.success(BeanUtils.toBean(recordApplyDO, RecordApplyRespVO.class)); @@ -737,12 +743,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn List recordRecordDOS = new ArrayList<>(); switch (businessType) { case RecordConstants.BusinessType.RECORD_SUBMIT: - RecordApplyDetailDO recordApplyDetailDO = recordApplyDetailDOS.get(0); - Long documentId = recordApplyDetailDO.getDocumentId(); - RecordRecordDO entity = recordRecordService.getRecordById(documentId); - entity.setRecordStatus(1);// 已生效 - // 修改状态 - recordApplyFlowStatus(entity); + recordSubmitCallHandle(recordApplyDetailDOS); break; case RecordConstants.BusinessType.REVIEW: // 评审 reviewCallHandle(recordApplyDetailDOS); @@ -762,6 +763,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn RecordRecordDO recordRecordDO = new RecordRecordDO(); recordRecordDO.setId(applyDetailDO.getDocumentId()); recordRecordDO.setCancelFlag(1); // 评审通过 + recordRecordDO.setRecordStatus(0); // 状态 无效 recordRecordDOS.add(recordRecordDO); } recordReviewFlowStatus(recordRecordDOS); @@ -785,6 +787,27 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn return CommonResult.success(ret); } + public void recordSubmitCallHandle(List recordApplyDetailDOS) { + RecordApplyDetailDO recordApplyDetailDO = recordApplyDetailDOS.get(0); + Long documentId = recordApplyDetailDO.getDocumentId(); + RecordRecordDO entity = recordRecordService.getRecordById(documentId); + // 判断生效日期 + LocalDateTime effectiveDate = entity.getEffectiveDate(); // 有效日期 + if (effectiveDate != null) { + // 判断是否到生效日期 + LocalDateTime now = LocalDateTime.now(); + if (now.isAfter(effectiveDate) || now.isEqual(effectiveDate)) { + entity.setRecordStatus(1); // 已生效 + } else { + entity.setRecordStatus(3); // 待生效 + } + } else { + entity.setRecordStatus(1); // 默认已生效 + } + // 修改状态 + recordApplyFlowStatus(entity); + } + // 评审通过,处理修改修改的文件,走更改申请流程 public void reviewCallHandle(List recordApplyDetailDOS){ List detailDOList = new ArrayList<>(); @@ -838,7 +861,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn permissionDO.setTargetId(String.valueOf(applyDetailDO.getTargetId())); // 用户Id permissionDO.setTargetType(RecordConstants.TargetType.USER); permissionDO.setTargetName(loginUserNickname); - } else { // 部门 + } else if (targetType.equals(RecordConstants.TargetType.DEPT)){ // 部门 permissionDO.setTargetId(String.valueOf(applyDetailDO.getTargetId())); // 部门Id permissionDO.setTargetType(RecordConstants.TargetType.DEPT); permissionDO.setTargetName(visitDeptName); @@ -850,29 +873,6 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn } } - - /** - * 文件评审分页查询,我需要查询出 recordApply 和 recordApplyDetail 和recordRecord 关联的数据,其中: - * recordApply 对 recordApplyDetail 一对多的关系 - * recordApplyDetail 对 和recordRecord 一对一的关系 - * 查询条件:recordApply 的 businessType = '文件评审' - */ -// @Override -// public PageResult recordReviewPage(RecordRecordPageReqVO pageReqVO) { -// // 使用多表连接查询获取文件评审数据 -// int pageNo = pageReqVO.getPageNo(); -// int pageSize = pageReqVO.getPageSize(); -// int offset = (pageNo - 1) * pageSize; -// -// // 查询分页数据 -// List list = recordRecordMapper.selectRecordReviewPage(RecordConstants.BusinessType.REVIEW, offset, pageSize); -// -// // 查询总数 -// Long total = recordRecordMapper.selectRecordReviewCount(RecordConstants.BusinessType.REVIEW); -// -// return new PageResult<>(list, total); -// } - // 分发 @Override public PageResult recordDistributePage(RecordApplyPageReqVO pageReqVO) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionService.java index 9ac29084..76a4d9f5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordpermission/RecordPermissionService.java @@ -100,4 +100,6 @@ public interface RecordPermissionService { * @return */ List getParentDepts(); + + void test(); } \ 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/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 8ad7ab86..917143ea 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 @@ -13,6 +13,7 @@ import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission. import com.zt.plat.module.qms.resource.record.dal.dataobject.recordcategory.RecordCategoryDO; import com.zt.plat.module.system.api.dept.DeptApi; import com.zt.plat.module.system.api.dept.dto.DeptRespDTO; +import com.zt.plat.module.system.api.dept.dto.DeptSimpleRespDTO; import com.zt.plat.module.system.api.permission.PermissionApi; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -55,6 +56,17 @@ public class RecordPermissionServiceImpl implements RecordPermissionService { private Set roles = new HashSet<>(); + @Override + public void test(){ + CommonResult> allCompanyList = deptApi.getAllCompanyList(); + log.info("allCompanyList:{}",allCompanyList); + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long visitDeptId = loginUser.getVisitDeptId(); + if (ObjectUtils.isEmpty(visitDeptId)) CommonResult.error(RECORD_APPLY_NOT_EXISTS.getCode(), RECORD_APPLY_NOT_EXISTS.getMsg()); + CommonResult> childDeptList = deptApi.getChildDeptList(visitDeptId); + log.info("booleanCommonResult:{}",childDeptList); + } + /** * 通过分类Id 获取满足当前用户的权限列表 * @param categoryId diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordService.java index b062cc68..33dd4d98 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordService.java @@ -88,8 +88,10 @@ public interface RecordRecordService { void updateRecordRecordListByIds(List recordRecordDOS); + List getRecordList(RecordRecordPageReqVO pageReqVO); + /** * 文件更改申请流程-- 查询文件记录数据 */ - List selectViewApplyRecordList(RecordRecordPageReqVO pageReqVO); +// List selectViewApplyRecordList(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/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 891fe299..4032126f 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 @@ -12,11 +12,10 @@ import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; -import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; -import com.zt.plat.module.qms.common.dic.service.DictionaryBusinessService; import com.zt.plat.module.qms.common.service.BusinessFileService; import com.zt.plat.module.qms.resource.record.common.RecordCommonUtils; import com.zt.plat.module.qms.resource.record.constant.RecordConstants; +import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionRespVO; 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; @@ -26,9 +25,6 @@ import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.Record import com.zt.plat.module.qms.resource.record.dal.mapper.RecordRecordMapper; import com.zt.plat.module.qms.resource.record.service.recordcategory.RecordCategoryService; import com.zt.plat.module.qms.resource.record.service.recordpermission.RecordPermissionService; -import com.zt.plat.module.system.api.dept.DeptApi; -import com.zt.plat.module.system.api.dept.dto.DeptRespDTO; -import com.zt.plat.module.system.api.permission.PermissionApi; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -40,7 +36,6 @@ import org.springframework.validation.annotation.Validated; import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.Set; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; @@ -64,15 +59,6 @@ public class RecordRecordServiceImpl implements RecordRecordService { @Resource private RecordPermissionService recordPermissionService; - @Resource - private DeptApi deptApi; - - @Resource - private PermissionApi permissionApi; - - @Autowired - private DictionaryBusinessService dictionaryBusinessService; // 字典服务 - @Autowired private RecordCategoryService recordCategoryService; @@ -148,12 +134,75 @@ public class RecordRecordServiceImpl implements RecordRecordService { } -// 文件更改申请流程 --> 查询文件记录数据 + // 流程--查询记录列表 @Override - public List selectViewApplyRecordList(RecordRecordPageReqVO pageReqVO) { - return recordRecordMapper.selectViewApplyRecordList(pageReqVO); + public List getRecordList(RecordRecordPageReqVO pageReqVO) { + + Long categoryId = pageReqVO.getCategoryId(); + RecordCategoryDO recordCategoryDO = validateRecordCategoryExists(categoryId); + if (categoryId == null) CommonResult.error(RECORD_CATEGORY_NOT_EXISTS); + + // 校验分类存在 + if (ObjectUtils.isEmpty(recordCategoryDO)) return new ArrayList<>(); + String idPath = recordCategoryDO.getIdPath(); + + Long rootCategoryId = getRootCategoryId(idPath); + + // 判断是否有权限 + // 判断是否有当前分类的父分类权限 (可编辑,可查看,管理员--> 任意条件) + List recordPermissionDOS = recordPermissionService.selectPermissionList(rootCategoryId, null); + + List recordRecordList = new ArrayList<>(); + + if (recordPermissionDOS.isEmpty()) return new ArrayList<>(); + + Long parentId = getRootCategoryId(idPath); + String businessType = pageReqVO.getBusinessType(); + if (ObjectUtils.isEmpty(businessType)) return new ArrayList<>(); + + switch (businessType) { + case RecordConstants.BusinessType.REVIEW: // 评审 + // TODO + boolean b = getRecordReviewList(parentId); + if (!b) return new ArrayList<>(); + // 查询评审---记录列表 + break; + case RecordConstants.BusinessType.DISTRIBUTION, + RecordConstants.BusinessType.RECORD_UPDATE, + RecordConstants.BusinessType.INVALID: // 修改 + //TODO +// List recordRecordDOS = this.selectViewApplyRecordList(pageReqVO); +// return new PageResult().setList(recordRecordDOS).setTotal((long) recordRecordDOS.size()); + break; + case RecordConstants.BusinessType.VIEW_APPLY: // 查看申请,默认查看所有 + pageReqVO.setBusinessType(null);// + // 参数 categoryId + // TODO + PageResult recordRecordDOPageResult = recordRecordMapper.selectPage(pageReqVO); + recordRecordList = recordRecordDOPageResult.getList(); + return BeanUtils.toBean(recordRecordList, RecordRecordRespVO.class); + } + + pageReqVO.setRecordStatus(1); // 查询当前有效和 即将生效的文件 + pageReqVO.setCancelFlag(0); // 作废状态 + pageReqVO.setExpirationStatus(0); // 过期状态 + + Page page = new Page<>(1, 999); + + IPage iPage = recordRecordMapper.selectRecordWithApplyPage(page, pageReqVO); +// PageResult result = new PageResult<>(iPage.getRecords(), iPage.getTotal()); + recordRecordList = iPage.getRecords(); + return BeanUtils.toBean(recordRecordList, RecordRecordRespVO.class); + } + +// 文件更改申请流程 --> 查询文件记录数据 +// @Override +// public List selectViewApplyRecordList(RecordRecordPageReqVO pageReqVO) { +// return recordRecordMapper.selectViewApplyRecordList(pageReqVO); +// } + @Override @Transactional(rollbackFor = Exception.class) public RecordRecordRespVO updateRecordRecord(RecordRecordSaveReqVO updateReqVO) { @@ -218,10 +267,20 @@ public class RecordRecordServiceImpl implements RecordRecordService { } } - private void validateRecordRecordExists(Long id) { - if (recordRecordMapper.selectById(id) == null) { + private RecordRecordDO validateRecordRecordExists(Long id) { + RecordRecordDO recordRecordDO = recordRecordMapper.selectById(id); + if (recordRecordDO == null) { throw exception(RECORD_RECORD_NOT_EXISTS); } + return recordRecordDO; + } + + private RecordCategoryDO validateRecordCategoryExists(Long id) { + RecordCategoryDO recordCategoryDO = recordCategoryService.selectById(id); + if (recordCategoryDO == null) { + return new RecordCategoryDO(); + } + return recordCategoryDO; } @@ -249,6 +308,16 @@ public class RecordRecordServiceImpl implements RecordRecordService { return recordRecordDO; } + // 获取当前分类的根分类Id + public Long getRootCategoryId(String idPath) { + Optional segment = RecordCommonUtils.getSegment(idPath, 1); // /0//11/122546211/ + String s = segment.orElse(null); + if (ObjectUtils.isEmpty(s)) + throw exception(RECORD_APPLY_NOT_EXISTS); +// Long parentId = recordCategoryDO.getParentId(); // 获取根分类 + return Long.valueOf(s); // 获取根分类 + } + @Override public RecordRecordDO getRecordById(Long id) { return recordRecordMapper.selectById(id); @@ -256,38 +325,21 @@ public class RecordRecordServiceImpl implements RecordRecordService { @Override public PageResult getRecordRecordPage(RecordRecordPageReqVO pageReqVO) { + Long categoryId = pageReqVO.getCategoryId(); + RecordCategoryDO recordCategoryDO = validateRecordCategoryExists(categoryId); if (categoryId == null) CommonResult.error(RECORD_CATEGORY_NOT_EXISTS); // 校验分类存在 - RecordCategoryDO recordCategoryDO = recordCategoryService.selectById(categoryId); if (ObjectUtils.isEmpty(recordCategoryDO)) return new PageResult().setTotal(0L); String idPath = recordCategoryDO.getIdPath(); - Optional segment = RecordCommonUtils.getSegment(idPath, 1); // /0//11/122546211/ - String s = segment.orElse(null); - if (ObjectUtils.isEmpty(s)) - throw exception(RECORD_APPLY_NOT_EXISTS); -// Long parentId = recordCategoryDO.getParentId(); // 获取根分类 - Long parentId = Long.valueOf(s); // 获取根分类 - String businessType = pageReqVO.getBusinessType(); - if (!ObjectUtils.isEmpty(businessType)){ - switch (businessType){ - case RecordConstants.BusinessType.REVIEW: // 评审 - boolean b = getRecordReviewList(parentId); - if (!b) return new PageResult().setTotal(0L); - break; - case RecordConstants.BusinessType.RECORD_UPDATE: // 修改 - List recordRecordDOS = this.selectViewApplyRecordList(pageReqVO); - return new PageResult().setList(recordRecordDOS).setTotal((long) recordRecordDOS.size()); - } - } + Long parentId = getRootCategoryId(idPath); // 判断是否有当前分类的父分类权限 (可编辑,可查看,管理员--> 任意条件) List recordPermissionDOS = recordPermissionService.selectPermissionList(parentId, null); Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - if (ObjectUtils.isEmpty(recordPermissionDOS)) { // 没有分类的权限,判断是否有文件记录的权限,并获取记录列表 LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); @@ -322,7 +374,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { } // 文件评审--获取记录数据 - public boolean getRecordReviewList(Long parentId){ + public boolean getRecordReviewList(Long parentId) { // 判断根分类上是否有需要评审的文件 Object customConfigObject = customConfigParseJson(parentId); if (ObjectUtils.isEmpty(customConfigObject)) return false; @@ -338,7 +390,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { RecordCategoryDO categoryDOByParent = recordCategoryService.selectById(parentId); log.info("categoryDOByParent:{}", categoryDOByParent); if (ObjectUtils.isEmpty(categoryDOByParent)) throw exception(RECORD_CATEGORY_NOT_EXISTS); - Object parse=new Object(); + Object parse = new Object(); if (!ObjectUtils.isEmpty(categoryDOByParent.getCustomConfig())) { String customConfig = categoryDOByParent.getCustomConfig(); parse = JSON.parse(customConfig); 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 750de077..590ba88a 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 @@ -38,23 +38,38 @@ trr.CREATE_TIME AS createTime, trr.TENANT_ID, (SELECT tra.ID - FROM t_rcd_apl_dtl trad - INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' - WHERE trad.DOC_ID = trr.ID - AND ROWNUM = 1) AS applyId, + FROM t_rcd_apl_dtl trad + INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' + WHERE trad.DOC_ID = trr.ID + AND ROWNUM = 1) AS applyId, (SELECT tra.FLW_INSC_ID - FROM t_rcd_apl_dtl trad - INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' - WHERE trad.DOC_ID = trr.ID - AND ROWNUM = 1) AS flowInstanceId, + FROM t_rcd_apl_dtl trad + INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' + WHERE trad.DOC_ID = trr.ID + AND ROWNUM = 1) AS flowInstanceId, (SELECT tra.BSN_STS - FROM t_rcd_apl_dtl trad - INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' - WHERE trad.DOC_ID = trr.ID - AND ROWNUM = 1) AS applyBusinessStatus + FROM t_rcd_apl_dtl trad + INNER JOIN t_rcd_apl tra ON trad.APL_ID = tra.ID AND tra.BSN_TP = '文件提交' + WHERE trad.DOC_ID = trr.ID + AND ROWNUM = 1) AS applyBusinessStatus FROM t_rcd_rcd trr trr.deleted = 0 + + + AND + ( + trr.RCD_STS = #{reqVO.recordStatus} + or trr.EFCT_DT > now()) + + + + AND trr.CNL_FLG = #{reqVO.cancelFlag} + + + + AND trr.EXPR_STS = #{reqVO.expirationStatus} + AND trr.CTGR_ID = #{reqVO.categoryId} @@ -76,9 +91,6 @@ AND trr.EXPR_DT BETWEEN #{reqVO.expirationDate[0]} AND #{reqVO.expirationDate[1]} - - AND trr.EXPR_STS = #{reqVO.expirationStatus} - AND trr.MAIN_ID = #{reqVO.mainId} @@ -109,33 +121,19 @@ trr.DAT_COLT_ID AS dataCollectionId, trr.SRC_URL AS sourceUrl FROM T_RCD_RCD trr - LEFT JOIN T_RCD_PERM trp ON trp.SRC_ID = trr.ID - INNER JOIN - ( - SELECT applyId, documentId, flowInstanceId, businessStatus, aplBusinessType - FROM (SELECT trad.APL_ID AS applyId, - trad.DOC_ID AS documentId, - tra.FLW_INSC_ID AS flowInstanceId, - tra.BSN_STS AS businessStatus, - tra.BSN_TP AS aplBusinessType, - ROW_NUMBER() OVER (PARTITION BY trad.DOC_ID ORDER BY trad.APL_ID) AS rn - FROM T_RCD_APL_DTL trad - INNER JOIN T_RCD_APL tra ON tra.ID = trad.APL_ID - WHERE tra.BSN_STS = 'completed' - AND (tra.BSN_TP = '文件分发' OR tra.BSN_TP = '文件查看申请')) t - WHERE rn = 1 - ) apl - ON apl.documentId = trr.ID - WHERE trp.SRC_TP = '记录' - AND trp.PERM = '可查看' - AND trr.CTGR_ID = #{pageReqVO.categoryId} - - AND trr.CD = #{pageReqVO.code} - - - AND trr.NAME LIKE CONCAT('%', #{pageReqVO.name}, '%') - - AND ( + LEFT JOIN T_RCD_PERM trp ON trp.SRC_ID = trr.ID + WHERE + trr.deleted = 0 + AND trp.SRC_TP = '记录' + AND trp.PERM = '可查看' + AND trr.CTGR_ID = #{pageReqVO.categoryId} + + AND trr.CD = #{pageReqVO.code} + + + AND trr.NAME LIKE CONCAT('%', #{pageReqVO.name}, '%') + + AND ( ( trp.tgt_id = #{userId} AND trp.tgt_tp = '用户') OR (trp.tgt_tp = '部门' AND trp.tgt_id IN @@ -143,49 +141,7 @@ #{deptId} ) - ) + ) - - \ No newline at end of file