فهرست منبع

成品仓入库新增

fgd 1 سال پیش
والد
کامیت
dd81502e7a

+ 10 - 0
sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedController.java

@@ -1,10 +1,12 @@
 package com.sd.business.controller.inventory;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderInStorageDto;
 import com.sd.business.entity.inventory.dto.InventoryFinishedSelectDto;
 import com.sd.business.entity.inventory.vo.InventoryFinishedVo;
 import com.sd.business.service.inventory.InventoryFinishedService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -49,4 +51,12 @@ public class InventoryFinishedController {
         return inventoryFinishedService.getTodayInStorageList();
     }
 
+    /**
+     * 成品仓入库新增
+     */
+    @PostMapping("/inStorageAdd")
+    public void inStorageAdd(@Validated @RequestBody InventoryFinishedOrderInStorageDto inStorageDto) {
+        inventoryFinishedService.inStorageAdd(inStorageDto);
+    }
+
 }

+ 37 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/dto/InventoryFinishedOrderInStorageDto.java

@@ -0,0 +1,37 @@
+package com.sd.business.entity.inventory.dto;
+
+import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 成品仓入库新增编辑入参实体
+ *
+ * @author
+ * @since 2024-03-13
+ */
+@Getter
+@Setter
+public class InventoryFinishedOrderInStorageDto {
+
+    /**
+     * 事业部id
+     */
+    private Long departmentId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 成品列表
+     */
+    @Valid
+    @NotEmpty(message = "物料信息不能为空")
+    private List<InventoryFinishedOrder> skuList;
+}

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/inventory/po/InventoryFinishedOrder.java

@@ -56,4 +56,9 @@ public class InventoryFinishedOrder extends BasePo {
      * 现存数量
      */
     private BigDecimal existingQuantity;
+
+    /**
+     * 备注
+     */
+    private String remark;
 }

+ 7 - 0
sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedService.java

@@ -2,6 +2,7 @@ package com.sd.business.service.inventory;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderInStorageDto;
 import com.sd.business.entity.inventory.dto.InventoryFinishedSelectDto;
 import com.sd.business.entity.inventory.po.InventoryFinished;
 import com.sd.business.entity.inventory.vo.InventoryFinishedVo;
@@ -78,4 +79,10 @@ public interface InventoryFinishedService extends BaseService<InventoryFinished>
      * @return
      */
     List<InventoryFinishedVo> getTodayInStorageList();
+
+    /**
+     * 成品仓入库新增
+     * @param inStorageDto
+     */
+    void inStorageAdd(InventoryFinishedOrderInStorageDto inStorageDto);
 }

+ 28 - 0
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java

@@ -8,7 +8,9 @@ import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.inventory.dto.InventoryFinishedOrderInStorageDto;
 import com.sd.business.entity.inventory.dto.InventoryFinishedSelectDto;
+import com.sd.business.entity.inventory.enums.FinishedOperationTypeEnum;
 import com.sd.business.entity.inventory.po.InventoryFinished;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
 import com.sd.business.entity.inventory.po.InventoryFinishedOrderDetail;
@@ -440,4 +442,30 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
 
         return list;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void inStorageAdd(InventoryFinishedOrderInStorageDto inStorageDto) {
+        List<InventoryFinishedOrder> skuList = inStorageDto.getSkuList();
+
+        // 添加成品仓库存
+        List<InventoryFinished> inventoryFinishedList = skuList.stream().map(item -> {
+            InventoryFinished inventoryFinished = new InventoryFinished();
+            inventoryFinished.setSkuSpecId(item.getSkuSpecId());
+            inventoryFinished.setQuantity(item.getQuantity());
+            return inventoryFinished;
+        }).collect(Collectors.toList());
+        inOut(inventoryFinishedList, true);
+
+        for (InventoryFinishedOrder inventoryFinishedOrder : skuList) {
+            inventoryFinishedOrder.setDepartmentId(inStorageDto.getDepartmentId());
+            inventoryFinishedOrder.setStatus(StatusConstant.YES);
+            inventoryFinishedOrder.setExistingQuantity(inventoryFinishedOrder.getQuantity());
+            inventoryFinishedOrder.setRemark(inStorageDto.getRemark());
+        }
+        // 新增入库记录
+        inventoryFinishedOrderService.saveBatch(skuList);
+        // 添加流水记录
+        inventoryFinishedOrderDetailService.add(skuList, FinishedOperationTypeEnum.PRODUCTION_WAREHOUSING);
+    }
 }