|
@@ -169,10 +169,8 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
|
*/
|
|
|
@Override
|
|
|
public AjaxResult move(InvLotLocIdMoveForm invLotLocIdMoveForm) {
|
|
|
- //TODO 根据托盘号查询托盘绑定的库存位置移动到目标库位
|
|
|
String locationFrom = invLotLocIdMoveForm.getLocationFrom();
|
|
|
String locationTo = invLotLocIdMoveForm.getLocationTo();
|
|
|
- String isCallCar = invLotLocIdMoveForm.getIsCallCar(); // 是否叫车 不叫车直接移动库存
|
|
|
String reason = invLotLocIdMoveForm.getReason();
|
|
|
String updateBy = invLotLocIdMoveForm.getUpdateBy();
|
|
|
Long warehouseId = invLotLocIdMoveForm.getWarehouseId();
|
|
@@ -206,6 +204,50 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
|
|
|
return AjaxResult.success("下发任务成功!");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public AjaxResult moveDirect(InvLotLocIdMoveForm invLotLocIdMoveForm) {
|
|
|
+ String locationFrom = invLotLocIdMoveForm.getLocationFrom();
|
|
|
+ String locationTo = invLotLocIdMoveForm.getLocationTo();
|
|
|
+ String reason = invLotLocIdMoveForm.getReason();
|
|
|
+ String updateBy = invLotLocIdMoveForm.getUpdateBy();
|
|
|
+ Long warehouseId = invLotLocIdMoveForm.getWarehouseId();
|
|
|
+ BaseLocationInfo baseLocationFrom = null;
|
|
|
+ BaseLocationInfo baseLocationTo = null;
|
|
|
+
|
|
|
+ // 验证起始库位
|
|
|
+ Boolean isIdleFrom = baseLocationInfoService.verifyLocationIsIdle(locationFrom, warehouseId);
|
|
|
+ if (!isIdleFrom) {
|
|
|
+ return AjaxResult.error("起始库位需要空闲状态!");
|
|
|
+ }
|
|
|
+ // 验证目标库位
|
|
|
+ Boolean isIdle = baseLocationInfoService.verifyLocationIsIdle(locationTo, warehouseId);
|
|
|
+ if (!isIdle) {
|
|
|
+ return AjaxResult.error("目标库位需要空闲状态!");
|
|
|
+ }
|
|
|
+ Boolean isInStock = baseLocationInfoService.verifyLocationIsInStock(locationTo, warehouseId);
|
|
|
+ if (isInStock) {
|
|
|
+ return AjaxResult.error("目标库位有货!");
|
|
|
+ }
|
|
|
+ // 起始和目标库位
|
|
|
+ baseLocationFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationFrom, warehouseId);
|
|
|
+ baseLocationTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationTo, warehouseId);
|
|
|
+
|
|
|
+ // 转移库存
|
|
|
+ int stockTransfer = this.stockTransfer(baseLocationFrom.getId(), baseLocationTo.getId());
|
|
|
+ if (stockTransfer <= 0) {
|
|
|
+ return AjaxResult.success("库存转移失败!");
|
|
|
+ }
|
|
|
+ // 更新起始库位空闲无货
|
|
|
+ baseLocationInfoService.updateLocationIdleAndEmpty(baseLocationFrom.getId(), warehouseId, updateBy);
|
|
|
+ // 更新目标库位空闲有货
|
|
|
+ baseLocationInfoService.updateLocationIdleAndNoEmpty(baseLocationFrom.getId(), warehouseId, updateBy);
|
|
|
+
|
|
|
+
|
|
|
+ // todo 事务
|
|
|
+
|
|
|
+ return AjaxResult.success("操作成功!");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public AjaxResult clear(String locationId, Long warehouseId, String updateBy) {
|
|
|
Long id; // 库位ID
|