|
@@ -2,6 +2,7 @@ package com.ruoyi.ams.xuankuang.service;
|
|
|
|
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
|
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
|
|
|
+import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
|
|
|
import com.ruoyi.ams.config.domain.dto.LotattDTO;
|
|
|
import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
|
import com.ruoyi.ams.inv.domain.form.InvLocIdSearchFrom;
|
|
@@ -10,6 +11,7 @@ import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
|
import com.ruoyi.ams.inv.service.IInvLotLocIdService;
|
|
|
import com.ruoyi.ams.order.domain.WmsDocOrderDetails;
|
|
|
import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
|
|
|
+import com.ruoyi.ams.order.mapper.WmsDocOrderHeaderMapper;
|
|
|
import com.ruoyi.ams.order.service.IWmsDocOrderDetailsService;
|
|
|
import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
|
|
|
import com.ruoyi.ams.order.vo.StockOrderVO;
|
|
@@ -23,6 +25,7 @@ import com.ruoyi.base.domain.BaseSku;
|
|
|
import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
|
|
|
import com.ruoyi.base.service.IBaseLocationInfoService;
|
|
|
import com.ruoyi.base.service.IBaseSkuService;
|
|
|
+import com.ruoyi.base.utils.IdSequenceUtils;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -64,6 +67,12 @@ public class WmsDocOrderSubService {
|
|
|
BaseLocationInfoSubService baseLocationInfoSubService;
|
|
|
@Autowired
|
|
|
private IBaseSkuService iBaseSkuService;
|
|
|
+ @Autowired
|
|
|
+ private IdSequenceUtils idSequenceUtils;
|
|
|
+ @Autowired
|
|
|
+ private WmsDocOrderHeaderMapper wmsDocOrderHeaderMapper;
|
|
|
+ @Autowired
|
|
|
+ private IWmsDocAsnHeaderService iWmsDocAsnHeaderService;
|
|
|
|
|
|
|
|
|
|
|
@@ -225,6 +234,35 @@ public class WmsDocOrderSubService {
|
|
|
return baseLocationLotattVO;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成出库单方法
|
|
|
+ * @param asnNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public AjaxResult addCrossingOutboundOrder(String asnNo) {
|
|
|
+ // 生成单头
|
|
|
+ WmsDocOrderHeader wmsDocOrderHeader = new WmsDocOrderHeader();
|
|
|
+ String orderNo = idSequenceUtils.generateId("ORDERNO");
|
|
|
+ wmsDocOrderHeader.setOrderNo(orderNo);
|
|
|
+ wmsDocOrderHeader.setEdiSendFlag("N");
|
|
|
+ wmsDocOrderHeader.setSoReference2(asnNo);
|
|
|
+ wmsDocOrderHeader.setOrderStatus(Constant.ORDER_STS.STS00.getValue());
|
|
|
+ wmsDocOrderHeader.setCreateTime(new Date());
|
|
|
+ wmsDocOrderHeaderMapper.insertWmsDocOrderHeader(wmsDocOrderHeader);
|
|
|
+ List<WmsDocAsnDetails> wmsDocAsnDetails = iWmsDocAsnHeaderService.queryWmsDocAsnDetails(asnNo);
|
|
|
+ for (WmsDocAsnDetails wmsDocAsnDetails1 : wmsDocAsnDetails){
|
|
|
+ // 生成明细
|
|
|
+ WmsDocOrderDetails wmsDocOrderDetails = new WmsDocOrderDetails();
|
|
|
+ wmsDocOrderDetails.setOrderNo(orderNo);
|
|
|
+ wmsDocOrderDetails.setOrderLineNo(new BigDecimal(1));
|
|
|
+ wmsDocOrderDetails.setSku(wmsDocAsnDetails1.getSku());
|
|
|
+ wmsDocOrderDetails.setLineStatus(Constant.ORDER_STS.STS00.getValue());
|
|
|
+ wmsDocOrderDetails.setQtyOrderedEach(wmsDocAsnDetails1.getExpectedQty());
|
|
|
+ wmsDocOrderDetails.setCreateTime(new Date());
|
|
|
+ iWmsDocOrderHeaderService.insertWmsDocOrderDetails(wmsDocOrderDetails);
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
/* *//**
|
|
|
* 取消分配
|
|
|
*//*
|