diff --git a/src/main/java/com/huaheng/api/acs/controller/AgvTaskController.java b/src/main/java/com/huaheng/api/acs/controller/AgvTaskController.java
index 1d4cf81..f8d6f20 100644
--- a/src/main/java/com/huaheng/api/acs/controller/AgvTaskController.java
+++ b/src/main/java/com/huaheng/api/acs/controller/AgvTaskController.java
@@ -74,8 +74,7 @@ public class AgvTaskController extends BaseController {
                 .eq(StringUtils.isNotEmpty(agvTask.getCarNo()),AgvTask::getCarNo,agvTask.getCarNo())
                 .gt(StringUtils.isNotEmpty(createdTime),AgvTask::getCreatedTime,createdTime)
                 .lt(StringUtils.isNotEmpty(updated),AgvTask::getUpdated,updated)
-                .orderByAsc(AgvTask::getStatus)
-                .orderByDesc(AgvTask::getId);
+                .orderByAsc(AgvTask::getStatus);
         if(StringUtils.isNotNull(taskComplete)){
             if(taskComplete==100){
                 lambdaQueryWrapper.eq(AgvTask::getStatus,taskComplete);
diff --git a/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java b/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java
index a647b0f..38795d8 100644
--- a/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java
+++ b/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java
@@ -78,6 +78,8 @@ public class AcsServiceImpl extends ServiceImpl<AcsMapper,AgvTask> implements Ac
         checkAgvTaskPosition(agvTask);
         //校验托盘是否存在任务及是否锁定
         checkContainerAndPositionStatus(agvTask);
+        //校验自己生成的任务中源点位的托盘和实际托盘一不一致
+        checkContainerAndPositionLove(agvTask);
         agvTask.setStatus(QuantityConstant.TASK_STATUS_BUILD);
         agvTask.setCreatedBy(ShiroUtils.getLoginName());
         agvTask.setTaskType(QuantityConstant.STATUS_TASK_CARRY);
@@ -131,6 +133,17 @@ public class AcsServiceImpl extends ServiceImpl<AcsMapper,AgvTask> implements Ac
             if (task.getStatus() >= QuantityConstant.TASK_STATUS_RELEASE) {
                 return AjaxResult.error("任务" + taskId + "已经下发,请不要重复下发,操作中止");
             }
+            if(StringUtils.isEmpty(task.getToPort())){
+                return AjaxResult.error("任务没有目标点位,不允许下发");
+            }
+            LambdaQueryWrapper<AgvTask> agvTaskLambdaQueryWrapper=Wrappers.lambdaQuery();
+            agvTaskLambdaQueryWrapper.eq(AgvTask::getToPort,task.getToPort())
+                    .eq(AgvTask::getWarehouseCode,task.getWarehouseCode())
+                    .ge(AgvTask::getStatus,QuantityConstant.TASK_STATUS_RELEASE);
+            List<AgvTask> list = list(agvTaskLambdaQueryWrapper);
+            if(list!=null&&list.size()>0){
+               return AjaxResult.error("目标点位存在任务,请更换目标点位");
+            }
             // 给AGV传递任务
             AjaxResult ajaxResult = agvTaskAssign(task);
             if (ajaxResult != null && ajaxResult.hasErr()) {
@@ -419,6 +432,9 @@ public class AcsServiceImpl extends ServiceImpl<AcsMapper,AgvTask> implements Ac
             if(desPosition.getStatus().equals(QuantityConstant.STATUS_POSITION_LOCK)){
                 throw new ServiceException("目标点位:" + desPosition + "禁用");
             }
+            if(StringUtils.isNotEmpty(desPosition.getContainCode())){
+                throw new ServiceException("目标点位:" + desPosition + "存在托盘:"+desPosition.getContainCode());
+            }
             if (QuantityConstant.STATUS_CONTAINER_FULL.equals(desPosition.getStatus())) {
                 throw new ServiceException("目标点位:" + desPosition + "已满");
             }
@@ -429,10 +445,18 @@ public class AcsServiceImpl extends ServiceImpl<AcsMapper,AgvTask> implements Ac
     private void cancelPositionAndContainerStatus(AgvTask agvTask) {
         if (agvTask.getFromPort() != null) {
             //更新点位状态
+            PointPosition pointPosition = pointPositionService.getOne(new LambdaQueryWrapper<PointPosition>().eq(PointPosition::getPositionName, agvTask.getFromPort()));
+            if(pointPosition!=null&&StringUtils.isNotEmpty(pointPosition.getContainCode())){
+                pointPositionService.updateStatus(agvTask.getFromPort(), QuantityConstant.STATUS_POSITION_SOME,agvTask.getWarehouseCode());
+            }
             pointPositionService.updateStatus(agvTask.getFromPort(), QuantityConstant.STATUS_POSITION_EMPTY,agvTask.getWarehouseCode());
         }
         if (agvTask.getToPort() != null) {
             //更新点位状态
+            PointPosition pointPosition = pointPositionService.getOne(new LambdaQueryWrapper<PointPosition>().eq(PointPosition::getPositionName, agvTask.getToPort()));
+            if(pointPosition!=null&&StringUtils.isNotEmpty(pointPosition.getContainCode())){
+                pointPositionService.updateStatus(agvTask.getToPort(), QuantityConstant.STATUS_POSITION_SOME,agvTask.getWarehouseCode());
+            }
             pointPositionService.updateStatus(agvTask.getToPort(), QuantityConstant.STATUS_POSITION_EMPTY,agvTask.getWarehouseCode());
         }
         LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
@@ -468,5 +492,16 @@ public class AcsServiceImpl extends ServiceImpl<AcsMapper,AgvTask> implements Ac
         }*/
         return AjaxResult.success();
     }
+    //校验自己生成的任务中源点位的托盘和实际托盘一不一致
+    private void  checkContainerAndPositionLove(AgvTask agvTask){
+        PointPosition pointPosition = pointPositionService.getOne(new LambdaQueryWrapper<PointPosition>().eq(PointPosition::getPositionName, agvTask.getFromPort()));
+        if(pointPosition!=null&&StringUtils.isNotEmpty(pointPosition.getContainCode())){
+            if(!agvTask.getContainerCode().equals(pointPosition.getContainCode())){
+                throw  new ServiceException("源点位上托盘数据和分配的托盘不一致,请核对");
+            }
+        }
+
+    }
+
 
 }