From 413b42a497ed1b695ceb0acada0122e553021ddb Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 16 四月 2026 16:29:19 +0800
Subject: [PATCH] #仿真系统优化V3.0.0.2

---
 src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java b/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
index 921132a..73498e5 100644
--- a/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
+++ b/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
@@ -17,6 +17,11 @@
     private DeviceConfig deviceConfig;
     private final ExecutorService executor = Executors.newSingleThreadExecutor();
 
+    private long fetchPutDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_FETCH_PUT_DURATION_MS); }
+    private long levelStepDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_LEVEL_STEP_DURATION_MS); }
+    private long bayStepDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_BAY_STEP_DURATION_MS); }
+    private long resetDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_RESET_DURATION_MS); }
+
     public ZyCrnFakeConnect(DeviceConfig deviceConfig) {
         this.deviceConfig = deviceConfig;
         this.crnStatus = JSON.parseObject(deviceConfig.getFakeInitStatus(), ZyCrnStatusEntity.class);
@@ -56,6 +61,8 @@
     }
 
     private void commandTaskComplete(CrnCommand command) {
+        sleep(resetDurationMs());
+        this.crnStatus.setLoaded(0);
         this.crnStatus.setTaskNo(0);
         this.crnStatus.setStatus(CrnStatusType.IDLE.id);
     }
@@ -90,7 +97,7 @@
         moveY(this.crnStatus.getBay(), sourcePosY);
         moveZ(this.crnStatus.getLevel(), sourcePosZ);
         this.crnStatus.setStatus(CrnStatusType.FETCHING.id);
-        sleep(2000);
+        sleep(fetchPutDurationMs());
         if (Thread.currentThread().isInterrupted()) {
             return;
         }
@@ -100,7 +107,7 @@
         moveY(this.crnStatus.getBay(), destinationPosY);
         moveZ(this.crnStatus.getLevel(), destinationPosZ);
         this.crnStatus.setStatus(CrnStatusType.PUTTING.id);
-        sleep(2000);
+        sleep(fetchPutDurationMs());
         if (Thread.currentThread().isInterrupted()) {
             return;
         }
@@ -115,7 +122,7 @@
             for(int i = 0; i < moveLength; i++) {
                 initSourcePosZ++;
                 this.crnStatus.setLevel(initSourcePosZ);
-                sleep(1000);
+                sleep(levelStepDurationMs());
                 if (Thread.currentThread().isInterrupted()) {
                     return;
                 }
@@ -126,7 +133,7 @@
             for(int i = 0; i < moveLength; i++) {
                 initSourcePosZ--;
                 this.crnStatus.setLevel(initSourcePosZ);
-                sleep(1000);
+                sleep(levelStepDurationMs());
                 if (Thread.currentThread().isInterrupted()) {
                     return;
                 }
@@ -141,7 +148,7 @@
             for(int i = 0; i < moveLength; i++) {
                 initSourcePosY++;
                 this.crnStatus.setBay(initSourcePosY);
-                sleep(1000);
+                sleep(bayStepDurationMs());
                 if (Thread.currentThread().isInterrupted()) {
                     return;
                 }
@@ -152,7 +159,7 @@
             for(int i = 0; i < moveLength; i++) {
                 initSourcePosY--;
                 this.crnStatus.setBay(initSourcePosY);
-                sleep(1000);
+                sleep(bayStepDurationMs());
                 if (Thread.currentThread().isInterrupted()) {
                     return;
                 }

--
Gitblit v1.9.1