From 9173e02471e896b93ed6bdc408121e4d97ed6d80 Mon Sep 17 00:00:00 2001 From: zt Date: Thu, 14 Aug 2025 16:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E8=B5=84=E5=92=8C=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/互相提交资料清单模板.docx | Bin 0 -> 12731 bytes .../common/core/enums/BusinessStatusEnum.java | 19 ++- .../controller/BusLtnController.java | 117 +++++++++++++ .../dromara/cailiaoshebei/domain/BusLtn.java | 56 +++++++ .../cailiaoshebei/domain/BusPurchaseDoc.java | 10 +- .../cailiaoshebei/domain/bo/BusLtnBo.java | 58 +++++++ .../domain/bo/BusPurchaseDocBo.java | 10 ++ .../cailiaoshebei/domain/dto/BusLtnDto.java | 44 +++++ .../domain/dto/BusLtnListDto.java | 40 +++++ .../cailiaoshebei/domain/vo/BusLtnVo.java | 68 ++++++++ .../domain/vo/BusPurchaseDocVo.java | 16 +- .../cailiaoshebei/mapper/BusLtnMapper.java | 15 ++ .../cailiaoshebei/service/IBusLtnService.java | 79 +++++++++ .../service/impl/BusLtnServiceImpl.java | 155 ++++++++++++++++++ .../impl/BusPurchaseDocServiceImpl.java | 9 +- .../BusDrawingreviewController.java | 1 + .../BusDrawingreviewReceiptsController.java | 1 - .../controller/DesDesignChangeController.java | 4 + .../controller/DesExtractController.java | 15 +- .../design/domain/DesDesignChange.java | 6 + .../org/dromara/design/domain/DesDrawing.java | 9 + .../design/domain/DesExtractCatalogue.java | 4 + .../design/domain/DesPrelimScheme.java | 4 + .../org/dromara/design/domain/DesScheme.java | 5 +- .../dromara/design/domain/DesVolumeFile.java | 5 + .../domain/bo/BusDrawingreviewReceiptsBo.java | 8 +- .../design/domain/bo/DesCollectFileBo.java | 6 + .../domain/bo/DesExtractCatalogueBo.java | 4 + .../FillOutTheDesignVerificationFormReq.java | 6 + .../DesDesignChangeCreateReq.java | 4 + .../DesVolumeCatalogQueryReq.java | 5 + .../volumefile/DesVolumeFileCreateReq.java | 2 +- .../domain/vo/DesExtractCatalogueVo.java | 5 +- .../vo/designchange/DesDesignChangeVo.java | 25 ++- .../domain/vo/drawing/DesDrawingVo.java | 42 ++++- .../vo/volumecatalog/DesVolumeCatalogVo.java | 12 ++ .../domain/vo/volumefile/DesVolumeFileVo.java | 1 + .../design/service/IDesExtractService.java | 8 + .../impl/BusDrawingreviewServiceImpl.java | 1 - .../impl/DesCollectFileServiceImpl.java | 2 + .../impl/DesDesignChangeServiceImpl.java | 106 ++++++++++-- .../service/impl/DesDrawingServiceImpl.java | 39 ++++- .../service/impl/DesExtractServiceImpl.java | 58 ++++--- .../impl/DesPrelimSchemeServiceImpl.java | 4 +- .../service/impl/DesSchemeServiceImpl.java | 2 + .../impl/DesVolumeCatalogServiceImpl.java | 22 +++ .../impl/DesVolumeFileServiceImpl.java | 114 +++++++------ .../materials/domain/MatMaterialReceive.java | 10 ++ .../MatMaterialReceiveCreateReq.java | 10 ++ .../domain/vo/materials/MatMaterialsVo.java | 11 ++ .../mapper/cailiaoshebei/BusLtnMapper.xml | 7 + 51 files changed, 1140 insertions(+), 124 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusLtnController.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusLtn.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusLtnBo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnDto.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnListDto.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusLtnVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusLtnMapper.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusLtnService.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusLtnServiceImpl.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusLtnMapper.xml diff --git a/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx b/xinnengyuan/ruoyi-admin/src/main/resources/template/互相提交资料清单模板.docx index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..67381aa621008acfb1c69c1dc1a2bd03d64a7144 100644 GIT binary patch literal 12731 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 UR04BDutN;K2 literal 0 HcmV?d00001 diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java b/xinnengyuan/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java index c1660ee9..19be91bc 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java @@ -24,37 +24,37 @@ public enum BusinessStatusEnum { /** * 已撤销 */ - CANCEL("cancel", "已撤销"), + CANCEL("cancel", "已撤销",6), /** * 草稿 */ - DRAFT("draft", "草稿"), + DRAFT("draft", "草稿",3), /** * 待审核 */ - WAITING("waiting", "待审核"), + WAITING("waiting", "待审核",2), /** * 已完成 */ - FINISH("finish", "已完成"), + FINISH("finish", "已完成",1), /** * 已作废 */ - INVALID("invalid", "已作废"), + INVALID("invalid", "已作废",7), /** * 已退回 */ - BACK("back", "已退回"), + BACK("back", "已退回",4), /** * 已终止 */ - TERMINATION("termination", "已终止"); + TERMINATION("termination", "已终止",5); /** * 状态 @@ -66,6 +66,11 @@ public enum BusinessStatusEnum { */ private final String desc; + /** + * 排序字段 + */ + private final int order; + private static final Map STATUS_MAP = Arrays.stream(BusinessStatusEnum.values()) .collect(Collectors.toConcurrentMap(BusinessStatusEnum::getStatus, Function.identity())); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusLtnController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusLtnController.java new file mode 100644 index 00000000..030e3c73 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusLtnController.java @@ -0,0 +1,117 @@ +package org.dromara.cailiaoshebei.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.cailiaoshebei.domain.dto.BusLtnDto; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +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.cailiaoshebei.domain.vo.BusLtnVo; +import org.dromara.cailiaoshebei.domain.bo.BusLtnBo; +import org.dromara.cailiaoshebei.service.IBusLtnService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 物资-物流单号 + * + * @author Lion Li + * @date 2025-08-14 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/cailiaoshebei/ltn") +public class BusLtnController extends BaseController { + + private final IBusLtnService busLtnService; + + /** + * 查询物资-物流单号列表 + */ + @SaCheckPermission("cailiaoshebei:ltn:list") + @GetMapping("/list") + public TableDataInfo list(BusLtnBo bo, PageQuery pageQuery) { + return busLtnService.queryPageList(bo, pageQuery); + } + + /** + * 导出物资-物流单号列表 + */ + @SaCheckPermission("cailiaoshebei:ltn:export") + @Log(title = "物资-物流单号", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(BusLtnBo bo, HttpServletResponse response) { + List list = busLtnService.queryList(bo); + ExcelUtil.exportExcel(list, "物资-物流单号", BusLtnVo.class, response); + } + + /** + * 获取物资-物流单号详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("cailiaoshebei:ltn:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busLtnService.queryById(id)); + } + + /** + * 新增物资-物流单号 + */ + @SaCheckPermission("cailiaoshebei:ltn:add") + @Log(title = "物资-物流单号", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody BusLtnBo bo) { + return toAjax(busLtnService.insertByBo(bo)); + } + + /** + * 修改物资-物流单号 + */ + @SaCheckPermission("cailiaoshebei:ltn:edit") + @Log(title = "物资-物流单号", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody BusLtnBo bo) { + return toAjax(busLtnService.updateByBo(bo)); + } + + /** + * 删除物资-物流单号 + * + * @param ids 主键串 + */ + @SaCheckPermission("cailiaoshebei:ltn:remove") + @Log(title = "物资-物流单号", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busLtnService.deleteWithValidByIds(List.of(ids), true)); + } + + + /** + * 新增物资-物流单号 + */ + @Log(title = "物资-物流单号", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/link") + public R linkAdd(@RequestBody BusLtnDto dto) { + return toAjax(busLtnService.linkAdd(dto)); + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusLtn.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusLtn.java new file mode 100644 index 00000000..243d14df --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusLtn.java @@ -0,0 +1,56 @@ +package org.dromara.cailiaoshebei.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 物资-物流单号对象 bus_ltn + * + * @author Lion Li + * @date 2025-08-14 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_ltn") +public class BusLtn extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 采购联系单id + */ + private Long docId; + + /** + * 计划id + */ + private Long planId; + + /** + * 数量 + */ + private Long num; + + /** + * 物流单号 + */ + private String ltn; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusPurchaseDoc.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusPurchaseDoc.java index 295e93a6..07168249 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusPurchaseDoc.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/BusPurchaseDoc.java @@ -38,6 +38,11 @@ public class BusPurchaseDoc extends BaseEntity { */ private String docCode; + /** + * 供应商id + */ + private Long supplierId; + /** * 供应商 */ @@ -118,5 +123,8 @@ public class BusPurchaseDoc extends BaseEntity { */ private String status; - + /** + * 计划基础ID + */ + private Long mrpBaseId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusLtnBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusLtnBo.java new file mode 100644 index 00000000..d07e0706 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusLtnBo.java @@ -0,0 +1,58 @@ +package org.dromara.cailiaoshebei.domain.bo; + +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 物资-物流单号业务对象 bus_ltn + * + * @author Lion Li + * @date 2025-08-14 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusLtn.class, reverseConvertGenerate = false) +public class BusLtnBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 项目ID + */ + private Long projectId; + + /** + * 采购联系单id + */ + @NotNull(message = "采购联系单id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long docId; + + /** + * 计划id + */ + @NotNull(message = "计划id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long planId; + + /** + * 数量 + */ + private Long num; + + /** + * 物流单号 + */ + @NotBlank(message = "物流单号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String ltn; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusPurchaseDocBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusPurchaseDocBo.java index 60e44442..f0c1384f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusPurchaseDocBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusPurchaseDocBo.java @@ -39,6 +39,11 @@ public class BusPurchaseDocBo extends BaseEntity { */ private String docCode; + /** + * 供应商id + */ + private Long supplierId; + /** * 供应商 */ @@ -119,6 +124,11 @@ public class BusPurchaseDocBo extends BaseEntity { */ private String status; + /** + * 计划基础ID + */ + private Long mrpBaseId; + /** * 关联计划 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnDto.java new file mode 100644 index 00000000..5768646b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnDto.java @@ -0,0 +1,44 @@ +package org.dromara.cailiaoshebei.domain.dto; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.util.List; + +/** + * 物资-物流单号业务对象 bus_ltn + * + * @author Lion Li + * @date 2025-08-14 + */ +@Data + +public class BusLtnDto { + + + /** + * 采购联系单id + */ + private Long docId; + + /** + * 供应商 + */ + private String supplier; + + /** + * 物流信息 + */ + private List list; + + + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnListDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnListDto.java new file mode 100644 index 00000000..46aaa5be --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/BusLtnListDto.java @@ -0,0 +1,40 @@ +package org.dromara.cailiaoshebei.domain.dto; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +/** + * 物资-物流单号业务对象 bus_ltn + * + * @author Lion Li + * @date 2025-08-14 + */ +@Data +public class BusLtnListDto{ + + /** + * 计划id不 + */ + @NotNull(message = "计划id不能为空") + private Long planId; + + /** + * 数量 + */ + private Long num; + + /** + * 物流单号 + */ + @NotBlank(message = "物流单号不能为空") + private String ltn; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusLtnVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusLtnVo.java new file mode 100644 index 00000000..29fdc0d0 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusLtnVo.java @@ -0,0 +1,68 @@ +package org.dromara.cailiaoshebei.domain.vo; + +import org.dromara.cailiaoshebei.domain.BusLtn; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 物资-物流单号视图对象 bus_ltn + * + * @author Lion Li + * @date 2025-08-14 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusLtn.class) +public class BusLtnVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 采购联系单id + */ + @ExcelProperty(value = "采购联系单id") + private Long docId; + + /** + * 计划id + */ + @ExcelProperty(value = "计划id") + private Long planId; + + /** + * 数量 + */ + @ExcelProperty(value = "数量") + private Long num; + + /** + * 物流单号 + */ + @ExcelProperty(value = "物流单号") + private String ltn; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusPurchaseDocVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusPurchaseDocVo.java index 9dd354dc..ea4080ec 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusPurchaseDocVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusPurchaseDocVo.java @@ -3,6 +3,7 @@ package org.dromara.cailiaoshebei.domain.vo; import org.dromara.cailiaoshebei.domain.BusPurchaseDoc; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.cailiaoshebei.domain.bo.BusPlanDocAssociationBo; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; @@ -12,7 +13,7 @@ import java.io.Serial; import java.io.Serializable; import java.time.LocalDate; import java.util.Date; - +import java.util.List; /** @@ -47,6 +48,11 @@ public class BusPurchaseDocVo implements Serializable { @ExcelProperty(value = "采购单编号") private String docCode; + /** + * 供应商id + */ + private Long supplierId; + /** * 供应商 */ @@ -143,5 +149,13 @@ public class BusPurchaseDocVo implements Serializable { @ExcelProperty(value = "审核状态") private String status; + /** + * 计划基础ID + */ + private Long mrpBaseId; + /** + * 关联计划 + */ + private List associationList; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusLtnMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusLtnMapper.java new file mode 100644 index 00000000..90372cca --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusLtnMapper.java @@ -0,0 +1,15 @@ +package org.dromara.cailiaoshebei.mapper; + +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.cailiaoshebei.domain.vo.BusLtnVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 物资-物流单号Mapper接口 + * + * @author Lion Li + * @date 2025-08-14 + */ +public interface BusLtnMapper extends BaseMapperPlus { + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusLtnService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusLtnService.java new file mode 100644 index 00000000..918c274e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusLtnService.java @@ -0,0 +1,79 @@ +package org.dromara.cailiaoshebei.service; + +import org.dromara.cailiaoshebei.domain.dto.BusLtnDto; +import org.dromara.cailiaoshebei.domain.vo.BusLtnVo; +import org.dromara.cailiaoshebei.domain.bo.BusLtnBo; +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Collection; +import java.util.List; + +/** + * 物资-物流单号Service接口 + * + * @author Lion Li + * @date 2025-08-14 + */ +public interface IBusLtnService extends IService{ + + /** + * 查询物资-物流单号 + * + * @param id 主键 + * @return 物资-物流单号 + */ + BusLtnVo queryById(Long id); + + /** + * 分页查询物资-物流单号列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 物资-物流单号分页列表 + */ + TableDataInfo queryPageList(BusLtnBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的物资-物流单号列表 + * + * @param bo 查询条件 + * @return 物资-物流单号列表 + */ + List queryList(BusLtnBo bo); + + /** + * 新增物资-物流单号 + * + * @param bo 物资-物流单号 + * @return 是否新增成功 + */ + Boolean insertByBo(BusLtnBo bo); + + /** + * 修改物资-物流单号 + * + * @param bo 物资-物流单号 + * @return 是否修改成功 + */ + Boolean updateByBo(BusLtnBo bo); + + /** + * 校验并批量删除物资-物流单号信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + + /** + * 添加物流单号 + */ + Boolean linkAdd(BusLtnDto dto); +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusLtnServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusLtnServiceImpl.java new file mode 100644 index 00000000..d027335e --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusLtnServiceImpl.java @@ -0,0 +1,155 @@ +package org.dromara.cailiaoshebei.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.cailiaoshebei.domain.dto.BusLtnDto; +import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo; +import org.dromara.cailiaoshebei.service.IBusPurchaseDocService; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.cailiaoshebei.domain.bo.BusLtnBo; +import org.dromara.cailiaoshebei.domain.vo.BusLtnVo; +import org.dromara.cailiaoshebei.domain.BusLtn; +import org.dromara.cailiaoshebei.mapper.BusLtnMapper; +import org.dromara.cailiaoshebei.service.IBusLtnService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 物资-物流单号Service业务层处理 + * + * @author Lion Li + * @date 2025-08-14 + */ +@RequiredArgsConstructor +@Service +public class BusLtnServiceImpl extends ServiceImpl implements IBusLtnService { + + private final BusLtnMapper baseMapper; + + private final IBusPurchaseDocService purchaseDocService; + + /** + * 查询物资-物流单号 + * + * @param id 主键 + * @return 物资-物流单号 + */ + @Override + public BusLtnVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询物资-物流单号列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 物资-物流单号分页列表 + */ + @Override + public TableDataInfo queryPageList(BusLtnBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的物资-物流单号列表 + * + * @param bo 查询条件 + * @return 物资-物流单号列表 + */ + @Override + public List queryList(BusLtnBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(BusLtnBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByDesc(BusLtn::getId); + lqw.eq(bo.getProjectId() != null, BusLtn::getProjectId, bo.getProjectId()); + lqw.eq(bo.getDocId() != null, BusLtn::getDocId, bo.getDocId()); + lqw.eq(bo.getPlanId() != null, BusLtn::getPlanId, bo.getPlanId()); + lqw.eq(bo.getNum() != null, BusLtn::getNum, bo.getNum()); + lqw.eq(StringUtils.isNotBlank(bo.getLtn()), BusLtn::getLtn, bo.getLtn()); + return lqw; + } + + /** + * 新增物资-物流单号 + * + * @param bo 物资-物流单号 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(BusLtnBo bo) { + BusLtn add = MapstructUtils.convert(bo, BusLtn.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改物资-物流单号 + * + * @param bo 物资-物流单号 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(BusLtnBo bo) { + BusLtn update = MapstructUtils.convert(bo, BusLtn.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusLtn entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除物资-物流单号信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public Boolean linkAdd(BusLtnDto dto) { + + BusPurchaseDocVo busPurchaseDocVo = purchaseDocService.queryById(dto.getDocId()); + if (busPurchaseDocVo == null) { + throw new ServiceException("采购单不存在"); + } + + + + + return null; + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java index d83a213b..5d6dd8c7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java @@ -3,6 +3,8 @@ package org.dromara.cailiaoshebei.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation; +import org.dromara.cailiaoshebei.domain.bo.BusPlanDocAssociationBo; +import org.dromara.cailiaoshebei.domain.vo.BusPlanDocAssociationVo; import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -46,7 +48,12 @@ public class BusPurchaseDocServiceImpl extends ServiceImpl busPlanDocAssociationVos = planDocAssociationService.queryList(busPlanDocAssociationBo); + busPurchaseDocVo.setAssociationList(busPlanDocAssociationVos); + return busPurchaseDocVo; } /** 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 04a81e77..02fc057b 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 @@ -203,4 +203,5 @@ public class BusDrawingreviewController extends BaseController { // @PathVariable Long[] ids) { // return toAjax(busDrawingreviewService.deleteWithValidByIds(List.of(ids), true)); // } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewReceiptsController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewReceiptsController.java index fe7122bc..9d6d713e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewReceiptsController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/BusDrawingreviewReceiptsController.java @@ -107,5 +107,4 @@ public class BusDrawingreviewReceiptsController extends BaseController { return toAjax(busDrawingreviewReceiptsService.deleteWithValidByIds(List.of(ids), true)); } - } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java index 2c0dd3bd..2f7b718f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesDesignChangeController.java @@ -19,10 +19,14 @@ import org.dromara.design.domain.dto.designchange.DesDesignChangeQueryReq; import org.dromara.design.domain.dto.designchange.DesDesignChangeUpdateReq; import org.dromara.design.domain.vo.designchange.DesDesignChangeVo; import org.dromara.design.service.IDesDesignChangeService; +import org.dromara.system.domain.vo.SysOssVo; +import org.dromara.system.service.ISysOssService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 设计变更管理 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesExtractController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesExtractController.java index c9c39518..edd1f0a5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesExtractController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/controller/DesExtractController.java @@ -6,8 +6,10 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.design.domain.bo.DesCollectFileBo; import org.dromara.design.domain.dto.desCollect.DesCollectBatchDto; import org.dromara.design.domain.dto.desExtract.DesExtractBatchDto; +import org.dromara.design.domain.vo.DesCollectFileVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -114,8 +116,6 @@ public class DesExtractController extends BaseController { return R.ok(desExtractService.batchAddOrUpdate(dto)); } - - /** * 清单导出 */ @@ -125,4 +125,15 @@ public class DesExtractController extends BaseController { public void exportWordById(Long id, HttpServletResponse response){ desExtractService.exportWordById(id, response); } + + /** + * 查询提取的资料文件 + */ + @SaCheckPermission("design:extract:query") + @GetMapping("/fileList/{id}") + public R> fileList(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(desExtractService.fileList(id)); + } + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDesignChange.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDesignChange.java index 80c7f899..73b1ad18 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDesignChange.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDesignChange.java @@ -114,4 +114,10 @@ public class DesDesignChange extends BaseEntity { */ private String detail; + + /** + * 文件 + */ + private String saveFile; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDrawing.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDrawing.java index de2d39a7..155aaa90 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDrawing.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesDrawing.java @@ -94,4 +94,13 @@ public class DesDrawing extends BaseEntity { */ private Date deletedAt; + + /** + * 卷册目录ID + */ + private Long volumeCatalogId; + + + private Long volumeFileId; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesExtractCatalogue.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesExtractCatalogue.java index ff9f7612..5850d5a6 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesExtractCatalogue.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesExtractCatalogue.java @@ -52,5 +52,9 @@ public class DesExtractCatalogue extends BaseEntity { */ private String remark; + /** + * 卷册目录Id + */ + private Long volumeCatalogId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesPrelimScheme.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesPrelimScheme.java index 397f4b34..aa90cc63 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesPrelimScheme.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesPrelimScheme.java @@ -53,4 +53,8 @@ public class DesPrelimScheme extends BaseEntity { private String status; + /** + * 排序字段 + */ + private Integer orderNum; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesScheme.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesScheme.java index 33fabfe8..e71abbe1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesScheme.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesScheme.java @@ -52,5 +52,8 @@ public class DesScheme extends BaseEntity { */ private String status; - + /** + * 排序字段 + */ + private Integer orderNum; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeFile.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeFile.java index bd0ae0ce..35cfb2d7 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeFile.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/DesVolumeFile.java @@ -57,4 +57,9 @@ public class DesVolumeFile extends BaseEntity { */ private String remark; + /** + * 文件类型 + */ + private String type; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusDrawingreviewReceiptsBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusDrawingreviewReceiptsBo.java index f32909f1..3fd0e99a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusDrawingreviewReceiptsBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/BusDrawingreviewReceiptsBo.java @@ -8,6 +8,8 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; + +import java.time.LocalDate; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; @@ -126,17 +128,17 @@ public class BusDrawingreviewReceiptsBo extends BaseEntity { /** * 校审时间 */ - private Date proofreadingDate; + private LocalDate proofreadingDate; /** * 审核时间 */ - private Date auditDate; + private LocalDate auditDate; /** * 执行时间 */ - private Date executorDate; + private LocalDate executorDate; /** * 图纸 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesCollectFileBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesCollectFileBo.java index 304d2f7a..fec1edfa 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesCollectFileBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesCollectFileBo.java @@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import org.dromara.design.domain.DesCollectFile; +import java.util.List; + /** * 收资文件业务对象 des_collect_file * @@ -60,5 +62,9 @@ public class DesCollectFileBo extends BaseEntity { @NotBlank(message = "审核状态不能为空", groups = { AddGroup.class, EditGroup.class }) private String status; + /** + * 清单目录ID列表 + */ + private List catalogueIds; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesExtractCatalogueBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesExtractCatalogueBo.java index b5df945e..58a57ff0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesExtractCatalogueBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/DesExtractCatalogueBo.java @@ -55,5 +55,9 @@ public class DesExtractCatalogueBo extends BaseEntity { */ private String remark; + /** + * 卷册目录Id + */ + private Long volumeCatalogId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/FillOutTheDesignVerificationFormReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/FillOutTheDesignVerificationFormReq.java index c8ecd98c..86448b8f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/FillOutTheDesignVerificationFormReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/bo/FillOutTheDesignVerificationFormReq.java @@ -129,5 +129,11 @@ public class FillOutTheDesignVerificationFormReq implements Serializable { */ private LocalDate executorDate; + /** + * 关联数据ID + */ + private Long drawingreviewId; + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/designchange/DesDesignChangeCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/designchange/DesDesignChangeCreateReq.java index f7a6ac1c..352f5232 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/designchange/DesDesignChangeCreateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/designchange/DesDesignChangeCreateReq.java @@ -103,4 +103,8 @@ public class DesDesignChangeCreateReq implements Serializable { */ private DesDesignExtendDetailDto extendDetail; + /** + * 保存文件 + */ + private String saveFile; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java index ceb60795..28795408 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumecatalog/DesVolumeCatalogQueryReq.java @@ -32,6 +32,11 @@ public class DesVolumeCatalogQueryReq implements Serializable { */ private String documentName; + /** + * 资料名称 + */ + private String auditStatus; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/DesVolumeFileCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/DesVolumeFileCreateReq.java index 6055b524..a4b61a0f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/DesVolumeFileCreateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/dto/volumefile/DesVolumeFileCreateReq.java @@ -24,7 +24,7 @@ public class DesVolumeFileCreateReq implements Serializable { /** * 文件ID */ - private Long fileId; + private List fileIds; /** * 作废文件id列表 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DesExtractCatalogueVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DesExtractCatalogueVo.java index 99200bd6..b18e6066 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DesExtractCatalogueVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/DesExtractCatalogueVo.java @@ -64,5 +64,8 @@ public class DesExtractCatalogueVo implements Serializable { @ExcelProperty(value = "备注") private String remark; - + /** + * 卷册目录Id + */ + private Long volumeCatalogId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/designchange/DesDesignChangeVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/designchange/DesDesignChangeVo.java index 093dcb9a..8ca3608b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/designchange/DesDesignChangeVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/designchange/DesDesignChangeVo.java @@ -2,6 +2,8 @@ package org.dromara.design.domain.vo.designchange; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import org.dromara.design.domain.DesDesignChange; import org.dromara.design.domain.dto.designchange.DesDesignExtendDetailDto; import org.dromara.system.domain.vo.SysOssVo; @@ -55,6 +57,12 @@ public class DesDesignChangeVo implements Serializable { */ private String specialty; + /** + * 专业 + */ + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "specialty",other = "des_user_major") + private String specialtyName; + /** * 提出日期 */ @@ -110,10 +118,10 @@ public class DesDesignChangeVo implements Serializable { */ private String fileId; - /** - * 变更文件 - */ - private SysOssVo file; +// /** +// * 变更文件 +// */ +// private SysOssVo file; /** * 审核状态 @@ -135,4 +143,13 @@ public class DesDesignChangeVo implements Serializable { */ private DesDesignExtendDetailDto extendDetail; + /** + * 保存文件 + */ + private String saveFile; + + /** + * 文件列表 + */ + List ossVoList; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/drawing/DesDrawingVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/drawing/DesDrawingVo.java index 8c5f9793..4e2776b4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/drawing/DesDrawingVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/drawing/DesDrawingVo.java @@ -43,6 +43,12 @@ public class DesDrawingVo implements Serializable { */ private String fileName; + /** + * 文件名称 + */ + private String url; + + /** * 文件访问路径 */ @@ -61,7 +67,7 @@ public class DesDrawingVo implements Serializable { /** * 文件 */ - private SysOssVo file; +// private SysOssVo file; /** * 原文件名 @@ -88,4 +94,38 @@ public class DesDrawingVo implements Serializable { */ private Date createTime; + + /** + * 专业 + */ + private String specialty; + + /** + * 卷册号 + */ + private String volumeNumber; + + + /** + * 负责人 + */ + private String principal; + + /** + * 设计子项 + */ + private String designSubitem; + + + private String type; + + + /** + * 卷册目录ID + */ + private Long volumeCatalogId; + + + private Long volumeFileId; + } 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 a3f48d4c..63154fea 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 @@ -2,6 +2,8 @@ package org.dromara.design.domain.vo.volumecatalog; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; import org.dromara.design.domain.DesVolumeCatalog; import org.dromara.design.domain.vo.volumefile.DesVolumeFileVo; import org.dromara.system.domain.vo.SysUserVo; @@ -51,6 +53,12 @@ public class DesVolumeCatalogVo implements Serializable { */ private String specialty; + /** + * 专业 + */ + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "specialty",other = "des_user_major") + private String specialtyName; + /** * 卷册号 */ @@ -66,6 +74,10 @@ public class DesVolumeCatalogVo implements Serializable { */ private String principal; + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "principal") + private String principalName; + + /** * 计划完成时间 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/DesVolumeFileVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/DesVolumeFileVo.java index ff5f6fc8..aa64d3a0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/DesVolumeFileVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/domain/vo/volumefile/DesVolumeFileVo.java @@ -61,4 +61,5 @@ public class DesVolumeFileVo implements Serializable { */ private String remark; + private String type; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesExtractService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesExtractService.java index 33c36e77..e69f741e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesExtractService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/IDesExtractService.java @@ -1,7 +1,9 @@ package org.dromara.design.service; import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotNull; import org.dromara.design.domain.dto.desExtract.DesExtractBatchDto; +import org.dromara.design.domain.vo.DesCollectFileVo; import org.dromara.design.domain.vo.DesExtractVo; import org.dromara.design.domain.bo.DesExtractBo; import org.dromara.design.domain.DesExtract; @@ -9,6 +11,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import java.util.Collection; @@ -81,4 +84,9 @@ public interface IDesExtractService extends IService{ * 导出Word */ void exportWordById(Long id, HttpServletResponse response); + + /** + * 查询提取的资料文件 + */ + List fileList(Long id); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusDrawingreviewServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusDrawingreviewServiceImpl.java index cc1bb05f..55b01492 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusDrawingreviewServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/BusDrawingreviewServiceImpl.java @@ -247,7 +247,6 @@ public class BusDrawingreviewServiceImpl extends ServiceImpl allFileIdList = new ArrayList<>(); // 1. 添加单个 fileId(前提是非空) String fileId = designChange.getFileId(); - if (StringUtils.isNotBlank(fileId)) { - allFileIdList.add(Long.valueOf(fileId)); - } +// if (StringUtils.isNotBlank(fileId)) { +// allFileIdList.add(Long.valueOf(fileId)); +// } // 2. 添加 attachmentPic 多个 ID String attachmentPic = designChange.getAttachmentPic(); if (StringUtils.isNotBlank(attachmentPic)) { @@ -346,9 +361,12 @@ public class DesDesignChangeServiceImpl extends ServiceImpl a)); // 1. 处理 file(单个) if (StringUtils.isNotBlank(fileId)) { - Long file = Long.valueOf(fileId); - SysOssVo fileVo = ossMap.get(file); - vo.setFile(fileVo); + String[] split = fileId.split(","); + List fileIds = Arrays.stream(split) + .map(Long::valueOf) + .collect(Collectors.toList()); + List ossVoList1 = ossService.listByIds(fileIds); + vo.setOssVoList(ossVoList1); } // 2. 处理 attachmentPicList(多个) if (StringUtils.isNotBlank(attachmentPic)) { @@ -397,6 +415,7 @@ public class DesDesignChangeServiceImpl extends ServiceImpl ossIdList = designChangeList.stream().map(DesDesignChange::getFileId).filter(Objects::nonNull).map(Long::parseLong).collect(Collectors.toSet()); - List ossVoList = ossService.listByIds(ossIdList); - Map ossVoMap = ossVoList.stream().collect(Collectors.toMap(SysOssVo::getOssId, Function.identity(), (a, b) -> a)); List designChangeVoList = designChangeList.stream().map(designChange -> { DesDesignChangeVo designChangeVo = new DesDesignChangeVo(); BeanUtils.copyProperties(designChange, designChangeVo); - String fileId = designChange.getFileId(); - if (StringUtils.isNotBlank(fileId)) { - SysOssVo file = ossVoMap.get(Long.valueOf(fileId)); - designChangeVo.setFile(file); - } + String fileId = designChangeVo.getFileId(); + if (fileId != null) { + String[] split = fileId.split(","); + List fileIds = Arrays.stream(split) + .map(Long::valueOf) + .collect(Collectors.toList()); + List ossVoList1 = ossService.listByIds(fileIds); + designChangeVo.setOssVoList(ossVoList1); + } return designChangeVo; }).toList(); designChangeVoPage.setRecords(designChangeVoList); @@ -567,6 +587,58 @@ public class DesDesignChangeServiceImpl extends ServiceImpllambdaQuery() + .eq(DesVolumeCatalog::getVolumeNumber, designChange.getVolumeNo()) + .eq(DesVolumeCatalog::getProjectId, designChange.getProjectId()) + .last("limit 1")); + + if("1".equals(bean.getDesignDisposal())){ + volumeFileService.lambdaUpdate() + .set(DesVolumeFile::getStatus, "2") + .eq(DesVolumeFile::getVolumeCatalogId, volumeCatalog.getDesign()) + .update(); + }else if("2".equals(bean.getDesignDisposal())){ + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.set(DesVolumeFile::getStatus, "2") + .eq(DesVolumeFile::getVolumeCatalogId, volumeCatalog.getDesign()); + String saveFile = designChange.getSaveFile(); + if(StringUtils.isNotBlank(saveFile)){ + String[] split = saveFile.split(","); + List fileIds = Arrays.stream(split) + .map(Long::valueOf) + .collect(Collectors.toList()); + wrapper.notIn(DesVolumeFile::getId, fileIds); + } + volumeFileService.update(wrapper); + } + String fileId = designChange.getFileId(); + if (fileId != null) { + String[] split = fileId.split(","); + List fileIds = Arrays.stream(split) + .map(Long::valueOf) + .collect(Collectors.toList()); + List ossVoList1 = ossService.listByIds(fileIds); + + for (SysOssVo ossVo : ossVoList1) { + DesVolumeFile desVolumeFile = new DesVolumeFile(); + desVolumeFile.setVolumeCatalogId(volumeCatalog.getDesign()); + desVolumeFile.setFileName(ossVo.getOriginalName()); + desVolumeFile.setFileId(ossVo.getOssId()); + desVolumeFile.setStatus("1"); + desVolumeFile.setType("2"); + + volumeFileService.save(desVolumeFile); + + DesDrawing desDrawing = new DesDrawing(); + desDrawing.setProjectId(volumeCatalog.getProjectId()); + desDrawing.setVolumeCatalogId(volumeCatalog.getDesign()); + desDrawing.setVolumeFileId(desVolumeFile.getId()); + drawingService.save(desDrawing); + } + } + } this.updateById(designChange); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesDrawingServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesDrawingServiceImpl.java index 427a9e62..b9c1a6a0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesDrawingServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesDrawingServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.itextpdf.text.DocumentException; @@ -23,6 +24,8 @@ import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.utils.PdfBoxQrCodeGenerator; import org.dromara.design.domain.DesDrawing; +import org.dromara.design.domain.DesVolumeCatalog; +import org.dromara.design.domain.DesVolumeFile; import org.dromara.design.domain.dto.drawing.DesDrawingCreateReq; import org.dromara.design.domain.dto.drawing.DesDrawingQueryReq; import org.dromara.design.domain.dto.drawing.DesDrawingUpdateReq; @@ -31,6 +34,8 @@ import org.dromara.design.enums.DesDrawingFileTypeEnum; import org.dromara.design.enums.DesDrawingNewestEnum; import org.dromara.design.mapper.DesDrawingMapper; import org.dromara.design.service.IDesDrawingService; +import org.dromara.design.service.IDesVolumeCatalogService; +import org.dromara.design.service.IDesVolumeFileService; import org.dromara.project.service.IBusProjectService; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.ISysOssService; @@ -74,6 +79,14 @@ public class DesDrawingServiceImpl extends ServiceImpl ossVoList = ossService.listByIds(drawingList.stream().map(DesDrawing::getFileUrl).toList()); - Map> ossMap = ossVoList.stream().collect(Collectors.groupingBy(SysOssVo::getOssId)); +// List ossVoList = ossService.listByIds(drawingList.stream().map(DesDrawing::getFileUrl).toList()); +// Map> ossMap = ossVoList.stream().collect(Collectors.groupingBy(SysOssVo::getOssId)); + + List drawingVoList = drawingList.stream().map(entity -> { DesDrawingVo drawingVo = new DesDrawingVo(); BeanUtils.copyProperties(entity, drawingVo); - drawingVo.setFile(ossMap.get(entity.getFileUrl()).getFirst()); +// drawingVo.setFile(ossMap.get(entity.getFileUrl()).getFirst()); + + + DesVolumeCatalog desVolumeCatalog = volumeCatalogService.getById(drawingVo.getVolumeCatalogId()); + drawingVo.setSpecialty(desVolumeCatalog.getSpecialty()); + drawingVo.setVolumeNumber(desVolumeCatalog.getVolumeNumber()); + drawingVo.setDesignSubitem(desVolumeCatalog.getDesignSubitem()); + drawingVo.setPrincipal(desVolumeCatalog.getPrincipal()); + + DesVolumeFile byId = volumeFilesService.getById(drawingVo.getVolumeFileId()); + SysOssVo byId1 = ossService.getById(byId.getFileId()); + drawingVo.setFileName(byId.getFileName()); + drawingVo.setType(byId.getType()); + drawingVo.setUrl(byId1.getUrl()); + drawingVo.setFileUrl(byId.getFileId()); return drawingVo; }).toList(); drawingVoPage.setRecords(drawingVoList); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesExtractServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesExtractServiceImpl.java index 450a499a..6208463b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesExtractServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesExtractServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.design.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -26,15 +27,17 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.oss.exception.OssException; import org.dromara.common.utils.DocumentUtil; import org.dromara.design.constant.DesDesignConstant; -import org.dromara.design.domain.DesCollect; -import org.dromara.design.domain.DesCollectCatalogue; -import org.dromara.design.domain.DesExtractCatalogue; +import org.dromara.design.domain.*; +import org.dromara.design.domain.bo.DesCollectFileBo; import org.dromara.design.domain.bo.DesExtractCatalogueBo; import org.dromara.design.domain.dto.desCollect.DesCollectCatalogueWordDto; import org.dromara.design.domain.dto.desCollect.DesCollectWordDto; import org.dromara.design.domain.dto.desExtract.DesExtractBatchDto; +import org.dromara.design.domain.vo.DesCollectFileVo; import org.dromara.design.domain.vo.DesExtractCatalogueVo; +import org.dromara.design.service.IDesCollectFileService; import org.dromara.design.service.IDesExtractCatalogueService; +import org.dromara.design.service.IDesVolumeFileService; import org.dromara.project.service.IBusProjectService; import org.springframework.beans.BeanUtils; import org.springframework.context.event.EventListener; @@ -42,7 +45,6 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.dromara.design.domain.bo.DesExtractBo; import org.dromara.design.domain.vo.DesExtractVo; -import org.dromara.design.domain.DesExtract; import org.dromara.design.mapper.DesExtractMapper; import org.dromara.design.service.IDesExtractService; import org.springframework.transaction.annotation.Transactional; @@ -78,6 +80,8 @@ public class DesExtractServiceImpl extends ServiceImpl ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; @@ -191,17 +195,20 @@ public class DesExtractServiceImpl extends ServiceImpllambdaQuery() - .eq(DesExtractCatalogue::getExtractId,convert.getId())); - dto.getCatalogueList().forEach(item -> { - item.setExtractId(convert.getId()); - item.setProjectId(convert.getProjectId()); - } - ); - extractCatalogueService.saveBatch(MapstructUtils.convert(dto.getCatalogueList(), DesExtractCatalogue.class)); + if (CollectionUtil.isEmpty(dto.getCatalogueList())) { + throw new ServiceException("提资清单目录不能为空"); } + + extractCatalogueService.remove(Wrappers.lambdaQuery() + .eq(DesExtractCatalogue::getExtractId, convert.getId())); + dto.getCatalogueList().forEach(item -> { + item.setExtractId(convert.getId()); + item.setProjectId(convert.getProjectId()); + } + ); + extractCatalogueService.saveBatch(MapstructUtils.convert(dto.getCatalogueList(), DesExtractCatalogue.class)); + return convert.getId(); } @@ -227,7 +234,7 @@ public class DesExtractServiceImpl extends ServiceImpl itemList = extractCatalogueService.list(Wrappers. lambdaQuery().eq(DesExtractCatalogue::getExtractId, id)); - DesCollectWordDto data = this.getReplacementDto(desExtract, itemList); + DesCollectWordDto data = this.getReplacementDto(desExtract, itemList); // 生成文件 try (InputStream is = getClass().getClassLoader().getResourceAsStream(DesDesignConstant.DESIGN_EXTRACT_TEMPLATE_PATH)) { if (is == null) { @@ -282,7 +289,15 @@ public class DesExtractServiceImpl extends ServiceImpl fileList(Long id) { + List catalogIds = extractCatalogueService.list(Wrappers.lambdaQuery() + .eq(DesExtractCatalogue::getExtractId, id)).stream().map(DesExtractCatalogue::getVolumeCatalogId).toList(); + DesCollectFileBo desCollectFileBo = new DesCollectFileBo(); + desCollectFileBo.setCatalogueIds(catalogIds); + List list = volumeFileService.list(Wrappers.lambdaQuery().in(DesVolumeFile::getVolumeCatalogId, catalogIds)); + return BeanUtil.copyToList(list, DesCollectFileVo.class); + } /** * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) @@ -294,7 +309,7 @@ public class DesExtractServiceImpl extends ServiceImpl buildQueryWrapper(DesPrelimSchemeBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(DesPrelimScheme::getOrderNum); lqw.orderByDesc(DesPrelimScheme::getId); lqw.eq(bo.getProjectId() != null, DesPrelimScheme::getProjectId, bo.getProjectId()); lqw.eq(bo.getOssId()!= null, DesPrelimScheme::getOssId, bo.getOssId()); @@ -172,7 +173,7 @@ public class DesPrelimSchemeServiceImpl extends ServiceImpl buildQueryWrapper(DesSchemeBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(DesScheme::getOrderNum); lqw.orderByDesc(DesScheme::getId); lqw.eq(bo.getProjectId() != null, DesScheme::getProjectId, bo.getProjectId()); lqw.eq(bo.getOssId()!= null, DesScheme::getOssId, bo.getOssId()); @@ -194,6 +195,7 @@ public class DesSchemeServiceImpl extends ServiceImpl desDrawings = new ArrayList<>(); + + List list = volumeFileService.lambdaQuery().eq(DesVolumeFile::getVolumeCatalogId, id).list(); + + for (DesVolumeFile desVolumeFile : list) { + DesDrawing desDrawing = new DesDrawing(); + desDrawing.setProjectId(desVolumeCatalog.getProjectId()); + desDrawing.setVolumeCatalogId(desVolumeCatalog.getDesign()); + desDrawing.setVolumeFileId(desVolumeFile.getId()); + desDrawings.add(desDrawing); + } + drawingService.saveBatch(desDrawings); + } + this.updateById(desVolumeCatalog); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java index c9344e50..73d5bbb5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/design/service/impl/DesVolumeFileServiceImpl.java @@ -1,9 +1,11 @@ package org.dromara.design.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.esotericsoftware.kryo.serializers.DefaultSerializers; import jakarta.annotation.Resource; import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.exception.ServiceException; @@ -24,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -77,61 +80,68 @@ public class DesVolumeFileServiceImpl extends ServiceImpl cancellationIds = req.getCancellationIds(); - if (CollUtil.isNotEmpty(cancellationIds)) { - List list = this.listByIds(cancellationIds); - list.forEach(item -> { - if (item.getStatus().equals("2")) { - return; - } - String name = item.getFileName(); - String modified = name.replaceAll("((\\d{8}))", "($1-已作废)"); - item.setFileName(modified); - item.setStatus("2"); - }); - if (CollUtil.isNotEmpty(list)) { - boolean update = this.updateBatchById(list); - if (!update) { - throw new ServiceException("更新卷册文件信息异常", HttpStatus.ERROR); - } - } - } +// List cancellationIds = req.getCancellationIds(); +// if (CollUtil.isNotEmpty(cancellationIds)) { +// List list = this.listByIds(cancellationIds); +// list.forEach(item -> { +// if (item.getStatus().equals("2")) { +// return; +// } +// String name = item.getFileName(); +// String modified = name.replaceAll("((\\d{8}))", "($1-已作废)"); +// item.setFileName(modified); +// item.setStatus("2"); +// }); +// if (CollUtil.isNotEmpty(list)) { +// boolean update = this.updateBatchById(list); +// if (!update) { +// throw new ServiceException("更新卷册文件信息异常", HttpStatus.ERROR); +// } +// } +// } // 新增审阅人 - List userIds = req.getUserIds(); - if (CollUtil.isNotEmpty(userIds)) { - List viewerList = userIds.stream().map(userId -> { - DesVolumeFileViewer viewer = new DesVolumeFileViewer(); - viewer.setVolumeCatalogId(volumeCatalogId); - viewer.setUserId(userId); - return viewer; - }).toList(); - // 删除以前的审阅人 - Long count = volumeFileViewerService.lambdaQuery() - .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalogId) - .count(); - if (count > 0) { - boolean remove = volumeFileViewerService.remove(new LambdaQueryWrapper() - .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalogId)); - if (!remove) { - throw new ServiceException("修改审阅人失败", HttpStatus.ERROR); - } - } - boolean result = volumeFileViewerService.saveBatch(viewerList); - if (!result) { - throw new ServiceException("修改审阅人失败", HttpStatus.ERROR); - } - } +// List userIds = req.getUserIds(); +// if (CollUtil.isNotEmpty(userIds)) { +// List viewerList = userIds.stream().map(userId -> { +// DesVolumeFileViewer viewer = new DesVolumeFileViewer(); +// viewer.setVolumeCatalogId(volumeCatalogId); +// viewer.setUserId(userId); +// return viewer; +// }).toList(); +// // 删除以前的审阅人 +// Long count = volumeFileViewerService.lambdaQuery() +// .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalogId) +// .count(); +// if (count > 0) { +// boolean remove = volumeFileViewerService.remove(new LambdaQueryWrapper() +// .eq(DesVolumeFileViewer::getVolumeCatalogId, volumeCatalogId)); +// if (!remove) { +// throw new ServiceException("修改审阅人失败", HttpStatus.ERROR); +// } +// } +// boolean result = volumeFileViewerService.saveBatch(viewerList); +// if (!result) { +// throw new ServiceException("修改审阅人失败", HttpStatus.ERROR); +// } +// } // 查看文件是否存在 - if (req.getFileId() != null) { - SysOssVo ossVo = ossService.getById(req.getFileId()); - if (ossVo == null) { - throw new ServiceException("对应文件不存在", HttpStatus.NOT_FOUND); + if (CollectionUtil.isNotEmpty(req.getFileIds())) { + + ArrayList desVolumeFiles = new ArrayList<>(); + + for (Long fileId : req.getFileIds()){ + SysOssVo ossVo = ossService.getById(fileId); + if (ossVo == null) { + throw new ServiceException("对应文件不存在", HttpStatus.NOT_FOUND); + } + DesVolumeFile file = new DesVolumeFile(); + BeanUtils.copyProperties(req, file); + file.setFileId(fileId); + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + file.setFileName(ossVo.getOriginalName() + "(" + today + ")"); + desVolumeFiles.add(file); } - DesVolumeFile file = new DesVolumeFile(); - BeanUtils.copyProperties(req, file); - String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); - file.setFileName(ossVo.getOriginalName() + "(" + today + ")"); - boolean save = this.save(file); + boolean save = saveBatch(desVolumeFiles); if (!save) { throw new ServiceException("新增卷册文件信息异常", HttpStatus.ERROR); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/MatMaterialReceive.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/MatMaterialReceive.java index 56ace1c9..c3fa0933 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/MatMaterialReceive.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/MatMaterialReceive.java @@ -28,6 +28,16 @@ public class MatMaterialReceive extends BaseEntity { @TableId(value = "id") private Long id; + /** + * 采购单编号 + */ + private String docCode; + + /** + * 采购单id + */ + private Long docId; + /** * 项目id */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialreceive/MatMaterialReceiveCreateReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialreceive/MatMaterialReceiveCreateReq.java index d358d1f5..e5e81c62 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialreceive/MatMaterialReceiveCreateReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/dto/materialreceive/MatMaterialReceiveCreateReq.java @@ -97,4 +97,14 @@ public class MatMaterialReceiveCreateReq implements Serializable { */ private String remark; + + /** + * 采购单编号 + */ + private String docCode; + + /** + * 采购单id + */ + private Long docId; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materials/MatMaterialsVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materials/MatMaterialsVo.java index fa811662..4fbe5b55 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materials/MatMaterialsVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/materials/MatMaterialsVo.java @@ -107,4 +107,15 @@ public class MatMaterialsVo implements Serializable { @ExcelProperty(value = "创建时间") private Date createTime; + + /** + * 采购单编号 + */ + private String docCode; + + /** + * 采购单id + */ + private Long docId; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusLtnMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusLtnMapper.xml new file mode 100644 index 00000000..c402c3ad --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusLtnMapper.xml @@ -0,0 +1,7 @@ + + + + +