diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizeGoodsRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizeGoodsRespVO.java index 15066bda3..c3e7a47f7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizeGoodsRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizeGoodsRespVO.java @@ -26,6 +26,21 @@ public class VeneerOptimizeGoodsRespVO { @Schema(description = "颜色") private String color; + @Schema(description = "品牌") + private String brand; + + @Schema(description = "规格") + private String spec; + + @Schema(description = "厂家") + private String factory; + + @Schema(description = "贴皮库长度,单位:mm") + private BigDecimal length; + + @Schema(description = "贴皮库宽度,单位:mm") + private BigDecimal width; + @Schema(description = "厚度,单位:mm") private BigDecimal thickness; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizePlateRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizePlateRespVO.java index 8a7cf02e0..fd8b50c57 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizePlateRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/veneer/vo/VeneerOptimizePlateRespVO.java @@ -2,20 +2,221 @@ package com.cf.imes.module.executor.controller.admin.veneer.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import lombok.EqualsAndHashCode; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import java.math.BigDecimal; /** * 贴皮优化板件响应参数。 + * 商品属性均来自订单贴皮商品快照,板件属性仅用于排样及板件筛选。 */ @Data -@EqualsAndHashCode(callSuper = true) -public class VeneerOptimizePlateRespVO extends VeneerManagePlateRespVO { +@JsonInclude(JsonInclude.Include.NON_NULL) +public class VeneerOptimizePlateRespVO { @Schema(description = "板件贴皮记录ID") private Long veneerId; + @Schema(description = "订单贴皮商品ID") + private Long id; + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "来源板件ID") + private Long plateId; + + @Schema(description = "贴皮商品编号") + private String goodsId; + + @Schema(description = "贴皮商品名称") + private String goodsName; + + @Schema(description = "产品等级") + private Integer productLevel; + + @Schema(description = "材质") + private String material; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "品牌") + private String brand; + + @Schema(description = "规格") + private String spec; + + @Schema(description = "厂家") + private String factory; + @Schema(description = "贴皮商品厚度,单位:mm") - private BigDecimal veneerThickness; + private BigDecimal thickness; + + @Schema(description = "贴皮逻辑面:A-A面,B-B面") + private String veneerSide; + + @Schema(description = "实际板件面:0-正面,1-反面") + private Integer plateSurface; + + @Schema(description = "贴皮编号") + private String veneerNo; + + @Schema(description = "外扩余量,单位:mm") + private BigDecimal outerMargin; + + @Schema(description = "贴皮排单ID") + private Long planId; + + @Schema(description = "板件编号") + private String plateNo; + + @Schema(description = "自定义板件编号") + private String customPlateNo; + + @Schema(description = "板件名称") + private String name; + + @Schema(description = "外扩后的贴皮长度,单位:mm") + private BigDecimal length; + + @Schema(description = "外扩后的贴皮宽度,单位:mm") + private BigDecimal width; + + @Schema(description = "拆单宽度") + private BigDecimal splitWidth; + + @Schema(description = "拆单高度") + private BigDecimal splitHeight; + + @Schema(description = "拆单厚度") + private BigDecimal splitThickness; + + @Schema(description = "是否异形") + private Boolean isSpecialShaped; + + @Schema(description = "左封边厚度") + private BigDecimal sealLeft; + + @Schema(description = "右封边厚度") + private BigDecimal sealRight; + + @Schema(description = "上封边厚度") + private BigDecimal sealUp; + + @Schema(description = "下封边厚度") + private BigDecimal sealDown; + + @Schema(description = "左预留边") + private BigDecimal reservedEdgeLeft; + + @Schema(description = "右预留边") + private BigDecimal reservedEdgeRight; + + @Schema(description = "上预留边") + private BigDecimal reservedEdgeUp; + + @Schema(description = "下预留边") + private BigDecimal reservedEdgeDown; + + @Schema(description = "贴皮面积,单位:平方米") + private BigDecimal area; + + @Schema(description = "纹路类型:0正纹,1可翻转,2反纹") + private Integer texture; + + @Schema(description = "孔面类型:0正面,1反面,2侧面") + private Integer holeFace; + + @Schema(description = "排版面类型:0正面,1反面,2随意面") + private Integer holeArrange; + + @Schema(description = "异型孔数量") + private Integer unregularPointCount; + + @Schema(description = "正面孔数量") + private Integer frontHoleCount; + + @Schema(description = "背面孔数量") + private Integer backHoleCount; + + @Schema(description = "侧面孔数量") + private Integer sideHoleCount; + + @Schema(description = "正面造型数量") + private Integer frontModelCount; + + @Schema(description = "背面造型数量") + private Integer backModelCount; + + @Schema(description = "是否门板") + private Boolean isDoor; + + @Schema(description = "是否弧形对角") + private Boolean isArcAcross; + + @Schema(description = "模块类型ID") + private Long moduleTypeId; + + @Schema(description = "异形偏移X") + private BigDecimal offsetX; + + @Schema(description = "异形偏移Y") + private BigDecimal offsetY; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "板件类型:0层板,1立板,2背板,3自增板") + private Integer type; + + @Schema(description = "加工组名称") + private String processGroupName; + + @Schema(description = "开门类型:0无,1左,2右,3上,4下") + private Integer openDoorType; + + @Schema(description = "是否有孔") + private Boolean isRowHole; + + @Schema(description = "是否正反面造型") + private Boolean isSculpt; + + @Schema(description = "是否侧面造型") + private Boolean isSideSculpt; + + @Schema(description = "是否二维刀路") + private Boolean is2v; + + @Schema(description = "是否侧面二维刀路") + private Boolean isSide2v; + + @Schema(description = "是否双面造型") + private Boolean doubleSideModel; + + @Schema(description = "是否双面排孔") + private Boolean doubleSideHole; + + @Schema(description = "是否正面造型") + private Boolean frontModel; + + @Schema(description = "是否背面造型") + private Boolean backModel; + + @Schema(description = "是否正面排孔") + private Boolean frontHole; + + @Schema(description = "是否反面排孔") + private Boolean backHole; + + @Schema(description = "是否侧面造型") + private Boolean sideModel; + + @Schema(description = "是否侧面排孔") + private Boolean sideHole; + + /** 解压后的板件造型 JSON,仅用于组装 plateModels。 */ + @JsonIgnore + private String modelData; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/veneer/OrderVeneerGoodsDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/veneer/OrderVeneerGoodsDO.java index e0aee2c93..e3e532bb2 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/veneer/OrderVeneerGoodsDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/veneer/OrderVeneerGoodsDO.java @@ -54,6 +54,21 @@ public class OrderVeneerGoodsDO extends BaseDO { /** 颜色快照。 */ private String color; + /** 品牌快照。 */ + private String brand; + + /** 规格快照。 */ + private String spec; + + /** 厂家快照。 */ + private String factory; + + /** 贴皮库长度快照,单位:mm。 */ + private BigDecimal length; + + /** 贴皮库宽度快照,单位:mm。 */ + private BigDecimal width; + /** 厚度快照,单位:mm。 */ private BigDecimal thickness; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/veneer/OrderVeneerGoodsServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/veneer/OrderVeneerGoodsServiceImpl.java index e41850808..da3817256 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/veneer/OrderVeneerGoodsServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/veneer/OrderVeneerGoodsServiceImpl.java @@ -154,6 +154,11 @@ public class OrderVeneerGoodsServiceImpl implements OrderVeneerGoodsService { .productLevel(sourceVeneer.getProductLevel()) .material(ObjectUtil.defaultIfNull(sourceVeneer.getMaterial(), "")) .color(ObjectUtil.defaultIfNull(sourceVeneer.getColor(), "")) + .brand(ObjectUtil.defaultIfNull(sourceVeneer.getBrand(), "")) + .spec(ObjectUtil.defaultIfNull(sourceVeneer.getSpec(), "")) + .factory(ObjectUtil.defaultIfNull(sourceVeneer.getFactory(), "")) + .length(ObjectUtil.defaultIfNull(sourceVeneer.getLength(), BigDecimal.ZERO)) + .width(ObjectUtil.defaultIfNull(sourceVeneer.getWidth(), BigDecimal.ZERO)) .thickness(ObjectUtil.defaultIfNull(sourceVeneer.getThickness(), BigDecimal.ZERO)) .veneerNum(0) .plannedVeneerNum(0) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/veneer/VeneerOptimizePlanMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/veneer/VeneerOptimizePlanMapper.xml index 41f780d6c..a58548bd5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/veneer/VeneerOptimizePlanMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/veneer/VeneerOptimizePlanMapper.xml @@ -19,6 +19,11 @@ ovg.product_level AS productLevel, ovg.material, ovg.color, + ovg.brand, + ovg.spec, + ovg.factory, + ovg.length, + ovg.width, ovg.thickness FROM order_plate_veneer opv JOIN order_veneer_goods ovg ON ovg.order_id = opv.order_id @@ -31,36 +36,28 @@