From b187814d7cfa5ace1ed9c203372524c69fe56553 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 31 十二月 2025 08:11:44 +0800
Subject: [PATCH] 1.完善AGV任务任务下发 2.拣料回库数据更新维护

---
 src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java |   49 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
index 6f7c6b0..a0cf2b6 100644
--- a/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AGVTaskReportScheduler.java
@@ -79,7 +79,7 @@
                         .setPicking("N") // 鎷f枡
                         .setExitMk("N")// 閫�鍑�
                         .setStaNo(wrkMast.getMemo())
-                        .setSourceStaNo("Z-"+wrkMast.getSourceStaNo())
+                        .setSourceStaNo(wrkMast.getSourceStaNo())
                         .setEmptyMk("N")// 绌烘澘
                         .setBarcode(wrkMast.getBarcode())// 鎵樼洏鐮�
                         .setLinkMis("N")
@@ -107,7 +107,7 @@
             return;
         }
         //鏌ヨ鎵�鏈塧gv寰呬笅鍙戜换鍔�
-        List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301));
+        List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301).orderBy("appe_time"));
         if (wrkSts != null && !wrkSts.isEmpty()) {
             for (Task task : wrkSts) {
                 //鏌ヨ鏄惁鏈夋鍦ㄤ綔涓氱殑婧愮珯鍜岀洰鏍囩珯鏈変竴鏍风殑agv鎼繍浠诲姟
@@ -116,6 +116,7 @@
                         .eq("wrk_sts", 302)
                         .andNew()
                         .in("source_sta_no", task.getSourceStaNo(), task.getStaNo())
+                        .or()
                         .in("sta_no", task.getStaNo(), task.getSourceStaNo()));
                 Boolean flag = true;
                 if (Cools.isEmpty(task1)) {
@@ -123,45 +124,52 @@
                     //濡傛灉鏄帴椹崇珯鐐瑰垯闇�瑕佸垽鏂帴椹崇珯鐐规槸鍚︽湁绌烘枡鏋�
                     //濡傛灉鏈夌┖鏂欐灦闇�瑕佸垽鏂槸鍚︽湁鍑哄簱浠诲姟
                     //鏈夊嚭搴撲换鍔″垯绂佹涓嬪彂鏈鎼繍浠诲姟
-                    if (task.getStaNo().equals("Z-401") || task.getStaNo().equals("Z-402") || task.getStaNo().equals("Z-307")) {
+                    if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+                        flag = false;
                         BasDevp basDevp = basDevpService.checkSiteStatus(Integer.parseInt(task.getStaNo()));
-                        if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) && basDevp.getInreq1().equals("Y")) {
+                        if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1())
+                                && basDevp.getInreq1().equals("Y")
+                                && basDevp.getLoading().equals("N")
+                                && basDevp.getWrkNo()!=9991
+                                && basDevp.getWrkNo()!=9999) {
                             List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                                     .in("io_type", 101, 110)
-                                    .eq("sta_no", task1.getStaNo()));
-                            flag = false;
-                            if (Cools.isEmpty(wrkMasts)) {
+                                    .le("wrk_sts", 14)
+                                    .eq("sta_no", task.getStaNo()));
+                            List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type", 1).eq("sta_no", task.getStaNo()));
+                            if (Cools.isEmpty(wrkMasts)&&Cools.isEmpty(wrkMasts1)) {
                                 //鍒ゆ柇鏄惁宸茬粡鐢熸垚绌烘枡鏋舵惉杩愬洖绌烘枡鏋惰ˉ搴撳尯
                                 //濡傛灉鏈夌殑璇濓紝涓嶅湪鐢熸垚浠诲姟
-                                Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("sta_no", task1.getStaNo()).eq("source_sta_no", task1.getSourceStaNo()));
+                                Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("task_type","AGV绌烘枡鏋跺洖缂撳瓨鍖�").eq("source_sta_no", task.getStaNo()));
                                 //鏈夊叆搴撲换鍔℃惉杩愶紝闇�瑕佺敓鎴愮┖鏂欐灦鎼繍鍒扮┖鏂欐灦缂撳啿鍖篈GV浠诲姟
                                 if (Cools.isEmpty(task2)) {
+
                                     //鐢熸垚AGV鎼繍鍑哄簱浠诲姟
                                     // 淇濆瓨宸ヤ綔妗�
                                     String SourceStaNo = "";
-                                    if (task.getStaNo().equals("Z-401")) {
+                                    if (task.getStaNo().equals("401")) {
                                         //澶ф枡鏋剁紦鍐插尯
                                         SourceStaNo = "Q-E3";
-                                    }else if (task.getStaNo().equals("Z-402")) {
+                                    }else if (task.getStaNo().equals("402")) {
                                         SourceStaNo = "Q-E2";
-                                    }else if (task.getStaNo().equals("Z-307")) {
+                                    }else if (task.getStaNo().equals("307")) {
                                         SourceStaNo = "Q-E1";
                                     }
                                     Task task3 = new Task();
                                     Date date = new Date();
-                                    String TaskNo = task.getTaskNo() + "-" + date.getTime();
+                                    String TaskNo = task.getTaskNo() + "bb" + date.getTime();
                                     task3.setWrkNo(999999)
                                             .setTaskNo(TaskNo)
                                             .setIoTime(date)
                                             .setWrkSts(301L) // 宸ヤ綔鐘舵�侊細301.浠诲姟涓嬪彂
                                             .setIoType(4) // 鍏ュ嚭搴撶姸鎬侊細 3.绔欏埌绔�  4.绔欏埌鍖哄煙
-                                            .setTaskType("agv")
+                                            .setTaskType("AGV绌烘枡鏋跺洖缂撳瓨鍖�")
                                             .setIoPri(10D)
                                             .setFullPlt("Y") // 婊℃澘锛歒
                                             .setPicking("N") // 鎷f枡
                                             .setExitMk("N")// 閫�鍑�
-                                            .setStaNo(task.getStaNo())
-                                            .setSourceStaNo(SourceStaNo)//绌烘枡鏋剁紦瀛樺尯E1
+                                            .setStaNo(SourceStaNo)
+                                            .setSourceStaNo(task.getStaNo())//绌烘枡鏋剁紦瀛樺尯E1
                                             .setEmptyMk("N")// 绌烘澘
                                             .setBarcode("")// 鎵樼洏鐮�
                                             .setLinkMis("N")
@@ -169,15 +177,21 @@
                                             .setAppeTime(date)
                                             .setModiUser(9945L)
                                             .setModiTime(date);
-                                    if (!taskService.insert(task)) {
+                                    if (!taskService.insert(task3)) {
                                         throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
                                     }
+                                    break;
                                 }
                             }
+                        }else if(basDevp != null && !Cools.isEmpty(basDevp.getInreq1())
+                                && basDevp.getInreq1().equals("N")
+                                && basDevp.getLoading().equals("N")
+                                ) {
+                            flag = true;
                         }
 
                     }
-                    if (flag) {
+                    if (flag || task.getTaskType().equals("AGV绌烘枡鏋跺洖缂撳瓨鍖�")) {
                         //AGV浠诲姟涓嬪彂
                         ReturnT<String> start = AGVTaskReportHandler.start(task);
                         if (!start.isSuccess()) {
@@ -188,6 +202,7 @@
                             if (!taskService.updateById(task)) {
                                 log.error("宸ヤ綔妗workNo={}]鏍囪寰呭鐞嗗け璐�", task.getWrkNo());
                             }
+                            break;
                         }else {
                             task.setCtnType(task.getCtnType()+1);
                             task.setModiTime(new Date());

--
Gitblit v1.9.1