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 d08580bf..c53810dc 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 @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.ruoyi.app.domain.*; import com.ruoyi.app.mapper.AppLocationMapper; import com.ruoyi.app.mapper.AppPmsOrderOutMapper; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.quartz.domain.app.*; import com.ruoyi.app.service.*; import com.ruoyi.common.utils.StringUtils; @@ -204,138 +205,99 @@ public class TaskExecutor { // 检查是否存在库存 AppStock appStockCheck = new AppStock(); appStockCheck.setVehicleId(task.getVehicleId()); + appStockCheck.setStockStatus(1); List appStocks = appStockService.selectAppStockList(appStockCheck); - if (appStocks == null) { - continue; - } - if (!appStocks.isEmpty()) { // 存在库存,可能是回库任务 + if (!CollectionUtils.isEmpty(appStocks)) { // 存在库存,可能是回库任务 int updateLocationWithVehicleId = appStockService.updateLocationWithVehicleId(task.getVehicleId(), task.getDestination()); logger.info("重新回库更新库存成功,更新条数:{}", updateLocationWithVehicleId); - AppTask updateRemark = new AppTask(); - updateRemark.setTaskId(task.getTaskId()); - updateRemark.setRemark("已更新库存库位"); - appTaskService.updateAppTask(updateRemark); // 更新备注信息 + } else { + // 从码盘表内拉出数据 + AppPendingStorage appPendingStorage = new AppPendingStorage(); + appPendingStorage.setVehicleNo(task.getVehicleId()); + List appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage); + if (!CollectionUtils.isEmpty(appPendingStorages)) { + for (AppPendingStorage pendingStorage : appPendingStorages) { + // 插入库存 + String stockId = IdUtils.fastSimpleUUID(); + AppStock appStock = new AppStock(); + appStock.setStockId(stockId); + appStock.setListId(pendingStorage.getListId()); + appStock.setVehicleId(pendingStorage.getVehicleNo()); + appStock.setLocationId(task.getDestination()); + appStock.setGoodsId(pendingStorage.getGoodsId()); + appStock.setGoodsName(pendingStorage.getGoodsDesc()); + appStock.setGoodsUnit(pendingStorage.getUnit()); + appStock.setProviderId("-"); + appStock.setProviderName("-"); + appStock.setRemainNum(pendingStorage.getGoodsNum()); + appStock.setOriginNum(pendingStorage.getGoodsNum()); + appStock.setBatchNo("-"); + appStock.setInvAge(0L); + appStock.setGoodsStatus(0); + appStock.setStockStatus(0); + appStock.setCreateTime(new Date()); + appStock.setUpdateTime(new Date()); + appStock.setCreateUser(pendingStorage.getCreatePerson()); + appStock.setUpdateBy(pendingStorage.getCreatePerson()); + appStock.setRemark(""); + int insertStockResult = appStockService.insertAppStock(appStock); + logger.info("插入库存:{},结果:{}", JSON.toJSONString(appStock), insertStockResult); + if (insertStockResult > 0) { + appPendingStorageService.deleteAppPendingStorageByRecordId(pendingStorage.getRecordId()); // 删除码盘数据 + // 如果是PMS入库则发送PMS入库完成 + if (pendingStorage.getStorageType().compareTo(2) == 0) { + PmsInFeedBack pmsInFeedBack = new PmsInFeedBack(); + PmsInComplete pmsInComplete = new PmsInComplete(); + pmsInComplete.setCrmOrder(stockId); + pmsInComplete.setSapCode("2290"); + pmsInComplete.setInArea("TPLK"); + pmsInComplete.setInLocation("6001"); + pmsInComplete.setOutArea("TPHC"); + pmsInComplete.setOutLocation("6001"); + pmsInFeedBack.setHeaderInfo(pmsInComplete); + List pmsInCompleteDetails = new ArrayList<>(); + PmsInCompleteDetail pmsInCompleteDetail = new PmsInCompleteDetail(); + pmsInCompleteDetail.setMaterialNo(pendingStorage.getGoodsId()); + pmsInCompleteDetail.setMaterialName(pendingStorage.getGoodsDesc()); + pmsInCompleteDetail.setAmount(pendingStorage.getGoodsNum().intValue()); + pmsInCompleteDetail.setUnit(pendingStorage.getUnit()); + pmsInCompleteDetail.setBarcode(pendingStorage.getGoodsCode()); + pmsInCompleteDetails.add(pmsInCompleteDetail); + pmsInFeedBack.setDetailList(pmsInCompleteDetails); + String url = sysConfigService.selectConfigByKey("pms.intComplete"); + if (StringUtils.isEmpty(url)) { + return; + } + PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class); + logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes)); + } + } + + } + }else{ + //空托入库 + String stockId = IdUtils.fastSimpleUUID(); + AppStock appStock = new AppStock(); + appStock.setStockId(stockId); + appStock.setVehicleId(task.getVehicleId()); + appStock.setLocationId(task.getDestination()); + appStock.setGoodsId("0"); + appStock.setGoodsStatus(0); + appStock.setStockStatus(0); + appStock.setCreateTime(new Date()); + appStock.setUpdateTime(new Date()); + appStock.setCreateUser(SecurityUtils.getUsername()); + appStock.setUpdateBy(SecurityUtils.getUsername()); + appStock.setRemark("空托入库"); + appStockService.insertAppStock(appStock); + } + AppTaskBak appTaskBak = new AppTaskBak(); - appTaskBak.setTaskId(task.getTaskId()); - appTaskBak.setTaskStatus(task.getTaskStatus()); - appTaskBak.setRemark(updateRemark.getRemark()); - appTaskBak.setTaskType(task.getTaskType()); - appTaskBak.setTaskPriority(task.getTaskPriority()); - appTaskBak.setVehicleId(task.getVehicleId()); - appTaskBak.setOrigin(task.getOrigin()); - appTaskBak.setDestination(task.getDestination()); - appTaskBak.setWcsTaskId(task.getWcsTaskId()); - appTaskBak.setFinishTime(task.getFinishTime()); - appTaskBak.setGoodsId(task.getGoodsId()); - appTaskBak.setOpNum(task.getOpNum()); - appTaskBak.setStockNum(task.getStockNum()); - appTaskBak.setOpUser(task.getOpUser()); - appTaskBak.setPreTask(task.getPreTask()); + BeanUtils.copyProperties(task, appTaskBak); logger.info("入库任务数据归档成功(回库)。{}", JSON.toJSONString(appTaskBak)); appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档 appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 - return; } - // 从码盘表内拉出数据 - AppPendingStorage appPendingStorage = new AppPendingStorage(); - appPendingStorage.setVehicleNo(task.getVehicleId()); - List appPendingStorages = appPendingStorageService.selectAppPendingStorageList(appPendingStorage); - if (appPendingStorages == null) { - return; - } - if (appPendingStorages.isEmpty()) { - AppTask updateRemark = new AppTask(); - updateRemark.setTaskId(task.getTaskId()); - updateRemark.setRemark("该载具似乎未进行过码盘"); - appTaskService.updateAppTask(updateRemark); // 更新备注信息 - AppTaskBak appTaskBak = new AppTaskBak(); - BeanUtils.copyProperties(task, appTaskBak); - appTaskBakService.insertAppTaskBak(appTaskBak); // 将任务数据归档 - appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 - return; - } - for (AppPendingStorage pendingStorage : appPendingStorages) { - // 插入库存 - String stockId = IdUtils.fastSimpleUUID(); - AppStock appStock = new AppStock(); - appStock.setStockId(stockId); - appStock.setListId(pendingStorage.getListId()); - appStock.setVehicleId(pendingStorage.getVehicleNo()); - appStock.setLocationId(task.getDestination()); - appStock.setGoodsId(pendingStorage.getGoodsId()); - appStock.setGoodsName(pendingStorage.getGoodsDesc()); - appStock.setGoodsUnit(pendingStorage.getUnit()); - appStock.setProviderId("-"); - appStock.setProviderName("-"); - appStock.setRemainNum(pendingStorage.getGoodsNum()); - appStock.setOriginNum(pendingStorage.getGoodsNum()); - appStock.setBatchNo("-"); - appStock.setInvAge(0L); - appStock.setGoodsStatus(0); - appStock.setStockStatus(0); - appStock.setCreateTime(new Date()); - appStock.setUpdateTime(new Date()); - appStock.setCreateUser(pendingStorage.getCreatePerson()); - appStock.setUpdateBy(pendingStorage.getCreatePerson()); - appStock.setRemark(""); - int insertStockResult = appStockService.insertAppStock(appStock); - logger.info("插入库存:{},结果:{}", JSON.toJSONString(appStock), insertStockResult); - if(insertStockResult > 0) { - appPendingStorageService.deleteAppPendingStorageByRecordId(pendingStorage.getRecordId()); // 删除码盘数据 - // 如果是PMS入库则发送PMS入库完成 - if(pendingStorage.getStorageType().compareTo(2) == 0) { - PmsInFeedBack pmsInFeedBack = new PmsInFeedBack(); - PmsInComplete pmsInComplete = new PmsInComplete(); - pmsInComplete.setCrmOrder(stockId); - pmsInComplete.setSapCode("2290"); - pmsInComplete.setInArea("TPLK"); - pmsInComplete.setInLocation("6001"); - pmsInComplete.setOutArea("TPHC"); - pmsInComplete.setOutLocation("6001"); - pmsInFeedBack.setHeaderInfo(pmsInComplete); - List pmsInCompleteDetails = new ArrayList<>(); - PmsInCompleteDetail pmsInCompleteDetail = new PmsInCompleteDetail(); - pmsInCompleteDetail.setMaterialNo(pendingStorage.getGoodsId()); - pmsInCompleteDetail.setMaterialName(pendingStorage.getGoodsDesc()); - pmsInCompleteDetail.setAmount(pendingStorage.getGoodsNum().intValue()); - pmsInCompleteDetail.setUnit(pendingStorage.getUnit()); - pmsInCompleteDetail.setBarcode(pendingStorage.getGoodsCode()); - pmsInCompleteDetails.add(pmsInCompleteDetail); - pmsInFeedBack.setDetailList(pmsInCompleteDetails); - String url = sysConfigService.selectConfigByKey("pms.intComplete"); - if (StringUtils.isEmpty(url)) { - return; - } - PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class); - logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes)); - } - } - - } - AppTask updateRemark = new AppTask(); - updateRemark.setTaskId(task.getTaskId()); - updateRemark.setRemark("已插入库存"); - appTaskService.updateAppTask(updateRemark); // 更新备注信息 - AppTaskBak appTaskBak = new AppTaskBak(); - appTaskBak.setTaskId(task.getTaskId()); - appTaskBak.setTaskStatus(task.getTaskStatus()); - appTaskBak.setRemark(updateRemark.getRemark()); - appTaskBak.setTaskType(task.getTaskType()); - appTaskBak.setTaskPriority(task.getTaskPriority()); - appTaskBak.setVehicleId(task.getVehicleId()); - appTaskBak.setOrigin(task.getOrigin()); - appTaskBak.setDestination(task.getDestination()); - appTaskBak.setWcsTaskId(task.getWcsTaskId()); - appTaskBak.setFinishTime(task.getFinishTime()); - appTaskBak.setGoodsId(task.getGoodsId()); - appTaskBak.setOpNum(task.getOpNum()); - appTaskBak.setStockNum(task.getStockNum()); - appTaskBak.setOpUser(task.getOpUser()); - appTaskBak.setPreTask(task.getPreTask()); - logger.info("入库任务数据归档成功。{}", JSON.toJSONString(appTaskBak)); - appTaskBakService.insertAppTaskBak(appTaskBak);// 数据归档 - appTaskService.deleteAppTaskByTaskId(task.getTaskId()); // 删除旧数据 - return; } } diff --git a/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml b/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml index babf2c6d..2134231d 100644 --- a/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/app/AppStockMapper.xml @@ -175,7 +175,7 @@ update app_stock set location_id = #{newLocation} where location_id = #{oldLocation} - update app_stock set location_id = #{location} where vehicle_id = #{vehicleId} + update app_stock set location_id = #{location} and stock_status = 0 where vehicle_id = #{vehicleId}