|
@@ -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);
|
|
|
}
|
|
|
|
|
|
}
|