|
@@ -2,8 +2,13 @@ package com.ruoyi.ams.xuankuang.service;
|
|
|
|
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
|
|
import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
|
|
|
|
+import com.ruoyi.ams.asn.mapper.WmsDocAsnDetailsMapper;
|
|
|
|
+import com.ruoyi.ams.asn.mapper.WmsDocAsnHeaderMapper;
|
|
import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
|
|
import com.ruoyi.ams.asn.service.IWmsDocAsnDetailsService;
|
|
import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
|
|
import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
|
|
|
|
+import com.ruoyi.ams.order.domain.WmsDocOrderDetails;
|
|
|
|
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
|
|
|
|
+import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
|
|
import com.ruoyi.ams.xuankuang.domain.form.AgvInTaskForm;
|
|
import com.ruoyi.ams.xuankuang.domain.form.AgvInTaskForm;
|
|
import com.ruoyi.ams.xuankuang.domain.form.BillTaskForm;
|
|
import com.ruoyi.ams.xuankuang.domain.form.BillTaskForm;
|
|
import com.ruoyi.ams.xuankuang.domain.vo.LocationCoordinateVo;
|
|
import com.ruoyi.ams.xuankuang.domain.vo.LocationCoordinateVo;
|
|
@@ -11,6 +16,7 @@ import com.ruoyi.ams.xuankuang.domain.vo.WcsResponseVo;
|
|
import com.ruoyi.base.constant.Constant;
|
|
import com.ruoyi.base.constant.Constant;
|
|
import com.ruoyi.base.domain.BaseSku;
|
|
import com.ruoyi.base.domain.BaseSku;
|
|
import com.ruoyi.base.service.IBaseSkuService;
|
|
import com.ruoyi.base.service.IBaseSkuService;
|
|
|
|
+import com.ruoyi.base.utils.IdSequenceUtils;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -24,6 +30,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.io.Console;
|
|
import java.io.Console;
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -52,6 +60,12 @@ public class WmsDocAsnSubService {
|
|
private WmsToWcsApiService wmsToWcsApiService;
|
|
private WmsToWcsApiService wmsToWcsApiService;
|
|
@Autowired
|
|
@Autowired
|
|
private WcsTaskSubService wcsTaskSubService;
|
|
private WcsTaskSubService wcsTaskSubService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IdSequenceUtils idSequenceUtils;
|
|
|
|
+ @Autowired
|
|
|
|
+ private WmsDocAsnHeaderMapper wmsDocAsnHeaderMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private WmsDocAsnDetailsMapper wmsDocAsnDetailsMapper;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -116,14 +130,17 @@ public class WmsDocAsnSubService {
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
- public AjaxResult agvInTask(@PathVariable("asnNo") String asnNo) {
|
|
|
|
|
|
+ public AjaxResult agvInTask(String palletNo,Double qty) {
|
|
|
|
+ // wms物料编码
|
|
|
|
+ String sku = iBaseSkuService.selectBaseSkuByMaterialType("5").getSku();
|
|
|
|
+ String asnNo = generateAnOutboundOrder(sku, new BigDecimal(qty));
|
|
// 根据单号,和创建状态为00
|
|
// 根据单号,和创建状态为00
|
|
WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
|
|
WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
|
|
wmsDocAsnDetails.setAsnNo(asnNo);
|
|
wmsDocAsnDetails.setAsnNo(asnNo);
|
|
wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
|
|
wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
|
|
List<WmsDocAsnDetails> list = iWmsDocAsnDetailsService.selectWmsDocAsnDetailsList(wmsDocAsnDetails);
|
|
List<WmsDocAsnDetails> list = iWmsDocAsnDetailsService.selectWmsDocAsnDetailsList(wmsDocAsnDetails);
|
|
-
|
|
|
|
WmsDocAsnHeader wmsDocAsnHeader = iWmsDocAsnHeaderService.selectWmsDocAsnHeaderByAsnNo(asnNo);
|
|
WmsDocAsnHeader wmsDocAsnHeader = iWmsDocAsnHeaderService.selectWmsDocAsnHeaderByAsnNo(asnNo);
|
|
|
|
+
|
|
boolean con = true;
|
|
boolean con = true;
|
|
for (WmsDocAsnDetails details:list) {
|
|
for (WmsDocAsnDetails details:list) {
|
|
BaseSku baseSku = iBaseSkuService.selectBaseSkuByCustomerId(Constant.CUSTOMER_ID, details.getSku());
|
|
BaseSku baseSku = iBaseSkuService.selectBaseSkuByCustomerId(Constant.CUSTOMER_ID, details.getSku());
|
|
@@ -132,10 +149,8 @@ public class WmsDocAsnSubService {
|
|
agvInTaskForm.setMaterial(Integer.valueOf(baseSku.getDesc2()));
|
|
agvInTaskForm.setMaterial(Integer.valueOf(baseSku.getDesc2()));
|
|
agvInTaskForm.setDocNo(asnNo);
|
|
agvInTaskForm.setDocNo(asnNo);
|
|
agvInTaskForm.setNum(details.getExpectedQty().intValue());
|
|
agvInTaskForm.setNum(details.getExpectedQty().intValue());
|
|
- // wms物料编码
|
|
|
|
- String sku = iBaseSkuService.selectBaseSkuByMaterialType("5").getSku();
|
|
|
|
//托盘码
|
|
//托盘码
|
|
- String pallentNo = "1234567";
|
|
|
|
|
|
+ String pallentNo = palletNo;
|
|
AjaxResult ajaxResult = wcsToWmsApiService.theBucketIsLoadedIntoTheLibrary(sku, asnNo, pallentNo, details.getExpectedQty());
|
|
AjaxResult ajaxResult = wcsToWmsApiService.theBucketIsLoadedIntoTheLibrary(sku, asnNo, pallentNo, details.getExpectedQty());
|
|
LocationCoordinateVo locationCoordinateVo = ajaxResult.getDataParseObject(LocationCoordinateVo.class);
|
|
LocationCoordinateVo locationCoordinateVo = ajaxResult.getDataParseObject(LocationCoordinateVo.class);
|
|
String taskNo = locationCoordinateVo.getTaskNo();
|
|
String taskNo = locationCoordinateVo.getTaskNo();
|
|
@@ -154,6 +169,7 @@ public class WmsDocAsnSubService {
|
|
con = false;
|
|
con = false;
|
|
wmsDocAsnHeader.setNotes(wcsResponseVo.getMessage());
|
|
wmsDocAsnHeader.setNotes(wcsResponseVo.getMessage());
|
|
iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
|
|
iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
|
|
|
|
+ wcsTaskSubService.callBack(taskNo,7,null);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
// 修改 明细行状态为10
|
|
// 修改 明细行状态为10
|
|
@@ -166,7 +182,7 @@ public class WmsDocAsnSubService {
|
|
wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
|
|
wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS10.getValue());
|
|
iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
|
|
iWmsDocAsnHeaderService.updateWmsDocAsnHeader(wmsDocAsnHeader);
|
|
}
|
|
}
|
|
- return AjaxResult.success("", list);
|
|
|
|
|
|
+ return AjaxResult.success("",list);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -189,4 +205,37 @@ public class WmsDocAsnSubService {
|
|
wmsToWcsApiService.wmsAgvCallbackOuttask(wcsId);
|
|
wmsToWcsApiService.wmsAgvCallbackOuttask(wcsId);
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 生成入库单方法
|
|
|
|
+ *
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public String generateAnOutboundOrder(String sku, BigDecimal qty) {
|
|
|
|
+ // 生成单头
|
|
|
|
+ WmsDocAsnHeader wmsDocAsnHeader = new WmsDocAsnHeader();
|
|
|
|
+ String asnNo = idSequenceUtils.generateId("ASNNO");
|
|
|
|
+ wmsDocAsnHeader.setAsnNo(asnNo);
|
|
|
|
+ wmsDocAsnHeader.setEdiSendFlag("N");
|
|
|
|
+ wmsDocAsnHeader.setAsnType(Constant.ASN_TYP.TZ.getValue());
|
|
|
|
+ wmsDocAsnHeader.setCreateTime(new Date());
|
|
|
|
+ wmsDocAsnHeader.setCreateBy("PDA");
|
|
|
|
+ wmsDocAsnHeader.setAsnStatus(Constant.ASN_STS.STS00.getValue());
|
|
|
|
+ wmsDocAsnHeaderMapper.insertWmsDocAsnHeader(wmsDocAsnHeader);
|
|
|
|
+ //生成明细
|
|
|
|
+ WmsDocAsnDetails wmsDocAsnDetails = new WmsDocAsnDetails();
|
|
|
|
+ wmsDocAsnDetails.setAsnNo(asnNo);
|
|
|
|
+ wmsDocAsnDetails.setAsnLineNo(new Long(1));
|
|
|
|
+ wmsDocAsnDetails.setLineStatus(Constant.ASN_STS.STS00.getValue());
|
|
|
|
+ wmsDocAsnDetails.setSku(sku);
|
|
|
|
+ wmsDocAsnDetails.setExpectedQty(qty);
|
|
|
|
+ wmsDocAsnDetails.setExpectedQtyEach(qty);
|
|
|
|
+ wmsDocAsnDetails.setReceivedQty(new BigDecimal(0));
|
|
|
|
+ wmsDocAsnDetails.setReceivedQtyEach(new BigDecimal(0));
|
|
|
|
+ wmsDocAsnDetails.setCreateTime(new Date());
|
|
|
|
+ wmsDocAsnDetails.setCreateBy("PDA");
|
|
|
|
+ wmsDocAsnDetailsMapper.insertWmsDocAsnDetails(wmsDocAsnDetails);
|
|
|
|
+ return asnNo;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|