24282 пре 1 година
родитељ
комит
f13bdf8f5f

+ 10 - 0
sd-business/src/main/java/com/sd/business/controller/work/WorkOrderController.java

@@ -2,10 +2,12 @@ package com.sd.business.controller.work;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.work.dto.WorkOrderDto;
 import com.sd.business.entity.work.dto.WorkOrderSelectDto;
 import com.sd.business.entity.work.vo.WorkOrderVo;
 import com.sd.business.service.work.WorkOrderService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -67,4 +69,12 @@ public class WorkOrderController {
         return workOrderService.notSchedulingSkuNum();
     }
 
+    /**
+     * 保存排版
+     */
+    @PostMapping("/saveScheduling")
+    public void saveScheduling(@Validated @RequestBody WorkOrderDto dto) {
+        workOrderService.saveScheduling(dto);
+    }
+
 }

+ 12 - 0
sd-business/src/main/java/com/sd/business/entity/work/dto/WorkOrderDto.java

@@ -1,9 +1,14 @@
 package com.sd.business.entity.work.dto;
 
 import com.sd.business.entity.work.po.WorkOrder;
+import com.sd.business.entity.work.po.WorkOrderDetail;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
 /**
  * 生产工单新增编辑入参实体
  *
@@ -14,4 +19,11 @@ import lombok.Setter;
 @Setter
 public class WorkOrderDto extends WorkOrder {
 
+    /**
+     * 工单明细
+     */
+    @NotEmpty
+    @Valid
+    private List<WorkOrderDetail> workOrderDetailList;
+
 }

+ 4 - 0
sd-business/src/main/java/com/sd/business/entity/work/po/WorkOrder.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 
 /**
@@ -48,16 +49,19 @@ public class WorkOrder extends BasePo {
     /**
      * 排单数量
      */
+    @NotNull(message = "排单数量不能为空")
     private BigDecimal schedulingNum;
 
     /**
      * 利用率
      */
+    @NotNull(message = "利用率不能为空")
     private BigDecimal useRatio;
 
     /**
      * 最大长度
      */
+    @NotNull(message = "最大长度不能为空")
     private BigDecimal maxLength;
 
     /**

+ 11 - 0
sd-business/src/main/java/com/sd/business/entity/work/po/WorkOrderDetail.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 
 /**
@@ -23,51 +24,61 @@ public class WorkOrderDetail extends BasePo {
     /**
      * 工单id
      */
+    @NotNull(message = "工单id不能为空")
     private Long workOrderId;
 
     /**
      * 订单id
      */
+    @NotNull(message = "订单id不能为空")
     private Long orderInfoId;
 
     /**
      * 订单明细id
      */
+    @NotNull(message = "订单明细id不能为空")
     private Long orderSkuId;
 
     /**
      * x轴坐标
      */
+    @NotNull(message = "x轴坐标不能为空")
     private BigDecimal x;
 
     /**
      * y轴坐标
      */
+    @NotNull(message = "y轴坐标不能为空")
     private BigDecimal y;
 
     /**
      * 长(考虑旋转后的)
      */
+    @NotNull(message = "长不能为空")
     private BigDecimal length;
 
     /**
      * 宽(考虑旋转后的)
      */
+    @NotNull(message = "宽不能为空")
     private BigDecimal width;
 
     /**
      * 出血长(考虑旋转后的)
      */
+    @NotNull(message = "出血长不能为空")
     private BigDecimal bleedingLength;
 
     /**
      * 出血宽(考虑旋转后的)
      */
+    @NotNull(message = "出血宽不能为空")
     private BigDecimal bleedingWidth;
 
     /**
      * 是否旋转
      */
+    @NotNull(message = "是否旋转不能为空")
     private Integer rotate;
 
 }

+ 22 - 0
sd-business/src/main/java/com/sd/business/entity/work/vo/OpenSeaWorkOrderVo.java

@@ -3,6 +3,8 @@ package com.sd.business.entity.work.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 @Getter
 @Setter
 public class OpenSeaWorkOrderVo {
@@ -42,4 +44,24 @@ public class OpenSeaWorkOrderVo {
      */
     private String skuSpecName;
 
+    /**
+     * 长
+     */
+    private BigDecimal length;
+
+    /**
+     * 宽
+     */
+    private BigDecimal width;
+
+    /**
+     * 出血长
+     */
+    private BigDecimal bleedingLength;
+
+    /**
+     * 出血宽
+     */
+    private BigDecimal bleedingWidth;
+
 }

+ 6 - 0
sd-business/src/main/java/com/sd/business/service/work/WorkOrderService.java

@@ -2,6 +2,7 @@ package com.sd.business.service.work;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.work.dto.WorkOrderDto;
 import com.sd.business.entity.work.dto.WorkOrderSelectDto;
 import com.sd.business.entity.work.po.WorkOrder;
 import com.sd.business.entity.work.vo.WorkOrderVo;
@@ -42,4 +43,9 @@ public interface WorkOrderService extends BaseService<WorkOrder> {
      */
     Integer notSchedulingSkuNum();
 
+    /**
+     * 保存排版
+     */
+    void saveScheduling(WorkOrderDto dto);
+
 }

+ 10 - 0
sd-business/src/main/java/com/sd/business/service/work/impl/WorkOrderServiceImpl.java

@@ -14,6 +14,7 @@ import com.sd.business.entity.order.po.OrderInfo;
 import com.sd.business.entity.order.po.OrderSku;
 import com.sd.business.entity.sku.po.SkuSpec;
 import com.sd.business.entity.work.constant.MaterialsConstant;
+import com.sd.business.entity.work.dto.WorkOrderDto;
 import com.sd.business.entity.work.dto.WorkOrderSelectDto;
 import com.sd.business.entity.work.enums.WorkOrderFixationSpecEnum;
 import com.sd.business.entity.work.po.WorkOrder;
@@ -161,6 +162,10 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         skuSpecService.attributeAssign(openSeaWorkOrderList, OpenSeaWorkOrderVo::getSkuSpecId, (item, skuSpec) -> {
             item.setSkuSpecCode(skuSpec.getCode());
             item.setSkuSpecName(skuSpec.getName());
+            item.setLength(skuSpec.getLength());
+            item.setWidth(skuSpec.getWidth());
+            item.setBleedingLength(skuSpec.getLength().add(new BigDecimal(MaterialsConstant.RESERVE)));
+            item.setBleedingWidth(skuSpec.getWidth().add(new BigDecimal(MaterialsConstant.RESERVE)));
         });
         vo.setOpenSeaWorkOrderList(openSeaWorkOrderList);
 
@@ -184,6 +189,11 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         return orderSkuList.stream().mapToInt(item -> item.getQuantity().subtract(item.getSchedulingNum()).intValue()).sum();
     }
 
+    @Override
+    public void saveScheduling(WorkOrderDto dto) {
+
+    }
+
     /**
      * 排版
      */