no message
parent
013e0a56f0
commit
3a900f3cb5
|
|
@ -510,29 +510,16 @@ public class StockServiceImpl implements StockService {
|
||||||
/**验证任务*/
|
/**验证任务*/
|
||||||
Task task = validateTask(taskId, orderNumber);
|
Task task = validateTask(taskId, orderNumber);
|
||||||
|
|
||||||
|
/**工单*/
|
||||||
Pick pick = task.getPickDetail().getPick();
|
Pick pick = task.getPickDetail().getPick();
|
||||||
|
|
||||||
/**验证目标容器*/
|
/**验证目标容器*/
|
||||||
Stock dstStock = validatedstStock(dstStockCode);
|
Stock dstStock = validatedstStock(pick, dstStockCode);
|
||||||
|
|
||||||
|
|
||||||
/**待拣货数量*/
|
/**待拣货数量*/
|
||||||
double moveQty = task.getPlanQty();
|
double moveQty = task.getPlanQty();
|
||||||
|
|
||||||
if (pick.getStock() == null) {
|
|
||||||
List<Inventory> inventoryList = inventoryRepository.findByStock(dstStock.getId());
|
|
||||||
if (!inventoryList.isEmpty()) {
|
|
||||||
throw new BadRequestException(dstStock + "目标托盘已绑定其他出库单,请更换其它的托盘!");
|
|
||||||
}
|
|
||||||
pick.setStock(dstStock);
|
|
||||||
pickRepository.save(pick);
|
|
||||||
} else {
|
|
||||||
Stock oldStock = pick.getStock();
|
|
||||||
if (!dstStockCode.equals(pick.getStock().getCode())) {
|
|
||||||
throw new BadRequestException(pick.getGdCode() + "工单只能放入同一个货架!" + "请放入" + oldStock.getCode() + "货架!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**库存移位*/
|
/**库存移位*/
|
||||||
moveInventory(task, dstStock, moveQty);
|
moveInventory(task, dstStock, moveQty);
|
||||||
|
|
||||||
|
|
@ -659,7 +646,7 @@ public class StockServiceImpl implements StockService {
|
||||||
public String stockMsg() {
|
public String stockMsg() {
|
||||||
try {
|
try {
|
||||||
WebSocketServer.sendInfo(new SocketMsg("容器未解绑,请及时处理!", MsgType.INFO), "stock");
|
WebSocketServer.sendInfo(new SocketMsg("容器未解绑,请及时处理!", MsgType.INFO), "stock");
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return "ok";
|
return "ok";
|
||||||
|
|
@ -680,29 +667,30 @@ public class StockServiceImpl implements StockService {
|
||||||
Task task = taskService.toEntity(taskDto);//Dto转实体
|
Task task = taskService.toEntity(taskDto);//Dto转实体
|
||||||
if (orderNumber.equals(task.getItemKey().getOrderNumber())) {
|
if (orderNumber.equals(task.getItemKey().getOrderNumber())) {
|
||||||
return task;
|
return task;
|
||||||
}else{
|
} else {
|
||||||
//重新分配
|
//重新分配
|
||||||
return reassignTask(task, orderNumber);
|
return reassignTask(task, orderNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重新分配任务
|
* 重新分配任务
|
||||||
*/
|
*/
|
||||||
private Task reassignTask(Task task, String orderNumber) {
|
private Task reassignTask(Task task, String orderNumber) {
|
||||||
Inventory dstinventory = inventoryRepository.findByOrderNumber(orderNumber,task.getSrcStockCode());
|
Inventory dstinventory = inventoryRepository.findByOrderNumber(orderNumber, task.getSrcStockCode());
|
||||||
if(dstinventory==null){
|
if (dstinventory == null) {
|
||||||
throw new BadRequestException(orderNumber+"箱号无库存,请更换箱号!");
|
throw new BadRequestException(orderNumber + "箱号无库存,请更换箱号!");
|
||||||
}
|
}
|
||||||
double kyQty = dstinventory.getQuantity()-dstinventory.getQueuedQty();
|
double kyQty = dstinventory.getQuantity() - dstinventory.getQueuedQty();
|
||||||
if(kyQty<task.getPlanQty()){
|
if (kyQty < task.getPlanQty()) {
|
||||||
throw new BadRequestException("库存数量不足,请更换箱号!");
|
throw new BadRequestException("库存数量不足,请更换箱号!");
|
||||||
}
|
}
|
||||||
Inventory srcinventory = inventoryRepository.findById(task.getInvId()).get();
|
Inventory srcinventory = inventoryRepository.findById(task.getInvId()).get();
|
||||||
srcinventory.setQueuedQty(srcinventory.getQueuedQty()-task.getPlanQty());
|
srcinventory.setQueuedQty(srcinventory.getQueuedQty() - task.getPlanQty());
|
||||||
inventoryRepository.save(srcinventory);
|
inventoryRepository.save(srcinventory);
|
||||||
dstinventory.setQueuedQty(dstinventory.getQueuedQty()+task.getPlanQty());
|
dstinventory.setQueuedQty(dstinventory.getQueuedQty() + task.getPlanQty());
|
||||||
inventoryRepository.save(dstinventory);
|
inventoryRepository.save(dstinventory);
|
||||||
task.setInvId(dstinventory.getId());
|
task.setInvId(dstinventory.getId());
|
||||||
task.setItemKey(dstinventory.getItemKey());
|
task.setItemKey(dstinventory.getItemKey());
|
||||||
|
|
@ -717,7 +705,7 @@ public class StockServiceImpl implements StockService {
|
||||||
* @param dstStockCode
|
* @param dstStockCode
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Stock validatedstStock(String dstStockCode) {
|
private Stock validatedstStock(Pick pick, String dstStockCode) {
|
||||||
if (StringUtils.isEmpty(dstStockCode)) {
|
if (StringUtils.isEmpty(dstStockCode)) {
|
||||||
throw new BadRequestException("请扫描目标托盘号!");
|
throw new BadRequestException("请扫描目标托盘号!");
|
||||||
}
|
}
|
||||||
|
|
@ -731,6 +719,16 @@ public class StockServiceImpl implements StockService {
|
||||||
if (dstStock.getPoint() == null) {
|
if (dstStock.getPoint() == null) {
|
||||||
throw new BadRequestException(dstStockCode + "目标托盘没有关联点位!");
|
throw new BadRequestException(dstStockCode + "目标托盘没有关联点位!");
|
||||||
}
|
}
|
||||||
|
if (pick.getStock() == null) {
|
||||||
|
List<Inventory> inventoryList = inventoryRepository.findByStock(dstStock.getId());
|
||||||
|
if (!inventoryList.isEmpty()) {
|
||||||
|
throw new BadRequestException(dstStock + "目标托盘已绑定其他出库单,请更换其它的托盘!");
|
||||||
|
}
|
||||||
|
pick.setStock(dstStock);
|
||||||
|
pickRepository.save(pick);
|
||||||
|
} else if (!dstStockCode.equals(pick.getStock().getCode())) {
|
||||||
|
throw new BadRequestException(pick.getGdCode() + "工单只能放入同一个货架! 请放入" + pick.getStock().getCode() + "货架!");
|
||||||
|
}
|
||||||
return dstStock;
|
return dstStock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue