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