From e4c3e8a2894a4247efebeedbc50b707bb2abd6ba Mon Sep 17 00:00:00 2001 From: YBP Date: Thu, 12 Mar 2026 18:23:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=AE=B0=E5=BD=95-=E5=AE=A1?= =?UTF-8?q?=E6=89=B9-=E6=9F=A5=E8=AF=A2=E8=AE=B0=E5=BD=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../record/constant/RecordConstants.java | 2 +- .../recordapply/RecordApplyController.java | 8 -- .../recordapply/vo/RecordApplyRespVO.java | 4 +- .../recordapply/vo/RecordApplySaveReqVO.java | 2 +- .../vo/RecordApplyDetailRespVO.java | 9 ++ .../recordrecord/RecordRecordController.java | 2 + .../vo/RecordRecordPageReqVO.java | 6 - .../dataobject/recordapply/RecordApplyDO.java | 2 +- .../RecordApplyDetailDO.java | 10 ++ .../dal/mapper/RecordApplyDetailMapper.java | 14 ++- .../record/dal/mapper/RecordRecordMapper.java | 1 + .../recordapply/RecordApplyService.java | 2 +- .../recordapply/RecordApplyServiceImpl.java | 105 +++++++++++------- .../RecordApplyDetailService.java | 9 ++ .../RecordApplyDetailServiceImpl.java | 23 ++++ .../recordrecord/RecordRecordService.java | 6 +- .../recordrecord/RecordRecordServiceImpl.java | 47 +++++++- .../dal/mapper/RecordApplyDetailMapper.xml | 22 ++++ .../record/dal/mapper/RecordRecordMapper.xml | 43 +++++++ 19 files changed, 246 insertions(+), 71 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 066759b4..8c84efc8 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 @@ -77,7 +77,7 @@ public class RecordConstants { /** * 分发 */ - public static final String DISTRIBUTION__DEFINITION_KEY = "QMS_RECORD_DISTRIBUTION"; + public static final String DISTRIBUTION_DEFINITION_KEY = "QMS_RECORD_DISTRIBUTION"; /** * 查看申请 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java index bfa895f4..5dae0b9a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java @@ -1,6 +1,5 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordapply; -import com.alibaba.fastjson2.JSONObject; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import com.zt.plat.framework.business.annotation.FileUploadController; import com.zt.plat.framework.business.controller.AbstractFileUploadController; @@ -12,27 +11,20 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.excel.core.util.ExcelUtils; - import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; -import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO; -import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; -import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordSaveReqVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapply.RecordApplyDO; -import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO; import com.zt.plat.module.qms.resource.record.service.recordapply.RecordApplyService; -import com.zt.plat.module.qms.resource.record.service.recordrecord.RecordRecordService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; -import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; 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 add72860..f43bf916 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 @@ -120,7 +120,7 @@ public class RecordApplyRespVO { // // ===============临时字段=================》 @Schema(description = "明细列表") - private List dataList; + private List detailList; // ===============临时字段=================》 @@ -134,7 +134,5 @@ public class RecordApplyRespVO { // @Schema(description = "用户IDs") // private Long[] deptIds; - private List paramsList; - } \ 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/recordapply/vo/RecordApplySaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java index 9f7e24c1..07536ef6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java @@ -103,7 +103,7 @@ public class RecordApplySaveReqVO { @Schema(description = "用户IDs") private Long[] deptIds; - private List paramsList; + private List detailList; // 分发参数 // private List targetList; 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 18936b88..7b7b239a 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 @@ -82,4 +82,13 @@ public class RecordApplyDetailRespVO { @Schema(description = "文件编号") private String recordCode; + @Schema(description = "版本号") + private String version; + + @Schema(description = "文件记录-是否长期有效") + private String recordPermanently; + + @Schema(description = "文件过期时间") + private LocalDateTime expirationDate; + } \ 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 f48d63bf..47a6ec7b 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 @@ -3,6 +3,7 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordrecord; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.module.qms.common.service.BusinessFileService; import com.zt.plat.module.qms.resource.clientManage.controller.vo.VersionManagementRespVO; +import com.zt.plat.module.qms.resource.record.constant.RecordConstants; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionPageReqVO; @@ -11,6 +12,7 @@ import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.R import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordSaveReqVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO; +import com.zt.plat.module.qms.resource.record.service.recordcategory.RecordCategoryService; import com.zt.plat.module.qms.resource.record.service.recordpermission.RecordPermissionService; import org.springframework.web.bind.annotation.*; import jakarta.annotation.Resource; 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 ab802aae..93c208b5 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 @@ -24,12 +24,6 @@ public class RecordRecordPageReqVO extends PageParam { @Schema(description = "业务类型") private String businessType; -// @Schema(description = "部门IDS") -// private String departmentIds; -// -// @Schema(description = "用户IDS") -// private String userIds; - @Schema(description = "表单key") private String formKey; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java index 5981b359..e95eb042 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java @@ -151,6 +151,6 @@ public class RecordApplyDO extends BusinessBaseDO { // ========================== @TableField(exist = false) - private List dataList; + private List detailList; } \ 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/dataobject/recordapplydetail/RecordApplyDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java index 6eeedcb5..89a260d8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java @@ -108,4 +108,14 @@ public class RecordApplyDetailDO extends BusinessBaseDO { @TableField(exist = false) private String recordCode; + @TableField(exist = false) + private String version; + + @TableField(exist = false) + private String recordPermanently; + + @TableField(exist = false) + private LocalDateTime expirationDate; + + } \ 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/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 bd4a3f7d..70bfcf91 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 @@ -7,6 +7,7 @@ import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail 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; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -48,9 +49,12 @@ 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 FROM T_RCD_APL_DTL trad LEFT JOIN T_RCD_RCD trr ON trad.DOC_ID = trr.ID WHERE trad.APL_ID = #{applyId}") - List selectDetailAndRecordList(Long applyId); +// @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); } \ 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 46b9a5fb..fed44d02 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,4 +91,5 @@ public interface RecordRecordMapper extends BaseMapperX { @Param("userId") Long userId, @Param("userDepts") List userDepts); + 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/RecordApplyService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java index 05e31eff..a7640bda 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java @@ -121,7 +121,7 @@ public interface RecordApplyService { * @return */ - PageResult recordReviewPage(@Valid RecordRecordPageReqVO pageReqVO); +// PageResult recordReviewPage(@Valid RecordRecordPageReqVO pageReqVO); // 分发 PageResult recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO); 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 9260205b..880b655e 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 @@ -104,11 +104,22 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn } @Override + @Transactional(rollbackFor = Exception.class) public void updateRecordApply(RecordApplySaveReqVO updateReqVO) { // 校验存在 - validateRecordApplyExists(updateReqVO.getId()); +// validateRecordApplyExists(updateReqVO.getId()); + RecordApplyDO recordApplyDO = recordApplyMapper.selectById(updateReqVO.getId()); + if (ObjectUtils.isEmpty(recordApplyDO)) CommonResult.error(RECORD_APPLY_NOT_EXISTS); // 更新 RecordApplyDO updateObj = BeanUtils.toBean(updateReqVO, RecordApplyDO.class); + String businessType = recordApplyDO.getBusinessType(); + updateReqVO.setBusinessType(businessType); + // 删除明细-->重新添加 + int i = recordApplyDetailService.deleteRecordApplyDetailByApplyId(recordApplyDO.getId()); + if (i>0){ + createApplyDetailData(updateReqVO, recordApplyDO); + } + recordApplyMapper.updateById(updateObj); } @@ -145,8 +156,13 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn public RecordApplyDO getRecordApply(Long id) { RecordApplyDO recordApplyDO = recordApplyMapper.selectById(id); if (ObjectUtils.isEmpty(recordApplyDO)) return recordApplyDO; - List recordApplyDetailDOS = recordApplyDetailService.selectDetailAndRecordList(id); - if (!recordApplyDetailDOS.isEmpty()) recordApplyDO.setDataList(recordApplyDetailDOS); + String businessType = recordApplyDO.getBusinessType(); + List recordApplyDetailDOS; + if (businessType.equals(RecordConstants.BusinessType.DISTRIBUTION)) + recordApplyDetailDOS = recordApplyDetailService.selectDistributionDetailAndRecordList(id); + else + recordApplyDetailDOS=recordApplyDetailService.selectDetailAndRecordList(id); + if (!recordApplyDetailDOS.isEmpty()) recordApplyDO.setDetailList(recordApplyDetailDOS); return recordApplyDO; } @@ -184,16 +200,21 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn @Override @Transactional(rollbackFor = Exception.class) public CommonResult createApplyData(RecordApplySaveReqVO param) { - String businessType = param.getBusinessType(); - if (ObjectUtils.isEmpty(businessType)) - throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "请选择业务类型"); - List paramsList = param.getParamsList(); - if (ObjectUtils.isEmpty(paramsList)) + + List detailList = param.getDetailList(); + if (ObjectUtils.isEmpty(detailList)) throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "没有找到文件记录数据"); // TODO RecordApplyDO recordApply = createApply(param); + return createApplyDetailData(param,recordApply); + } + + public CommonResult createApplyDetailData(RecordApplySaveReqVO param,RecordApplyDO recordApply){ List detailSaveReqVOList = new ArrayList<>(); + String businessType = param.getBusinessType(); + if (ObjectUtils.isEmpty(businessType)) + throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "请选择业务类型"); switch (businessType) { case RecordConstants.BusinessType.REVIEW: // 评审 detailSaveReqVOList = addReviewDetail(param, recordApply); @@ -225,9 +246,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 保存评审明细 public List addReviewDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { - List paramsList = param.getParamsList(); + List detailList = param.getDetailList(); List detailSaveReqVOList = new ArrayList<>(); - for (RecordApplyDetailSaveReqVO item : paramsList) { + for (RecordApplyDetailSaveReqVO item : detailList) { RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(item.getDocumentId()); @@ -242,7 +263,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加分发明细 public List addDistributionDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { - Long recordId = param.getParamsList().get(0).getDocumentId(); + Long recordId = param.getDetailList().get(0).getDocumentId(); String assignTarget = param.getAssignTarget(); List detailSaveReqVOList = new ArrayList<>(); @@ -280,9 +301,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加更改申请明细 public List addUpdateDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { - List paramsList = param.getParamsList(); + List detailList = param.getDetailList(); List detailSaveReqVOList = new ArrayList<>(); - for (RecordApplyDetailSaveReqVO item : paramsList) { + for (RecordApplyDetailSaveReqVO item : detailList) { RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(item.getDocumentId()); @@ -297,9 +318,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加作废明细 public List addInvalidDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { - List paramsList = param.getParamsList(); + List detailList = param.getDetailList(); List detailSaveReqVOList = new ArrayList<>(); - for (RecordApplyDetailSaveReqVO item : paramsList) { + for (RecordApplyDetailSaveReqVO item : detailList) { RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(item.getDocumentId()); @@ -314,9 +335,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加查看申请 public List addViewApplyDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { - List paramsList = param.getParamsList(); + List detailList = param.getDetailList(); List detailSaveReqVOList = new ArrayList<>(); - for (RecordApplyDetailSaveReqVO item : paramsList) { + for (RecordApplyDetailSaveReqVO item : detailList) { RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(item.getDocumentId()); @@ -334,10 +355,10 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 添加文件提交明细 public List addRecordSubmitDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { -// List paramsList = param.getParamsList(); +// List detailList = param.getDetailList(); List detailSaveReqVOList = new ArrayList<>(); RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); - Long recordId = param.getParamsList().get(0).getDocumentId(); + Long recordId = param.getDetailList().get(0).getDocumentId(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(recordId); // 文件Id detailSaveReqVOList.add(recordApplyDetailDO); @@ -349,7 +370,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn @Transactional(rollbackFor = Exception.class) public CommonResult addDetail(RecordApplySaveReqVO param, RecordApplyDO recordApplyDO) { String businessType = param.getBusinessType(); - List paramsList = param.getParamsList(); + List detailList = param.getDetailList(); //申请通用明细记录 List detailSaveReqVOList = new ArrayList<>(); // 判断是否是评审,如果是评审,一批评审文件对应一个申请记录,对应多条申请明细记录 @@ -357,13 +378,13 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn || RecordConstants.BusinessType.RECORD_UPDATE.equals(businessType) || RecordConstants.BusinessType.VIEW_APPLY.equals(businessType) || RecordConstants.BusinessType.INVALID.equals(businessType)) { // 评审,或修改申请,或查看申请,或文件作废 - if (ObjectUtils.isEmpty(paramsList)) throw exception(RECORD_RECORD_NOT_EXISTS, "请选择至少一条文件记录"); - for (RecordApplyDetailSaveReqVO item : paramsList) { + if (ObjectUtils.isEmpty(detailList)) throw exception(RECORD_RECORD_NOT_EXISTS, "请选择至少一条文件记录"); + for (RecordApplyDetailSaveReqVO item : detailList) { RecordApplyDetailDO recordApplyDetailDO = getRecordApplyDetailDO(recordApplyDO, item, businessType); detailSaveReqVOList.add(recordApplyDetailDO); } } else if (RecordConstants.BusinessType.DISTRIBUTION.equals(businessType)) { // 分发 - Long recordId = param.getParamsList().get(0).getDocumentId(); + Long recordId = param.getDetailList().get(0).getDocumentId(); String targetDepartmentIds = param.getTargetDepartmentIds(); // if (ObjectUtils.isEmpty(targetDepartmentIds)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"分发部门不存在"); String[] deptIds = targetDepartmentIds.split(","); @@ -559,8 +580,8 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn switch (businessType) { case RecordConstants.BusinessType.RECORD_SUBMIT: // 判断根分类上是否配置自定义配置,允许提交,则需要走流程,否则直接提交 - List paramsList = param.getParamsList(); - Long recordId = paramsList.get(0).getDocumentId(); + List detailList = param.getDetailList(); + Long recordId = detailList.get(0).getDocumentId(); if (ObjectUtils.isEmpty(recordId)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(), "请选择文件记录"); RecordRecordDO entity = recordRecordService.getRecordById(recordId); @@ -574,7 +595,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn reqDTO.setProcessDefinitionKey(RecordConstants.ProcessDefinitionKey.RECORD_SUBMIT_DEFINITION_KEY); break; case RecordConstants.BusinessType.DISTRIBUTION: // 分发 - reqDTO.setProcessDefinitionKey(RecordConstants.ProcessDefinitionKey.DISTRIBUTION__DEFINITION_KEY); + reqDTO.setProcessDefinitionKey(RecordConstants.ProcessDefinitionKey.DISTRIBUTION_DEFINITION_KEY); // 文件分发需要关联权限表, break; case RecordConstants.BusinessType.VIEW_APPLY: // 查看申请 @@ -779,7 +800,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn if (!ObjectUtils.isEmpty(detailDOList)) { RecordApplySaveReqVO recordApplyRespVO = new RecordApplySaveReqVO(); recordApplyRespVO.setBusinessType(RecordConstants.BusinessType.RECORD_UPDATE); - recordApplyRespVO.setParamsList(detailDOList); + recordApplyRespVO.setDetailList(detailDOList); createApplyData(recordApplyRespVO); } } @@ -836,21 +857,21 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn * 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 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 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 ee1cafd3..1a3aac53 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 @@ -91,4 +91,13 @@ public interface RecordApplyDetailService { * @return */ List selectDetailAndRecordList(Long applyId); + + /** + * 关联 + * @param applyId + * @return + */ + List selectDistributionDetailAndRecordList(Long applyId); + + int deleteRecordApplyDetailByApplyId(Long applyId); } \ 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 c31a3e7f..83afc3a2 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,12 +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.toolkit.Wrappers; 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 org.springframework.stereotype.Service; import jakarta.annotation.Resource; +import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import java.util.*; @@ -117,4 +119,25 @@ public class RecordApplyDetailServiceImpl implements RecordApplyDetailService { return recordApplyDetailMapper.selectDetailAndRecordList(applyId); } + // 通过 recordApplyDetail 表关联查询 recordRecord 表 分发 单条数据 + public List selectDistributionDetailAndRecordList(Long applyId) { + return recordApplyDetailMapper.selectDistributionDetailAndRecordList(applyId); + } + + @Override + public int deleteRecordApplyDetailByApplyId(Long applyId) { + // 通过申请Id,批量删除明细数据 + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(RecordApplyDetailDO::getApplyId,applyId); + List recordApplyDetailDOS = recordApplyDetailMapper.selectList(query); + if (ObjectUtils.isEmpty(recordApplyDetailDOS)) return 0; + // 获取明细Ids + List ids = new ArrayList<>(); + recordApplyDetailDOS.forEach(item -> { + ids.add(item.getId()); + }); + this.deleteRecordApplyDetailListByIds(ids); + return 1; + } + } \ 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/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 d3e6d5ed..b062cc68 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 @@ -12,6 +12,7 @@ import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.Re import jakarta.validation.*; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO; import com.zt.plat.framework.common.pojo.PageResult; +import org.apache.ibatis.annotations.Param; /** * 文件、模板、记录 Service 接口 @@ -87,5 +88,8 @@ public interface RecordRecordService { void updateRecordRecordListByIds(List recordRecordDOS); - + /** + * 文件更改申请流程-- 查询文件记录数据 + */ + 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 e307868b..891fe299 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 @@ -2,6 +2,7 @@ package com.zt.plat.module.qms.resource.record.service.recordrecord; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -14,6 +15,7 @@ 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.recordrecord.vo.RecordRecordPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; @@ -37,6 +39,7 @@ 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; @@ -144,6 +147,13 @@ public class RecordRecordServiceImpl implements RecordRecordService { } } + +// 文件更改申请流程 --> 查询文件记录数据 + @Override + public List selectViewApplyRecordList(RecordRecordPageReqVO pageReqVO) { + return recordRecordMapper.selectViewApplyRecordList(pageReqVO); + } + @Override @Transactional(rollbackFor = Exception.class) public RecordRecordRespVO updateRecordRecord(RecordRecordSaveReqVO updateReqVO) { @@ -184,7 +194,7 @@ public class RecordRecordServiceImpl implements RecordRecordService { lambdaQueryWrapper.eq(RecordRecordDO::getMainId, recordRecordDO.getMainId()); lambdaQueryWrapper.orderByDesc(RecordRecordDO::getCreateTime); // 根据时间倒叙排序,取第一个 List recordRecordDOS = recordRecordMapper.selectList(lambdaQueryWrapper); - log.info("recordRecordDOS--:{}", recordRecordDOS); +// log.info("recordRecordDOS--:{}", recordRecordDOS); if (ObjectUtils.isEmpty(recordRecordDOS)) return; // 修改状态为当前最新版本 // TODO 需要去判断文件作废状态 @@ -247,11 +257,31 @@ public class RecordRecordServiceImpl implements RecordRecordService { @Override public PageResult getRecordRecordPage(RecordRecordPageReqVO pageReqVO) { Long categoryId = pageReqVO.getCategoryId(); + if (categoryId == null) CommonResult.error(RECORD_CATEGORY_NOT_EXISTS); // 校验分类存在 RecordCategoryDO recordCategoryDO = recordCategoryService.selectById(categoryId); if (ObjectUtils.isEmpty(recordCategoryDO)) return new PageResult().setTotal(0L); - Long parentId = recordCategoryDO.getParentId(); + 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()); + } + } // 判断是否有当前分类的父分类权限 (可编辑,可查看,管理员--> 任意条件) List recordPermissionDOS = recordPermissionService.selectPermissionList(parentId, null); @@ -291,6 +321,19 @@ public class RecordRecordServiceImpl implements RecordRecordService { return result; } + // 文件评审--获取记录数据 + public boolean getRecordReviewList(Long parentId){ + // 判断根分类上是否有需要评审的文件 + Object customConfigObject = customConfigParseJson(parentId); + if (ObjectUtils.isEmpty(customConfigObject)) return false; + + JSONObject customConfig = JSONObject.parseObject(customConfigObject.toString()); + // json 解析 + Integer appraisalFlag = customConfig.getInteger("appraisalFlag");// 评审标志 + if (appraisalFlag.equals(0)) return false; + return true; + } + private Object customConfigParseJson(Long parentId) { RecordCategoryDO categoryDOByParent = recordCategoryService.selectById(parentId); log.info("categoryDOByParent:{}", categoryDOByParent); 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 1a0258fe..43e06748 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 @@ -9,4 +9,26 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + + + + + \ 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 771df012..750de077 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 @@ -145,4 +145,47 @@ ) ) + + + \ No newline at end of file