|
@@ -376,6 +376,26 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
|
soStatus = "10";
|
|
|
subQty = orderCurrent;
|
|
|
wmsDocOrderHeaderService.updateOrderDetailsStock(dto.getOrderNo(), dto.getOrderLineNo().longValue(), details.getSku(), orderCurrent.doubleValue(), soStatus);
|
|
|
+
|
|
|
+ //TODO 修改头单状态
|
|
|
+ WmsDocOrderHeader odHeaderUpdate = new WmsDocOrderHeader();
|
|
|
+ odHeaderUpdate.setOrderNo(dto.getOrderNo());
|
|
|
+ odHeaderUpdate.setOrderStatus(soStatus);
|
|
|
+ wmsDocOrderHeaderService.updateWmsDocOrderHeader(odHeaderUpdate);
|
|
|
+
|
|
|
+ //记录分配明细(由于是初始化的库存所以只绑定到对应的托盘)
|
|
|
+ ActAllocationDetails actAllocationDetails = new ActAllocationDetails();
|
|
|
+ actAllocationDetails.setAllocationId(SnowflakeIdWorker.generateId().toString());
|
|
|
+ actAllocationDetails.setLineNo(dto.getOrderLineNo());
|
|
|
+ actAllocationDetails.setOrderNo(dto.getOrderNo());
|
|
|
+ actAllocationDetails.setQty(subQty);
|
|
|
+ actAllocationDetails.setPickQty(BigDecimal.ZERO);
|
|
|
+ actAllocationDetails.setMaterial(details.getSku());
|
|
|
+ actAllocationDetails.setStatus("00");
|
|
|
+ actAllocationDetails.setLotnum(lotnum);
|
|
|
+ actAllocationDetails.setUserdefine1(stockForm.getPalletNo());
|
|
|
+ actAllocationDetailsService.addOrUpdateAllocationDetails(actAllocationDetails);
|
|
|
+
|
|
|
break;
|
|
|
} else {
|
|
|
//如果当前订单需求数量小于扣减数那么循环对下一个订单继续扣减
|
|
@@ -383,25 +403,26 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
|
subQty = dto.getQty();
|
|
|
orderCurrent = orderCurrent.subtract(dto.getQty());
|
|
|
wmsDocOrderHeaderService.updateOrderDetailsStock(dto.getOrderNo(), dto.getOrderLineNo().longValue(), details.getSku(), dto.getQty().doubleValue(), soStatus);
|
|
|
- }
|
|
|
|
|
|
- //TODO 修改头单状态
|
|
|
- WmsDocOrderHeader odHeaderUpdate = new WmsDocOrderHeader();
|
|
|
- odHeaderUpdate.setOrderNo(dto.getOrderNo());
|
|
|
- odHeaderUpdate.setOrderStatus(soStatus);
|
|
|
- wmsDocOrderHeaderService.updateWmsDocOrderHeader(odHeaderUpdate);
|
|
|
-
|
|
|
- //记录分配明细(由于是初始化的库存所以只绑定到对应的托盘)
|
|
|
- /*ActAllocationDetails actAllocationDetails = new ActAllocationDetails();
|
|
|
- actAllocationDetails.setAllocationId(SnowflakeIdWorker.generateId().toString());
|
|
|
- actAllocationDetails.setLineNo(dto.getOrderLineNo());
|
|
|
- actAllocationDetails.setOrderNo(dto.getOrderNo());
|
|
|
- actAllocationDetails.setQty(subQty);
|
|
|
- actAllocationDetails.setMaterial(details.getSku());
|
|
|
- actAllocationDetails.setStatus("00");
|
|
|
- actAllocationDetails.setLotnum(lotnum);
|
|
|
- actAllocationDetails.setUserdefine1(stockForm.getPalletNo());
|
|
|
- actAllocationDetailsService.insertActAllocationDetails(actAllocationDetails);*/
|
|
|
+ //TODO 修改头单状态
|
|
|
+ WmsDocOrderHeader odHeaderUpdate = new WmsDocOrderHeader();
|
|
|
+ odHeaderUpdate.setOrderNo(dto.getOrderNo());
|
|
|
+ odHeaderUpdate.setOrderStatus(soStatus);
|
|
|
+ wmsDocOrderHeaderService.updateWmsDocOrderHeader(odHeaderUpdate);
|
|
|
+
|
|
|
+ //记录分配明细(由于是初始化的库存所以只绑定到对应的托盘)
|
|
|
+ ActAllocationDetails actAllocationDetails = new ActAllocationDetails();
|
|
|
+ actAllocationDetails.setAllocationId(SnowflakeIdWorker.generateId().toString());
|
|
|
+ actAllocationDetails.setLineNo(dto.getOrderLineNo());
|
|
|
+ actAllocationDetails.setOrderNo(dto.getOrderNo());
|
|
|
+ actAllocationDetails.setQty(subQty);
|
|
|
+ actAllocationDetails.setPickQty(BigDecimal.ZERO);
|
|
|
+ actAllocationDetails.setMaterial(details.getSku());
|
|
|
+ actAllocationDetails.setStatus("00");
|
|
|
+ actAllocationDetails.setLotnum(lotnum);
|
|
|
+ actAllocationDetails.setUserdefine1(stockForm.getPalletNo());
|
|
|
+ actAllocationDetailsService.addOrUpdateAllocationDetails(actAllocationDetails);
|
|
|
+ }
|
|
|
}
|
|
|
totalQty = totalQty.subtract(current);
|
|
|
} else {
|
|
@@ -436,6 +457,8 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public AjaxResult doPa(PaForm paForm) {
|
|
|
+ //入库单号
|
|
|
+ String lotatt08 = "";
|
|
|
//绑定托盘
|
|
|
String palletNo = paForm.getPalletNo();
|
|
|
WmsBoxInfo wmsBoxInfo = new WmsBoxInfo();
|
|
@@ -444,27 +467,32 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
|
if (wmsBoxInfo == null) {
|
|
|
throw new ServiceException("托盘不存在");
|
|
|
}
|
|
|
+ //获取库存当前的托盘位置
|
|
|
+ List<InvLotLocId> invLotLocIdList = invLotLocIdService.queryInvByInvLotatt(null, palletNo);
|
|
|
+ for (InvLotLocId inv : invLotLocIdList) {
|
|
|
+ if (lotatt08.equals("")) {
|
|
|
+ InvLotAtt invLotAtt = invLotAttService.selectInvLotAttByLotnum(inv.getLotnum());
|
|
|
+ lotatt08 = invLotAtt.getLotatt08();
|
|
|
+ }
|
|
|
+ //更新托盘库存到起始库位
|
|
|
+ invLotLocIdMapper.updateInvLotLocIdLocationId(Long.parseLong(inv.getLocationId()), Long.parseLong(paForm.getLocationTo()));
|
|
|
+ }
|
|
|
+
|
|
|
wmsBoxInfo.setLocationId(Long.parseLong(paForm.getLocationTo()));
|
|
|
int result = wmsBoxInfoService.updateWmsBoxInfo(wmsBoxInfo);
|
|
|
if (result <= 0) {
|
|
|
throw new ServiceException("托盘绑定更新失败");
|
|
|
}
|
|
|
+
|
|
|
+ //更新分配表
|
|
|
+ actAllocationDetailsService.updateAllocationDetailsLocationIdByPalletNo(paForm.getLocationTo(), palletNo);
|
|
|
+
|
|
|
//库存移动
|
|
|
InvLotLocIdMoveForm moveForm = new InvLotLocIdMoveForm();
|
|
|
moveForm.setLocationFrom(paForm.getLocationFrom());
|
|
|
moveForm.setLocationTo(paForm.getLocationTo());
|
|
|
moveForm.setIsCallCar("N");
|
|
|
|
|
|
- List<InvLotLocId> invLotLocIdList = invLotLocIdService.queryInvByInvLotatt(null, palletNo);
|
|
|
- InvLotAtt invLotAtt = null;
|
|
|
- if (invLotLocIdList != null && invLotLocIdList.size() > 0) {
|
|
|
- for (InvLotLocId inv : invLotLocIdList) {
|
|
|
- invLotAtt = invLotAttService.selectInvLotAttByLotnum(inv.getLotnum());
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- String lotatt08 = invLotAtt.getLotatt08();
|
|
|
WmsDocAsnDetails query = new WmsDocAsnDetails();
|
|
|
query.setAsnNo(lotatt08);
|
|
|
List<WmsDocAsnDetails> detailsList = wmsDocAsnDetailsMapper.selectWmsDocAsnDetailsList(query);
|
|
@@ -476,17 +504,17 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
|
|
|
}
|
|
|
WmsDocAsnHeader updateStatus = new WmsDocAsnHeader();
|
|
|
updateStatus.setAsnStatus("60");
|
|
|
+ updateStatus.setAsnNo(lotatt08);
|
|
|
wmsDocAsnHeaderMapper.updateWmsDocAsnHeader(updateStatus);
|
|
|
|
|
|
- //TODO 修改上架数量
|
|
|
//TODO 事务日志
|
|
|
- String tracNo = idSequenceUtils.generateId("TRANSACTIONID");
|
|
|
+ /*String tracNo = idSequenceUtils.generateId("TRANSACTIONID");
|
|
|
ActTransactionLog paLog = new ActTransactionLog();
|
|
|
paLog.setTransactionId(tracNo);
|
|
|
paLog.setTransactionType(Constant.Transaction_TYPE.PA.getValue());
|
|
|
//paLog.setDocNo();
|
|
|
- actTransactionLogService.insertActTransactionLog(paLog);
|
|
|
- return invLotLocIdService.move(moveForm);
|
|
|
+ actTransactionLogService.insertActTransactionLog(paLog);*/
|
|
|
+ return AjaxResult.success("操作成功");
|
|
|
}
|
|
|
|
|
|
@Override
|