|
@@ -221,6 +221,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
/**
|
|
|
* 订单分配
|
|
|
* 只能完全分配
|
|
|
+ *
|
|
|
* @param orderNo
|
|
|
* @return
|
|
|
*/
|
|
@@ -285,7 +286,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
if (!orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS00.getValue())
|
|
|
&& !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS10.getValue())
|
|
|
- && !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS22.getValue())){
|
|
|
+ && !orderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS22.getValue())) {
|
|
|
return AjaxResult.success("出库单状态不可分配!");
|
|
|
}
|
|
|
|
|
@@ -418,7 +419,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), allocatedQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
} else {
|
|
|
throw new ServiceException("占用库存分配数失败");
|
|
|
}
|
|
@@ -439,7 +440,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), allocatedQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
return AjaxResult.success("分配完成", originalOrderQty);
|
|
|
} else {
|
|
|
throw new ServiceException("占用库存分配数失败");
|
|
@@ -459,7 +460,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), currentQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
return AjaxResult.success("分配完成", originalOrderQty);
|
|
|
|
|
|
} else {
|
|
@@ -511,7 +512,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// ? item.getQty().doubleValue() - item.getQtyallocated().doubleValue() : 0)
|
|
|
// .sum();
|
|
|
// if (qtySum < orderQty.doubleValue()) {
|
|
|
- // 备货可以部分分配
|
|
|
+ // 备货可以部分分配
|
|
|
// return AjaxResult.error("库存不足分配失败");
|
|
|
// }
|
|
|
for (InvLotLocIdForm inv : invList) {
|
|
@@ -539,7 +540,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), allocatedQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
} else {
|
|
|
throw new ServiceException("占用库存分配数失败");
|
|
|
}
|
|
@@ -560,7 +561,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), allocatedQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
return AjaxResult.success("分配完成", originalOrderQty);
|
|
|
} else {
|
|
|
throw new ServiceException("占用库存分配数失败");
|
|
@@ -580,7 +581,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
actAllocationDetailsService.addActAllocationDetails(inv.getLotnum(), inv.getLocationId(), currentQty, details
|
|
|
, Constant.ORDER_STS.STS20.getValue());
|
|
|
//库位对应所有库存lotatt15记录分配出库单号
|
|
|
- invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(),orderNo);
|
|
|
+ invLotLocIdService.updateLotatt15ByLocationId(inv.getLocationId(), orderNo);
|
|
|
return AjaxResult.success("分配完成", originalOrderQty);
|
|
|
|
|
|
} else {
|
|
@@ -763,14 +764,14 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
InvLocIdSearchFrom invLocIdSearchFrom = new InvLocIdSearchFrom();
|
|
|
if (isBh) {
|
|
|
invLocIdSearchFrom.setLotatt14(orderNo);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
invLocIdSearchFrom.setLotatt15(orderNo);
|
|
|
}
|
|
|
List<InvLotLocIdLotattVO> invLotLocIdLotattVOS = invLotLocIdService.selectInvLocIdLotattList(invLocIdSearchFrom);
|
|
|
for (InvLotLocIdLotattVO v : invLotLocIdLotattVOS) {
|
|
|
if (v.getStockStatus().equals(Constant.STOCK_STATUS.STOCK00.getValue())
|
|
|
&& v.getIsEmpty().equals(Constant.IS_YES.N.name())
|
|
|
- &&v.getZoneId().equals(Constant.ZONE_TYPE.ZONE_INV.getValue().toString())) {
|
|
|
+ && v.getZoneId().equals(Constant.ZONE_TYPE.ZONE_INV.getValue().toString())) {
|
|
|
if (!locationSet.contains(v.getLocationNo())) {
|
|
|
CheckOutVO checkOutVO = new CheckOutVO();
|
|
|
checkOutVO.setOrderNo(wmsDocOrderHeader.getSoReference1());
|
|
@@ -798,7 +799,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
//生成任务呼叫到接驳位
|
|
|
BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(check.getLocationNo(), Constant.WAREHOUSE_ID);
|
|
|
- FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById((long)Constant.FLOW_ID_SO);
|
|
|
+ FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById((long) Constant.FLOW_ID_SO);
|
|
|
AgvCallDTO agvCallDTO = new AgvCallDTO();
|
|
|
agvCallDTO.setId(flowConfigHeaderVO.getId());
|
|
|
agvCallDTO.setLocationFrom(baseLocationInfo.getId().toString());
|
|
@@ -936,7 +937,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
type = judgmentOfGroupPlateType(endLotattVO);
|
|
|
// 组盘数量 = 库存数-分配数
|
|
|
if (type == 3) {
|
|
|
- int num = endLotattVO.getQty().intValue() - endLotattVO.getQtyallocated().intValue();
|
|
|
+ int num = endLotattVO.getQty().intValue() - endLotattVO.getQtyallocated().intValue();
|
|
|
if (toQty.intValue() != num) {
|
|
|
return AjaxResult.error("备货库存中存在未分配数量,必须先操未分配数:" + num);
|
|
|
}
|
|
@@ -973,7 +974,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
String newLotnum = idSequenceUtils.generateId("LOTNUMBER");
|
|
|
invLotAtt.setLotnum(newLotnum);
|
|
|
invLotAtt.setLotatt07(palletNoTo);
|
|
|
- if(type == 3) {
|
|
|
+ if (type == 3) {
|
|
|
invLotAtt.setLotatt14("");
|
|
|
}
|
|
|
invLotAtt.setCreateTime(DateUtils.getNowDate());
|
|
@@ -1043,6 +1044,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
* 3.理货单,库存为备货库存,但是库存数不等于分配数type=3(组盘数必须为库存-分配数)
|
|
|
* 4.正常出库单,库存分配数为0,type=4
|
|
|
* 5.理货单,普通库存,type=5
|
|
|
+ *
|
|
|
* @param locIdLotattVO
|
|
|
* @return
|
|
|
*/
|
|
@@ -1051,7 +1053,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
WmsDocOrderHeader wmsDocOrderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(lotatt15);
|
|
|
if (wmsDocOrderHeader.getOrderType().equals(Constant.ORDER_TYP.BH.getValue())
|
|
|
&& new BigDecimal(locIdLotattVO.getQtyallocated()).compareTo(BigDecimal.ZERO) == 0) {
|
|
|
- return 1;
|
|
|
+ return 1;
|
|
|
}
|
|
|
if (wmsDocOrderHeader.getOrderType().equals(Constant.ORDER_TYP.LH.getValue())
|
|
|
&& StringUtils.isNotEmpty(locIdLotattVO.getLotatt14())) {
|
|
@@ -1079,6 +1081,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
* 1.备货单并且lotatt14不为空,结束(说明应该走备货组盘)
|
|
|
* 2.备货单并且库存分配数大于1,结束(说明应该走备货组盘)
|
|
|
* 3.正常出库单库存分配数大于1,结束(说明应该走拣货出库)
|
|
|
+ *
|
|
|
* @param locIdLotattVO
|
|
|
* @return
|
|
|
*/
|
|
@@ -1118,7 +1121,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 验证出库单
|
|
|
if (StringUtils.isNotEmpty(orderNo)) {
|
|
|
WmsDocOrderHeader header = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
|
|
|
- if(!header.getOrderType().equals(Constant.ORDER_TYP.BH.getValue())){
|
|
|
+ if (!header.getOrderType().equals(Constant.ORDER_TYP.BH.getValue())) {
|
|
|
return AjaxResult.error("出库单类型不可备货组盘!");
|
|
|
}
|
|
|
if (header != null
|
|
@@ -1165,9 +1168,13 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
return AjaxResult.error("组盘数量大于单条库存数量!");
|
|
|
}
|
|
|
invLotLocIdLotattVOList.add(endLotattVO);
|
|
|
+ // 验证备货库存是否已经备货
|
|
|
+ if (StringUtils.isNotEmpty(endLotattVO.getLotatt14())) {
|
|
|
+ return AjaxResult.error("扫描条码已经备货,对应出库单:" + endLotattVO.getLotatt14());
|
|
|
+ }
|
|
|
//验证目标托盘库存,一个托盘只能备货一个出库单
|
|
|
AjaxResult ajaxResultC = invLotLocIdService.checkPalletIsOnlyOrderNo(groupDiskFrom.getPalletNoTo()
|
|
|
- , StringUtils.isEmpty(endLotattVO.getLotatt14()) ? "" : endLotattVO.getLotatt14());
|
|
|
+ , orderNo);
|
|
|
if (!ajaxResultC.isSuccess()) {
|
|
|
return ajaxResultC;
|
|
|
}
|
|
@@ -1235,15 +1242,15 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
}
|
|
|
// 更新出库单备货数量
|
|
|
- wmsDocOrderHeaderService.modifystockCompletionStatus(orderNo,sku,new BigDecimal(toQty));
|
|
|
+ wmsDocOrderHeaderService.modifystockCompletionStatus(orderNo, sku, new BigDecimal(toQty));
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
// 更新托盘
|
|
|
- WmsBoxInfo boxFrom = wmsBoxInfoService.selectWmsBoxInfoByBoxNo(groupDiskFrom.getPalletNoTo());
|
|
|
- boxFrom.setIsFull(groupDiskFrom.getIsFull());
|
|
|
- wmsBoxInfoService.updateWmsBoxInfo(boxFrom);
|
|
|
+// WmsBoxInfo boxFrom = wmsBoxInfoService.selectWmsBoxInfoByBoxNo(groupDiskFrom.getPalletNoTo());
|
|
|
+// boxFrom.setIsFull(groupDiskFrom.getIsFull());
|
|
|
+// wmsBoxInfoService.updateWmsBoxInfo(boxFrom);
|
|
|
return AjaxResult.success("组盘成功!");
|
|
|
}
|
|
|
|
|
@@ -1480,30 +1487,50 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
CodeSkuRelationshipSoVO codeSkuRelationshipSoVO = new CodeSkuRelationshipSoVO();
|
|
|
// 根据条码号查询出产品信息
|
|
|
CodeSkuRelationshipVO codeSkuRelationshipVO = codeSkuRelationshipService.snCheck(snCheckSoForm.getSn());
|
|
|
- ActAllocationDetailsFrom query = new ActAllocationDetailsFrom();
|
|
|
- query.setOrderNo(snCheckSoForm.getOrderNo());
|
|
|
- query.setLotatt02(snCheckSoForm.getSn());
|
|
|
- query.setStatus(Constant.ORDER_STS.STS21.getValue());
|
|
|
- ActAllocationDetailsFrom actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
- if (actAllocationDetailsFrom == null) {
|
|
|
- query.setStatus(Constant.ORDER_STS.STS30.getValue());
|
|
|
- actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
- }
|
|
|
- if (actAllocationDetailsFrom == null) {
|
|
|
- query.setStatus(Constant.ORDER_STS.STS40.getValue());
|
|
|
- actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
- }
|
|
|
- if (actAllocationDetailsFrom != null) {
|
|
|
- codeSkuRelationshipSoVO.setOrderNo(actAllocationDetailsFrom.getOrderNo());
|
|
|
- codeSkuRelationshipSoVO.setSku(actAllocationDetailsFrom.getMaterial());
|
|
|
- codeSkuRelationshipSoVO.setSkuName(actAllocationDetailsFrom.getSkuName());
|
|
|
- codeSkuRelationshipSoVO.setSkuType(codeSkuRelationshipVO.getSkuType());
|
|
|
- codeSkuRelationshipSoVO.setSn(actAllocationDetailsFrom.getLotatt02());
|
|
|
+ InvLocIdSearchFrom invLocIdSearchFrom = new InvLocIdSearchFrom();
|
|
|
+ LotattDTO lotattDTO = new LotattDTO();
|
|
|
+ lotattDTO.setLotatt07(snCheckSoForm.getPalletNo());
|
|
|
+ lotattDTO.setLotatt15(snCheckSoForm.getOrderNo());
|
|
|
+ lotattDTO.setLotatt02(snCheckSoForm.getSn());
|
|
|
+ invLocIdSearchFrom.setLotattDTO(lotattDTO);
|
|
|
+ List<InvLotLocIdLotattVO> invLotLocIdLotattVOList = invLotLocIdService.selectInvLocIdLotattList(invLocIdSearchFrom);
|
|
|
+ for (InvLotLocIdLotattVO locIdLotattVO : invLotLocIdLotattVOList) {
|
|
|
+ String lotatt15 = locIdLotattVO.getLotatt15();
|
|
|
+ WmsDocOrderHeader wmsDocOrderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(lotatt15);
|
|
|
+ codeSkuRelationshipSoVO.setOrderNo(wmsDocOrderHeader.getSoReference1());
|
|
|
+ codeSkuRelationshipSoVO.setSku(locIdLotattVO.getSku());
|
|
|
+ codeSkuRelationshipSoVO.setSkuName(locIdLotattVO.getSkuName());
|
|
|
+ codeSkuRelationshipSoVO.setSkuType(locIdLotattVO.getSkuTypeName());
|
|
|
+ codeSkuRelationshipSoVO.setSn(locIdLotattVO.getLotatt02());
|
|
|
codeSkuRelationshipSoVO.setProduct(codeSkuRelationshipVO.isProduct());
|
|
|
- BigDecimal qty = actAllocationDetailsFrom.getQty().subtract(actAllocationDetailsFrom.getPickQty());
|
|
|
+ BigDecimal qty = new BigDecimal(locIdLotattVO.getQty());
|
|
|
codeSkuRelationshipSoVO.setQty(qty.doubleValue());
|
|
|
+ break;
|
|
|
}
|
|
|
- // todo 如果想要返回当前组盘托盘的数量,可能需要传入托盘号
|
|
|
+
|
|
|
+// ActAllocationDetailsFrom query = new ActAllocationDetailsFrom();
|
|
|
+// query.setOrderNo(snCheckSoForm.getOrderNo());
|
|
|
+// query.setLotatt02(snCheckSoForm.getSn());
|
|
|
+// query.setStatus(Constant.ORDER_STS.STS21.getValue());
|
|
|
+// ActAllocationDetailsFrom actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
+// if (actAllocationDetailsFrom == null) {
|
|
|
+// query.setStatus(Constant.ORDER_STS.STS30.getValue());
|
|
|
+// actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
+// }
|
|
|
+// if (actAllocationDetailsFrom == null) {
|
|
|
+// query.setStatus(Constant.ORDER_STS.STS40.getValue());
|
|
|
+// actAllocationDetailsFrom = actAllocationDetailsService.selectActAllocationDetailsInvLotAttByModel(query);
|
|
|
+// }
|
|
|
+// if (actAllocationDetailsFrom != null) {
|
|
|
+// codeSkuRelationshipSoVO.setOrderNo(actAllocationDetailsFrom.getOrderNo());
|
|
|
+// codeSkuRelationshipSoVO.setSku(actAllocationDetailsFrom.getMaterial());
|
|
|
+// codeSkuRelationshipSoVO.setSkuName(actAllocationDetailsFrom.getSkuName());
|
|
|
+// codeSkuRelationshipSoVO.setSkuType(codeSkuRelationshipVO.getSkuType());
|
|
|
+// codeSkuRelationshipSoVO.setSn(actAllocationDetailsFrom.getLotatt02());
|
|
|
+// codeSkuRelationshipSoVO.setProduct(codeSkuRelationshipVO.isProduct());
|
|
|
+// BigDecimal qty = actAllocationDetailsFrom.getQty().subtract(actAllocationDetailsFrom.getPickQty());
|
|
|
+// codeSkuRelationshipSoVO.setQty(qty.doubleValue());
|
|
|
+// }
|
|
|
return codeSkuRelationshipSoVO;
|
|
|
}
|
|
|
|
|
@@ -1515,7 +1542,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// if (header != null && StringUtils.isNotEmpty(header.getOrderNo())) {
|
|
|
// orderNo = header.getOrderNo();
|
|
|
// } else {
|
|
|
- orderNo = idSequenceUtils.generateId("ORDERNO");
|
|
|
+ orderNo = idSequenceUtils.generateId("ORDERNO");
|
|
|
// }
|
|
|
String erpOrderNo = "";
|
|
|
String erpOrderName = "";
|
|
@@ -1555,9 +1582,9 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
WmsDocOrderHeader orderHeader = new WmsDocOrderHeader();
|
|
|
orderHeader.setOrderNo(orderNo); //erp单号
|
|
|
- if (erpOrderList.get(0).getOrderType()=="axmt620"){
|
|
|
+ if (erpOrderList.get(0).getOrderType() == "axmt620") {
|
|
|
orderHeader.setOrderType("BH");
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
orderHeader.setOrderType("ZC");
|
|
|
}
|
|
|
orderHeader.setOrderStatus("00");
|
|
@@ -1611,6 +1638,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
return AjaxResult.success("出库-条码扫描记录表插入成功");
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public AjaxResult modifyAssignmentStockTaskStatus(String orderNo, Long locationId, String palletNo) {
|
|
|
WmsDocOrderHeader wmsDocOrderHeader = wmsDocOrderHeaderService.selectWmsDocOrderHeaderByOrderNo(orderNo);
|
|
@@ -1620,20 +1648,20 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 出库单备货完成,部分出库状态修改出库单出库状态,其余修改分配明细为拣货完成
|
|
|
if (wmsDocOrderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS23.getValue())
|
|
|
|| wmsDocOrderHeader.getOrderStatus().equals(Constant.ORDER_STS.STS98.getValue())) {
|
|
|
- return wmsDocOrderHeaderService.modifyAssignmentStockTaskStatusComplete(orderNo, locationId, palletNo,true);
|
|
|
+ return wmsDocOrderHeaderService.modifyAssignmentStockTaskStatusComplete(orderNo, locationId, palletNo, true);
|
|
|
} else {
|
|
|
return actAllocationDetailsService.modifyAssignmentStockTaskStatusPickingComplete(orderNo, locationId, palletNo);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
- public AjaxResult modifyAssignmentStockTaskStatusComplete(String orderNo, Long locationId, String palletNo,boolean isBH) {
|
|
|
+ public AjaxResult modifyAssignmentStockTaskStatusComplete(String orderNo, Long locationId, String palletNo, boolean isBH) {
|
|
|
InvLocIdSearchFrom invLocIdSearchFrom = new InvLocIdSearchFrom();
|
|
|
- invLocIdSearchFrom.setLocationNo(locationId.toString());
|
|
|
+// invLocIdSearchFrom.setLocationId(Constant.LOC_MIDDLE_CACHE.toString());
|
|
|
invLocIdSearchFrom.setLotatt07(palletNo);
|
|
|
if (isBH) {
|
|
|
invLocIdSearchFrom.setLotatt14(orderNo);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
invLocIdSearchFrom.setLotatt15(orderNo);
|
|
|
}
|
|
|
List<InvLotLocIdLotattVO> invLotLocIdLotattVOS = invLotLocIdService.selectInvLocIdLotattList(invLocIdSearchFrom);
|
|
@@ -1673,10 +1701,10 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public AjaxResult modifyTheTallyStatusInTheWarehouse(String orderNo,Long locationId,String palletNo) {
|
|
|
+ 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);
|
|
|
+ return wmsDocOrderHeaderService.modifyAssignmentStockTaskStatusComplete(orderNo, locationId, palletNo, false);
|
|
|
}
|
|
|
|
|
|
// // 分配明细为拣货完成 库内理货不生成分配明细
|
|
@@ -1738,7 +1766,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 明细
|
|
|
List<WmsDocOrderDetails> wmsDocOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByOrderNo(orderNo);
|
|
|
for (WmsDocOrderDetails wmsDocOrderDetail : wmsDocOrderDetails) {
|
|
|
- if(qty.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ if (qty.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
break;
|
|
|
}
|
|
|
// 部分分配,完全分配
|
|
@@ -1755,7 +1783,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
detailsUpdate.setOrderLineNo(wmsDocOrderDetail.getOrderLineNo());
|
|
|
if (qty.compareTo(toQty) == 0) {
|
|
|
detailsUpdate.setQtySoftAllocated(wmsDocOrderDetail.getQtyAllocated());
|
|
|
- if(wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
+ if (wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|
|
@@ -1763,7 +1791,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
} else if (qty.compareTo(toQty) == 1) {
|
|
|
qty = qty.subtract(toQty);
|
|
|
detailsUpdate.setQtySoftAllocated(wmsDocOrderDetail.getQtyAllocated());
|
|
|
- if(wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
+ if (wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|
|
@@ -1801,7 +1829,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 明细
|
|
|
List<WmsDocOrderDetails> wmsDocOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByOrderNo(orderNo);
|
|
|
for (WmsDocOrderDetails wmsDocOrderDetail : wmsDocOrderDetails) {
|
|
|
- if(qty.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ if (qty.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
break;
|
|
|
}
|
|
|
// 部分分配,完全分配
|
|
@@ -1818,7 +1846,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
detailsUpdate.setOrderLineNo(wmsDocOrderDetail.getOrderLineNo());
|
|
|
if (qty.compareTo(toQty) == 0) {
|
|
|
detailsUpdate.setQtySoftAllocated(wmsDocOrderDetail.getQtyAllocated());
|
|
|
- if(wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
+ if (wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|
|
@@ -1826,7 +1854,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
} else if (qty.compareTo(toQty) == 1) {
|
|
|
qty = qty.subtract(toQty);
|
|
|
detailsUpdate.setQtySoftAllocated(wmsDocOrderDetail.getQtyAllocated());
|
|
|
- if(wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
+ if (wmsDocOrderDetail.getLineStatus().equals(Constant.ORDER_STS.STS20.getValue())) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|
|
@@ -1861,7 +1889,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 明细
|
|
|
List<WmsDocOrderDetails> wmsDocOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByOrderNo(orderNo);
|
|
|
for (WmsDocOrderDetails wmsDocOrderDetail : wmsDocOrderDetails) {
|
|
|
- if(qty.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ if (qty.compareTo(BigDecimal.ZERO) == 0) {
|
|
|
break;
|
|
|
}
|
|
|
// 创建状态,部分分配
|
|
@@ -1880,12 +1908,12 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 如果分配数和备货数一样,备货完成
|
|
|
if (detailsUpdate.getQtyAllocated().compareTo(detailsUpdate.getQtySoftAllocated()) == 0) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS20.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|
|
|
break;
|
|
|
- // 完全分配
|
|
|
+ // 完全分配
|
|
|
} else if (qty.compareTo(toQty) == 1) {
|
|
|
qty = qty.subtract(toQty);
|
|
|
detailsUpdate.setQtyAllocated(wmsDocOrderDetail.getQtyAllocated().add(toQty));
|
|
@@ -1893,7 +1921,7 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
|
|
|
// 如果分配数和备货数一样,备货完成
|
|
|
if (detailsUpdate.getQtyAllocated().compareTo(detailsUpdate.getQtySoftAllocated()) == 0) {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS23.getValue());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
detailsUpdate.setLineStatus(Constant.ORDER_STS.STS20.getValue());
|
|
|
}
|
|
|
wmsDocOrderDetailsMapper.updateWmsDocOrderDetails(detailsUpdate);
|