From 2a7fd275313003968fc186ee4617aec4eca90266 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 10 五月 2025 16:55:41 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 17077e5..f25de8e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2,9 +2,11 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.GenerateAgvTaskParam;
 import com.zy.asrs.entity.param.TaskCreateParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
@@ -91,4 +93,54 @@
         return map;
     }
 
+    @Override
+    public boolean generateAgvTask(GenerateAgvTaskParam param) {
+        Date now = new Date();
+        String originPoint = param.getOriginPoint();
+        String targetPoint = param.getTargetPoint();
+        LocMast startLocMast = locMastService.selectByLocNo(originPoint);
+        if(startLocMast == null){
+            throw new CoolException("鍙栬揣鐐瑰簱浣嶄笉瀛樺湪");
+        }
+
+        if (!startLocMast.getLocSts().equals("F")) {
+            throw new CoolException("鍙栬揣鐐逛笉澶勪簬鍦ㄥ簱");
+        }
+
+        LocMast targetLocMast = locMastService.selectByLocNo(targetPoint);
+        if(targetLocMast == null){
+            throw new CoolException("鏀捐揣鐐瑰簱浣嶄笉瀛樺湪");
+        }
+
+        if (!targetLocMast.getLocSts().equals("O")) {
+            throw new CoolException("鏀捐揣鐐逛笉澶勪簬绌哄簱");
+        }
+
+        TaskWrk taskWrk = new TaskWrk();
+        int workNo1 = commonService.getWorkNo(WorkNoType.AGV.type);//鑾峰彇AGV宸ヤ綔鍙�
+
+        taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙�
+        taskWrk.setWrkNo(workNo1);
+        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+        taskWrk.setCreateTime(now);
+        taskWrk.setWrkSts(11);
+        taskWrk.setIoType(4);//AGV鎼繍
+        taskWrk.setStartPoint(param.getOriginPoint());//鍙栬揣鐐�
+        taskWrk.setTargetPoint(param.getTargetPoint());//鏀捐揣鐐�
+
+        boolean insert = taskWrkService.insert(taskWrk);
+        if (!insert) {
+            throw new CoolException("浠诲姟鐢熸垚澶辫触");
+        }
+
+        startLocMast.setLocSts("R");
+        startLocMast.setModiTime(now);
+        locMastService.updateById(startLocMast);
+
+        targetLocMast.setLocSts("S");
+        targetLocMast.setModiTime(now);
+        locMastService.updateById(targetLocMast);
+
+        return true;
+    }
 }

--
Gitblit v1.9.1