|
@@ -1243,6 +1243,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
WmsDocOrderDetails details = new WmsDocOrderDetails();
|
|
|
details.setOrderNo(orderNo);
|
|
|
details.setOrderLineNo(BigDecimal.valueOf(index));
|
|
|
+ details.setLineStatus("00");
|
|
|
details.setQtyOrdered(erpOrder.getQty());
|
|
|
details.setQtyOrderedEach(erpOrder.getQty());
|
|
|
details.setQtyAllocatedEach(BigDecimal.ZERO);
|
|
@@ -1328,47 +1329,106 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AjaxResult modifyTheTallyStatusInTheWarehouse(String orderNo,Long locationId,String palletNo) {
|
|
|
- WmsDocOrderHeader header = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
|
|
|
- if (header != null && header.getOrderType().equals(Constant.ORDER_TYP.LH.getValue())) {
|
|
|
- // 分配明细为拣货完成
|
|
|
- ActAllocationDetailsFrom actAllocationQuery = new ActAllocationDetailsFrom();
|
|
|
- actAllocationQuery.setOrderNo(orderNo);
|
|
|
- actAllocationQuery.setLocationId(locationId);
|
|
|
- actAllocationQuery.setLotatt07(palletNo);
|
|
|
- actAllocationQuery.setStatus(Constant.ORDER_STS.STS20.getValue());
|
|
|
- List<ActAllocationDetailsFrom> actAllocationDetailsFromList = actAllocationDetailsService.selectActAllocationDetailsInvLotAttList(actAllocationQuery);
|
|
|
- for (ActAllocationDetailsFrom allocationDetails : actAllocationDetailsFromList) {
|
|
|
- ActAllocationDetails allocationDetailsUpdate = new ActAllocationDetails();
|
|
|
- allocationDetailsUpdate.setAllocationId(allocationDetails.getAllocationId());
|
|
|
- allocationDetailsUpdate.setStatus(Constant.ORDER_STS.STS40.getValue());
|
|
|
- actAllocationDetailsService.updateActAllocationDetails(allocationDetailsUpdate);
|
|
|
- // 出库单明细改为完成
|
|
|
- WmsDocOrderDetails wmsDocOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByNoLineNo(allocationDetails.getOrderNo(), allocationDetails.getLineNo());
|
|
|
- WmsDocOrderDetails wmsDocOrderDetailsUpdate = new WmsDocOrderDetails();
|
|
|
- wmsDocOrderDetailsUpdate.setOrderNo(wmsDocOrderDetails.getOrderNo());
|
|
|
- wmsDocOrderDetailsUpdate.setOrderLineNo(wmsDocOrderDetails.getOrderLineNo());
|
|
|
- wmsDocOrderDetailsUpdate.setLineStatus(Constant.ORDER_STS.STS99.getValue());
|
|
|
- wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(wmsDocOrderDetailsUpdate);
|
|
|
+ public AjaxResult modifyAssignmentStockTaskStatus(String orderNo, Long locationId, String palletNo) {
|
|
|
+ WmsDocOrderHeader wmsDocOrderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
|
|
|
+ if (!wmsDocOrderHeader.getOrderType().equals(Constant.ORDER_TYP.BH.getValue())) {
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+ // 出库单备货完成,部分出库状态修改出库单出库状态,其余修改分配明细为拣货完成
|
|
|
+ if (wmsDocOrderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS23.getValue())
|
|
|
+ || wmsDocOrderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS98.getValue())) {
|
|
|
+ return wmsDocOrderHeaderService.modifyAssignmentStockTaskStatusComplete(orderNo, locationId, palletNo,true);
|
|
|
+ } else {
|
|
|
+ return actAllocationDetailsService.modifyAssignmentStockTaskStatusPickingComplete(orderNo, locationId, palletNo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult modifyAssignmentStockTaskStatusComplete(String orderNo, Long locationId, String palletNo,boolean isBH) {
|
|
|
+ InvLocIdSearchFrom invLocIdSearchFrom = new InvLocIdSearchFrom();
|
|
|
+ invLocIdSearchFrom.setLocationNo(locationId.toString());
|
|
|
+ invLocIdSearchFrom.setLotatt07(palletNo);
|
|
|
+ if (isBH) {
|
|
|
+ invLocIdSearchFrom.setLotatt14(orderNo);
|
|
|
+ }else {
|
|
|
+ invLocIdSearchFrom.setLotatt15(orderNo);
|
|
|
+ }
|
|
|
+ List<InvLotLocIdLotattVO> invLotLocIdLotattVOS = invLotLocIdService.selectInvLocIdLotattList(invLocIdSearchFrom);
|
|
|
+ for (InvLotLocIdLotattVO inv : invLotLocIdLotattVOS) {
|
|
|
+ // 修改出库单状态,这边写的不是很严谨,但是不影响主体业务
|
|
|
+ WmsDocOrderDetails query = new WmsDocOrderDetails();
|
|
|
+ query.setOrderNo(orderNo);
|
|
|
+ query.setSku(inv.getSku());
|
|
|
+ List<WmsDocOrderDetails> detailsList = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsList(query);
|
|
|
+ if (detailsList != null && detailsList.size() > 0) {
|
|
|
+ for (WmsDocOrderDetails de : detailsList) {
|
|
|
+ de.setLineStatus(Constant.ORDER_STS.STS99.getValue());
|
|
|
+ wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(de);
|
|
|
+ }
|
|
|
}
|
|
|
- // 出库单头
|
|
|
- String orderSts = Constant.ORDER_STS.STS99.getValue();
|
|
|
- WmsDocOrderHeader wmsDocOrderHeader = new WmsDocOrderHeader();
|
|
|
- wmsDocOrderHeader.setOrderNo(orderNo);
|
|
|
- List<WmsDocOrderDetails> wmsDocOrderDetailsList = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByOrderNo(orderNo);
|
|
|
- for (WmsDocOrderDetails details : wmsDocOrderDetailsList) {
|
|
|
- if (!details.getLineStatus().equals(Constant.ORDER_STS.STS99.getValue())) {
|
|
|
- orderSts = Constant.ORDER_STS.STS98.getValue();
|
|
|
+ //修改头单状态
|
|
|
+ String asnStatus = Constant.ORDER_STS.STS99.getValue();
|
|
|
+ WmsDocOrderDetails detailsQuery = new WmsDocOrderDetails();
|
|
|
+ detailsQuery.setOrderNo(orderNo);
|
|
|
+ List<WmsDocOrderDetails> detailsCheckList = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsList(detailsQuery);
|
|
|
+ for (WmsDocOrderDetails d : detailsCheckList) {
|
|
|
+ if (!d.getLineStatus().equals(Constant.ORDER_STS.STS99.getValue())) {
|
|
|
+ asnStatus = Constant.ORDER_STS.STS98.getValue();
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- wmsDocOrderHeader.setOrderStatus(orderSts);
|
|
|
- wmsDocOrderHeaderService.updateWmsDocOrderHeader(wmsDocOrderHeader);
|
|
|
-
|
|
|
+ WmsDocOrderHeader headerUpdate = new WmsDocOrderHeader();
|
|
|
+ headerUpdate.setOrderNo(orderNo);
|
|
|
+ headerUpdate.setOrderStatus(asnStatus);
|
|
|
+ headerUpdate.setUpdateTime(new Date());
|
|
|
+ wmsDocOrderHeaderService.updateWmsDocOrderHeader(headerUpdate);
|
|
|
}
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public AjaxResult modifyTheTallyStatusInTheWarehouse(String orderNo,Long locationId,String palletNo) {
|
|
|
+ WmsDocOrderHeader header = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
|
|
|
+ if (header != null && header.getOrderType().equals(Constant.ORDER_TYP.LH.getValue())) {
|
|
|
+ return wmsDocOrderHeaderService.modifyAssignmentStockTaskStatusComplete(orderNo, locationId, palletNo,false);
|
|
|
+ }
|
|
|
+
|
|
|
+// // 分配明细为拣货完成 库内理货不生成分配明细
|
|
|
+// ActAllocationDetailsFrom actAllocationQuery = new ActAllocationDetailsFrom();
|
|
|
+// actAllocationQuery.setOrderNo(orderNo);
|
|
|
+// actAllocationQuery.setLocationId(locationId);
|
|
|
+// actAllocationQuery.setLotatt07(palletNo);
|
|
|
+// actAllocationQuery.setStatus(Constant.ORDER_STS.STS21.getValue());
|
|
|
+// List<ActAllocationDetailsFrom> actAllocationDetailsFromList = actAllocationDetailsService.selectActAllocationDetailsInvLotAttList(actAllocationQuery);
|
|
|
+// for (ActAllocationDetailsFrom allocationDetails : actAllocationDetailsFromList) {
|
|
|
+// ActAllocationDetails allocationDetailsUpdate = new ActAllocationDetails();
|
|
|
+// allocationDetailsUpdate.setAllocationId(allocationDetails.getAllocationId());
|
|
|
+// allocationDetailsUpdate.setStatus(Constant.ORDER_STS.STS40.getValue());
|
|
|
+// actAllocationDetailsService.updateActAllocationDetails(allocationDetailsUpdate);
|
|
|
+// // 出库单明细改为完成
|
|
|
+// WmsDocOrderDetails wmsDocOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByNoLineNo(allocationDetails.getOrderNo(), allocationDetails.getLineNo());
|
|
|
+// WmsDocOrderDetails wmsDocOrderDetailsUpdate = new WmsDocOrderDetails();
|
|
|
+// wmsDocOrderDetailsUpdate.setOrderNo(wmsDocOrderDetails.getOrderNo());
|
|
|
+// wmsDocOrderDetailsUpdate.setOrderLineNo(wmsDocOrderDetails.getOrderLineNo());
|
|
|
+// wmsDocOrderDetailsUpdate.setLineStatus(Constant.ORDER_STS.STS99.getValue());
|
|
|
+// wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(wmsDocOrderDetailsUpdate);
|
|
|
+// }
|
|
|
+// // 出库单头
|
|
|
+// String orderSts = Constant.ORDER_STS.STS99.getValue();
|
|
|
+// WmsDocOrderHeader wmsDocOrderHeader = new WmsDocOrderHeader();
|
|
|
+// wmsDocOrderHeader.setOrderNo(orderNo);
|
|
|
+// List<WmsDocOrderDetails> wmsDocOrderDetailsList = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByOrderNo(orderNo);
|
|
|
+// for (WmsDocOrderDetails details : wmsDocOrderDetailsList) {
|
|
|
+// if (!details.getLineStatus().equals(Constant.ORDER_STS.STS99.getValue())) {
|
|
|
+// orderSts = Constant.ORDER_STS.STS98.getValue();
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// wmsDocOrderHeader.setOrderStatus(orderSts);
|
|
|
+// wmsDocOrderHeaderService.updateWmsDocOrderHeader(wmsDocOrderHeader);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public AjaxResult modifystockCompletionStatus(String palletNo) {
|
|
|
//获取库存当前的托盘位置
|