yzc 2 роки тому
батько
коміт
ee7f223d0c

+ 32 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -1,8 +1,10 @@
 package com.fjhx.victoriatourist.service.purchase.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.purchase.entity.sales.po.SalesReturnDetail;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
 import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
@@ -12,11 +14,17 @@ import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
 import com.fjhx.victoriatourist.mapper.purchase.PurchaseBackMapper;
 import com.fjhx.victoriatourist.service.purchase.PurchaseBackDetailsService;
 import com.fjhx.victoriatourist.service.purchase.PurchaseBackService;
+import com.fjhx.wms.entity.stock.emums.StockWaitType;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.po.StockWaitDetails;
+import com.fjhx.wms.service.stock.StockWaitDetailsService;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -31,7 +39,11 @@ import java.util.List;
 @Service
 public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, PurchaseBack> implements PurchaseBackService {
     @Autowired
-    PurchaseBackDetailsService purchaseBackDetailsService;
+    private PurchaseBackDetailsService purchaseBackDetailsService;
+    @Autowired
+    private StockWaitService stockWaitService;
+    @Autowired
+    private StockWaitDetailsService stockWaitDetailsService;
 
     @Override
     public Page<PurchaseBackVo> getPage(PurchaseBackSelectDto dto) {
@@ -51,13 +63,31 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
         return result;
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void add(PurchaseBackDto purchaseBackDto) {
         this.save(purchaseBackDto);
         List<PurchaseBackDetails> purchaseBackDetailsList = purchaseBackDto.getPurchaseBackDetailsList();
         purchaseBackDetailsList.forEach(purchaseBackDetails -> purchaseBackDetails.setPurchaseBackId(purchaseBackDto.getId()));
         purchaseBackDetailsService.saveBatch(purchaseBackDetailsList);
+
+        //创建待出库记录
+        StockWait stockWait = new StockWait();
+        stockWait.setBusinessId(purchaseBackDto.getId());
+        stockWait.setType(2);//出库
+        stockWait.setStatus(0);//待出库
+        stockWait.setBusinessType(StockWaitType.WDLY_PURCHASE_BACK_OUT.getDetailType());//已采购退货出库
+        stockWaitService.save(stockWait);
+        List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
+        for (PurchaseBackDetails purchaseBackDetails : purchaseBackDetailsList) {
+            StockWaitDetails stockWaitDetails = new StockWaitDetails();
+            stockWaitDetails.setStockWaitId(stockWait.getId());
+            stockWaitDetails.setProductId(purchaseBackDetails.getProductId());
+            stockWaitDetails.setBusinessDetailsId(purchaseBackDetails.getId());//采购退货明细id
+            stockWaitDetails.setQuantity(purchaseBackDetails.getQuantity());
+            stockWaitDetailsList.add(stockWaitDetails);
+        }
+        stockWaitDetailsService.saveBatch(stockWaitDetailsList);
     }
 
 }

+ 2 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/StockWaitType.java

@@ -13,7 +13,8 @@ public enum StockWaitType {
     BACK_OUT(InOutType.OUT, 4, "退货出库", ""),
     JD_ORDER_OUT(InOutType.OUT, 5, "京东订单出库", "jd_order"),
     SALE_ORDER_OUT(InOutType.OUT, 6, "销售订单出库", "order_info"),
-    PRODUCTION_TASK_OUT(InOutType.OUT, 7, "生产任务待出库", "production_task");
+    PRODUCTION_TASK_OUT(InOutType.OUT, 7, "生产任务待出库", "production_task"),
+    WDLY_PURCHASE_BACK_OUT(InOutType.OUT, 8, "维多利亚采购退货出库", "purchase_back");
 
 
     /**

+ 11 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -138,11 +138,22 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     public StockWaitVo detail(Long id) {
         StockWait stockWait = this.getById(id);
         StockWaitVo result = BeanUtil.toBean(stockWait, StockWaitVo.class);
+
         StockWaitDetails stockWaitDetails = stockWaitDetailsService.getOne(q -> q.eq(StockWaitDetails::getStockWaitId, id));
         ProductInfo byId = productInfoService.getById(stockWaitDetails.getProductId());
         result.setProductName(byId.getName());
         result.setQuantity(stockWaitDetails.getQuantity());
         result.setStockWaitDetailsId(stockWaitDetails.getId());
+
+        //获取明细列表
+        List<StockWaitDetails> stockWaitDetailsList = stockWaitDetailsService.list(q -> q.eq(StockWaitDetails::getStockWaitId, id));
+        List<StockWaitDetailsVo> stockWaitDetailsVos = BeanUtil.copyToList(stockWaitDetailsList, StockWaitDetailsVo.class);
+        //赋值产品信息
+        productInfoService.attributeAssign(stockWaitDetailsVos, StockWaitDetailsVo::getProductId, (item, productInfo) -> {
+            item.setProductName(productInfo.getName());
+        });
+        result.setStockWaitDetailsList(stockWaitDetailsVos);
+
         return result;
     }