diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/ArchivingManageController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/ArchivingManageController.java new file mode 100644 index 0000000..da4e87d --- /dev/null +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/ArchivingManageController.java @@ -0,0 +1,91 @@ +package org.springblade.system.controller; + +import com.github.pagehelper.PageHelper; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springblade.common.core.controller.BaseController; +import org.springblade.common.core.domain.AjaxResult; +import org.springblade.common.core.page.TableDataInfo; +import org.springblade.common.utils.sql.SqlUtil; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.system.domain.*; +import org.springblade.system.service.ProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/12/5 - 9:29 + * 归档管理 + */ +@RestController +@RequestMapping("/archivingManage") +@Slf4j +@NonDS +public class ArchivingManageController extends BaseController { + + @Autowired + private ProjectService service; + @PostMapping("list") + public TableDataInfo getProjectList(@RequestBody ProjectDto dto) { + try { + // 直接使用 dto 中的分页参数 + PageHelper.startPage(dto.getPageNum() != null ? dto.getPageNum() : 1, + dto.getPageSize() != null ? dto.getPageSize() : 10, + SqlUtil.escapeOrderBySql(dto.getOrderBy())) + .setReasonable(dto.getReasonable() != null ? dto.getReasonable() : true); + List list = service.getArchivingManage(dto); + for (ProjectDto projectDto : list) { + projectDto.setDeptId(getDeptId()); + projectDto.setAuditStatus(service.getAuditStatus(projectDto)); + } + if (StringUtils.isNotBlank(dto.getAuditStatus())){ + list = list.stream().filter(projectDto -> projectDto.getAuditStatus().equals(dto.getAuditStatus())).toList(); + } + return getDataTable(list); + } catch (Exception e) { + log.error(e.toString(), e); + return getDataTable(new ArrayList<>()); + } + } + + @PostMapping("getArchivingManageFiles") + @Operation(summary = "归档审核获取整改文件") + public AjaxResult getArchivingManageFiles(@RequestBody TransferApplyDto dto) { + try { + List list = service.getArchivingManageFiles(dto); + return AjaxResult.success(list); + } catch (Exception e) { + log.error(e.toString(), e); + return AjaxResult.error("请求出错了"); + } + } + + @PostMapping("addRectification") + @Operation(summary = "下发整改") + public AjaxResult addRectification(@RequestBody RectificationDto dto) { + try { + return service.addRectification(dto); + } catch (Exception e) { + log.error(e.toString(), e); + return AjaxResult.error("请求出错了"); + } + } + @PostMapping("agreeRectification") + @Operation(summary = "同意归档") + public AjaxResult agreeRectification(@RequestBody RectificationDto dto) { + try { + return service.agreeRectification(dto); + } catch (Exception e) { + log.error(e.toString(), e); + return AjaxResult.error("请求出错了"); + } + } +} diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/FileManagementController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/FileManagementController.java index bd2b486..a5c5a75 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/controller/FileManagementController.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/FileManagementController.java @@ -174,7 +174,7 @@ public class FileManagementController extends BaseController { return fileManageService.issue(dto); } @PostMapping("selectRectificationList") - @SysLog(title = "加入整改清单", module = "档案管理->档案右侧列表", businessType = OperaType.QUERY, details = "加入整改清单", logType = 1) + @SysLog(title = "整改清单列表", module = "档案管理->档案右侧列表", businessType = OperaType.QUERY, details = "整改清单列表", logType = 1) @RequiresPermissions("file:manage:rectification") public TableDataInfo selectRectificationList(@RequestBody RectificationDto dto) { // 直接使用 dto 中的分页参数 diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/domain/ProjectDto.java b/blade-service/blade-system/src/main/java/org/springblade/system/domain/ProjectDto.java index d637748..688dcf4 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/domain/ProjectDto.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/domain/ProjectDto.java @@ -14,9 +14,13 @@ public class ProjectDto extends PageDomain { */ private String id; /** - * id + * 工程id */ private String proId; + /** + * 部门id + */ + private String deptId; /** * 项目名称 @@ -86,6 +90,12 @@ public class ProjectDto extends PageDomain { */ private String fileStatus; + /** + * 归档审核状态 0.待审核 1.审批通过 2.审批驳回(下发整改) + */ + private String auditStatus; + + /** * 创建日期 */ diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/domain/RectificationDto.java b/blade-service/blade-system/src/main/java/org/springblade/system/domain/RectificationDto.java index b4cf3d5..7f2844d 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/domain/RectificationDto.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/domain/RectificationDto.java @@ -44,6 +44,12 @@ public class RectificationDto extends PageDomain { private String issuerName; // 下发人电话 private String issuerPhone; + // 整改类型(0:下发整改 1:归档审核整改) + private String rectificationType; + // 审核部门 + private String auditDept; + // 审批状态 0.待审核 1.审批通过 2.审批驳回(下发整改) + private String auditStatus; private List rectificationDtos; diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.java index 1624416..71c71b0 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.java @@ -64,4 +64,12 @@ public interface FileManageMapper { Integer issue(RectificationDto dto); Integer getRectificationFile(DaKyProFilesContentsDto dto); + + List getdeptIds(DaKyProFilesContentsDto dto); + + Integer insertRecordTransferAudit(String deptId); + + Integer agreeRectification(RectificationDto dto); + + Integer updateTransferAudit(RectificationDto dto); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.xml index 1ad7ff7..a19145e 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.xml +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/FileManageMapper.xml @@ -82,8 +82,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into record_rectification_list (file_id,pro_id,description,create_user_id,create_time) - values (#{fileId}, #{proId}, #{description}, #{createUserId}, now()) + INSERT INTO record_rectification_list + + + file_id, + + + pro_id, + + + description, + + + create_user_id, + + + issue_time, + + + rectify_status, + + + issue_user, + + create_time, + + + + #{fileId}, + + + #{proId}, + + + #{description}, + + + #{createUserId}, + + + #{issueTime}, + + + #{rectifyStatus}, + + + #{issueUser}, + + NOW(), + + + + insert into record_transfer_audit (pro_id,audit_dept,audit_status,create_time) + values (#{proId},#{deptId}, 0, now()) UPDATE da_ky_pro_files_contents @@ -146,9 +197,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" set is_issue = #{isIssue}, issue_time = now(), - issue_user = #{issueUser} + issue_user = #{issueUser}, + rectify_status = '0' WHERE id = #{id} + + update da_ky_project set file_status = '2' where id = #{proId} + + + UPDATE record_transfer_audit + set + audit_status = #{auditStatus} + WHERE pro_id = #{proId} and audit_dept = #{auditDept} + DELETE FROM da_ky_sys_file_source WHERE business_id = #{id} @@ -334,4 +395,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" count(id) from record_rectification_list where pro_id = #{proId} and rectify_status != 1 + diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.java index 1a456ad..f4259da 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.java @@ -25,4 +25,9 @@ public interface ProjectMapper { Integer updateFileStatus(DaKyProFilesContentsDto dto); ProjectDto getProjectNameById(ProjectDto dto); + + List getArchivingManageList(ProjectDto dto); + + String getAuditStatus(ProjectDto dto); + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.xml index b6fb598..8445566 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.xml +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/ProjectMapper.xml @@ -87,8 +87,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND dkp.pro_status = #{proStatus} + + AND dkp.file_status = #{fileStatus} + + + + diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.java b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.java index 2c31e38..18ddede 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.java @@ -71,4 +71,6 @@ public interface TransferApplyMapper { Integer updateProjectFileStatus(TransferFileDto dto); Integer delRecord(TransferApplyDto dto); + + List ArchivingManageFile(TransferApplyDto dto); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.xml b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.xml index 3f309c1..f54d87b 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.xml +++ b/blade-service/blade-system/src/main/java/org/springblade/system/mapper/TransferApplyMapper.xml @@ -730,5 +730,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 1 ELSE 0 END AS result + diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/ProjectService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/ProjectService.java index e34bf9b..11cbc40 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/ProjectService.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/ProjectService.java @@ -1,9 +1,7 @@ package org.springblade.system.service; import org.springblade.common.core.domain.AjaxResult; -import org.springblade.system.domain.ArchivalCatalogueDto; -import org.springblade.system.domain.ProjectDto; -import org.springblade.system.domain.SelectDto; +import org.springblade.system.domain.*; import java.util.List; @@ -20,4 +18,14 @@ public interface ProjectService { AjaxResult updateContentsName(ProjectDto projectDto); ProjectDto getProjectNameById(ProjectDto dto); + + List getArchivingManage(ProjectDto dto); + + String getAuditStatus(ProjectDto dto); + + List getArchivingManageFiles(TransferApplyDto dto); + + AjaxResult addRectification(RectificationDto dto); + + AjaxResult agreeRectification(RectificationDto dto); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/FileManageServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/FileManageServiceImpl.java index 3fe8e5e..b95cf70 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/FileManageServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/FileManageServiceImpl.java @@ -92,6 +92,12 @@ public class FileManageServiceImpl implements FileManageService { @Override public Integer updateIntegrityStatus(DaKyProFilesContentsDto dto) { + // 先查询需要哪些部门审核 + List deptIds = fileManageMapper.getdeptIds(dto); + for (String deptId : deptIds) { + // 生成部门审核记录 + fileManageMapper.insertRecordTransferAudit(deptId); + } fileManageMapper.updateIntegrityStatus(dto); return projectMapper.updateFileStatus(dto); } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/ProjectServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/ProjectServiceImpl.java index 80578f4..40f9ea6 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/ProjectServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/ProjectServiceImpl.java @@ -1,23 +1,25 @@ package org.springblade.system.service.impl; + import jakarta.annotation.Resource; import org.springblade.common.core.domain.AjaxResult; import org.springblade.core.secure.utils.AuthUtil; -import org.springblade.system.domain.ArchivalCatalogueDto; -import org.springblade.system.domain.DaKyProFilesContentsDto; -import org.springblade.system.domain.ProjectDto; -import org.springblade.system.domain.SelectDto; +import org.springblade.system.domain.*; import org.springblade.system.mapper.FileManageMapper; import org.springblade.system.mapper.ProjectMapper; +import org.springblade.system.mapper.TransferApplyMapper; import org.springblade.system.service.ProjectService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; import java.util.List; - /** * @Author:liang.chao * @Date:2025/9/11 - 10:05 @@ -25,59 +27,137 @@ import java.util.List; @Service public class ProjectServiceImpl implements ProjectService { - @Resource - private ProjectMapper projectMapper; + @Resource + private ProjectMapper projectMapper; - @Resource - private FileManageMapper fileManageMapper; + @Resource + private FileManageMapper fileManageMapper; - @Override - public List list(ProjectDto dto) { - List list = projectMapper.list(dto); - for (ProjectDto projectDto : list) { - Integer num = fileManageMapper.getFilesNum(projectDto.getId()); - projectDto.setFileUplaudNum(num); - } - return list; - } + @Resource + private TransferApplyMapper transferApplyMapper; - @Override - public List getFileCatalogSelect() { - return projectMapper.getFileCatalogSelect(); - } + @Override + public List list(ProjectDto dto) { + List list = projectMapper.list(dto); + for (ProjectDto projectDto : list) { + Integer num = fileManageMapper.getFilesNum(projectDto.getId()); + projectDto.setFileUplaudNum(num); + } + return list; + } - @Override - @Transactional - public AjaxResult updateContentsName(ProjectDto projectDto) { - try { - Integer num = projectMapper.updateContentsName(projectDto); - if (num > 0) { - // 档案管理中新增该工程下所有目录 - List list = projectMapper.getfilesContentsById(projectDto); - for (ArchivalCatalogueDto archivalCatalogueDto : list) { - DaKyProFilesContentsDto dakyProFilesContentsDto = new DaKyProFilesContentsDto(); - BeanUtils.copyProperties(archivalCatalogueDto, dakyProFilesContentsDto); - dakyProFilesContentsDto.setId(archivalCatalogueDto.getId().toString()); - dakyProFilesContentsDto.setParentId(archivalCatalogueDto.getParentId().toString()); - dakyProFilesContentsDto.setCreateUserId(AuthUtil.getUser().getUserId()); - dakyProFilesContentsDto.setCreateUserName(AuthUtil.getUser().getUserName()); - dakyProFilesContentsDto.setProId(projectDto.getProId()); - dakyProFilesContentsDto.setDataSource("1"); - dakyProFilesContentsDto.setIsUnique("0"); - projectMapper.insertDakyProFilesContents(dakyProFilesContentsDto); - } - return AjaxResult.success("配置成功"); - } else { - return AjaxResult.error("配置失败"); - } - } catch (Exception e) { - return AjaxResult.error("接口异常"); - } + @Override + public List getFileCatalogSelect() { + return projectMapper.getFileCatalogSelect(); + } - } + @Override + @Transactional + public AjaxResult updateContentsName(ProjectDto projectDto) { + try { + Integer num = projectMapper.updateContentsName(projectDto); + if (num > 0) { + // 档案管理中新增该工程下所有目录 + List list = projectMapper.getfilesContentsById(projectDto); + for (ArchivalCatalogueDto archivalCatalogueDto : list) { + DaKyProFilesContentsDto dakyProFilesContentsDto = new DaKyProFilesContentsDto(); + BeanUtils.copyProperties(archivalCatalogueDto, dakyProFilesContentsDto); + dakyProFilesContentsDto.setId(archivalCatalogueDto.getId().toString()); + dakyProFilesContentsDto.setParentId(archivalCatalogueDto.getParentId().toString()); + dakyProFilesContentsDto.setCreateUserId(AuthUtil.getUser().getUserId()); + dakyProFilesContentsDto.setCreateUserName(AuthUtil.getUser().getUserName()); + dakyProFilesContentsDto.setProId(projectDto.getProId()); + dakyProFilesContentsDto.setDataSource("1"); + dakyProFilesContentsDto.setIsUnique("0"); + projectMapper.insertDakyProFilesContents(dakyProFilesContentsDto); + } + return AjaxResult.success("配置成功"); + } else { + return AjaxResult.error("配置失败"); + } + } catch (Exception e) { + return AjaxResult.error("接口异常"); + } + + } @Override public ProjectDto getProjectNameById(ProjectDto dto) { return projectMapper.getProjectNameById(dto); } + + @Override + public List getArchivingManage(ProjectDto dto) { + dto.setFileStatus("1"); + return projectMapper.getArchivingManageList(dto); + } + + @Override + public String getAuditStatus(ProjectDto dto) { + return projectMapper.getAuditStatus(dto); + } + + @Override + public List getArchivingManageFiles(TransferApplyDto dto) { + List contents = transferApplyMapper.getTransferApplyFilesContents(dto); + List list = new ArrayList<>(); + for (String content : contents) { + dto.setParentId(content); + List dtos = transferApplyMapper.ArchivingManageFile(dto); + list.addAll(dtos); + } + return list; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult addRectification(RectificationDto dto) { + try { + dto.setCreateUserId(AuthUtil.getUser().getUserId()); + dto.setIsRectification("1"); + dto.setRectificationType("1"); + Integer i = 0; + for (String s : dto.getFileId().split(",")) { + dto.setFileId(s); + fileManageMapper.updateisRectification(dto); + dto.setIssueUser(AuthUtil.getUser().getUserId().toString()); + dto.setRectifyStatus("0"); + LocalDateTime currentDateTime = LocalDateTime.now(); + // 定义完整日期时间格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + // 格式化当前日期时间 + dto.setIssueTime(currentDateTime.format(formatter)); + i += fileManageMapper.addRectification(dto); + } + dto.setAuditDept(AuthUtil.getUser().getDeptId().toString()); + dto.setAuditStatus("2"); + fileManageMapper.updateTransferAudit(dto); + if (i > 0) { + return AjaxResult.success("添加整改成功"); + } else { + return AjaxResult.error("添加整改失败"); + } + } catch (Exception e) { + return AjaxResult.error("接口异常"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult agreeRectification(RectificationDto dto) { + try { + dto.setAuditDept(AuthUtil.getUser().getDeptId().toString()); + dto.setAuditStatus("1"); + fileManageMapper.updateTransferAudit(dto); + Integer i = fileManageMapper.agreeRectification(dto); + if (i > 0) { + return AjaxResult.success("归档成功"); + } else { + return AjaxResult.error("归档失败"); + } + } catch (Exception e) { + return AjaxResult.error("接口异常"); + } + + } }