|
@@ -17,9 +17,18 @@ import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
|
|
|
import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.JdOrderDetailsVo;
|
|
|
import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
|
|
|
+import com.fjhx.victoriatourist.entity.stock.po.StockTransfer;
|
|
|
+import com.fjhx.victoriatourist.entity.stock.po.StockTransferDetails;
|
|
|
import com.fjhx.victoriatourist.mapper.jd.JdOrderMapper;
|
|
|
import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
|
|
|
import com.fjhx.victoriatourist.service.jd.JdOrderService;
|
|
|
+import com.fjhx.victoriatourist.service.stock.StockTransferDetailsService;
|
|
|
+import com.fjhx.victoriatourist.service.stock.StockTransferService;
|
|
|
+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.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
@@ -52,6 +61,14 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
|
|
|
@Autowired
|
|
|
private ProductInfoService productInfoService;
|
|
|
+ @Autowired
|
|
|
+ private StockTransferService stockTransferService;
|
|
|
+ @Autowired
|
|
|
+ private StockTransferDetailsService stockTransferDetailsService;
|
|
|
+ @Autowired
|
|
|
+ StockWaitService stockWaitService;
|
|
|
+ @Autowired
|
|
|
+ StockWaitDetailsService stockWaitDetailsService;
|
|
|
|
|
|
@Override
|
|
|
public Page<JdOrderVo> getPage(JdOrderSelectDto dto) {
|
|
@@ -102,14 +119,33 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
// 订单金额
|
|
|
BigDecimal amount = BigDecimal.ZERO;
|
|
|
|
|
|
+ //创建待出库记录
|
|
|
+ StockWait stockWait = new StockWait();
|
|
|
+ stockWait.setType(2);//待出库
|
|
|
+ stockWait.setBusinessType(StockWaitType.JD_ORDER_OUT.getDetailType());
|
|
|
+ stockWait.setBusinessId(jdOrderId);
|
|
|
+ stockWait.setBusinessCode(jdOrderDto.getCode());
|
|
|
+ stockWait.setStatus(0);
|
|
|
+ stockWaitService.save(stockWait);
|
|
|
+
|
|
|
List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
|
|
|
|
|
|
+ List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
|
|
|
for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
|
|
|
jdOrderDetails.setJdOrderId(jdOrderId);
|
|
|
jdOrderDetails.setSubtotal(jdOrderDetails.getPrice().multiply(jdOrderDetails.getQuantity()));
|
|
|
jdOrderDetails.setQuantityDelivered(BigDecimal.ZERO);
|
|
|
amount = amount.add(jdOrderDetails.getSubtotal());
|
|
|
+
|
|
|
+ //创建待出库明细
|
|
|
+ StockWaitDetails stockWaitDetails = new StockWaitDetails();
|
|
|
+ stockWaitDetails.setStockWaitId(stockWait.getId());
|
|
|
+ stockWaitDetails.setProductId(jdOrderDetails.getProductId());
|
|
|
+ stockWaitDetails.setQuantity(jdOrderDetails.getQuantity());
|
|
|
+ stockWaitDetails.setBusinessDetailsId(jdOrderDetails.getId());
|
|
|
+ stockWaitDetailsList.add(stockWaitDetails);
|
|
|
}
|
|
|
+ stockWaitDetailsService.saveBatch(stockWaitDetailsList);
|
|
|
|
|
|
jdOrderDto.setId(jdOrderId);
|
|
|
// 未出库
|
|
@@ -145,6 +181,9 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
HashMap<String, JdOrder> orderCodeIdMap = new LinkedHashMap<>();
|
|
|
List<JdOrderDetails> orderDetailsList = new ArrayList<>();
|
|
|
|
|
|
+ List<StockWait> stockWaitList = new ArrayList<>();
|
|
|
+ List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
|
|
|
+
|
|
|
long batchFlag = IdWorker.getId();
|
|
|
|
|
|
for (JdOrderExcelImportBo bo : boList) {
|
|
@@ -164,6 +203,16 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
item.setStatus(1);
|
|
|
item.setQuantityDelivered(BigDecimal.ZERO);
|
|
|
item.setBatchFlag(batchFlag);
|
|
|
+
|
|
|
+ //创建待出库记录
|
|
|
+ StockWait stockWait = new StockWait();
|
|
|
+ stockWait.setType(2);//待出库
|
|
|
+ stockWait.setBusinessType(StockWaitType.JD_ORDER_OUT.getDetailType());
|
|
|
+ stockWait.setBusinessId(item.getId());
|
|
|
+ stockWait.setBusinessCode(item.getCode());
|
|
|
+ stockWait.setStatus(0);
|
|
|
+ stockWaitList.add(stockWait);
|
|
|
+
|
|
|
return item;
|
|
|
});
|
|
|
|
|
@@ -179,10 +228,57 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
|
|
|
jdOrderDetails.setSubtotal(subtotal);
|
|
|
jdOrderDetails.setQuantityDelivered(BigDecimal.ZERO);
|
|
|
orderDetailsList.add(jdOrderDetails);
|
|
|
+
|
|
|
+ //创建待出库明细
|
|
|
+ StockWaitDetails stockWaitDetails = new StockWaitDetails();
|
|
|
+ stockWaitDetails.setStockWaitId(jdOrderDetails.getId());
|
|
|
+ stockWaitDetails.setProductId(jdOrderDetails.getProductId());
|
|
|
+ stockWaitDetails.setQuantity(jdOrderDetails.getQuantity());
|
|
|
+ stockWaitDetails.setBusinessDetailsId(jdOrderDetails.getId());
|
|
|
+ stockWaitDetailsList.add(stockWaitDetails);
|
|
|
}
|
|
|
|
|
|
this.saveBatch(orderCodeIdMap.values());
|
|
|
this.jdOrderDetailsService.saveBatch(orderDetailsList);
|
|
|
+
|
|
|
+ //保存待出库明细
|
|
|
+ stockWaitService.saveBatch(stockWaitList);
|
|
|
+ stockWaitDetailsService.saveBatch(stockWaitDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public void outbound(JdOrderDto jdOrderDto) {
|
|
|
+ //修改待出库状态
|
|
|
+ StockWait stockWait = stockWaitService.getOne(q -> q.eq(StockWait::getBusinessId, jdOrderDto.getId()));
|
|
|
+ stockWait.setStatus(2);
|
|
|
+ stockWaitService.updateById(stockWait);
|
|
|
+
|
|
|
+ JdOrder jdOrder = getById(jdOrderDto.getId());
|
|
|
+ jdOrder.setStatus(3);//将京东订单状态修改为出库
|
|
|
+ updateById(jdOrder);
|
|
|
+ //创建京东订单调仓
|
|
|
+ StockTransfer stockTransfer = new StockTransfer();
|
|
|
+ stockTransfer.setType(2);//京东订单出库
|
|
|
+ stockTransfer.setBusinessId(jdOrder.getId());
|
|
|
+ stockTransfer.setBusinessCode(jdOrder.getCode());
|
|
|
+ stockTransfer.setInWarehouseId(jdOrderDto.getInWarehouseId());
|
|
|
+ stockTransfer.setOutWarehouseId(jdOrderDto.getOutWarehouseId());
|
|
|
+ stockTransfer.setInStatus(0);
|
|
|
+ stockTransfer.setRemark(jdOrderDto.getRemark());
|
|
|
+ stockTransferService.save(stockTransfer);
|
|
|
+ //创建明细
|
|
|
+ List<StockTransferDetails> stockTransferDetailsList = new ArrayList<>();
|
|
|
+ List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
|
|
|
+ for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
|
|
|
+ StockTransferDetails stockTransferDetails = new StockTransferDetails();
|
|
|
+ stockTransferDetails.setBusinessDetailsId(jdOrderDetails.getId());
|
|
|
+ stockTransferDetails.setStockTransferId(stockTransfer.getId());
|
|
|
+ stockTransferDetails.setOutQuantity(jdOrderDetails.getQuantity());
|
|
|
+ stockTransferDetails.setProductId(jdOrderDetails.getProductId());
|
|
|
+ stockTransferDetailsList.add(stockTransferDetails);
|
|
|
+ }
|
|
|
+ stockTransferDetailsService.saveBatch(stockTransferDetailsList);
|
|
|
}
|
|
|
|
|
|
}
|