diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx b/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx index 67381aa6..e69de29b 100644 Binary files a/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx and b/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx differ 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 + + + +