From 550e5ca9054365061bdf9a015e78daa981913240 Mon Sep 17 00:00:00 2001 From: yangsb Date: Tue, 7 May 2024 09:01:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=8D=95id=E8=8E=B7=E5=8F=96=E6=9C=AA=E6=8E=92?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E5=95=86=E5=93=81=E5=88=86=E9=A1=B5=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/PlanController.java | 8 +++++ .../admin/plan/vo/NotPlanGoodsListPageVO.java | 17 ++++++++++ .../controller/admin/plan/vo/PlanGoodsVO.java | 32 +++++++++++++++++++ .../executor/service/plan/PlanService.java | 2 ++ .../service/plan/PlanServiceImpl.java | 15 +++++++++ 5 files changed, 74 insertions(+) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanGoodsVO.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java index 1d86d5507..2ace4e865 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java @@ -108,6 +108,14 @@ public class PlanController { return success(planService.getNotPlanPlateListPage(pageVO)); } + @GetMapping("getNotPlanGoodsListPageByOrderId") + @Operation(summary = "根据生产单id获取未排单的商品分页列表") + @PreAuthorize("@ss.hasPermission('executor:plan:query')") + public CommonResult> getNotPlanGoodsListPageByOrderId(@Valid NotPlanGoodsListPageVO pageVO) { + return success(planService.getNotPlanGoodsListPageByOrderId(pageVO)); + } + + @PostMapping("addPlate") @Operation(summary = "添加板材") @PreAuthorize("@ss.hasPermission('executor:plan:update')") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java new file mode 100644 index 000000000..6c8403eca --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/NotPlanGoodsListPageVO.java @@ -0,0 +1,17 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author Beal + */ +@Data +public class NotPlanGoodsListPageVO extends PageParam { + @Schema(description = "生产单id") + @NotNull(message = "生产单id不能空") + private Long orderId; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanGoodsVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanGoodsVO.java new file mode 100644 index 000000000..d69abee3d --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanGoodsVO.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Beal + */ +@Data +public class PlanGoodsVO { + + @Schema(description = "商品id") + private Long goodsId; + @Schema(description = "商品名称") + private String goodsName; + @Schema(description = "材质") + private String material; + @Schema(description = "颜色") + private String color; + @Schema(description = "厚度") + private BigDecimal thickness; + @Schema(description = "宽") + private BigDecimal width; + @Schema(description = "高") + private BigDecimal height; + @Schema(description = "片数") + private int num; + @Schema(description = "平方") + private BigDecimal area = new BigDecimal("0"); +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java index 3f1d3936a..6fed4c162 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java @@ -64,4 +64,6 @@ public interface PlanService { PageResult getPlateByPlanId(GetPlateByPlanIdVO vo); PageResult getOrderByPlanId(PlanOrderPageReqVO pageReqVO); + + PageResult getNotPlanGoodsListPageByOrderId( NotPlanGoodsListPageVO pageVO); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 65796d029..d97364ec8 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -382,4 +382,19 @@ public class PlanServiceImpl implements PlanService { return BeanUtils.toBean(pageResult, OrderRespVO.class); } + @Override + public PageResult getNotPlanGoodsListPageByOrderId(NotPlanGoodsListPageVO pageVO) { + return goodsMapper.selectJoinPage(pageVO, PlanGoodsVO.class, new MPJLambdaWrapperX() + .leftJoin(PlateDO.class, PlateDO::getGoodsId, GoodsDO::getId) + .leftJoin(OrderItemDO.class, OrderItemDO::getPlateId, PlateDO::getId) + .leftJoin(PlanItemDO.class, PlanItemDO::getItemId, OrderItemDO::getId) + .select(GoodsDO::getGoodsId, GoodsDO::getHeight, GoodsDO::getWidth, GoodsDO::getColor, GoodsDO::getGoodsName, GoodsDO::getThickness) + .selectSum(PlateDO::getArea, "area") + .selectCount(PlateDO::getId, "num") + .isNotNull(PlanItemDO::getId) + .eq(GoodsDO::getOrderId, pageVO.getOrderId()) + .groupBy(GoodsDO::getId) + ); + } + } \ No newline at end of file