文件记录-添加文件修改通知单
This commit is contained in:
@@ -19,6 +19,8 @@ public class RecordConstants {
|
|||||||
public static final String DEPT = "部门";
|
public static final String DEPT = "部门";
|
||||||
/** admin */
|
/** admin */
|
||||||
public static final String ADMIN = "admin";
|
public static final String ADMIN = "admin";
|
||||||
|
/** 文件 */
|
||||||
|
public static final String FILE = "文件";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,6 +70,8 @@ public class RecordConstants {
|
|||||||
* 文件提交
|
* 文件提交
|
||||||
* */
|
* */
|
||||||
public static final String RECORD_UPDATE = "文件更改";
|
public static final String RECORD_UPDATE = "文件更改";
|
||||||
|
|
||||||
|
public static final String CHANGE_NOTICE = "更改通知单";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
|||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
|
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
|
||||||
import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
||||||
|
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
|
||||||
import com.zt.plat.module.qms.common.service.BusinessFileService;
|
import com.zt.plat.module.qms.common.service.BusinessFileService;
|
||||||
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.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.RecordApplyRespVO;
|
||||||
@@ -110,7 +111,11 @@ public class RecordApplyController extends AbstractFileUploadController implemen
|
|||||||
|
|
||||||
// 先转换为VO,避免JSONObject中包含ArrayList导致的转换错误
|
// 先转换为VO,避免JSONObject中包含ArrayList导致的转换错误
|
||||||
RecordApplyRespVO respVO = BeanUtils.toBean(recordApply, RecordApplyRespVO.class);
|
RecordApplyRespVO respVO = BeanUtils.toBean(recordApply, RecordApplyRespVO.class);
|
||||||
respVO.setBusinessFileRet(businessFileService.getBusinessFileList(id));
|
CommonResult<List<BusinessFileWithUrlRespDTO>> businessFileList = businessFileService.getBusinessFileList(id);
|
||||||
|
if (businessFileList.getData() != null) {
|
||||||
|
businessFileList.getData().forEach(item -> item.setFileUrl(null));
|
||||||
|
}
|
||||||
|
respVO.setBusinessFileRet(businessFileList);
|
||||||
return success(respVO);
|
return success(respVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -104,15 +104,6 @@ public class RecordApplySaveReqVO {
|
|||||||
@Schema(description = "删除的文件id")
|
@Schema(description = "删除的文件id")
|
||||||
private List<Long> deleteFileIdList;
|
private List<Long> deleteFileIdList;
|
||||||
|
|
||||||
// @Schema(description = "文件记录ID")
|
|
||||||
// private Long recordId;
|
|
||||||
//
|
|
||||||
// @Schema(description = "用户IDs")
|
|
||||||
// private Long[] userIds;
|
|
||||||
//
|
|
||||||
// @Schema(description = "用户IDs")
|
|
||||||
// private Long[] deptIds;
|
|
||||||
|
|
||||||
private List<RecordApplyDetailSaveReqVO> detailList;
|
private List<RecordApplyDetailSaveReqVO> detailList;
|
||||||
|
|
||||||
// 记录Id
|
// 记录Id
|
||||||
|
|||||||
@@ -8,13 +8,22 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
|||||||
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
|
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
|
||||||
|
import com.zt.plat.module.infra.api.businessfile.BusinessFileApi;
|
||||||
|
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileRespDTO;
|
||||||
|
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
|
||||||
|
import com.zt.plat.module.infra.api.file.FileApi;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import com.zt.plat.module.qms.common.service.BusinessFileService;
|
import com.zt.plat.module.qms.common.service.BusinessFileService;
|
||||||
|
import com.zt.plat.module.qms.resource.record.constant.RecordConstants;
|
||||||
|
import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO;
|
||||||
import com.zt.plat.module.qms.resource.record.controller.admin.recordpermission.vo.RecordPermissionRespVO;
|
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.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.RecordRecordRespVO;
|
||||||
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordSaveReqVO;
|
import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordSaveReqVO;
|
||||||
|
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail.RecordApplyDetailDO;
|
||||||
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO;
|
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO;
|
||||||
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO;
|
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO;
|
||||||
|
import com.zt.plat.module.qms.resource.record.service.recordapplydetail.RecordApplyDetailService;
|
||||||
import com.zt.plat.module.qms.resource.record.service.recordpermission.RecordPermissionService;
|
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.qms.resource.record.service.recordrecord.RecordRecordService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
@@ -23,10 +32,14 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
|||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@@ -54,6 +67,12 @@ public class RecordRecordController extends AbstractFileUploadController impleme
|
|||||||
@Resource
|
@Resource
|
||||||
private BusinessFileService businessFileService;
|
private BusinessFileService businessFileService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RecordApplyDetailService recordApplyDetailService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private FileApi fileApi;
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建文件、模板、记录->分类明细")
|
@Operation(summary = "创建文件、模板、记录->分类明细")
|
||||||
@@ -93,10 +112,37 @@ public class RecordRecordController extends AbstractFileUploadController impleme
|
|||||||
@Operation(summary = "获得文件、模板、记录")
|
@Operation(summary = "获得文件、模板、记录")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
|
//@PreAuthorize("@ss.hasPermission('qms:record-record:query')")
|
||||||
public CommonResult<RecordRecordRespVO> getRecordRecord(@RequestParam("id") Long id) {
|
public CommonResult<RecordRecordRespVO> getRecordRecord(@RequestParam("id") Long id, @RequestParam(value = "changNoticeFlag", required = false) Long changNoticeFlag) {
|
||||||
RecordRecordDO recordRecord = recordRecordService.getRecordRecord(id);
|
RecordRecordDO recordRecord = recordRecordService.getRecordRecord(id);
|
||||||
RecordRecordRespVO vo = BeanUtils.toBean(recordRecord, RecordRecordRespVO.class);
|
RecordRecordRespVO vo = BeanUtils.toBean(recordRecord, RecordRecordRespVO.class);
|
||||||
vo.setBusinessFileRet(businessFileService.getBusinessFileList(id));
|
CommonResult<List<BusinessFileWithUrlRespDTO>> businessFileList = businessFileService.getBusinessFileList(id);
|
||||||
|
|
||||||
|
if (businessFileList.getData() != null) {
|
||||||
|
businessFileList.getData().forEach(item -> item.setFileUrl(null));
|
||||||
|
}
|
||||||
|
vo.setBusinessFileRet(businessFileList);
|
||||||
|
// 获取修改通知单
|
||||||
|
if (changNoticeFlag == null || changNoticeFlag == 0) return success(vo);
|
||||||
|
RecordApplyDetailPageReqVO pageReqVO = new RecordApplyDetailPageReqVO();
|
||||||
|
pageReqVO.setPageSize(-1);
|
||||||
|
pageReqVO.setDocumentId(id);
|
||||||
|
pageReqVO.setTargetType(RecordConstants.TargetType.FILE);
|
||||||
|
List<RecordApplyDetailDO> recordApplyDetailDOS = recordApplyDetailService.selectList(pageReqVO);
|
||||||
|
if (ObjectUtils.isEmpty(recordApplyDetailDOS)) return success(vo);
|
||||||
|
Set<Long> targetIds = recordApplyDetailDOS.stream().map(RecordApplyDetailDO::getTargetId).collect(Collectors.toSet());
|
||||||
|
if (!ObjectUtils.isEmpty(targetIds)){
|
||||||
|
targetIds.forEach(targetId -> {
|
||||||
|
CommonResult<FileRespDTO> fileInfo = fileApi.getFileInfo(targetId);
|
||||||
|
if (fileInfo.getData() != null) {
|
||||||
|
FileRespDTO data = fileInfo.getData();
|
||||||
|
data.setUrl(null);
|
||||||
|
if (vo.getChangeNoticeList() == null) {
|
||||||
|
vo.setChangeNoticeList(new ArrayList<>());
|
||||||
|
}
|
||||||
|
vo.getChangeNoticeList().add(fileInfo.getData());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
return success(vo);
|
return success(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
|||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
|
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileWithUrlRespDTO;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
||||||
|
import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail.RecordApplyDetailDO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -165,11 +167,6 @@ public class RecordRecordRespVO {
|
|||||||
@Schema(description = "文件提交申请ID")
|
@Schema(description = "文件提交申请ID")
|
||||||
private Long applyId;
|
private Long applyId;
|
||||||
|
|
||||||
// @Schema(description = "文件提交流程实例ID")
|
private List<FileRespDTO> ChangeNoticeList; //
|
||||||
// private String flowInstanceId;
|
|
||||||
|
|
||||||
// @Schema(description = "文件提交业务状态")
|
|
||||||
// @Dict(dicCode = "flow_status")
|
|
||||||
// private String applyBusinessStatus;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail;
|
package com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail;
|
||||||
|
|
||||||
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
@@ -145,6 +147,7 @@ public class RecordApplyDetailDO extends BusinessBaseDO {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private LocalDateTime expirationDate;
|
private LocalDateTime expirationDate;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private FileRespDTO fileInfo;
|
||||||
|
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -364,7 +364,7 @@ public class RecordRecordServiceImpl implements RecordRecordService {
|
|||||||
} else {
|
} else {
|
||||||
JSONObject jsonObject = JSONObject.parseObject(customConfig);
|
JSONObject jsonObject = JSONObject.parseObject(customConfig);
|
||||||
Integer submitFlag = jsonObject.getInteger("submitFlag");
|
Integer submitFlag = jsonObject.getInteger("submitFlag");
|
||||||
if (submitFlag == 0) { // 不需要提交的,判断状态
|
if (submitFlag == null || submitFlag == 0) { // 不需要提交的,判断状态
|
||||||
int sts = calculateRecordStatus(effectiveDate, expirationDate);
|
int sts = calculateRecordStatus(effectiveDate, expirationDate);
|
||||||
if (sts == 3) recordDO.setExpirationStatus(1); //过期
|
if (sts == 3) recordDO.setExpirationStatus(1); //过期
|
||||||
else recordDO.setRecordStatus(sts);
|
else recordDO.setRecordStatus(sts);
|
||||||
@@ -532,6 +532,10 @@ public class RecordRecordServiceImpl implements RecordRecordService {
|
|||||||
List<Long> categoryIds = selectCategoryIds(categoryId);
|
List<Long> categoryIds = selectCategoryIds(categoryId);
|
||||||
LambdaQueryWrapper<RecordRecordDO> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<RecordRecordDO> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
||||||
lambdaQueryWrapper.in(RecordRecordDO::getCategoryId, categoryIds);
|
lambdaQueryWrapper.in(RecordRecordDO::getCategoryId, categoryIds);
|
||||||
|
if(!ObjectUtils.isEmpty(pageReqVO.getCancelFlag())) // 作废
|
||||||
|
lambdaQueryWrapper.eq(RecordRecordDO::getCancelFlag, pageReqVO.getCancelFlag());
|
||||||
|
if (!ObjectUtils.isEmpty(pageReqVO.getExpirationStatus())) // 过期
|
||||||
|
lambdaQueryWrapper.eq(RecordRecordDO::getExpirationStatus, pageReqVO.getExpirationStatus());
|
||||||
if (!ObjectUtils.isEmpty(pageReqVO.getCurrentFlag()))
|
if (!ObjectUtils.isEmpty(pageReqVO.getCurrentFlag()))
|
||||||
lambdaQueryWrapper.like(RecordRecordDO::getCurrentFlag, pageReqVO.getCurrentFlag());// 查询最新版本/旧版本
|
lambdaQueryWrapper.like(RecordRecordDO::getCurrentFlag, pageReqVO.getCurrentFlag());// 查询最新版本/旧版本
|
||||||
if (!ObjectUtils.isEmpty(pageReqVO.getName()))
|
if (!ObjectUtils.isEmpty(pageReqVO.getName()))
|
||||||
|
|||||||
Reference in New Issue
Block a user