diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java index e4b9e3bb..d8f7349d 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/TaskExecutor.java @@ -158,6 +158,13 @@ public class TaskExecutor { @Transactional public void completeWmsTask() { + completeNormalTask(); + } + + /** + * 完成通常任务 + */ + private void completeNormalTask() { // 查找 Wms 任务 AppTask appTask = new AppTask(); appTask.setTaskStatus(5); @@ -166,7 +173,7 @@ public class TaskExecutor { return; } for (AppTask task : appTasks) { - if (task.getTaskType().compareTo(1) == 0) { + if (task.getTaskType().compareTo(1) == 0) { // 入库任务 // 从码盘表内拉出数据 AppPendingStorage appPendingStorage = new AppPendingStorage(); appPendingStorage.setVehicleNo(task.getVehicleId()); @@ -238,11 +245,46 @@ public class TaskExecutor { appTaskBak.setStockNum(task.getStockNum()); appTaskBak.setOpUser(task.getOpUser()); appTaskBak.setPreTask(task.getPreTask()); - logger.info("数据归档成功。{}", JSON.toJSONString(appTaskBak)); + logger.info("入库任务数据归档成功。{}", JSON.toJSONString(appTaskBak)); appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档 appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 - + return; } + if (task.getTaskType().compareTo(2) == 0) { // 出库任务 + if(task.getOpNum().compareTo(task.getStockNum()) >= 0) { + // 整出 + AppStock appStock = new AppStock(); + appStock.setGoodsId(task.getGoodsId()); + appStock.setVehicleId(task.getVehicleId()); + List appStocks = appStockService.selectAppStockList(appStock); + if(appStocks == null) { + return; + } + for (AppStock stock : appStocks) { + appStockService.deleteAppStockByStockId(stock.getStockId()); + logger.info("删除库存:{}", JSON.toJSONString(stock)); + } + } + // 如果小于的话就不做处理 + return; + } + if (task.getTaskType().compareTo(9) == 0) { // 移库任务 + int updateNewLocation = appStockService.updateNewLocation(task.getOrigin(), task.getDestination()); + if(updateNewLocation > 0) { + AppTask updateRemark = new AppTask(); + updateRemark.setTaskId(task.getTaskId()); + updateRemark.setRemark("移库完成"); + appTaskService.updateAppTask(updateRemark); // 更新备注信息 + AppTaskBak appTaskBak = new AppTaskBak(); + BeanUtils.copyProperties(task, appTaskBak); + logger.info("移库任务数据归档成功。{}", JSON.toJSONString(appTaskBak)); + appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档 + appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 + } + return; + } + + } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppStockMapper.java b/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppStockMapper.java index 9c8baf1f..8a77708d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppStockMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/mapper/AppStockMapper.java @@ -59,4 +59,6 @@ public interface AppStockMapper * @return 结果 */ public int deleteAppStockByStockIds(String[] stockIds); + + public int updateNewLocation(String oldLocation, String newLocation); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppStockService.java b/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppStockService.java index d59c6ea8..76141ff7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppStockService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/service/IAppStockService.java @@ -59,4 +59,7 @@ public interface IAppStockService * @return 结果 */ public int deleteAppStockByStockId(String stockId); + + + public int updateNewLocation(String oldLocation, String newLocation); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppStockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppStockServiceImpl.java index c7e8da6b..0a4019fa 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppStockServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/app/service/impl/AppStockServiceImpl.java @@ -93,4 +93,9 @@ public class AppStockServiceImpl implements IAppStockService { return appStockMapper.deleteAppStockByStockId(stockId); } + + @Override + public int updateNewLocation(String oldLocation, String newLocation) { + return appStockMapper.updateNewLocation(oldLocation,newLocation); + } } diff --git a/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml b/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml index 6c12c76d..39bd4693 100644 --- a/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml @@ -127,6 +127,9 @@ where stock_id = #{stockId} + + update app_stock set location_id = #{newLocation} where location_id = #{oldLocation} + delete from app_stock where stock_id = #{stockId} @@ -138,4 +141,4 @@ #{stockId} - \ No newline at end of file +