diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackReceipt.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackReceipt.java
new file mode 100644
index 0000000..ab8cfb7
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackReceipt.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.wms.api.mes.entity;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 游杰
+ */
+@Data
+public class MesBackReceipt {
+
+    private String receiptCode;
+    private String materialCode;
+    private BigDecimal qty;
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackShipment.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackShipment.java
new file mode 100644
index 0000000..cbfe67e
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/entity/MesBackShipment.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.wms.api.mes.entity;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 游杰
+ */
+@Data
+public class MesBackShipment {
+
+    private String shipmentCode;
+    private String materialCode;
+    private BigDecimal qty;
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
index 0d848e5..c7e51f1 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mes/servuce/impl/MesServiceImpl.java
@@ -1,13 +1,17 @@
 package org.jeecg.modules.wms.api.mes.servuce.impl;
 
-import com.aliyun.oss.ServiceException;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.wms.api.mes.entity.MaterialInfo;
-import org.jeecg.modules.wms.api.mes.entity.MesReceiptMaterial;
-import org.jeecg.modules.wms.api.mes.entity.MesShipmentDetail;
-import org.jeecg.modules.wms.api.mes.entity.MesShipmentMaterial;
+import org.jeecg.modules.wms.api.mes.entity.*;
 import org.jeecg.modules.wms.api.mes.servuce.IMesService;
+import org.jeecg.modules.wms.config.address.service.IAddressService;
 import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerHeader;
 import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
@@ -28,18 +32,15 @@ import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderServ
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService;
+import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
+import org.jeecg.utils.http.OkHttpUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import java.lang.ref.WeakReference;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
+import com.alibaba.fastjson.JSON;
+import com.aliyun.oss.ServiceException;
 
 /**
  * @author 游杰
@@ -67,6 +68,10 @@ public class MesServiceImpl implements IMesService {
     private IShipmentContainerHeaderService shipmentContainerHeaderService;
     @Resource
     private ITaskDetailService taskDetailService;
+    @Resource
+    private IAddressService addressService;
+    @Resource
+    private ITaskHeaderService taskHeaderService;
 
     /**
      * 要求入库单详情 必须是不重样的
@@ -214,16 +219,98 @@ public class MesServiceImpl implements IMesService {
         if (status == QuantityConstant.TASK_STATUS_COMPLETED) {
             return Result.ok("回传入库信息失败,任务没完成");
         }
+        int backMes = taskHeader.getBackMes();
+        if (backMes == QuantityConstant.MES_SEND_OK) {
+            return Result.ok("回传入库信息失败,信息已经回传过");
+        }
+
         List<TaskDetail> taskDetailList = taskDetailService.getTaskDetailListByTaskId(taskId);
+        List<MesBackReceipt> mesBackReceiptList = new ArrayList<>();
         for (TaskDetail taskDetail : taskDetailList) {
-
+            int receiptDetailId = taskDetail.getReceiptDetailId();
+            ReceiptDetail receiptDetail = receiptDetailService.getById(receiptDetailId);
+            if (receiptDetail == null) {
+                throw new ServiceException("回传入库信息失败,没有找到入库单详情");
+            }
+            String materialCode = receiptDetail.getMaterialCode();
+            BigDecimal qty = taskDetail.getQty();
+            String receiptCode = receiptDetail.getReceiptCode();
+            MesBackReceipt mesBackReceipt = new MesBackReceipt();
+            mesBackReceipt.setMaterialCode(materialCode);
+            mesBackReceipt.setReceiptCode(receiptCode);
+            mesBackReceipt.setQty(qty);
+            mesBackReceiptList.add(mesBackReceipt);
         }
-        return null;
+        if (mesBackReceiptList.size() == 0) {
+            return Result.ok("回传入库信息失败,没有回传信息");
+        }
+        taskHeader.setBackMes(QuantityConstant.MES_SEND_OK);
+        boolean success = taskHeaderService.updateById(taskHeader);
+        if (!success) {
+            throw new ServiceException("回传入库信息失败,更新任务失败");
+        }
+        String url = addressService.getUrlByParam(QuantityConstant.ADDRESS_MES_BACK_RECEIPT);
+        String jsonParam = JSON.toJSONString(mesBackReceiptList);
+        System.out.println(jsonParam);
+        String body = OkHttpUtils.bodypost(url, jsonParam);
+        if (StringUtils.isEmpty(body)) {
+            throw new ServiceException("接口地址错误或返回为空");
+        }
+        Result result = JSON.parseObject(body, Result.class);
+        if (result.getCode() != QuantityConstant.HTTP_OK) {
+            throw new ServiceException(result.getMessage());
+        }
+        return Result.ok("回传MES入库信息成功");
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result backMesShipment(TaskHeader taskHeader) {
-        return null;
+        int status = taskHeader.getStatus();
+        int taskId = taskHeader.getId();
+        if (status == QuantityConstant.TASK_STATUS_COMPLETED) {
+            return Result.ok("回传出库信息失败,任务没完成");
+        }
+        int backMes = taskHeader.getBackMes();
+        if (backMes == QuantityConstant.MES_SEND_OK) {
+            return Result.ok("回传出库信息失败,信息已经回传过");
+        }
+        List<TaskDetail> taskDetailList = taskDetailService.getTaskDetailListByTaskId(taskId);
+        List<MesBackShipment> mesBackShipmentList = new ArrayList<>();
+        for (TaskDetail taskDetail : taskDetailList) {
+            int shipmentDetailId = taskDetail.getShipmentDetailId();
+            ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId);
+            if (shipmentDetail == null) {
+                throw new ServiceException("回传出库信息失败,没有找到出库单详情");
+            }
+            String materialCode = shipmentDetail.getMaterialCode();
+            BigDecimal qty = taskDetail.getQty();
+            String shipmentCode = shipmentDetail.getShipmentCode();
+            MesBackShipment mesBackShipment = new MesBackShipment();
+            mesBackShipment.setShipmentCode(shipmentCode);
+            mesBackShipment.setQty(qty);
+            mesBackShipment.setMaterialCode(materialCode);
+            mesBackShipmentList.add(mesBackShipment);
+        }
+        if (mesBackShipmentList.size() == 0) {
+            return Result.ok("回传出库信息失败,没有回传信息");
+        }
+        taskHeader.setBackMes(QuantityConstant.MES_SEND_OK);
+        boolean success = taskHeaderService.updateById(taskHeader);
+        if (!success) {
+            throw new ServiceException("回传出库信息失败,更新任务失败");
+        }
+        String url = addressService.getUrlByParam(QuantityConstant.ADDRESS_MES_BACK_SHIPMENT);
+        String jsonParam = JSON.toJSONString(mesBackShipmentList);
+        System.out.println(jsonParam);
+        String body = OkHttpUtils.bodypost(url, jsonParam);
+        if (StringUtils.isEmpty(body)) {
+            throw new ServiceException("接口地址错误或返回为空");
+        }
+        Result result = JSON.parseObject(body, Result.class);
+        if (result.getCode() != QuantityConstant.HTTP_OK) {
+            throw new ServiceException(result.getMessage());
+        }
+        return Result.ok("回传出库信息成功");
     }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/controller/WcsController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/controller/WcsController.java
index e6c9ded..0972a5a 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/controller/WcsController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/controller/WcsController.java
@@ -6,20 +6,16 @@ import javax.servlet.http.HttpServletRequest;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.modules.wms.api.wcs.entity.ManyEmptyDomain;
+import org.jeecg.modules.wms.api.wcs.entity.MaterialInfoEntity;
 import org.jeecg.modules.wms.api.wcs.entity.TaskFinishEntity;
 import org.jeecg.modules.wms.api.wcs.entity.WarecellDomain;
-import org.jeecg.modules.wms.api.wcs.entity.WcsTask;
 import org.jeecg.modules.wms.api.wcs.service.WcsService;
 import org.jeecg.modules.wms.framework.aspectj.lang.annotation.ApiLogger;
 import org.jeecg.modules.wms.framework.controller.HuahengBaseController;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
 import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import io.swagger.annotations.ApiOperation;
 
@@ -134,4 +130,18 @@ public class WcsController extends HuahengBaseController {
         });
         return result;
     }
+
+    /**
+     * 设置物料信息
+     * @return
+     */
+    @AutoLog(value = "WCS设置物料信息")
+    @PostMapping("/setMaterialInfo")
+    @ApiOperation(value = "WCS设置物料信息", notes = "WCS设置物料信息", httpMethod = "POST")
+    @ResponseBody
+    @ApiLogger(apiName = "WCS设置物料信息", from = "WCS")
+    public Result setMaterialInfo(@RequestBody MaterialInfoEntity materialInfoEntity) {
+        Result result = wcsService.setMaterialInfo(materialInfoEntity);
+        return result;
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/entity/MaterialInfoEntity.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/entity/MaterialInfoEntity.java
new file mode 100644
index 0000000..5869f3d
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/entity/MaterialInfoEntity.java
@@ -0,0 +1,28 @@
+package org.jeecg.modules.wms.api.wcs.entity;
+
+import lombok.Data;
+
+@Data
+public class MaterialInfoEntity {
+
+    /**
+     * 任务号
+     */
+    private int taskNo;
+    /**
+     * 重量
+     */
+    private int weight;
+    /**
+     * 长度
+     */
+    private int length;
+    /**
+     * 宽度
+     */
+    private int width;
+    /**
+     * 高度
+     */
+    private int height;
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java
index 219daf0..c42c355 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsService.java
@@ -1,6 +1,7 @@
 package org.jeecg.modules.wms.api.wcs.service;
 
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.wms.api.wcs.entity.MaterialInfoEntity;
 import org.jeecg.modules.wms.api.wcs.entity.WarecellDomain;
 import org.jeecg.modules.wms.api.wcs.entity.WcsTask;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
@@ -16,4 +17,10 @@ public interface WcsService {
     Result wcsTaskAssign(TaskHeader taskHeader);
 
     WcsTask switchTaskTypeToWcs(WcsTask wcsTask);
+
+    /**
+     * 设置物料信息,包括长、宽、高、重量
+     */
+    Result setMaterialInfo(MaterialInfoEntity materialInfoEntity);
+
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
index 3cc6fba..22e4954 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.wms.api.wcs.entity.MaterialInfoEntity;
 import org.jeecg.modules.wms.api.wcs.entity.WarecellDomain;
 import org.jeecg.modules.wms.api.wcs.entity.WcsTask;
 import org.jeecg.modules.wms.config.address.service.IAddressService;
@@ -303,7 +304,10 @@ public class WcsServiceImpl implements WcsService {
                         }
                         // 移库任务
                         taskHeader.setPreTaskNo(preTaskNo);
-                        taskHeaderService.updateById(taskHeader);
+                        boolean success = taskHeaderService.updateById(taskHeader);
+                        if (!success) {
+                            return Result.error("更新任务状态失败");
+                        }
                         return Result.error("先执行移库任务");
                     }
                 } else {
@@ -319,7 +323,10 @@ public class WcsServiceImpl implements WcsService {
                     }
                 }
                 taskHeader.setPreTaskNo(preTaskNo);
-                taskHeaderService.updateById(taskHeader);
+                boolean success = taskHeaderService.updateById(taskHeader);
+                if (!success) {
+                    return Result.error("更新任务状态失败");
+                }
             }
         }
 
@@ -408,4 +415,22 @@ public class WcsServiceImpl implements WcsService {
         }
         return wcsTask;
     }
+
+    @Override
+    public Result setMaterialInfo(MaterialInfoEntity materialInfoEntity) {
+        int taskNo = materialInfoEntity.getTaskNo();
+        TaskHeader taskHeader = taskHeaderService.getById(taskNo);
+        if (taskHeader == null) {
+            return Result.error("设置物料信息失败,没有找到对应任务");
+        }
+        taskHeader.setLength(materialInfoEntity.getLength());
+        taskHeader.setWidth(materialInfoEntity.getWidth());
+        taskHeader.setHeight(materialInfoEntity.getHeight());
+        taskHeader.setWeight(materialInfoEntity.getWeight());
+        boolean success = taskHeaderService.updateById(taskHeader);
+        if (!success) {
+            return Result.error("设置物料信息失败,更新任务信息失败");
+        }
+        return Result.ok("设置物料信息成功");
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/controller/MaterialController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/controller/MaterialController.java
index 5bf476a..f603706 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/controller/MaterialController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/controller/MaterialController.java
@@ -1,51 +1,33 @@
 package org.jeecg.modules.wms.config.material.controller;
 
-import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.utils.HuahengJwtUtil;
-import org.jeecg.common.util.oConvertUtils;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import lombok.extern.slf4j.Slf4j;
-
-import org.jeecg.modules.system.entity.SysUser;
-import org.jeecg.modules.wms.config.location.entity.Location;
 import org.jeecg.modules.wms.config.material.entity.Material;
+import org.jeecg.modules.wms.config.material.entity.SearchDomain;
 import org.jeecg.modules.wms.config.material.service.IMaterialService;
-import org.jeecg.modules.wms.domain.SearchDomain;
+import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description: 物料管理
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/domain/SearchDomain.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/entity/SearchDomain.java
index a72951a..2051a39 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/domain/SearchDomain.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/entity/SearchDomain.java
@@ -1,4 +1,4 @@
-package org.jeecg.modules.wms.domain;
+package org.jeecg.modules.wms.config.material.entity;
 
 import lombok.Data;
 
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
new file mode 100644
index 0000000..69b5618
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/job/MesTask.java
@@ -0,0 +1,80 @@
+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.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.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * @author 游杰
+ */
+@Slf4j
+public class MesTask implements Job {
+
+    @Resource
+    private IMesService mesService;
+    @Resource
+    private ITaskHeaderService taskHeaderService;
+    // 并发控制
+    Map<String, Boolean> runningTaskMap = new HashMap<>();
+
+    /**
+     * 找到完成状态的,没有回传成功的所有任务,然后回传信息给MES
+     * @param  context
+     * @throws JobExecutionException
+     */
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        String taskKey = "mesBack";
+        if (MapUtils.getBoolean(runningTaskMap, taskKey, false)) {
+            return;
+        }
+        try {
+            runningTaskMap.put(taskKey, true);
+            LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
+            taskHeaderLambdaQueryWrapper.eq(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED).ne(TaskHeader::getBackMes, QuantityConstant.MES_SEND_OK)
+                .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLERECEIPT, QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT);
+            List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper);
+            for (TaskHeader taskHeader : taskHeaderList) {
+                try {
+                    taskHeaderService.addMesTryTimes(taskHeader);
+                    mesService.backMesReceipt(taskHeader);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+
+            taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
+            taskHeaderLambdaQueryWrapper.eq(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED).ne(TaskHeader::getBackMes, QuantityConstant.MES_SEND_OK)
+                .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLESHIPMENT, QuantityConstant.TASK_TYPE_SORTINGSHIPMENT);
+            taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper);
+            for (TaskHeader taskHeader : taskHeaderList) {
+                try {
+                    taskHeaderService.addMesTryTimes(taskHeader);
+                    mesService.backMesShipment(taskHeader);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            runningTaskMap.put(taskKey, false);
+        }
+    }
+}
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
index e2ca04e..c8979a4 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
@@ -102,7 +102,18 @@ public class TaskHeader implements Serializable {
     @Excel(name = "目标出入口", width = 15)
     @ApiModelProperty(value = "目标出入口")
     private String toPortCode;
-    @Excel(name = "重量", width = 15)
+    @ApiModelProperty(value = "生成agv任务")
+    private Integer sendAgv;
+    @ApiModelProperty(value = "回传MES信息")
+    private Integer backMes;
+    @ApiModelProperty(value = "MES提交次数")
+    private Integer backMesTimes;
+    @ApiModelProperty(value = "长度")
+    private Integer length;
+    @ApiModelProperty(value = "宽度")
+    private Integer width;
+    @ApiModelProperty(value = "高度")
+    private Integer height;
     @ApiModelProperty(value = "重量")
     private Integer weight;
     /** 备用字段1 */
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
index 361c79a..023add4 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
@@ -1,13 +1,13 @@
 package org.jeecg.modules.wms.task.taskHeader.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
+import java.io.Serializable;
+import java.util.Collection;
+
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.config.location.entity.Location;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
-import org.springframework.beans.factory.annotation.Autowired;
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * @Description: 任务表
@@ -179,4 +179,6 @@ public interface ITaskHeaderService extends IService<TaskHeader> {
      */
     Result createManyEmptyOut(String containerCode, String toPortCode, String warehouseCode);
 
+    Result addMesTryTimes(TaskHeader taskHeader);
+
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
index 4731a23..b373577 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -1,9 +1,15 @@
 package org.jeecg.modules.wms.task.taskHeader.service.impl;
 
-import com.aliyun.oss.ServiceException;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService;
 import org.jeecg.modules.wms.api.wcs.service.WcsService;
@@ -15,7 +21,6 @@ import org.jeecg.modules.wms.config.locationHigh.entity.LocationHigh;
 import org.jeecg.modules.wms.config.locationHigh.service.ILocationHighService;
 import org.jeecg.modules.wms.config.locationType.entity.LocationType;
 import org.jeecg.modules.wms.config.locationType.service.ILocationTypeService;
-import org.jeecg.modules.wms.config.material.entity.Material;
 import org.jeecg.modules.wms.config.material.service.IMaterialService;
 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService;
 import org.jeecg.modules.wms.config.port.entity.Port;
@@ -48,16 +53,15 @@ import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
-import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
+import com.aliyun.oss.ServiceException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 /**
  * @Description: 任务表
@@ -615,6 +619,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     }
 
     @Override
+    public Result addMesTryTimes(TaskHeader taskHeader) {
+        int mesTryTimes = taskHeader.getBackMesTimes();
+        mesTryTimes++;
+        taskHeader.setBackMesTimes(mesTryTimes);
+        boolean success = taskHeaderService.updateById(taskHeader);
+        if (!success) {
+            return Result.error("MES回传次数增加失败");
+        }
+        return Result.ok("MES回传次数增加成功");
+    }
+
+    @Override
     public TaskHeader getUnCompleteTaskByFromLocationCode(String fromLocationCode, String warehouseCode) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getFromLocationCode, fromLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus,
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
index dfc7198..6237a7a 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
@@ -64,6 +64,9 @@ public class QuantityConstant {
     // 过账
     public static final Integer RECEIPT_HEADER_COMPLETED = 800;
 
+    // 回传失败
+    public static final Integer RECEIPT_HEADER_RETURN_ERROR = 850;
+
     // 回传
     public static final Integer RECEIPT_HEADER_RETURN = 900;
 
@@ -96,6 +99,9 @@ public class QuantityConstant {
     // 过账
     public static final Integer SHIPMENT_HEADER_COMPLETED = 800;
 
+    // 回传失败
+    public static final Integer SHIPMENT_HEADER_RETURN_ERROR = 850;
+
     // 回传
     public static final Integer SHIPMENT_HEADER_RETURN = 900;
 
@@ -395,12 +401,14 @@ public class QuantityConstant {
     // WCS任务更新
     public static final String ADDRESS_AGV_TASK_UPDATE = "AGV_TASK_UPDATE";
 
-    // ERP
-
     // 回传ERP入库单
     public static final String ADDRESS_ERP_BACK_RECEIPT = "ERP_BACK_RECEIPT";
     // 回传ERP出库单
     public static final String ADDRESS_ERP_BACK_SHIPMENT = "ERP_BACK_SHIPMENT";
+    // 回传MES入库单
+    public static final String ADDRESS_MES_BACK_RECEIPT = "MES_BACK_RECEIPT";
+    // 回传ERP出库单
+    public static final String ADDRESS_MES_BACK_SHIPMENT = "MES_BACK_SHIPMENT";
 
     public static final String PLATFORM_CODING = "赋码系统";
     public static final String PLATFORM_ERP = "ERP";
@@ -408,6 +416,15 @@ public class QuantityConstant {
     // good
     public static final String QUALITY_GOOD = "good";
 
+    // 发送AGV任务成功
+    public static final int AGV_SEND_OK = 1;
+    // 发送AGV任务异常
+    public static final int AGV_SEND_ERROR = 2;
+    // 回传MES成功
+    public static final int MES_SEND_OK = 1;
+    // 回传MES异常
+    public static final int MES_SEND_ERROR = 2;
+
     public static final int STATION_IN = 1;
     public static final int STATION_OUT = 2;
     public static final int STATION_PICK = 3;