From a716991576f868db7d7e32df9cabfb7cf131c747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=88=90?= <2847920761@qq.com> Date: Wed, 13 Aug 2025 09:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=BA=B8=E8=AF=84=E5=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/互相提交资料清单模板.docx | Bin 12731 -> 0 bytes .../BusDrawingreviewController.java | 51 +++++- .../DesVolumeCatalogController.java | 124 +++++++++++++ .../design/domain/DesVolumeCatalog.java | 5 + .../domain/bo/AnewDrawingReviewUploadReq.java | 5 - .../domain/bo/DrawingReviewUploadReq.java | 8 +- .../dromara/design/domain/dto/ExcelData.java | 86 +++++++++ .../design/domain/dto/ObtainTheListRes.java | 4 +- .../design/domain/vo/BusDrawingreviewVo.java | 6 + .../vo/ListOfDesignDrawingsReviewRes.java | 7 + .../vo/ListOfDesignDrawingsReviewSonRes.java | 27 +++ ...nHistoricalDesignDrawingsForReviewRes.java | 164 ++++++++++++++++++ .../vo/volumecatalog/DesVolumeCatalogVo.java | 11 ++ .../service/IBusDrawingreviewService.java | 14 +- ...usBillofquantitiesVersionsServiceImpl.java | 6 +- .../impl/BusDrawingreviewServiceImpl.java | 68 +++++--- .../impl/DesVolumeCatalogServiceImpl.java | 64 ++++++- .../mapper/design/BusDrawingreviewMapper.xml | 2 +- .../mapper/design/DesPrintingPlanMapper.xml | 7 + 19 files changed, 611 insertions(+), 48 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ExcelData.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewSonRes.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ObtainHistoricalDesignDrawingsForReviewRes.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/design/DesPrintingPlanMapper.xml diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx b/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx index 67381aa621008acfb1c69c1dc1a2bd03d64a7144..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 12731 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 UR04BDutN;K2 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewController.java index c6962055..1741ae34 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewController.java @@ -9,7 +9,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import org.dromara.design.domain.bo.AnewDrawingReviewUploadReq; import org.dromara.design.domain.bo.DrawingReviewUploadReq; import org.dromara.design.domain.bo.FillOutTheDesignVerificationFormReq; -import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes; +import org.dromara.design.domain.vo.*; +import org.dromara.design.service.IBusDrawingreviewReceiptsService; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -21,10 +22,10 @@ import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.design.domain.vo.BusDrawingreviewVo; import org.dromara.design.domain.bo.BusDrawingreviewBo; import org.dromara.design.service.IBusDrawingreviewService; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 设计-图纸评审 @@ -40,6 +41,8 @@ public class BusDrawingreviewController extends BaseController { private final IBusDrawingreviewService busDrawingreviewService; + private final IBusDrawingreviewReceiptsService busDrawingreviewReceiptsService; + /** * 新增设计图纸评审 */ @@ -47,13 +50,12 @@ public class BusDrawingreviewController extends BaseController { @Log(title = "新增设计图纸评审", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping("/drawingReviewUpload") - public R drawingReviewUpload(@RequestBody DrawingReviewUploadReq bo) { - return toAjax(busDrawingreviewService.drawingReviewUpload(bo)); + public R drawingReviewUpload(DrawingReviewUploadReq bo, @RequestPart("file") MultipartFile file) { + return toAjax(busDrawingreviewService.drawingReviewUpload(bo, file)); } /** * 设计图纸评审列表 - * listOfDesignDrawingsReview */ @SaCheckPermission("design:drawingreview:listOfDesignDrawingsReview") @GetMapping("/listOfDesignDrawingsReview") @@ -61,6 +63,41 @@ public class BusDrawingreviewController extends BaseController { return busDrawingreviewService.listOfDesignDrawingsReview(bo, pageQuery); } + /** + * 获取历史设计图纸评审 + */ + @SaCheckPermission("design:drawingreview:ObtainHistoricalDesignDrawingsForReview") + @GetMapping("/ObtainHistoricalDesignDrawingsForReview/{id}") + public List ObtainHistoricalDesignDrawingsForReview(@NotNull(message = "主键不能为空")@PathVariable Long id) { + return busDrawingreviewService.ObtainHistoricalDesignDrawingsForReview(id); + } + + + /** + * 获取设计-主图纸评审详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("design:drawingreview:zQuery") + @GetMapping("/zQuery/{id}") + public R zQuery(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busDrawingreviewService.queryById(id)); + } + + + /** + * 根据历史设计图纸评审查询详情 + * + * @param id 主键 + */ + @SaCheckPermission("design:drawingreview:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busDrawingreviewReceiptsService.queryById(id)); + } + /** * 重新上传设计图纸评审 */ @@ -68,8 +105,8 @@ public class BusDrawingreviewController extends BaseController { @Log(title = "重新上传设计图纸评审", businessType = BusinessType.INSERT) @RepeatSubmit() @PutMapping("/anewDrawingReviewUpload") - public R anewDrawingReviewUpload(@RequestBody AnewDrawingReviewUploadReq bo) { - return toAjax(busDrawingreviewService.anewDrawingReviewUpload(bo)); + public R anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo,@RequestPart("file") MultipartFile file) { + return toAjax(busDrawingreviewService.anewDrawingReviewUpload(bo,file)); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java index 2d08bbbf..24372b39 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesVolumeCatalogController.java @@ -1,9 +1,14 @@ package org.dromara.design.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.bean.BeanUtil; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.dromara.common.core.domain.R; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; @@ -12,6 +17,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; import org.dromara.design.domain.DesVolumeFile; +import org.dromara.design.domain.dto.ExcelData; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogCreateReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogQueryReq; import org.dromara.design.domain.dto.volumecatalog.DesVolumeCatalogUpdateReq; @@ -21,7 +27,16 @@ import org.dromara.design.service.IDesVolumeCatalogService; import org.dromara.design.service.IDesVolumeFileService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -41,6 +56,8 @@ public class DesVolumeCatalogController extends BaseController { @Resource private IDesVolumeFileService volumeFileService; + + /** * 查询卷册目录列表 */ @@ -120,4 +137,111 @@ public class DesVolumeCatalogController extends BaseController { @PathVariable Long[] ids) { return toAjax(desVolumeCatalogService.deleteByIds(List.of(ids))); } + + + + /** + * 导入卷册目录 + */ + @SaCheckPermission("design:volumeCatalog:importData") + @Log(title = "导入卷册目录", businessType = BusinessType.IMPORT) + @PostMapping("/importData") + public R importData(@RequestParam("file") MultipartFile file,Long projectId) throws IOException { + if (projectId == null) { + return R.fail("项目ID不能为空"); + } + List dataList = readExcel(file); + List desVolumeCatalogCreateReqs = BeanUtil.copyToList(dataList, DesVolumeCatalogCreateReq.class); + for (DesVolumeCatalogCreateReq desVolumeCatalogCreateReq : desVolumeCatalogCreateReqs) { + desVolumeCatalogCreateReq.setProjectId(projectId); + desVolumeCatalogService.insertByBo(desVolumeCatalogCreateReq); + } + return toAjax(true); + } + + + public static List readExcel(MultipartFile file) throws IOException { + List dataList = new ArrayList<>(); + + try (InputStream inputStream = file.getInputStream(); + XSSFWorkbook workbook = new XSSFWorkbook(inputStream)) { + + XSSFSheet sheet = workbook.getSheetAt(0); + + // 从第二行(index=1)开始读取数据,跳过表头 + for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) { + Row row = sheet.getRow(rowIndex); + if (row != null) { + String designSubitem = getCellValue(row.getCell(0)); + String designState = getCellValue(row.getCell(1)); + String specialty = getCellValue(row.getCell(2)); + String principal = getCellValue(row.getCell(3)); + String volumeNumber = getCellValue(row.getCell(4)); + String documentName = getCellValue(row.getCell(5)); + LocalDate plannedCompletion = getLocalDateValue(row.getCell(6)); + + ExcelData excelData = new ExcelData( + designSubitem, designState, specialty, + principal, volumeNumber, documentName, + plannedCompletion + ); + dataList.add(excelData); + } + } + } + + return dataList; + } + + private static String getCellValue(Cell cell) { + if (cell == null) { + return ""; + } + // 使用CellType枚举判断单元格类型(POI 4.0+版本推荐方式) + CellType cellType = cell.getCellType(); + // 对于公式单元格,获取其计算结果的类型 + if (cellType == CellType.FORMULA) { + cellType = cell.getCachedFormulaResultType(); + } + + switch (cellType) { + case STRING: + return cell.getStringCellValue().trim(); + case NUMERIC: + if (DateUtil.isCellDateFormatted(cell)) { + Date date = cell.getDateCellValue(); + return date.toString(); + } else { + // 处理数字类型,避免科学计数法 + return String.valueOf((long) cell.getNumericCellValue()); + } + case BOOLEAN: + return String.valueOf(cell.getBooleanCellValue()); + default: + return ""; + } + } + + private static LocalDate getLocalDateValue(Cell cell) { + if (cell != null) { + CellType cellType = cell.getCellType(); + if (cellType == CellType.FORMULA) { + cellType = cell.getCachedFormulaResultType(); + } + + if (DateUtil.isCellDateFormatted(cell)) { + Date date = cell.getDateCellValue(); + return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + } else if (cellType == CellType.STRING) { + // 处理字符串格式的日期 + try { + return LocalDate.parse(cell.getStringCellValue()); + } catch (Exception e) { + // 日期格式不正确时返回null + return null; + } + } + } + return null; + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeCatalog.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeCatalog.java index 4d17c0d7..b70bb1bf 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeCatalog.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeCatalog.java @@ -74,6 +74,11 @@ public class DesVolumeCatalog extends BaseEntity { */ private String designState; + /** + * 审核状态 + */ + private String auditStatus; + /** * 备注 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/AnewDrawingReviewUploadReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/AnewDrawingReviewUploadReq.java index faa4b336..66931fc4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/AnewDrawingReviewUploadReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/AnewDrawingReviewUploadReq.java @@ -26,11 +26,6 @@ public class AnewDrawingReviewUploadReq implements Serializable { */ @NotNull(message = "图纸评审id不能为空") private Long drawingreviewId; - /** - * 图纸评审文件 - */ - @NotNull(message = "图纸评审文件不能为空") - private MultipartFile file; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DrawingReviewUploadReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DrawingReviewUploadReq.java index a7a8c352..107571b8 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DrawingReviewUploadReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DrawingReviewUploadReq.java @@ -22,10 +22,10 @@ public class DrawingReviewUploadReq implements Serializable { */ private Long projectId; - /** - * 图纸评审文件 - */ - private MultipartFile file; +// /** +// * 图纸评审文件 +// */ +// private MultipartFile file; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ExcelData.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ExcelData.java new file mode 100644 index 00000000..ae100a8b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ExcelData.java @@ -0,0 +1,86 @@ +package org.dromara.design.domain.dto; + +import java.time.LocalDate; + +/** + * @Author 铁憨憨 + * @Date 2025/8/12 22:53 + * @Version 1.0 + */ +public class ExcelData { + private String designSubitem; + private String designState; + private String specialty; + private String principal; + private String volumeNumber; + private String documentName; + private LocalDate plannedCompletion; + + // 构造函数 + public ExcelData(String designSubitem, String designState, String specialty, String principal, String volumeNumber, String documentName, LocalDate plannedCompletion) { + this.designSubitem = designSubitem; + this.designState = designState; + this.specialty = specialty; + this.principal = principal; + this.volumeNumber = volumeNumber; + this.documentName = documentName; + this.plannedCompletion = plannedCompletion; + } + + // Getter和Setter方法 + public String getDesignSubitem() { + return designSubitem; + } + + public void setDesignSubitem(String designSubitem) { + this.designSubitem = designSubitem; + } + + public String getDesignState() { + return designState; + } + + public void setDesignState(String designState) { + this.designState = designState; + } + + public String getSpecialty() { + return specialty; + } + + public void setSpecialty(String specialty) { + this.specialty = specialty; + } + + public String getPrincipal() { + return principal; + } + + public void setPrincipal(String principal) { + this.principal = principal; + } + + public String getVolumeNumber() { + return volumeNumber; + } + + public void setVolumeNumber(String volumeNumber) { + this.volumeNumber = volumeNumber; + } + + public String getDocumentName() { + return documentName; + } + + public void setDocumentName(String documentName) { + this.documentName = documentName; + } + + public LocalDate getPlannedCompletion() { + return plannedCompletion; + } + + public void setPlannedCompletion(LocalDate plannedCompletion) { + this.plannedCompletion = plannedCompletion; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ObtainTheListRes.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ObtainTheListRes.java index d41fa478..86c33c15 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ObtainTheListRes.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/ObtainTheListRes.java @@ -18,7 +18,9 @@ import java.util.List; @Data @Accessors(chain = true) -public class ObtainTheListRes implements Serializable { +public class + +ObtainTheListRes implements Serializable { /** * 主键ID */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusDrawingreviewVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusDrawingreviewVo.java index 714faa90..2acab21d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusDrawingreviewVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/BusDrawingreviewVo.java @@ -52,5 +52,11 @@ public class BusDrawingreviewVo implements Serializable { @ExcelProperty(value = "备注") private String remark; + /** + * 文件路径 + */ + @ExcelProperty(value = "文件路径") + private String path; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewRes.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewRes.java index 4919d4b7..6fd7d40a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewRes.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewRes.java @@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; import java.io.Serializable; +import java.time.LocalDateTime; /** * @Author 铁憨憨 @@ -42,4 +43,10 @@ public class ListOfDesignDrawingsReviewRes implements Serializable { */ @ExcelProperty(value = "备注") private String remark; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private LocalDateTime createTime; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewSonRes.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewSonRes.java new file mode 100644 index 00000000..6ccbb51b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ListOfDesignDrawingsReviewSonRes.java @@ -0,0 +1,27 @@ +package org.dromara.design.domain.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author 铁憨憨 + * @Date 2025/8/12 20:16 + * @Version 1.0 + */ + +@Data + +public class ListOfDesignDrawingsReviewSonRes implements Serializable { + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 最终审核状态 + */ + private String finalState; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ObtainHistoricalDesignDrawingsForReviewRes.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ObtainHistoricalDesignDrawingsForReviewRes.java new file mode 100644 index 00000000..aa616dab --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/ObtainHistoricalDesignDrawingsForReviewRes.java @@ -0,0 +1,164 @@ +package org.dromara.design.domain.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author 铁憨憨 + * @Date 2025/8/12 20:16 + * @Version 1.0 + */ + +@Data + +public class ObtainHistoricalDesignDrawingsForReviewRes implements Serializable { +// /** +// * 主键ID +// */ +// @ExcelProperty(value = "主键ID") +// private Long id; +// +// /** +// * 最终审核状态 +// */ +// private String finalState; + + + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 设计评审ID + */ + private Long drawingreviewId; + + /** + * 编号 + */ + private String num; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 子项目ID + */ + private Long subprojectId; + + /** + * 项目名称 + */ + private String projectName; + + /** + * 子项目名称 + */ + private String subprojectName; + + /** + * 设计阶段 + */ + private String stage; + + /** + * 专业 + */ + private String professional; + + /** + * 卷册 + */ + private String volume; + + /** + * 设计人 + */ + private String designer; + + /** + * 验证内容 + */ + private String verificationContent; + + /** + * 验证意见 + */ + private String verificationOpinion; + + /** + * 执行意见 + */ + private String executionOpinion; + + /** + * 校审人员ID + */ + private Long proofreadingId; + + /** + * 审核人员ID + */ + private Long auditId; + + /** + * 执行人员ID + */ + private Long executorId; + + /** + * 校审人员 + */ + private String proofreading; + + /** + * 审核人员 + */ + private String audit; + + /** + * 执行人员 + */ + private String executor; + + /** + * 校审时间 + */ + private Date proofreadingDate; + + /** + * 审核时间 + */ + private Date auditDate; + + /** + * 执行时间 + */ + private Date executorDate; + + /** + * 文件名 + */ + private String fileName; + + /** + * 图纸 + */ + private String path; + + /** + * 最终审核状态 + */ + private String finalState; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumecatalog/DesVolumeCatalogVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumecatalog/DesVolumeCatalogVo.java index c7b4e149..a3f48d4c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumecatalog/DesVolumeCatalogVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumecatalog/DesVolumeCatalogVo.java @@ -9,6 +9,7 @@ import org.dromara.system.domain.vo.SysUserVo; import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.List; @@ -75,11 +76,21 @@ public class DesVolumeCatalogVo implements Serializable { */ private String designState; + /** + * 审核状态 + */ + private String auditStatus; + /** * 备注 */ private String remark; + /** + * 创建时间 + */ + private LocalDate createTime; + /** * 文件列表 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IBusDrawingreviewService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IBusDrawingreviewService.java index 89a8b546..9c9e6aa5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IBusDrawingreviewService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IBusDrawingreviewService.java @@ -1,5 +1,6 @@ package org.dromara.design.service; +import jakarta.validation.constraints.NotNull; import org.dromara.design.domain.bo.AnewDrawingReviewUploadReq; import org.dromara.design.domain.bo.DrawingReviewUploadReq; import org.dromara.design.domain.bo.FillOutTheDesignVerificationFormReq; @@ -11,7 +12,9 @@ import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; import org.dromara.design.domain.vo.ListOfDesignDrawingsReviewRes; +import org.dromara.design.domain.vo.ObtainHistoricalDesignDrawingsForReviewRes; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.multipart.MultipartFile; import java.util.Collection; import java.util.List; @@ -79,7 +82,7 @@ public interface IBusDrawingreviewService extends IService{ * @param bo * @return */ - Boolean drawingReviewUpload(DrawingReviewUploadReq bo); + Boolean drawingReviewUpload(DrawingReviewUploadReq bo, MultipartFile file); /** * 设计图纸评审列表 @@ -87,13 +90,18 @@ public interface IBusDrawingreviewService extends IService{ */ TableDataInfo listOfDesignDrawingsReview(DrawingReviewUploadReq bo, PageQuery pageQuery); + /** + * 获取历史设计图纸评审 + * listOfDesignDrawingsReviewSon + */ + List ObtainHistoricalDesignDrawingsForReview(Long id); + /** * 重新图纸评审上传 * @param bo * @return */ - Boolean anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo); - + Boolean anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo,MultipartFile file); /** * 填写设计验证表单 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java index e205a1c5..45a73475 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusBillofquantitiesVersionsServiceImpl.java @@ -194,7 +194,11 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl last = new LambdaQueryWrapper(). + eq(BusDrawingreviewReceipts::getDrawingreviewId, id) + .orderByDesc(BusDrawingreviewReceipts::getCreateTime) + .last("limit 1"); + BusDrawingreviewReceipts busDrawingreviewReceipts = busDrawingreviewReceiptsService.getBaseMapper().selectOne(last); + busDrawingreviewVo.setPath(busDrawingreviewReceipts.getPath()); + return busDrawingreviewVo; } /** @@ -166,7 +178,7 @@ public class BusDrawingreviewServiceImpl extends ServiceImpl ObtainHistoricalDesignDrawingsForReview(Long id) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(BusDrawingreviewReceipts::getDrawingreviewId, id); + lqw.orderByDesc(BusDrawingreviewReceipts::getCreateTime); + List list = busDrawingreviewReceiptsService.list(lqw); + return BeanUtil.copyToList(list, ObtainHistoricalDesignDrawingsForReviewRes.class); + } + + @Override + public Boolean anewDrawingReviewUpload(AnewDrawingReviewUploadReq bo,MultipartFile file) { SysOssUploadVo wordEntity = ossService.uploadWithNoSave(file, ossService.minioFileName(BillOfQuantities,file)); BusDrawingreviewReceipts entity = new BusDrawingreviewReceipts(). - setFileName(bo.getFile().getName()). + setFileName(file.getName()). setDrawingreviewId(bo.getDrawingreviewId()). setPath(wordEntity.getUrl()); return busDrawingreviewReceiptsService.save(entity); @@ -228,27 +245,32 @@ public class BusDrawingreviewServiceImpl extends ServiceImpl lqw = Wrappers.lambdaQuery(); + lqw.eq(BusDrawingreviewReceipts::getDrawingreviewId, id); + lqw.orderByDesc(BusDrawingreviewReceipts::getCreateTime); + lqw.last("limit 1"); + BusDrawingreviewReceipts one = busDrawingreviewReceiptsService.getOne(lqw); + if (one == null) { + throw new RuntimeException("查询失败"); + } //1、根据id修改 BusDrawingreviewReceipts busDrawingreviewReceipts = new BusDrawingreviewReceipts(); - busDrawingreviewReceipts.setId(Long.valueOf(id)); + busDrawingreviewReceipts.setId(one.getId()); busDrawingreviewReceipts.setStage(processEvent.getStatus()); boolean b = busDrawingreviewReceiptsService.updateById(busDrawingreviewReceipts); if (!b) { throw new RuntimeException("更新失败"); } - //2、查询详情,修改上一级的状态 - BusDrawingreviewReceipts busDrawingreviewReceipts1 = busDrawingreviewReceiptsService.getById(id); - if (busDrawingreviewReceipts1 == null) { - throw new RuntimeException("查询失败"); - } //3、根据drawingreviewId查询主表 BusDrawingreview busDrawingreview = new BusDrawingreview(); - busDrawingreview.setId(busDrawingreviewReceipts1.getDrawingreviewId()); + busDrawingreview.setId(Long.valueOf(id)); busDrawingreview.setAuditType(processEvent.getStatus()); baseMapper.updateById(busDrawingreview); } @@ -263,7 +285,7 @@ public class BusDrawingreviewServiceImpl extends ServiceImpl implements IDesVolumeCatalogService { @@ -313,4 +318,57 @@ public class DesVolumeCatalogServiceImpl extends ServiceImpl + + + +