From 5c7c8f712c0741ed1bf14ecdbfd622bf950983d3 Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Mon, 18 Dec 2023 11:32:36 +0800 Subject: [PATCH] 增加错误日志 --- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCheckoutTask.java | 1 + huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateAgvTask.java | 1 + huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateWaveConfigTask.java | 20 ++++++++++++-------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendAgvTask.java | 2 +- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendWcsTask.java | 3 ++- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/BackUpDataTask.java | 2 ++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java | 3 +++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java | 3 +++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryAgeAlarmTask.java | 22 ++++++++++++---------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryLevelAlarmTask.java | 24 +++++++++++++----------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java | 12 ++++-------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTryTask.java | 12 ++++-------- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java | 6 +++--- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++++------------------------------------------- 14 files changed, 102 insertions(+), 93 deletions(-) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCheckoutTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCheckoutTask.java index 0e424b9..f131aca 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCheckoutTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCheckoutTask.java @@ -73,6 +73,7 @@ public class AutoCheckoutTask implements Job { } } taskHeaderService.createCheckOutTask(container.getCode(), toPort, warehouseCode); + log.info(String.format(" AutoCheckoutTask 执行任务! 容器编码:" + container.getCode())); } } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateAgvTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateAgvTask.java index 2d64abd..c3c605a 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateAgvTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateAgvTask.java @@ -58,6 +58,7 @@ public class AutoCreateAgvTask implements Job { agvTask.setToPort(toPortCode); agvTask.setPriority(10); Result result = agvTaskService.addAgvTask(agvTask, warehouseCode); + log.info(String.format("AutoCreateAgvTask 生成AGV任务执行:" + result.getMessage())); if (result.isSuccess()) { int taskHeaderId = taskHeader.getId(); taskHeader = new TaskHeader(); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateWaveConfigTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateWaveConfigTask.java index f1e0878..a14dcac 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateWaveConfigTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoCreateWaveConfigTask.java @@ -1,22 +1,25 @@ package org.jeecg.modules.wms.monitor.job; -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.extern.slf4j.Slf4j; +import java.util.List; + +import javax.annotation.Resource; + +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfig; import org.jeecg.modules.wms.config.waveConfig.entity.WaveConfigDetail; import org.jeecg.modules.wms.config.waveConfig.service.IWaveConfigDetailService; import org.jeecg.modules.wms.config.waveConfig.service.IWaveConfigService; import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader; -import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService; import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService; import org.jeecg.utils.constant.QuantityConstant; import org.quartz.*; -import javax.annotation.Resource; -import java.util.List; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; + +import lombok.extern.slf4j.Slf4j; @Slf4j @PersistJobDataAfterExecution @@ -34,6 +37,7 @@ public class AutoCreateWaveConfigTask implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.info(String.format(" AutoCreateWaveConfigTask 执行任务! 时间:" + DateUtils.getTimestamp())); LambdaQueryWrapper<WaveConfig> waveConfigLambdaQueryWrapper = Wrappers.lambdaQuery(); waveConfigLambdaQueryWrapper.eq(WaveConfig::getIsEnable, QuantityConstant.WAVE_Config_START); List<WaveConfig> waveConfigList = waveConfigService.list(waveConfigLambdaQueryWrapper); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendAgvTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendAgvTask.java index 8b96466..25d14a1 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendAgvTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendAgvTask.java @@ -40,7 +40,7 @@ public class AutoSendAgvTask implements Job { try { agvTaskService.sendAgvTaskToAcs(agvTask.getId()); } catch (Exception e) { - log.error("下发AGV任务执行异常,agvTask:{}", JSON.toJSONString(agvTask), e); + log.error("AutoSendAgvTask 下发AGV任务执行异常,agvTask:{}", JSON.toJSONString(agvTask), e); } } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendWcsTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendWcsTask.java index 8d94e34..84ee207 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendWcsTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/AutoSendWcsTask.java @@ -44,7 +44,7 @@ public class AutoSendWcsTask implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { - log.info(String.format(" WcsTask 执行任务! 时间:" + DateUtils.getTimestamp())); + log.info(String.format(" AutoSendWcsTask 执行任务! 时间:" + DateUtils.getTimestamp())); LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); taskHeaderLambdaQueryWrapper.eq(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_BUILD).eq(TaskHeader::getAgvTaskId, 0) .ge(TaskHeader::getCreateTime, DateUtil.offsetDay(new Date(), -180)).orderByAsc(TaskHeader::getCreateTime); @@ -61,6 +61,7 @@ public class AutoSendWcsTask implements Job { ? QuantityConstant.DEFAULT_ZONE_CODE : containerZoneCodeMap.get(taskHeader.getContainerCode()))); // 循环 groupedTaskHeaders 中的每个键值对 groupeTaskHeaders.forEach((zoneCode, taskHeaders) -> { + log.info(String.format("AutoSendWcsTask 下发任务执行" + taskHeaders)); huahengMultiHandlerService.sendTaskToWcs(taskHeaders, taskHeaders.get(0).getWarehouseCode(), zoneCode); }); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/BackUpDataTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/BackUpDataTask.java index e9045c0..384c44d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/BackUpDataTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/BackUpDataTask.java @@ -54,7 +54,9 @@ public class BackUpDataTask implements Job { Thread.sleep(1000); } } catch (Exception e) { + log.info(String.format(" BackUpDataTask 任务执行异常 " + e)); e.printStackTrace(); } + log.info(String.format(" BackUpDataTask 完成任务! 时间:" + DateUtils.getTimestamp())); } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java index 8052792..d6e5154 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTask.java @@ -4,6 +4,7 @@ import java.util.List; import javax.annotation.Resource; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; @@ -44,6 +45,7 @@ public class ErpTask implements Job { LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_COMPLETED).isNotNull(ReceiptHeader::getReferCode); List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderLambdaQueryWrapper); + log.info(String.format(" ErpTask 执行任务! receiptHeaderList :" + receiptHeaderList + "时间" + DateUtils.getTimestamp())); for (ReceiptHeader receiptHeader : receiptHeaderList) { try { huahengMultiHandlerService.backReceipt(receiptHeader); @@ -54,6 +56,7 @@ public class ErpTask implements Job { LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED).isNotNull(ShipmentHeader::getReferCode); List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderLambdaQueryWrapper); + log.info(String.format(" ErpTask 执行任务! shipmentHeaderList :" + shipmentHeaderList + "时间" + DateUtils.getTimestamp())); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { try { huahengMultiHandlerService.backShipment(shipmentHeader); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java index 46db051..a808f6f 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/ErpTryTask.java @@ -4,6 +4,7 @@ import java.util.List; import javax.annotation.Resource; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.framework.service.IHuahengMultiHandlerService; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; @@ -42,6 +43,7 @@ public class ErpTryTask implements Job { LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_RETURN_ERROR).isNotNull(ReceiptHeader::getReferCode); List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptHeaderLambdaQueryWrapper); + log.info(String.format(" ErpTryTask 执行任务! receiptHeaderList :" + receiptHeaderList + "时间" + DateUtils.getTimestamp())); for (ReceiptHeader receiptHeader : receiptHeaderList) { try { huahengMultiHandlerService.backReceipt(receiptHeader); @@ -52,6 +54,7 @@ public class ErpTryTask implements Job { LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_RETURN_ERROR).isNotNull(ShipmentHeader::getReferCode); List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(shipmentHeaderLambdaQueryWrapper); + log.info(String.format(" ErpTryTask 执行任务! shipmentHeaderList :" + shipmentHeaderList + "时间" + DateUtils.getTimestamp())); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { try { huahengMultiHandlerService.backShipment(shipmentHeader); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryAgeAlarmTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryAgeAlarmTask.java index 8f77a07..7e3bb7d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryAgeAlarmTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryAgeAlarmTask.java @@ -1,9 +1,11 @@ package org.jeecg.modules.wms.monitor.job; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.text.StrSpliter; -import cn.hutool.core.util.StrUtil; -import lombok.extern.slf4j.Slf4j; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + import org.apache.ibatis.session.SqlSession; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.message.websocket.WebSocket; @@ -16,14 +18,14 @@ import org.jeecg.modules.wms.inventory.inventoryAge.service.impl.InventoryAgeAla import org.quartz.*; import org.springframework.util.CollectionUtils; -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.StrSpliter; +import cn.hutool.core.util.StrUtil; +import lombok.extern.slf4j.Slf4j; /** * 库龄预警通知 - * @author 游杰 + * @author 周锋 */ @Slf4j @@ -77,7 +79,7 @@ public class InventoryAgeAlarmTask implements Job { } sysAnnouncementService.quickAnnouncementToUser(userList, "库龄预警", msg, DateUtil.offsetDay(new Date(), 1), "H"); } catch (Exception e) { - log.error("获取预警通知用户出错", e); + log.error("InventoryAgeAlarmTask 获取预警通知用户出错", e); } } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryLevelAlarmTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryLevelAlarmTask.java index f4f6048..29cd4c0 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryLevelAlarmTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/InventoryLevelAlarmTask.java @@ -1,9 +1,11 @@ package org.jeecg.modules.wms.monitor.job; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.text.StrSpliter; -import cn.hutool.core.util.StrUtil; -import lombok.extern.slf4j.Slf4j; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + import org.apache.ibatis.session.SqlSession; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.message.websocket.WebSocket; @@ -16,14 +18,14 @@ import org.jeecg.modules.wms.inventory.inventoryLevel.service.impl.InventoryLeve import org.quartz.*; import org.springframework.util.CollectionUtils; -import javax.annotation.Resource; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.StrSpliter; +import cn.hutool.core.util.StrUtil; +import lombok.extern.slf4j.Slf4j; /** * 水位预警通知 - * @author 游杰 + * @author 周锋 */ @Slf4j @@ -56,7 +58,7 @@ public class InventoryLevelAlarmTask implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { - log.info(StrUtil.format("定时任务 MaterialLevelAlarmTask 参数:{},执行时间:{}", this.parameter, DateUtils.getTimestamp())); + log.info(StrUtil.format("定时任务 InventoryLevelAlarmTask 参数:{},执行时间:{}", this.parameter, DateUtils.getTimestamp())); List<InventoryLevelAlarm> alarmList = inventoryLevelAlarmService.getLevelAlarm(null); if (CollectionUtils.isEmpty(alarmList)) { @@ -77,7 +79,7 @@ public class InventoryLevelAlarmTask implements Job { } sysAnnouncementService.quickAnnouncementToUser(userList, "库存水位预警", msg, DateUtil.offsetDay(new Date(), 1), "H"); } catch (Exception e) { - log.error("获取预警通知用户出错", e); + log.error("InventoryLevelAlarmTask 获取预警通知用户出错", e); } } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java index f675c46..6acf960 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java @@ -1,21 +1,15 @@ package org.jeecg.modules.wms.monitor.job; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; -import org.apache.commons.collections.MapUtils; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.wms.api.mes.servuce.IMesService; import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; import org.jeecg.utils.constant.QuantityConstant; -import org.quartz.DisallowConcurrentExecution; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.quartz.PersistJobDataAfterExecution; +import org.quartz.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -48,6 +42,7 @@ public class MesTask implements Job { .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLERECEIPT, QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) .le(TaskHeader::getBackMesTimes, QuantityConstant.MAX_MES_TRY_TIMES); List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); + log.info(String.format(" MesTask 执行入库回传! taskHeaderList :" + taskHeaderList + "时间" + DateUtils.getTimestamp())); for (TaskHeader taskHeader : taskHeaderList) { try { taskHeaderService.addMesTryTimes(taskHeader); @@ -62,6 +57,7 @@ public class MesTask implements Job { .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLESHIPMENT, QuantityConstant.TASK_TYPE_SORTINGSHIPMENT) .le(TaskHeader::getBackMesTimes, QuantityConstant.MAX_MES_TRY_TIMES); taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); + log.info(String.format(" MesTask 执行出库回传! taskHeaderList :" + taskHeaderList + "时间" + DateUtils.getTimestamp())); for (TaskHeader taskHeader : taskHeaderList) { try { taskHeaderService.addMesTryTimes(taskHeader); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTryTask.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTryTask.java index 21aecc1..6d95475 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTryTask.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTryTask.java @@ -1,21 +1,15 @@ package org.jeecg.modules.wms.monitor.job; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.Resource; -import org.apache.commons.collections.MapUtils; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.wms.api.mes.servuce.IMesService; import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; import org.jeecg.utils.constant.QuantityConstant; -import org.quartz.DisallowConcurrentExecution; -import org.quartz.Job; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; -import org.quartz.PersistJobDataAfterExecution; +import org.quartz.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -48,6 +42,7 @@ public class MesTryTask implements Job { .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLERECEIPT, QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) .gt(TaskHeader::getBackMesTimes, QuantityConstant.MAX_MES_TRY_TIMES); List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); + log.info(String.format(" MesTryTask 执行入库回传! taskHeaderList :" + taskHeaderList + "时间" + DateUtils.getTimestamp())); for (TaskHeader taskHeader : taskHeaderList) { try { taskHeaderService.addMesTryTimes(taskHeader); @@ -62,6 +57,7 @@ public class MesTryTask implements Job { .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLESHIPMENT, QuantityConstant.TASK_TYPE_SORTINGSHIPMENT) .gt(TaskHeader::getBackMesTimes, QuantityConstant.MAX_MES_TRY_TIMES); taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); + log.info(String.format(" MesTryTask 执行出库回传! taskHeaderList :" + taskHeaderList + "时间" + DateUtils.getTimestamp())); for (TaskHeader taskHeader : taskHeaderList) { try { taskHeaderService.addMesTryTimes(taskHeader); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java index b6cf377..505f66d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/SelfCheck.java @@ -53,7 +53,7 @@ public class SelfCheck implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - log.info(String.format("开始进行自检,时间:" + DateUtils.getTimestamp())); + log.info(String.format("SelfCheck 开始进行自检,时间:" + DateUtils.getTimestamp())); Timestamp timestamp = DateUtils.getTimestamp(); List<Container> containerList = new ArrayList<>(); List<String> container = new ArrayList<>(); @@ -372,7 +372,7 @@ public class SelfCheck implements Job { } } Timestamp timestamp1 = DateUtils.getTimestamp(); - log.info(String.format("自检完成,开始时间:" + timestamp)); - log.info(String.format("自检完成,结束时间:" + timestamp1)); + log.info(String.format("SelfCheck 自检完成,开始时间:" + timestamp)); + log.info(String.format("SelfCheck 自检完成,结束时间:" + timestamp1)); } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java index 124279a..ea1b892 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java @@ -257,20 +257,18 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi @Transactional(rollbackFor = Exception.class) public Result autoCombination(String shipmentCode, boolean advice, String warehouseCode) { log.info("开始自动配盘,单号" + shipmentCode); - LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); - shipmentHeaderLambdaQueryWrapper.eq(ShipmentHeader::getWarehouseCode, warehouseCode).eq(ShipmentHeader::getCode, shipmentCode); - ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(shipmentHeaderLambdaQueryWrapper); + ShipmentHeader shipmentHeader = shipmentHeaderService.getShipmentHeaderByCode(shipmentCode, warehouseCode); if (shipmentHeader == null) { - throw new JeecgBootException("系统没有此单据"); + return Result.error("自动配盘, 系统没有此单据" + shipmentCode); } if (shipmentHeader.getLastStatus() >= QuantityConstant.SHIPMENT_HEADER_COMPLETED) { - return Result.OK("出库单已经作业完毕"); + return Result.OK("自动配盘,出库单已经作业完毕"); } LambdaQueryWrapper<ShipmentDetail> shipmentDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); shipmentDetailLambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode, shipmentCode).eq(ShipmentDetail::getWarehouseCode, warehouseCode); List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(shipmentDetailLambdaQueryWrapper); if (shipmentDetailList.isEmpty()) { - return Result.error("出库单没有明细", null); + return Result.error("自动配盘, 出库单没有明细", null); } boolean over = true; for (ShipmentDetail shipmentDetail : shipmentDetailList) { @@ -317,7 +315,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi BigDecimal shipmentQty = shipmentDetail.getQty().subtract(shipmentDetail.getTaskQty()); // 判断是否还有需要出库的物料,如果没有就跳过该物料 if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) { - return Result.OK("出库数量必须大于0"); + return Result.OK("自动配盘时, 出库数量必须大于0"); } if (shipQty != null) { shipmentQty = shipQty; @@ -353,7 +351,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi } inventoryList.removeAll(removeInventoryList); if (inventoryList.size() < 1) { - return Result.error(shipmentDetail.getMaterialName() + "没有符合出库条件的库存"); + return Result.error("自动配盘时," + shipmentDetail.getMaterialName() + "没有符合出库条件的库存"); } for (InventoryDetail inventoryDetail : inventoryList) { @@ -400,7 +398,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi BigDecimal shipmentQty = combinationModel.getShipQty(); ShipmentDetail shipmentDetail = combinationModel.getShipmentDetail(); InventoryDetail inventoryDetail = combinationModel.getInventoryDetail(); - log.info("开始出库配盘" + shipmentDetail); + log.info("开始出库配盘" + shipmentDetail + "库存详情" + inventoryDetail); if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) { return Result.error("配盘时,出库数量必须大于0"); } @@ -415,10 +413,10 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi int shipmentZoneRule = Integer.parseInt(value); if (shipmentZoneRule == QuantityConstant.SHIPMENT_BY_ZONE) { if (StringUtils.isEmpty(inventoryDetail.getZoneCode())) { - return Result.error("配盘时,库存没有库区"); + return Result.error("配盘时,库存没有库区" + inventoryDetail); } if (!inventoryDetail.getZoneCode().equals(shipmentDetail.getZoneCode())) { - return Result.error("配盘时,库存和库区不匹配"); + return Result.error("配盘时,库存和库区不匹配" + inventoryDetail + shipmentDetail); } } } @@ -426,7 +424,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi String containerCode = inventoryDetail.getContainerCode(); String warehouseCode = inventoryDetail.getWarehouseCode(); if (!warehouseCode.equals(shipmentDetail.getWarehouseCode())) { - return Result.error("配盘时,库存仓库编码和出库单仓库编码不一致"); + return Result.error("配盘时,库存仓库编码和出库单仓库编码不一致" + shipmentDetail); } boolean success = receiptContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode); if (success) { @@ -448,7 +446,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi // 如果不是呼叫料盒,那么要判断容器状态 if (callBox == QuantityConstant.NOT_CALL_BOX) { if (container.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) { - return Result.error("配盘时, 容器已经锁定,不能再配盘"); + return Result.error("配盘时, 容器已经锁定,不能再配盘" + container); } } ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getUnCompleteReceiptContainerByCode(containerCode, warehouseCode); @@ -460,56 +458,56 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi // 可出数量 BigDecimal shipmentDetailAvailableQty = shipmentDetailQty.subtract(shipmentDetailTaskQty); if (shipmentDetailAvailableQty.compareTo(shipmentQty) < 0) { - return Result.error("配盘时, 录入数量超出出库单明细待出数量"); + return Result.error("配盘时, 录入数量超出出库单明细待出数量" + shipmentDetail + "录入数量" + shipmentQty + "出库单明细待出数量" + shipmentDetailAvailableQty); } BigDecimal inventoryDetailQty = inventoryDetail.getQty(); BigDecimal inventoryDetailTaskQty = inventoryDetail.getTaskQty(); BigDecimal inventoryDetailAvailableQty = inventoryDetailQty.subtract(inventoryDetailTaskQty); if (inventoryDetailAvailableQty.compareTo(shipmentQty) < 0) { - return Result.error("配盘时, 录入数量超出库存详情待出数量"); + return Result.error("配盘时, 录入数量超出库存详情待出数量" + inventoryDetail + "录入数量" + shipmentQty + "库存详情待出数量" + inventoryDetailAvailableQty); } if (!shipmentDetail.getMaterialCode().equals(inventoryDetail.getMaterialCode())) { - return Result.error("配盘时, 配盘物料不一致"); + return Result.error("配盘时, 配盘物料不一致" + shipmentDetail + inventoryDetail); } inventoryDetailTaskQty = inventoryDetailTaskQty.add(shipmentQty); if (inventoryDetailTaskQty.compareTo(BigDecimal.ZERO) <= 0) { - return Result.error("配盘时, 库存详情的任务数量必须大于0"); + return Result.error("配盘时, 库存详情的任务数量必须大于0," + "库存详情任务数量" + inventoryDetailTaskQty); } if (inventoryDetailTaskQty.compareTo(inventoryDetailQty) > 0) { - return Result.error("配盘时, 库存详情的任务数量不能超过库存数量"); + return Result.error("配盘时, 库存详情的任务数量不能超过库存详情数量," + "库存详情任务数量" + inventoryDetailTaskQty + "库存详情数量" + inventoryDetailQty); } inventoryDetail.setTaskQty(inventoryDetailTaskQty); success = inventoryDetailService.updateTaskQtyById(inventoryDetailTaskQty, inventoryDetail.getId()); if (!success) { - throw new JeecgBootException("配盘时, 更新库存详情失败"); + throw new JeecgBootException("配盘时, 更新库存详情失败" + inventoryDetail.getId()); } shipmentDetailTaskQty = shipmentDetailTaskQty.add(shipmentQty); if (shipmentDetailTaskQty.compareTo(BigDecimal.ZERO) <= 0) { - return Result.error("配盘时, 出库详情的任务数量必须大于0"); + return Result.error("配盘时, 出库详情的任务数量必须大于0," + "出库详情任务数量" + shipmentDetailTaskQty); } if (shipmentDetailTaskQty.compareTo(shipmentDetailQty) > 0) { - return Result.error("配盘时, 出库详情的任务数量不能超过单据数量"); + return Result.error("配盘时, 出库详情的任务数量不能超过出库详情数量," + "出库详情任务数量" + shipmentDetailTaskQty + "出库详情数量" + shipmentDetailQty); } shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); shipmentDetail.setTaskQty(shipmentDetailTaskQty); success = shipmentDetailService.updateTaskQtyAndStatusById(shipmentDetailTaskQty, QuantityConstant.SHIPMENT_HEADER_GROUPDISK, shipmentDetail.getId()); if (!success) { - throw new JeecgBootException("配盘时, 更新出库详情失败"); + throw new JeecgBootException("配盘时, 更新出库详情失败" + shipmentDetail.getId()); } ShipmentContainerHeader shipmentContainerHeader = shipmentCombinationService.addShipmentContainerHeader(inventoryDetail, shipmentDetail); if (shipmentContainerHeader == null) { - throw new JeecgBootException("配盘时, 新增出库组盘头失败"); + throw new JeecgBootException("配盘时, 新增出库配盘头失败" + inventoryDetail + shipmentDetail); } ShipmentContainerDetail shipmentContainerDetail = shipmentCombinationService.addShipmentContainerDetail(shipmentContainerHeader, combinationModel); if (shipmentContainerDetail == null) { - throw new JeecgBootException("配盘时, 新增出库组盘详情失败"); + throw new JeecgBootException("配盘时, 新增出库组盘详情失败" + combinationModel); } success = shipmentHeaderService.updateShipmentHeaderStatus(shipmentDetail.getShipmentId()); if (!success) { - throw new JeecgBootException("配盘时, 更新出库单失败"); + throw new JeecgBootException("配盘时, 更新出库单失败" + shipmentDetail); } LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentContainerDetail))); - log.info("完成出库配盘" + shipmentDetail); + log.info("完成出库配盘" + shipmentDetail + "库存详情" + inventoryDetail); return Result.ok("配盘成功"); } @@ -520,7 +518,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi BigDecimal shipmentQty = combinationModel.getShipQty(); ShipmentDetail shipmentDetail = combinationModel.getShipmentDetail(); InventoryDetail inventoryDetail = combinationModel.getInventoryDetail(); - log.info("开始出库配盘" + shipmentDetail); + log.info("开始出库配盘" + shipmentDetail + "库存详情" + inventoryDetail); if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) { return Result.error("配盘时,出库数量必须大于0"); } @@ -535,10 +533,10 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi int shipmentZoneRule = Integer.parseInt(value); if (shipmentZoneRule == QuantityConstant.SHIPMENT_BY_ZONE) { if (StringUtils.isEmpty(inventoryDetail.getZoneCode())) { - return Result.error("配盘时,库存没有库区"); + return Result.error("配盘时,库存没有库区" + inventoryDetail); } if (!inventoryDetail.getZoneCode().equals(shipmentDetail.getZoneCode())) { - return Result.error("配盘时,库存和库区不匹配"); + return Result.error("配盘时,库存和库区不匹配" + inventoryDetail + shipmentDetail); } } } @@ -546,7 +544,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi String containerCode = inventoryDetail.getContainerCode(); String warehouseCode = inventoryDetail.getWarehouseCode(); if (!warehouseCode.equals(shipmentDetail.getWarehouseCode())) { - return Result.error("配盘时,库存仓库编码和出库单仓库编码不一致"); + return Result.error("配盘时,库存仓库编码和出库单仓库编码不一致" + shipmentDetail); } boolean success = receiptContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode); if (success) { @@ -580,56 +578,56 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi // 可出数量 BigDecimal shipmentDetailAvailableQty = shipmentDetailQty.subtract(shipmentDetailTaskQty); if (shipmentDetailAvailableQty.compareTo(shipmentQty) < 0) { - return Result.error("配盘时, 录入数量超出出库单明细待出数量"); + return Result.error("配盘时, 录入数量超出出库单明细待出数量" + shipmentDetail + "录入数量" + shipmentQty + "出库单明细待出数量" + shipmentDetailAvailableQty); } BigDecimal inventoryDetailQty = inventoryDetail.getQty(); BigDecimal inventoryDetailTaskQty = inventoryDetail.getTaskQty(); BigDecimal inventoryDetailAvailableQty = inventoryDetailQty.subtract(inventoryDetailTaskQty); if (inventoryDetailAvailableQty.compareTo(shipmentQty) < 0) { - return Result.error("配盘时, 录入数量超出库存详情待出数量"); + return Result.error("配盘时, 录入数量超出库存详情待出数量" + inventoryDetail + "录入数量" + shipmentQty + "库存详情待出数量" + inventoryDetailAvailableQty); } if (!shipmentDetail.getMaterialCode().equals(inventoryDetail.getMaterialCode())) { - return Result.error("配盘时, 配盘物料不一致"); + return Result.error("配盘时, 配盘物料不一致" + shipmentDetail + inventoryDetail); } inventoryDetailTaskQty = inventoryDetailTaskQty.add(shipmentQty); if (inventoryDetailTaskQty.compareTo(BigDecimal.ZERO) <= 0) { - return Result.error("配盘时, 库存详情的任务数量必须大于0"); + return Result.error("配盘时, 库存详情的任务数量必须大于0," + "库存详情任务数量" + inventoryDetailTaskQty); } if (inventoryDetailTaskQty.compareTo(inventoryDetailQty) > 0) { - return Result.error("配盘时, 库存详情的任务数量不能超过库存数量"); + return Result.error("配盘时, 库存详情的任务数量不能超过库存详情数量," + "库存详情任务数量" + inventoryDetailTaskQty + "库存详情数量" + inventoryDetailQty); } inventoryDetail.setTaskQty(inventoryDetailTaskQty); success = inventoryDetailService.updateTaskQtyById(inventoryDetailTaskQty, inventoryDetail.getId()); if (!success) { - throw new JeecgBootException("配盘时, 更新库存详情失败"); + throw new JeecgBootException("配盘时, 更新库存详情失败" + inventoryDetail.getId()); } shipmentDetailTaskQty = shipmentDetailTaskQty.add(shipmentQty); if (shipmentDetailTaskQty.compareTo(BigDecimal.ZERO) <= 0) { - return Result.error("配盘时, 出库详情的任务数量必须大于0"); + return Result.error("配盘时, 出库详情的任务数量必须大于0," + "出库详情任务数量" + shipmentDetailTaskQty); } if (shipmentDetailTaskQty.compareTo(shipmentDetailQty) > 0) { - return Result.error("配盘时, 出库详情的任务数量不能超过单据数量"); + return Result.error("配盘时, 出库详情的任务数量不能超过出库详情数量," + "出库详情任务数量" + shipmentDetailTaskQty + "出库详情数量" + shipmentDetailQty); } shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); shipmentDetail.setTaskQty(shipmentDetailTaskQty); success = shipmentDetailService.updateTaskQtyAndStatusById(shipmentDetailTaskQty, QuantityConstant.SHIPMENT_HEADER_GROUPDISK, shipmentDetail.getId()); if (!success) { - throw new JeecgBootException("配盘时, 更新出库详情失败"); + throw new JeecgBootException("配盘时, 更新出库详情失败" + shipmentDetail.getId()); } ShipmentContainerHeader shipmentContainerHeader = shipmentCombinationService.addShipmentContainerHeader(inventoryDetail, shipmentDetail); if (shipmentContainerHeader == null) { - throw new JeecgBootException("配盘时, 新增出库组盘头失败"); + throw new JeecgBootException("配盘时, 新增出库配盘头失败" + inventoryDetail + shipmentDetail); } ShipmentContainerAdvice shipmentContainerAdvice = shipmentCombinationService.addShipmentContainerAdvice(shipmentContainerHeader, combinationModel); if (shipmentContainerAdvice == null) { - throw new JeecgBootException("配盘时, 新增出库组盘详情失败"); + throw new JeecgBootException("配盘时, 新增出库组盘详情失败" + combinationModel); } success = shipmentHeaderService.updateShipmentHeaderStatus(shipmentDetail.getShipmentId()); if (!success) { - throw new JeecgBootException("配盘时, 更新出库单失败"); + throw new JeecgBootException("配盘时, 更新出库单失败" + shipmentDetail); } LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentContainerAdvice))); - log.info("完成出库配盘" + shipmentDetail); + log.info("完成出库配盘" + shipmentDetail + "库存详情" + inventoryDetail); return Result.ok("配盘成功"); } -- libgit2 0.22.2