From 7bf3d2e73a2d913f2316a67ba98a61b68999e7a9 Mon Sep 17 00:00:00 2001 From: YBP Date: Fri, 20 Mar 2026 15:28:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=AE=B0=E5=BD=95-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=8A=B6=E6=80=81=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=88=86=E5=8F=91=EF=BC=8C=E5=8F=8A=E5=88=86=E5=8F=91?= =?UTF-8?q?=E5=8F=B7=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recordapply/CommonRecordController.java | 2 +- .../recordapply/vo/RecordApplyRespVO.java | 16 +-- .../RecordApplyDetailController.java | 7 +- .../vo/RecordApplyDetailRespVO.java | 4 + .../recordassign/RecordAssignController.java | 32 ++--- .../vo/RecordAssignPageReqVO.java | 10 +- .../recordassign/vo/RecordAssignRespVO.java | 16 ++- .../vo/RecordAssignSaveReqVO.java | 6 + .../vo/RecordRecordPageReqVO.java | 2 +- .../recordassign/RecordAssignDO.java | 12 +- .../dal/mapper/RecordApplyDetailMapper.java | 11 +- .../record/dal/mapper/RecordAssignMapper.java | 4 +- .../resource/record/job/RecordRecordJob.java | 2 - .../recordapply/RecordApplyServiceImpl.java | 108 +++++++---------- .../RecordApplyDetailService.java | 3 + .../RecordApplyDetailServiceImpl.java | 11 ++ .../recordassign/RecordAssignService.java | 6 +- .../recordassign/RecordAssignServiceImpl.java | 21 ++-- .../recordrecord/RecordRecordServiceImpl.java | 110 +++++++++++------- .../dal/mapper/RecordApplyDetailMapper.xml | 59 ++++++---- .../record/dal/mapper/RecordRecordMapper.xml | 16 ++- 21 files changed, 263 insertions(+), 195 deletions(-) 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 ab446879..ed39b782 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 @@ -61,7 +61,7 @@ public class CommonRecordController { return CommonResult.error(CURRENT_USER_COMPANY_NOT_EXISTS); CommonResult> childDeptList = deptApi.getChildDeptList(visitCompanyId); List data = childDeptList.getData(); - deptDataList = getChildDeptList(data); + List deptDataList = getChildDeptList(data); return CommonResult.success(deptDataList); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java index 7ceacb50..fa114438 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java @@ -1,22 +1,18 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo; -import com.alibaba.fastjson2.JSONObject; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO; import com.zt.plat.module.qms.core.aspect.annotation.Dict; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO; -import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailSaveReqVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordassign.vo.RecordAssignRespVO; 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 lombok.Data; import java.time.LocalDateTime; - -import com.alibaba.excel.annotation.*; +import java.util.List; @Schema(description = "管理后台 - 文件记录通用申请 Response VO") @Data @@ -132,7 +128,7 @@ public class RecordApplyRespVO { @Schema(description = "明细列表") private List detailList; - private List assignList; + private List assignList; // ===============临时字段=================》 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/RecordApplyDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/RecordApplyDetailController.java index b2832bc1..e87640ef 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/RecordApplyDetailController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/RecordApplyDetailController.java @@ -1,6 +1,7 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailJoinVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailSaveReqVO; @@ -99,9 +100,9 @@ public class RecordApplyDetailController extends AbstractFileUploadController im @GetMapping("/page") @Operation(summary = "获得文件记录通用申请明细分页") //@PreAuthorize("@ss.hasPermission('qms:record-apply-detail:query')") - public CommonResult> getRecordApplyDetailPage(@Valid RecordApplyDetailPageReqVO pageReqVO) { - PageResult pageResult = recordApplyDetailService.getRecordApplyDetailPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, RecordApplyDetailRespVO.class)); + public CommonResult> getRecordApplyDetailPage(@Valid RecordApplyDetailPageReqVO pageReqVO) { + PageResult recordApplyDetailJoinVOPageResult = recordApplyDetailService.selectDetailAndApplyList(pageReqVO); + return success(BeanUtils.toBean(recordApplyDetailJoinVOPageResult, RecordApplyDetailJoinVO.class)); } @GetMapping("/export-excel") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java index aa6b2d00..eda0b59e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java @@ -50,6 +50,10 @@ public class RecordApplyDetailRespVO { @ExcelProperty("更改原因") private String modifyCause; + @Schema(description = "表单数据") + @ExcelProperty("表单数据") + private String formData; + @Schema(description = "是否长期有效") @ExcelProperty("是否长期有效") private String permanently; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/RecordAssignController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/RecordAssignController.java index c09b32ec..bc0c4f6d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/RecordAssignController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/RecordAssignController.java @@ -31,9 +31,9 @@ import java.util.List; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.zt.plat.framework.common.pojo.CommonResult.success; -@Tag(name = "管理后台 - 文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") +@Tag(name = "管理后台 - 文件记录分发号") @RestController -@RequestMapping("/qms/record-assign") +@RequestMapping("/qms/resource/record-assign") @Validated @FileUploadController(source = "qms.recordassign") public class RecordAssignController extends AbstractFileUploadController implements BusinessControllerMarker{ @@ -49,24 +49,24 @@ public class RecordAssignController extends AbstractFileUploadController impleme private RecordAssignService recordAssignService; @PostMapping("/create") - @Operation(summary = "创建文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") - @PreAuthorize("@ss.hasPermission('qms:record-assign:create')") + @Operation(summary = "创建文件记录分发号") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:create')") public CommonResult createRecordAssign(@Valid @RequestBody RecordAssignSaveReqVO createReqVO) { return success(recordAssignService.createRecordAssign(createReqVO)); } @PutMapping("/update") - @Operation(summary = "更新文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") - @PreAuthorize("@ss.hasPermission('qms:record-assign:update')") + @Operation(summary = "更新文件记录分发号") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:update')") public CommonResult updateRecordAssign(@Valid @RequestBody RecordAssignSaveReqVO updateReqVO) { recordAssignService.updateRecordAssign(updateReqVO); return success(true); } @DeleteMapping("/delete") - @Operation(summary = "删除文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") + @Operation(summary = "删除文件记录分发号") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('qms:record-assign:delete')") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:delete')") public CommonResult deleteRecordAssign(@RequestParam("id") Long id) { recordAssignService.deleteRecordAssign(id); return success(true); @@ -74,33 +74,33 @@ public class RecordAssignController extends AbstractFileUploadController impleme @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) - @Operation(summary = "批量删除文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") - @PreAuthorize("@ss.hasPermission('qms:record-assign:delete')") + @Operation(summary = "批量删除文件记录分发号") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:delete')") public CommonResult deleteRecordAssignList(@RequestBody BatchDeleteReqVO req) { recordAssignService.deleteRecordAssignListByIds(req.getIds()); return success(true); } @GetMapping("/get") - @Operation(summary = "获得文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物") + @Operation(summary = "获得文件记录分发号") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('qms:record-assign:query')") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:query')") public CommonResult getRecordAssign(@RequestParam("id") Long id) { RecordAssignDO recordAssign = recordAssignService.getRecordAssign(id); return success(BeanUtils.toBean(recordAssign, RecordAssignRespVO.class)); } @GetMapping("/page") - @Operation(summary = "获得文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物分页") - @PreAuthorize("@ss.hasPermission('qms:record-assign:query')") + @Operation(summary = "获得文件记录分发号") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:query')") public CommonResult> getRecordAssignPage(@Valid RecordAssignPageReqVO pageReqVO) { PageResult pageResult = recordAssignService.getRecordAssignPage(pageReqVO); return success(BeanUtils.toBean(pageResult, RecordAssignRespVO.class)); } @GetMapping("/export-excel") - @Operation(summary = "导出文件记录分发号,记录文件分发与线下对应的分发号对应,且标记到目标人物 Excel") - @PreAuthorize("@ss.hasPermission('qms:record-assign:export')") + @Operation(summary = "导出文件记录分发号") +// @PreAuthorize("@ss.hasPermission('qms:record-assign:export')") @ApiAccessLog(operateType = EXPORT) public void exportRecordAssignExcel(@Valid RecordAssignPageReqVO pageReqVO, HttpServletResponse response) throws IOException { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignPageReqVO.java index 20841c08..4faee7a6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignPageReqVO.java @@ -14,8 +14,8 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class RecordAssignPageReqVO extends PageParam { - @Schema(description = "申请明细ID", example = "13369") - private Long applyDetailId; +// @Schema(description = "申请明细ID", example = "13369") +// private Long applyDetailId; @Schema(description = "目标类型,人/部门", example = "2") private String targetType; @@ -38,6 +38,12 @@ public class RecordAssignPageReqVO extends PageParam { @Schema(description = "分发号") private Integer CollectionFlag; + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "长期有效") + private String permanently; + @Schema(description = "通知") private String adviceFlag; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignRespVO.java index 50e9c86e..e572f176 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignRespVO.java @@ -16,9 +16,9 @@ public class RecordAssignRespVO { @ExcelProperty("ID") private Long id; - @Schema(description = "申请明细ID", example = "13369") - @ExcelProperty("申请明细ID") - private Long applyDetailId; +// @Schema(description = "申请明细ID", example = "13369") +// @ExcelProperty("申请明细ID") +// private Long applyDetailId; @Schema(description = "目标类型,人/部门", example = "2") @ExcelProperty("目标类型,人/部门") @@ -36,13 +36,19 @@ public class RecordAssignRespVO { @ExcelProperty("分发号") private String assignCode; + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "长期有效") + private String permanently; + @Schema(description = "分发结束时间") private LocalDateTime assignStartDate; - @Schema(description = "是否收回") + @Schema(description = "分发结束时间") private LocalDateTime assignEndDate; - @Schema(description = "分发号") + @Schema(description = "是否收回") private Integer CollectionFlag; @Schema(description = "通知") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignSaveReqVO.java index 7e05bc4d..6a9675f7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordassign/vo/RecordAssignSaveReqVO.java @@ -38,6 +38,12 @@ public class RecordAssignSaveReqVO { @Schema(description = "分发号") private Integer CollectionFlag; + @Schema(description = "排序号") + private Integer sortNo; + + @Schema(description = "长期有效") + private String permanently; + @Schema(description = "通知") private String adviceFlag; 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 41fcb07f..f7664238 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 @@ -53,7 +53,7 @@ public class RecordRecordPageReqVO extends PageParam { private String confidentialKey; @Schema(description = "是否长期有效") - private Integer permanently; + private String permanently; @Schema(description = "是否需要提交(用来判断文件是否需要走流程)") @Dict(dicCode = "yes_or_no") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordassign/RecordAssignDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordassign/RecordAssignDO.java index 302d07f9..91ba5e43 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordassign/RecordAssignDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordassign/RecordAssignDO.java @@ -34,8 +34,8 @@ public class RecordAssignDO extends BusinessBaseDO { /** * 申请ID */ - @TableField("APL_DL_ID") - private Long applyDetailId; +// @TableField("APL_DL_ID") +// private Long applyDetailId; /** * 目标类型,人/部门 */ @@ -71,6 +71,14 @@ public class RecordAssignDO extends BusinessBaseDO { */ @TableField("COLT_FLG") private Integer CollectionFlag; + /** + * 排序 + */ + @TableField("SRT_NO") + private Integer sortNo; + + @TableField("PMNT") + private String permanently; /** * 通知 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java index dfe32066..4b811e0f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java @@ -1,9 +1,12 @@ package com.zt.plat.module.qms.resource.record.dal.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; +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.recordapplydetail.RecordApplyDetailDO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailJoinVO; @@ -50,13 +53,11 @@ public interface RecordApplyDetailMapper extends BaseMapperX selectJoinByDocumentIdAndBusinessType(Long documentId, String businessType); -// @Select("SELECT trad.ID as id,trad.APL_ID as applyId, trad.DOC_ID as documentId, trad.TGT_TP as targetType," + -// "trad.TGT_ID as targetId, trad.IS_MDF as isModify, trad.MDF_CAUS as modifyCause," + -// "trad.APL_STRT_DT as applyStartDate, trad.APL_END_DT as applyEndDate,trr.NAME AS recordName," + -// "trr.CD AS recordCode, trr.VER AS version, trr.PMNT as recordPermanently, trr.EXPR_DT as expirationDate " + -// "FROM T_RCD_APL_DTL trad LEFT JOIN T_RCD_RCD trr ON trad.DOC_ID = trr.ID WHERE trad.DELETED = 0 and trad.APL_ID = #{applyId}") List selectDetailAndRecordList(@Param("applyId") Long applyId); List selectDistributionDetailAndRecordList(@Param("applyId") Long applyId); + IPage selectDetailAndApplyList(Page page, + RecordApplyDetailPageReqVO reqVO); + } \ 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/RecordAssignMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordAssignMapper.java index 5ebb3440..5a276148 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordAssignMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordAssignMapper.java @@ -17,12 +17,14 @@ public interface RecordAssignMapper extends BaseMapperX { default PageResult selectPage(RecordAssignPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(RecordAssignDO::getApplyDetailId, reqVO.getApplyDetailId()) +// .eqIfPresent(RecordAssignDO::getApplyDetailId, reqVO.getApplyDetailId()) .eqIfPresent(RecordAssignDO::getTargetType, reqVO.getTargetType()) .likeIfPresent(RecordAssignDO::getTargetName, reqVO.getTargetName()) .eqIfPresent(RecordAssignDO::getTargetId, reqVO.getTargetId()) .eqIfPresent(RecordAssignDO::getAssignCode, reqVO.getAssignCode()) .eqIfPresent(RecordAssignDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .eqIfPresent(RecordAssignDO::getSortNo, reqVO.getSortNo()) + .eqIfPresent(RecordAssignDO::getPermanently, reqVO.getPermanently()) .eqIfPresent(RecordAssignDO::getRemark, reqVO.getRemark()) .betweenIfPresent(RecordAssignDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(RecordAssignDO::getId)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/job/RecordRecordJob.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/job/RecordRecordJob.java index 123e255d..f9d0ed5d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/job/RecordRecordJob.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/job/RecordRecordJob.java @@ -17,8 +17,6 @@ public class RecordRecordJob { @Autowired private RecordRecordService recordRecordService; - @Autowired - private RecordApplyService recordApplyService; /** * 定时更新文件记录生效状态 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 1b592170..911ba386 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 @@ -30,6 +30,7 @@ import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.Re import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailSaveReqVO; +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.recordapplydetail.RecordApplyDetailDO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordassign.RecordAssignDO; @@ -180,17 +181,17 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String businessType = recordApplyDO.getBusinessType(); List recordApplyDetailDOS; if (businessType.equals(RecordConstants.BusinessType.DISTRIBUTION)) - recordApplyDetailDOS = recordApplyDetailService.selectDistributionDetailAndRecordList(id); + recordApplyDetailDOS = recordApplyDetailService.selectAllList(id); else recordApplyDetailDOS = recordApplyDetailService.selectDetailAndRecordList(id); if (!recordApplyDetailDOS.isEmpty()) recordApplyDO.setDetailList(recordApplyDetailDOS); - List detailDOIdS = new ArrayList<>(); - for (RecordApplyDetailDO detailDO : recordApplyDetailDOS) { - Long detailDOId = detailDO.getId(); - detailDOIdS.add(detailDOId); - } - List recordAssignDOList = recordAssignService.selectRecordAssignList(detailDOIdS); - recordApplyDO.setAssignList(recordAssignDOList); +// List detailDOIdS = new ArrayList<>(); +// for (RecordApplyDetailDO detailDO : recordApplyDetailDOS) { +// Long detailDOId = detailDO.getId(); +// detailDOIdS.add(detailDOId); +// } +// List recordAssignDOList = recordAssignService.selectRecordAssignList(detailDOIdS); +// recordApplyDO.setAssignList(recordAssignDOList); return recordApplyDO; } @@ -274,27 +275,6 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn if (!recordApplyDetailBatch) throw exception(RECORD_APPLY_NOT_EXISTS, "保存申请明细失败"); - if (businessType.equals(RecordConstants.BusinessType.DISTRIBUTION)){ // 创建关联分发号 - Long applyId = recordApply.getId(); - List detailList = param.getDetailList(); - String assignCode = detailList.get(0).getAssignCode(); - // TODO - if (ObjectUtils.isEmpty(assignCode)) assignCode = "检-XXX"; - List recordApplyDetailDOS = recordApplyDetailService.selectAllList(applyId); - List recordAssignDOList = new ArrayList<>(); - for (RecordApplyDetailDO item : recordApplyDetailDOS) { - RecordAssignDO recordAssignDO = new RecordAssignDO(); - recordAssignDO.setApplyDetailId(item.getId()); - recordAssignDO.setAssignCode(assignCode); - recordAssignDO.setTargetType(item.getTargetType()); - recordAssignDO.setTargetId(item.getTargetId()); - recordAssignDO.setTargetName(item.getTargetName()); - recordAssignDO.setAssignStartDate(LocalDateTime.now()); - recordAssignDOList.add(recordAssignDO); - } - recordAssignService.createRecordAssignBatch(recordAssignDOList); - } - return CommonResult.success(BeanUtils.toBean(recordApply, RecordApplyRespVO.class)); } @@ -318,12 +298,14 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加分发明细 public List addDistributionDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { List detailList = param.getDetailList(); - if (ObjectUtils.isEmpty(detailList)) throw exception0(RECORD_APPLY_DETAIL_NOT_EXISTS.getCode(),"申请明细不存在"); + if (ObjectUtils.isEmpty(detailList)) + throw exception0(RECORD_APPLY_DETAIL_NOT_EXISTS.getCode(), "申请明细不存在"); for (RecordApplyDetailSaveReqVO item : detailList) { item.setApplyId(recordApplyDO.getId()); item.setApplyStartDate(LocalDateTime.now()); } + List bean = BeanUtils.toBean(detailList, RecordApplyDetailDO.class); // RecordApplyDetailSaveReqVO saveReqVO = param.getDetailList().get(0); // String assignCode = saveReqVO.getAssignCode(); // 分发号 // RecordAssignDO recordAssignDO = new RecordAssignDO(); @@ -362,7 +344,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // detailSaveReqVOList.add(recordApplyDetailDO); // } // } - return BeanUtils.toBean(detailList,RecordApplyDetailDO.class); + return bean; } // 添加更改申请明细 @@ -601,7 +583,8 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn public CommonResult callback(QmsBpmDTO reqDTO) { log.error("文件下发流程回调:{}", JSONObject.toJSONString(reqDTO)); loginUser = SecurityFrameworkUtils.getLoginUser(); - if (ObjectUtils.isEmpty(loginUser)) throw exception0(CURRENT_USER_DEPT_NOT_EXISTS.getCode(), "当前用户不存在,请重新登录"); + if (ObjectUtils.isEmpty(loginUser)) + throw exception0(CURRENT_USER_DEPT_NOT_EXISTS.getCode(), "当前用户不存在,请重新登录"); JSONObject variables = reqDTO.getVariables(); // TODO 目前审批意见在流程回调时保存,后续可以考虑在每个节点完成时保存审批意见,这样可以避免审批意见丢失的情况,同时也能更及时地记录审批意见 JSONObject taskVariables = variables.getJSONObject("taskVariables"); @@ -649,6 +632,23 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // recordApplyDO.setBusinessStatus(QmsCommonConstant.RUNNING); // recordApplyMapper.updateById(recordApplyDO); return CommonResult.success(ret); + } else if ("3".equals(PROCESS_STATUS)) { + // 提交流程,发起人拒绝,修改提交状态 + if (businessType.equals(RecordConstants.BusinessType.RECORD_SUBMIT)){ + Long applyId = recordApplyDO.getId(); + List recordApplyDetailDOS = recordApplyDetailService.selectAllList(applyId); + if (ObjectUtils.isEmpty(recordApplyDetailDOS)) throw exception0(RECORD_APPLY_DETAIL_NOT_EXISTS.getCode(),"申请明细不存在"); + RecordApplyDetailDO recordApplyDetailDO = recordApplyDetailDOS.get(0); + Long documentId = recordApplyDetailDO.getDocumentId(); + RecordRecordDO recordDO = new RecordRecordDO(); + recordDO.setId(documentId); + recordDO.setSubmitFlag("0"); + recordRecordService.updateRecordRecordById(recordDO); + } + // 发起人拒绝,申请作废 + recordApplyDO.setBusinessStatus(QmsCommonConstant.VOID); + recordApplyMapper.updateById(recordApplyDO); + return CommonResult.success(ret); } } @@ -791,7 +791,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 回收文件权限 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(RecordPermissionDO::getSourceType, RecordConstants.PermissionSourceType.RECORD); - queryWrapper.in(RecordPermissionDO::getSourceId,list); // 记录id + queryWrapper.in(RecordPermissionDO::getSourceId, list); // 记录id List recordPermissionDOS = recordPermissionService.selectList(queryWrapper); List recordPermissionDOList = new ArrayList<>(); List permissionIds = new ArrayList<>(); @@ -800,13 +800,15 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // recordPermissionDO.setDeleted(true); recordPermissionDOList.add(recordPermissionDO); } - if (!ObjectUtils.isEmpty(recordPermissionDOList)) recordPermissionService.updateRecordPermissionBatch(recordPermissionDOList); + if (!ObjectUtils.isEmpty(recordPermissionDOList)) + recordPermissionService.updateRecordPermissionBatch(recordPermissionDOList); // 回收权限 if (!ObjectUtils.isEmpty(permissionIds)) recordPermissionService.deleteRecordPermissionListByIds(permissionIds); } /** * 将 Object 类型的时间戳转换为 LocalDateTime + * * @param timestamp 时间戳对象(可能是 Long、Date 等类型) * @return LocalDateTime 对象 */ @@ -814,7 +816,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn if (timestamp == null) { return null; } - + if (timestamp instanceof Date) { return ((Date) timestamp).toInstant() .atZone(ZoneId.systemDefault()) @@ -826,7 +828,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn } else if (timestamp instanceof LocalDateTime) { return (LocalDateTime) timestamp; } - + return null; } @@ -897,36 +899,8 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn return null; } -// @Override -// public Integer updateDistributionPermissionJob() { -// //根据当前时间查询出申请到期的文件申请记录, -// List recordApplyDetailDOS = recordApplyDetailService.updateDistributionPermissionJob(); -// if (ObjectUtils.isEmpty(recordApplyDetailDOS)) return 0; -// // 获取所有文件记录Id -// List recordPermissionDOList = new ArrayList<>(); -// recordApplyDetailDOS.forEach(item -> { //TODO -// RecordPermissionDO permissionDO = new RecordPermissionDO(); -// permissionDO.setSourceId(item.getDocumentId()); -// permissionDO.setPermission(RecordConstants.PermissionType.VIEW); -// permissionDO.setSourceType(RecordConstants.PermissionSourceType.RECORD); -// if (item.getTargetType().equals(RecordConstants.TargetType.USER)) -// permissionDO.setTargetType(RecordConstants.TargetType.USER); -// else if (item.getTargetType().equals(RecordConstants.TargetType.DEPT)) -// permissionDO.setTargetType(RecordConstants.TargetType.DEPT); -// permissionDO.setTargetId(String.valueOf(item.getTargetId())); -// List recordPermissionDOS = recordPermissionService.selectRecordPermission(permissionDO); -// recordPermissionDOList.addAll(recordPermissionDOS); -// }); -// List permissionIds = new ArrayList<>(); -// recordPermissionDOList.forEach(item -> { -// permissionIds.add(item.getId()); -// }); -// recordPermissionService.deleteRecordPermissionListByIds(permissionIds); -// return permissionIds.size(); -// } - //查询提交的流程是否存在没有处理或者通过的的数据 - public List selectApplyByStatus(String businessType, java.util.List documentIds, java.util.List businessStatuses) { - return recordApplyMapper.selectApplyByStatus(businessType, documentIds, businessStatuses); - } +// public List selectApplyByStatus(String businessType, java.util.List documentIds, java.util.List businessStatuses) { +// return recordApplyMapper.selectApplyByStatus(businessType, documentIds, businessStatuses); +// } } \ 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/recordapplydetail/RecordApplyDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java index 78928d4e..49bab469 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java @@ -3,6 +3,7 @@ package com.zt.plat.module.qms.resource.record.service.recordapplydetail; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailSaveReqVO; @@ -102,5 +103,7 @@ public interface RecordApplyDetailService { int deleteRecordApplyDetailByApplyId(Long applyId); + PageResult selectDetailAndApplyList(RecordApplyDetailPageReqVO reqVO); + // List updateDistributionPermissionJob(); } \ 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/recordapplydetail/RecordApplyDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java index 449f14c4..51ce38bc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java @@ -2,11 +2,14 @@ package com.zt.plat.module.qms.resource.record.service.recordapplydetail; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailSaveReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailJoinVO; +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 org.springframework.stereotype.Service; import jakarta.annotation.Resource; @@ -141,5 +144,13 @@ public class RecordApplyDetailServiceImpl implements RecordApplyDetailService { return 1; } + // 查询分发/查看申请数据 + @Override + public PageResult selectDetailAndApplyList(RecordApplyDetailPageReqVO reqVO){ + Page page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize()); + IPage recordApplyDetailJoinVOIPage = recordApplyDetailMapper.selectDetailAndApplyList(page, reqVO); + return new PageResult<>(recordApplyDetailJoinVOIPage.getRecords(), recordApplyDetailJoinVOIPage.getTotal()); + } + } \ 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/recordassign/RecordAssignService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignService.java index bb2b68cf..96e1249e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignService.java @@ -61,7 +61,7 @@ public interface RecordAssignService { */ PageResult getRecordAssignPage(RecordAssignPageReqVO pageReqVO); - boolean createRecordAssignBatch(List recordAssignDOS); - - List selectRecordAssignList(List detailDOIdS); +// boolean createRecordAssignBatch(List recordAssignDOS); +// +// List selectRecordAssignList(List detailDOIdS); } \ 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/recordassign/RecordAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignServiceImpl.java index 07b47fee..e56ed799 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordassign/RecordAssignServiceImpl.java @@ -12,6 +12,7 @@ import com.zt.plat.module.qms.resource.record.dal.dataobject.recordassign.Record import com.zt.plat.module.qms.resource.record.dal.mapper.RecordAssignMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import java.util.List; @@ -88,16 +89,16 @@ public class RecordAssignServiceImpl implements RecordAssignService { return recordAssignMapper.selectPage(pageReqVO); } - @Override - public boolean createRecordAssignBatch(List recordAssignDOS) { - return recordAssignMapper.insertBatch(recordAssignDOS); - } +// @Override +// public boolean createRecordAssignBatch(List recordAssignDOS) { +// return recordAssignMapper.insertBatch(recordAssignDOS); +// } - @Override - public List selectRecordAssignList(List detailDOIdS) { - LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.in(RecordAssignDO::getApplyDetailId, detailDOIdS); - return recordAssignMapper.selectList(lambdaQueryWrapper); - } +// @Override +// public List selectRecordAssignList(List detailDOIdS) { +// LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); +// lambdaQueryWrapper.in(RecordAssignDO::getApplyDetailId, detailDOIdS); +// return recordAssignMapper.selectList(lambdaQueryWrapper); +// } } \ 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 f714da44..1d4030f3 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 @@ -97,7 +97,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { * 计算记录状态 * @param effectiveDate 生效日期 * @param expirationDate 过期日期 - * @return 记录状态:1-生效中,3-待生效,0-已过期 + * @return 记录状态:1-生效中,0-待生效,3-已过期 */ private int calculateRecordStatus(LocalDateTime effectiveDate, LocalDateTime expirationDate) { LocalDateTime now = LocalDateTime.now(); @@ -108,7 +108,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { } // 当前日期 < 生效日期,待生效 - if (effectiveDate.isAfter(now)) { + if (expirationDate == null && effectiveDate.isAfter(now)) { return 0; } @@ -116,7 +116,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { if (effectiveDate.isBefore(now)) { // 当前日期 < 过期日期,生效中 if (expirationDate != null && expirationDate.isBefore(now)) { - return 0; + return 3; // 过期 } // 当前日期 ≥ 过期日期,已过期 return 1; @@ -135,19 +135,6 @@ public class RecordRecordServiceImpl implements RecordRecordService { lambdaQueryWrapper.eq(RecordRecordDO::getCurrentFlag, 1); // 0,旧版本 recordRecordMapper.update(recordRecordDO, lambdaQueryWrapper); -// Long categoryId = recordRecordDO.getCategoryId(); -// RecordCategoryDO recordCategoryDO = recordCategoryService.selectById(categoryId); -// String idPath = recordCategoryDO.getIdPath(); -// Long rootCategoryId = getRootCategoryId(idPath); -// -// RecordCategoryDO recordCategory = recordCategoryService.selectById(rootCategoryId); -// String customConfig = recordCategory.getCustomConfig(); -// if (ObjectUtils.isEmpty(customConfig)) { //不需要提交,判断状态 -// LocalDateTime effectiveDate = recordRecordDO.getEffectiveDate(); -// LocalDateTime expirationDate = recordRecordDO.getExpirationDate(); -// int sts = calculateRecordStatus(effectiveDate, expirationDate); -// recordRecordDO.setRecordStatus(sts); -// } recordRecordDO = judgeRootCategoryJson(recordRecordDO); //创建新版本 recordRecordDO.setId(null); @@ -267,20 +254,20 @@ public class RecordRecordServiceImpl implements RecordRecordService { if (ObjectUtils.isEmpty(customConfig)) { //不需要提交,判断状态 int sts = calculateRecordStatus(effectiveDate, expirationDate); - recordDO.setRecordStatus(sts); + if (sts == 3) recordDO.setExpirationStatus(1); //过期 + else recordDO.setRecordStatus(sts); }else { JSONObject jsonObject = JSONObject.parseObject(customConfig); Integer submitFlag = jsonObject.getInteger("submitFlag"); if (submitFlag == 0) { // 不需要提交的,判断状态 int sts = calculateRecordStatus(effectiveDate, expirationDate); - recordDO.setRecordStatus(sts); + if (sts == 3) recordDO.setExpirationStatus(1); //过期 + else recordDO.setRecordStatus(sts); } } return recordDO; } - - @Override @Transactional(rollbackFor = Exception.class) public RecordRecordRespVO updateRecordRecord(RecordRecordSaveReqVO updateReqVO) { @@ -405,22 +392,37 @@ 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); + boolean b = recordPermissionService.judgeIsAdmin();// 如果是最高管理员 + if (b) { + PageResult result = recordRecordMapper.selectPage(pageReqVO); + if (categoryId !=null) { + RecordCategoryDO recordCategoryDO = validateRecordCategoryExists(categoryId); + String idPath = recordCategoryDO.getIdPath(); + Long parentId = getRootCategoryId(idPath); + Object finalParse = customConfigParseJson(parentId); + result.getList().forEach(record -> { + try { + record.setCustomConfig(finalParse); + } catch (Exception e) { + throw exception(RECORD_RECORD_NOT_EXISTS); + } + }); + } + return result; + } Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - String idPath = recordCategoryDO.getIdPath(); + RecordCategoryDO recordCategoryDO = validateRecordCategoryExists(categoryId); if (ObjectUtils.isEmpty(recordCategoryDO)) return new PageResult().setTotal(0L); - if (ObjectUtils.isEmpty(idPath)) return new PageResult().setTotal(0L); + if (categoryId == null) CommonResult.error(RECORD_CATEGORY_NOT_EXISTS); - // 校验分类存在 + String idPath = recordCategoryDO.getIdPath(); + if (ObjectUtils.isEmpty(idPath)) return new PageResult().setTotal(0L); Long parentId = getRootCategoryId(idPath); - boolean b = recordPermissionService.judgeIsAdmin();// 如果是最高管理员 if (b) { IPage iPage = recordRecordMapper.selectRecordWithApplyPage(page, pageReqVO); PageResult result = new PageResult<>(iPage.getRecords(), iPage.getTotal()); @@ -511,20 +513,43 @@ public class RecordRecordServiceImpl implements RecordRecordService { } /** - * 定时任务:将生效日期已到的记录状态更新为已生效(recordStatus = 1) - * 筛选条件:effectiveDate <= 当前时间 且 recordStatus != 1 + * 定时任务:将生效日期已到的,并且是有效的记录状态,更新为已生效(recordStatus = 1) + * 筛选条件:effectiveDate <= 当前时间 <= 过期日期 且 recordStatus != 1 */ @Override public Integer updateRecordStatus() { LocalDateTime now = LocalDateTime.now(); LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(); - updateWrapper.isNotNull(RecordRecordDO::getEffectiveDate) - .le(RecordRecordDO::getEffectiveDate, now) - .ne(RecordRecordDO::getRecordStatus, 1) - .set(RecordRecordDO::getRecordStatus, 1); - return recordRecordMapper.update(null, updateWrapper); + +// updateWrapper.isNotNull(RecordRecordDO::getEffectiveDate) +// // 1. effectiveDate <= 当前时间 +// .le(RecordRecordDO::getEffectiveDate, now) +// // 2. 当前时间 <= 过期日期(同时兼容处理“过期时间为空”或勾选了“长期有效” PMNT = '1' 的情况) +// .and(w -> w.ge(RecordRecordDO::getExpirationDate, now) +// .or().isNull(RecordRecordDO::getExpirationDate) +// .or().eq(RecordRecordDO::getPermanently, "1")) +// // 3. 必须是有效的记录状态(未作废 CNL_FLG=0 且未置为过期 EXPR_STS=0) +// .eq(RecordRecordDO::getCancelFlag, 0) +// .eq(RecordRecordDO::getExpirationStatus, 0) +// // 4. 且 recordStatus != 1(排除已经是生效状态的数据) +// .ne(RecordRecordDO::getRecordStatus, 1) +// // == 将满足上述条件的记录修改为:已生效(recordStatus = 1) == +// .set(RecordRecordDO::getRecordStatus, 1); + // 查询审批之后待生效的记录 + Page page = new Page<>(1, 2000); + RecordRecordPageReqVO reqVO = new RecordRecordPageReqVO(); + reqVO.setRecordStatus(0); + IPage effectiveRecordBySubmitFlagPage = recordRecordMapper.getEffectiveRecordBySubmitFlagPage(page, reqVO); + List records = effectiveRecordBySubmitFlagPage.getRecords(); + if (ObjectUtils.isEmpty(records)) return 0; + records.forEach(record -> { + record.setRecordStatus(1); // 生效 + }); + recordRecordMapper.updateBatch(records); + return records.size(); } + @Override public PageResult getEffectiveRecordPage(RecordRecordPageReqVO pageReqVO) { Long categoryId = pageReqVO.getCategoryId(); @@ -533,11 +558,11 @@ public class RecordRecordServiceImpl implements RecordRecordService { Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - boolean b = recordPermissionService.judgeIsAdmin();// 如果是最高管理员 - if (b) { - IPage recordRecordDOPageResult = recordRecordMapper.getEffectiveRecordPage(page,pageReqVO); - return new PageResult<>(recordRecordDOPageResult.getRecords(), recordRecordDOPageResult.getTotal()); - } +// boolean b = recordPermissionService.judgeIsAdmin();// 如果是最高管理员 +// if (b) { +// IPage recordRecordDOPageResult = recordRecordMapper.getEffectiveRecordPage(page,pageReqVO); +// return new PageResult<>(recordRecordDOPageResult.getRecords(), recordRecordDOPageResult.getTotal()); +// } // 校验分类存在 if (ObjectUtils.isEmpty(recordCategoryDO)) return new PageResult().setTotal(0L); @@ -555,7 +580,8 @@ public class RecordRecordServiceImpl implements RecordRecordService { String customConfig = categoryDO.getCustomConfig(); String appraisalFlag = pageReqVO.getAppraisalFlag(); - if (!ObjectUtils.isEmpty(appraisalFlag) && appraisalFlag.equals("1")){ // 需要评审的文件 + // 需要评审的文件 + if (!ObjectUtils.isEmpty(appraisalFlag) && appraisalFlag.equals("1")){ // 查询所有 根分类上 appraisalFlag 为 1 的数据 String appraisal = "\"appraisalFlag\":" + 1 + ","; @@ -574,6 +600,8 @@ public class RecordRecordServiceImpl implements RecordRecordService { JSONObject jsonObject = JSONObject.parseObject(customConfig); Integer submitFlag = jsonObject.getInteger("submitFlag"); // 提交标志 if (submitFlag == 1){ // 需要提交的,需要判断流程状态 + pageReqVO.setRecordStatus(1); + pageReqVO.setPermanently("1"); IPage effectiveRecordBySubmitFlagPage = recordRecordMapper.getEffectiveRecordBySubmitFlagPage(page, pageReqVO); return new PageResult<>(effectiveRecordBySubmitFlagPage.getRecords(), effectiveRecordBySubmitFlagPage.getTotal()); } @@ -590,6 +618,8 @@ public class RecordRecordServiceImpl implements RecordRecordService { JSONObject jsonObject = JSONObject.parseObject(customConfig); Integer submitFlag = jsonObject.getInteger("submitFlag"); // 提交标志 if (submitFlag == 1){ // 需要提交的,需要判断流程状态 + pageReqVO.setRecordStatus(1); + pageReqVO.setPermanently("1"); IPage effectiveRecordBySubmitFlagPage = recordRecordMapper.getEffectiveRecordBySubmitFlagPage(page, pageReqVO); return new PageResult<>(effectiveRecordBySubmitFlagPage.getRecords(), effectiveRecordBySubmitFlagPage.getTotal()); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.xml index 8641a2de..4da10ee5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.xml @@ -59,32 +59,41 @@ \ No newline at end of file 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 500539a6..28f1d009 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 @@ -206,10 +206,22 @@ AND ( -- 逻辑一:如果查出来的状态是 null - (apply_info.BSN_STS IS NULL AND (trr.RCD_STS = 1 OR trr.PMNT = '1')) + (apply_info.BSN_STS IS NULL AND + ( + trr.RCD_STS = #{reqVO.recordStatus} + + OR trr.PMNT = #{reqVO.permanently} + + ) + ) OR -- 逻辑二:如果查出来的状态不是 null(必须等于 completed),并且... - (apply_info.BSN_STS = 'completed' AND (trr.RCD_STS = 1 OR trr.EFCT_DT > now())) + (apply_info.BSN_STS = 'completed' AND + (trr.RCD_STS = #{reqVO.recordStatus} + + OR trr.EFCT_DT > now()) + + ) )