From 9b5404709cb492a3db6cb967809229155438f885 Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期二, 01 七月 2025 15:49:11 +0800
Subject: [PATCH] 1

---
 HH.WCS.QingXiNongfu/TableSetting.json                                            |    7 
 HH.WCS.QingXiNongfu/api/AgvController.cs                                         |    3 
 HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt |   67 +-
 HH.WCS.QingXiNongfu/settings.xml                                                 |  244 +++++--
 HH.WCS.QingXiNongfu/bin/Debug/settings.xml                                       |  244 +++++--
 HH.WCS.QingXiNongfu/dispatch/NDC.cs                                              |   84 ++
 HH.WCS.QingXiNongfu/device/TcpServer.cs                                          |   14 
 HH.WCS.QingXiNongfu/wms/TaskHelper.cs                                            |   86 +-
 HH.WCS.QingXiNongfu/HH.WCS.QingXigongchang.csproj                                |   25 
 HH.WCS.QingXiNongfu/core/TaskCore.cs                                             |   13 
 HH.WCS.QingXiNongfu/core/Monitor.cs                                              |  560 ++++++++++++++----
 HH.WCS.QingXiNongfu/Properties/app.manifest                                      |   73 ++
 HH.WCS.QingXiNongfu/Program.cs                                                   |    5 
 HH.WCS.QingXiNongfu/settings1.xml                                                |  174 ++++++
 HH.WCS.QingXiNongfu/wms/LocationHelper.cs                                        |    6 
 HH.WCS.QingXiNongfu/wms/WMSModel.cs                                              |    8 
 HH.WCS.QingXiNongfu/process/DeviceProcess.cs                                     |   28 
 HH.WCS.QingXiNongfu/bin/Debug/TableSetting.json                                  |    7 
 HH.WCS.QingXiNongfu/process/TaskProcess.cs                                       |   48 +
 HH.WCS.QingXiNongfu/wms/WCSModel.cs                                              |    2 
 20 files changed, 1,312 insertions(+), 386 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/HH.WCS.QingXigongchang.csproj b/HH.WCS.QingXiNongfu/HH.WCS.QingXigongchang.csproj
index 1c11713..a8835a0 100644
--- a/HH.WCS.QingXiNongfu/HH.WCS.QingXigongchang.csproj
+++ b/HH.WCS.QingXiNongfu/HH.WCS.QingXigongchang.csproj
@@ -13,6 +13,7 @@
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <Deterministic>true</Deterministic>
     <TargetFrameworkProfile />
+    <IsWebBootstrapper>false</IsWebBootstrapper>
     <PublishUrl>publish\</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Disk</InstallFrom>
@@ -25,7 +26,6 @@
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
@@ -47,6 +47,27 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignManifests>true</SignManifests>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ManifestCertificateThumbprint>C8059AFDFCE52C60DA32D8A0FE8AB2F99859D6B0</ManifestCertificateThumbprint>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ManifestKeyFile>HH.WCS.QingXigongchang_TemporaryKey.pfx</ManifestKeyFile>
+  </PropertyGroup>
+  <PropertyGroup>
+    <TargetZone>LocalIntranet</TargetZone>
+  </PropertyGroup>
+  <PropertyGroup>
+    <GenerateManifests>true</GenerateManifests>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationManifest>Properties\app.manifest</ApplicationManifest>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Microsoft.Owin, Version=4.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -172,6 +193,7 @@
   <ItemGroup>
     <Content Include="鍘熺墿鏂欐柟娉曟杩�txt" />
     <None Include="App.config" />
+    <None Include="HH.WCS.QingXigongchang_TemporaryKey.pfx" />
     <None Include="packages.config" />
     <Content Include="Static\css\app.d545ec97.css">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -182,6 +204,7 @@
     <Content Include="Static\js\chunk-vendors.3e768dfe.js.map">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <None Include="Properties\app.manifest" />
     <None Include="Static\js\app.829e775c.js.map">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
diff --git a/HH.WCS.QingXiNongfu/Program.cs b/HH.WCS.QingXiNongfu/Program.cs
index 0d35481..5822033 100644
--- a/HH.WCS.QingXiNongfu/Program.cs
+++ b/HH.WCS.QingXiNongfu/Program.cs
@@ -7,12 +7,10 @@
 using Microsoft.Owin.Hosting;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
-using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
-using System.Linq;
 using System.Net;
 using System.Net.Sockets;
 using System.Net.WebSockets;
@@ -775,6 +773,9 @@
                     GetTask(Monitor.BottTask),// 绾哥鑷姩涓浆
                     GetTask(Monitor.AutoRunABD),
                     GetTask(Monitor.AutoRun13TSJ),
+                    GetTask(Monitor.ZdzyABArea),
+                      GetTask(Monitor.Qchc),
+                    
 
                     //GetTask(Monitor.AutoTK_PE),//鎻愭墸 - PE鑶滃嚭鍏ュ簱
                     //GetTask(Monitor.chargeCCD),//YWL 鍏ュ簱宸ュ崟銆傛湭浣跨敤銆�diff --git a/HH.WCS.QingXiNongfu/Properties/app.manifest b/HH.WCS.QingXiNongfu/Properties/app.manifest
new file mode 100644
index 0000000..c7d2b13
--- /dev/null
+++ b/HH.WCS.QingXiNongfu/Properties/app.manifest
@@ -0,0 +1,73 @@
+锘�?xml version="1.0" encoding="utf-8"?>
+<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
+  <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
+  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+    <security>
+      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+        <!-- UAC 娓呭崟閫夐」
+             濡傛灉鎯宠鏇存敼 Windows 鐢ㄦ埛甯愭埛鎺у埗绾у埆锛岃浣跨敤
+             浠ヤ笅鑺傜偣涔嬩竴鏇挎崲 requestedExecutionLevel 鑺傜偣銆�+
+        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
+        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
+        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
+
+            鎸囧畾 requestedExecutionLevel 鍏冪礌灏嗙鐢ㄦ枃浠跺拰娉ㄥ唽琛ㄨ櫄鎷熷寲銆�+            濡傛灉浣犵殑搴旂敤绋嬪簭闇�姝よ櫄鎷熷寲鏉ュ疄鐜板悜鍚庡吋瀹规�锛屽垯绉婚櫎姝�+            鍏冪礌銆�+        -->
+        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+      </requestedPrivileges>
+      <applicationRequestMinimum>
+        <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
+        <defaultAssemblyRequest permissionSetReference="Custom" />
+      </applicationRequestMinimum>
+    </security>
+  </trustInfo>
+  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- 璁捐姝ゅ簲鐢ㄧ▼搴忎笌鍏朵竴璧峰伐浣滀笖宸查拡瀵规搴旂敤绋嬪簭杩涜娴嬭瘯鐨�+           Windows 鐗堟湰鐨勫垪琛ㄣ�鍙栨秷璇勮閫傚綋鐨勫厓绱狅紝
+           Windows 灏嗚嚜鍔ㄩ�鎷╂渶鍏煎鐨勭幆澧冦� -->
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+      <!-- Windows 7 -->
+      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
+      <!-- Windows 8 -->
+      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
+      <!-- Windows 8.1 -->
+      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
+      <!-- Windows 10 -->
+      <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
+    </application>
+  </compatibility>
+  <!-- 鎸囩ず璇ュ簲鐢ㄧ▼搴忓彲鎰熺煡 DPI 涓�Windows 鍦�DPI 杈冮珮鏃跺皢涓嶄細瀵瑰叾杩涜
+       鑷姩缂╂斁銆俉indows Presentation Foundation (WPF)搴旂敤绋嬪簭鑷姩鎰熺煡 DPI锛屾棤闇�+       閫夋嫨鍔犲叆銆傞�鎷╁姞鍏ユ璁剧疆鐨�Windows 绐椾綋搴旂敤绋嬪簭(闈㈠悜 .NET Framework 4.6)杩樺簲
+       鍦ㄥ叾 app.config 涓皢 "EnableWindowsFormsHighDpiAutoResizing" 璁剧疆璁剧疆涓�"true"銆�+       
+       灏嗗簲鐢ㄧ▼搴忚涓烘劅鐭ラ暱璺緞銆傝鍙傞槄 https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
+  <!--
+  <application xmlns="urn:schemas-microsoft-com:asm.v3">
+    <windowsSettings>
+      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
+      <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
+    </windowsSettings>
+  </application>
+  -->
+  <!-- 鍚敤 Windows 鍏叡鎺т欢鍜屽璇濇鐨勪富棰�Windows XP 鍜屾洿楂樼増鏈� -->
+  <!--
+  <dependency>
+    <dependentAssembly>
+      <assemblyIdentity
+          type="win32"
+          name="Microsoft.Windows.Common-Controls"
+          version="6.0.0.0"
+          processorArchitecture="*"
+          publicKeyToken="6595b64144ccf1df"
+          language="*"
+        />
+    </dependentAssembly>
+  </dependency>
+  -->
+</assembly>
\ No newline at end of file
diff --git a/HH.WCS.QingXiNongfu/TableSetting.json b/HH.WCS.QingXiNongfu/TableSetting.json
index e844933..64c36a8 100644
--- a/HH.WCS.QingXiNongfu/TableSetting.json
+++ b/HH.WCS.QingXiNongfu/TableSetting.json
@@ -12,12 +12,13 @@
   "鑷敱绾挎琛�: "TN_0021",
   "绉诲簱宸ュ崟琛�: "TN_0026",
   "鐗╂枡琛�: "TN_0005",
+  "搴撳琛�: "TN_0071",
   "鍏ュ簱鎺掗攣琛�: "TN_0041",
   "瀵屽嫆鎵樼洏涓嬪彂": "TN_0037",
   "浠诲姟绫诲瀷杞崲琛�: "TN_0043",
   "澶囪揣鍗曡〃": "TN_0057",
+  "搴撳簱杞繍": "TN_0068",
   "棰嗘枡鍗曞瓙琛�: "TN_0053",
-  "AGV璁惧淇℃伅": "TN_0042",
-  "鍘熺墿鏂欏伐鍗曡〃": "TN_0071",
-  "搴撳簱杞繍": "TN_0076"
+  "鍘熺墿鏂欏伐鍗曡〃": "TN_0066",
+  "AGV璁惧淇℃伅": "TN_0042"
 }
\ No newline at end of file
diff --git a/HH.WCS.QingXiNongfu/api/AgvController.cs b/HH.WCS.QingXiNongfu/api/AgvController.cs
index cd981fa..ce3f676 100644
--- a/HH.WCS.QingXiNongfu/api/AgvController.cs
+++ b/HH.WCS.QingXiNongfu/api/AgvController.cs
@@ -1,6 +1,5 @@
 锘縰sing HH.WCS.QingXigongchang.core;
 using HH.WCS.QingXigongchang.dispatch;
-using HH.WCS.QingXigongchang.process;
 using Newtonsoft.Json;
 using System.Collections.Generic;
 using System.Web.Http;
@@ -15,7 +14,7 @@
     public class AgvController : System.Web.Http.ApiController
     {
         [HttpPost]
-        //[Route("AGVCallbackState")]
+        // [Route("AGVCallbackState")]
         public ReturnResult AGVCallbackState(AgvTaskState model)
         {
             LogHelper.Info("AGVCallbackState 鎺ュ彈鍒癆GV鏁版嵁锛� + JsonConvert.SerializeObject(model), "HosttoagvTask");
diff --git a/HH.WCS.QingXiNongfu/bin/Debug/TableSetting.json b/HH.WCS.QingXiNongfu/bin/Debug/TableSetting.json
index e844933..64c36a8 100644
--- a/HH.WCS.QingXiNongfu/bin/Debug/TableSetting.json
+++ b/HH.WCS.QingXiNongfu/bin/Debug/TableSetting.json
@@ -12,12 +12,13 @@
   "鑷敱绾挎琛�: "TN_0021",
   "绉诲簱宸ュ崟琛�: "TN_0026",
   "鐗╂枡琛�: "TN_0005",
+  "搴撳琛�: "TN_0071",
   "鍏ュ簱鎺掗攣琛�: "TN_0041",
   "瀵屽嫆鎵樼洏涓嬪彂": "TN_0037",
   "浠诲姟绫诲瀷杞崲琛�: "TN_0043",
   "澶囪揣鍗曡〃": "TN_0057",
+  "搴撳簱杞繍": "TN_0068",
   "棰嗘枡鍗曞瓙琛�: "TN_0053",
-  "AGV璁惧淇℃伅": "TN_0042",
-  "鍘熺墿鏂欏伐鍗曡〃": "TN_0071",
-  "搴撳簱杞繍": "TN_0076"
+  "鍘熺墿鏂欏伐鍗曡〃": "TN_0066",
+  "AGV璁惧淇℃伅": "TN_0042"
 }
\ No newline at end of file
diff --git a/HH.WCS.QingXiNongfu/bin/Debug/settings.xml b/HH.WCS.QingXiNongfu/bin/Debug/settings.xml
index fe40669..c20275e 100644
--- a/HH.WCS.QingXiNongfu/bin/Debug/settings.xml
+++ b/HH.WCS.QingXiNongfu/bin/Debug/settings.xml
@@ -1,26 +1,26 @@
 锘�?xml version="1.0" encoding="utf-8" ?>
 <Custom>
-	<HostToAgvServerUrl>http://192.168.1.146:9988/HostToAGV.cgi</HostToAgvServerUrl>
+	<HostToAgvServerUrl>http://10.140.3.100:9988/HostToAGV.cgi</HostToAgvServerUrl>
 	<OITcpServerUrl>http://127.0.0.1:5102</OITcpServerUrl>
-	<SqlServer>Data Source=192.168.1.137;Initial Catalog=OIMobox;User ID=sa;Password=Am123123</SqlServer>
-	<AgvSqlServer></AgvSqlServer>
-	<FuleServerUrl>http://127.0.0.1:5102</FuleServerUrl>
-	<repoNo>浠撳簱缂栫爜</repoNo>
-	<!--鑳氱洊涓婃姤-->
-	<MesServerUrl>http://127.0.0.1:5102</MesServerUrl>
-	<factoryCode>宸ュ巶缂栧彿</factoryCode>
-	<fromSystem>鏉ユ簮绯荤粺锛歁OBOX</fromSystem>
-
-	<securityKey></securityKey>
-	<tokenfrom></tokenfrom>
-
-	<FactoryCode>宸ュ巶缂栫爜</FactoryCode>
-	<TaskReportUrl>http://127.0.0.1:6666</TaskReportUrl>
-	<TaskReportKey></TaskReportKey>
-	<FactoryName>宸ュ巶鍚嶇О</FactoryName>
-	<OneSign>鍞竴鏍囪瘑</OneSign>
+	<SqlServer>Data Source=10.140.3.100;Initial Catalog=OIMobox;User ID=sa;Password=qaz-123456</SqlServer>
+	<AgvSqlServer>Data Source=10.140.3.100;Initial Catalog=QX_AGV;User ID=sa;Password=qaz-123456</AgvSqlServer>
+	<FuleServerUrl>http://yst-open-zuul.idc.yst.com.cn/api/yst-open-proxy/</FuleServerUrl>
+	<repoNo>QX00102</repoNo>
+	<securityKey>ebf0bfbbe98542b4804de03bc4ef0a70</securityKey>
+	<tokenfrom>MOBOX</tokenfrom>
+	
+	<FactoryCode>20B1</FactoryCode>
+	<TaskReportUrl>http://yst-open-zuul.idc.yst.com.cn/api/yst-open-proxy</TaskReportUrl>
+	<TaskReportKey>ebf0bfbbe98542b4804de03bc4ef0a70</TaskReportKey>
+	<FactoryName>闈掓邯</FactoryName>
+	<OneSign>0050</OneSign>
 
 	<!--plc淇℃伅锛宒eviceType=1 鑷姩闂�     deviceType=2 鐡剁洊鏈�鏃犺弻鐩� deviceType=3 鐡剁洊鏈�姘寸洊      deviceType=4 缈绘枟鏈猴紙姘寸洊锛�      deviceType=5 缈绘枟鏈猴紙鏃犺弻鐩�v1/v2锛� deviceType=6 缈绘枟鏈猴紙鏃犺弻鐩�v6锛� deviceType=7 缈绘枟鏈猴紙鏃犺弻鐩�v8锛�+	<FactoryCode>20B1</FactoryCode>
+	<TaskReportUrl>http://yst-open-zuul-qa.idc.yst.com.cn/api/yst-open-proxy</TaskReportUrl>
+	<TaskReportKey>9b42bdc3f0a94b3f9c31e72d1ab42ea7</TaskReportKey>
+	<FactoryName>闈掓邯</FactoryName>
+	<OneSign>0050</OneSign>
 	 {"address":"10.122.160.35","deviceName":"1鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1005","YLWJG1006"],"deviceType":2,"enable":0},
 	{"address":"10.122.160.36","deviceName":"2鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1003","YLWJG1004"],"deviceType":2,"enable":0},
 	{"address":"10.122.160.37","deviceName":"3鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1001","YLWJG1002"],"deviceType":2,"enable":0},
@@ -42,48 +42,102 @@
 	{"address":"10.122.160.33","deviceName":"闂╬lc4","deviceNo":["9","10"],"location":[],"deviceType":1,"enable":1},
 	{"address":"10.122.160.34","deviceName":"闂╬lc5","deviceNo":["11","12"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.162","deviceName":"550","deviceNo":["1"],"location":["CX-2","CX-1"],"deviceType":9,"enable":1},
 	
+	{"address":"10.140.3.162","deviceName":"550","deviceNo":["1"],"location":["CX-2","CX-1"],"deviceType":9,"enable":1},
+	{"address":"10.140.3.100","deviceName":"CX2","FuLeLineNo":"QX3","deviceNo":[],"location":["CX2-2","CX2-1","5LCX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16",],"deviceType":9,"enable":1},
 	  鐡跺澂鍏ュ簱鍖� 	  taskPri 榛樿鍊�0 -->
 	<!--  
 	1 闂紙鐙珛闂級
 	2 鏃犺弻鐩� 	3 姘寸洊
-	4 姘寸洊缈绘枟鏈�鍏ュ簱鍫嗗彔锛屼汉宸ヨВ銆�鍑哄簱浠庡嚭搴撲綅鍑哄埌绾胯竟	绌烘杩涗汉宸ュ尯锛�-	5 鐡跺澂缈绘枟鏈�-	6 鏃犺弻缈绘枟鏈�姝e父鍑哄叆搴撴祦绋� 鍫嗗彔锛屽叆搴擄紝鍑虹嚎杈�	绌烘杩涗汉宸ュ尯锛�+	4 姘寸洊缈绘枟鏈�+	5 鏃犺弻缈绘枟鏈�+	6 鐢垫
 	8 鐡跺澂
-	9 姘寸嚎 鎴愬搧
-	10 姘寸嚎缈绘枟鏈�浜哄伐鏀剧嚎杈�							绌烘杩涗汉宸ュ尯锛�-	11 鎻愬崌鏈�鐢垫鏈�+	9 姘寸嚎
 	-->
 	<deviceInfo>
 		<![CDATA[
     [
-	{"address":"10.140.3.164","deviceName":"550","FuLeLineNo":"550","deviceNo":[],"location":["CX-2","CX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
-	{"address":"10.140.3.163","deviceName":"娉ㄥ鏈�,"FuLeLineNo":"娉ㄥ鏈�,"deviceNo":["","666"],"location":["ZSJ1-1","ZSJ1-2"],"deviceType":8,"enable":1},
-	{"address":"10.140.3.161","deviceName":"缈绘枟鏈�,"FuLeLineNo":"缈绘枟鏈�,"deviceNo":["","999"],"location":["FDJ-1P-1L-1C"],"deviceType":5,"enable":1},
+	{"address":"10.140.3.164","deviceName":"550","FuLeLineNo":"闈掓邯鎴愬搧浠換X1杈撻�绾�,"deviceNo":[],"location":["CX-2","CX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	{"address":"10.140.3.163","deviceName":"娉ㄥ鏈�,"deviceNo":["","666"],"location":["ZSJ1-1","ZSJ1-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.175","deviceName":"娉ㄥ鏈�","deviceNo":["","664"],"location":["ZSJ3-1","ZSJ3-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.176","deviceName":"娉ㄥ鏈�","deviceNo":["","666"],"location":["ZSJ4-1","ZSJ4-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.150","deviceName":"娉ㄥ鏈�","deviceNo":["","659"],"location":["ZSJ5-1","ZSJ5-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.161","deviceName":"缈绘枟鏈�,"deviceNo":["","999"],"location":["FDJ-1P-1L-1C"],"deviceType":5,"enable":1},
+	
+	{"address":"10.140.3.181","deviceName":"3绾跨炕鏂楁満","deviceNo":["","979"],"location":["SXFDJ1"],"deviceType":5,"enable":1},
+		
+	{"address":"10.140.3.182","deviceName":"4绾跨炕鏂楁満","deviceNo":["","969"],"location":["SHIFDJ1"],"deviceType":5,"enable":1},
+
 	
 	{"address":"10.140.3.162","deviceName":"闂╬lc1","deviceNo":["1"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.169","deviceName":"5L550","FuLeLineNo":"5L550","deviceNo":[],"location":["5LCX-3","5LCX-2","5LCX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
-	{"address":"10.140.3.165","deviceName":"5L娉ㄥ鏈�,"FuLeLineNo":"5L娉ㄥ鏈�,"deviceNo":["","665"],"location":["5LZSJ1-1","5LZSJ1-2"],"deviceType":8,"enable":1},
-	{"address":"10.140.3.167","deviceName":"5L缈绘枟鏈�,"FuLeLineNo":"5L缈绘枟鏈�,"deviceNo":["","998"],"location":["5LFDJ"],"deviceType":5,"enable":1},
+	{"address":"10.140.3.169","deviceName":"5L550","FuLeLineNo":"闈掓邯鎴愬搧浠換X2杈撻�绾�,"deviceNo":[],"location":["5LCX-3","5LCX-2","5LCX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.177","deviceName":"CX3","FuLeLineNo":"闈掓邯鎴愬搧浠換X3杈撻�绾�,"deviceNo":[],"location":["CX3-2","CX3-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.178","deviceName":"CX4","FuLeLineNo":"闈掓邯鎴愬搧浠換X4杈撻�绾�,"deviceNo":[],"location":["CX4-2","CX4-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.165","deviceName":"5L娉ㄥ鏈�,"deviceNo":["","665"],"location":["5LZSJ1-1","5LZSJ1-2"],"deviceType":8,"enable":1},
+	{"address":"10.140.3.167","deviceName":"5L缈绘枟鏈�,"deviceNo":["","998"],"location":["5LFDJ"],"deviceType":5,"enable":1},
 	
 	{"address":"10.140.3.155","deviceName":"闂╬lc2","deviceNo":["2"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.155","deviceName":"涓�ゼ鎼�妤�,"deviceNo":[],"location":["韪㈣涪韪�],"deviceType":11,"enable":1},
+	{"address":"10.140.3.179","deviceName":"闂╬lc3","deviceNo":["3"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.180","deviceName":"闂╬lc4","deviceNo":["4"],"location":[],"deviceType":1,"enable":1},
+	
+	
+	{"address":"10.140.3.190","deviceName":"QX3鏃犺弻鐩栫炕鏂楁満","deviceNo":["","8"],"location":["QX3FDJ-1"],"deviceType":6,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.191","deviceName":"QX4鏃犺弻鐩栫炕鏂楁満","deviceNo":["","9"],"location":["QX4FDJ-1"],"deviceType":6,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	{"address":"10.140.3.193","deviceName":"涓�彿鏃犺弻鐩栨満","deviceNo":[],"location":["WJG1-1","WJG1-2"],"deviceType":2,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.189","deviceName":"姘寸洊鏈�,"deviceNo":[],"location":["SGJ-1","SGJ-2"],"deviceType":3,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.195","deviceName":"浜屽彿鏃犺弻鐩栨満","deviceNo":[],"location":["RHWJGJ-1","RHWJGJ-2"],"deviceType":2,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	
+	{"address":"10.140.3.192","deviceName":"闂╬lc6","deviceNo":["5"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.183","deviceName":"闂╬lc7","deviceNo":["13"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.194","deviceName":"闂╬lc8","deviceNo":["12"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.188","deviceName":"闂╬lc9","deviceNo":["7"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.185","deviceName":"闂╬lc10","deviceNo":["15","185"],"location":[""],"deviceType":1,"enable":1},
+
+	{"address":"10.140.3.186","deviceName":"闂╬lc11","deviceNo":["186"],"location":[""],"deviceType":1,"enable":1},
+	
 	{"address":"10.140.3.196","deviceName":"闂╬lc12","deviceNo":["6"],"location":[""],"deviceType":1,"enable":1},
-	{"address":"192.168.1.142","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
-	{"address":"192.168.10.86","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLSXBQTSJ"],"areaPriy":[],"deviceType":13,"enable":1},
+	
+	{"address":"10.140.3.197","deviceName":"闂╬lc16","deviceNo":["16"],"location":[""],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.184","deviceName":"鐡剁洊550缈绘枟鏈�,"deviceNo":["","184"],"location":["SGFDJ-1"],"deviceType":4,"areaPriy":["PGMKCK"],"enable":1},
+
+	{"address":"10.140.3.187","deviceName":"鐡剁洊5L缈绘枟鏈�,"deviceNo":["","187"],"location":["SXFDJ-1"],"deviceType":10,"areaPriy":["PGMKCK"],"enable":1},
+	
+	{"address":"10.140.3.170","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"taskPri":50,"location":["YWLT2TSJ"],"areaPriy":["YWLT2TSJCD"],"deviceType":13,"enable":1},
+	{"address":"10.140.9.167","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"taskPri":50,"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
 	
     ]]]>
+	
+	
 	</deviceInfo>
-
-
+	
 	<!--
-	DoorNo 涓婃姤鐨勯棬鍙枫� 184,185閮藉畾鐨勯棬鍙�0
+	{"address":"10.140.3.170","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT2TSJ"],"areaPriy":["YWLT2TSJCD"],"deviceType":13,"enable":1}
+	DoorNo 涓婃姤鐨勯棬鍙枫� 184,185 鑷畾鐨勯棬鍙�0
 	deviceNo  锛岀粰184锛�85 鑷繁瀹�涓棬鍙枫�鍐欒繖閲屻�
 	SignOpen	寮�棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
 	SignClose	鍏抽棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
@@ -92,30 +146,23 @@
 	-->
 	<DoorOneToMany>
 		<![CDATA[[
-			{"DoorNo":"10","deviceNo":["184","15"],"SignOpen":["21","21"],"SignClose":["20","20"]},
+			{"DoorNo":"10","deviceNo":["184","185"],"SignOpen":["21","21"],"SignClose":["20","20"]},
 			{"DoorNo":"11","deviceNo":["187","186"],"SignOpen":["21","21"],"SignClose":["20","20"]},
 		]]]>
 	</DoorOneToMany>
-
-	<!-- 
-		NotUsingBolArea		闈炲嵆浜ф弧妗嗕綅銆�			鐡剁洊鐨勫叆搴撳爢鍙犱綅锛岀炕鏂楁満鍑哄簱绾胯竟浣�-		UsingBolArea		鍗充骇婊℃浣�				杩欎釜缈绘枟鏈洪厤缃氨琛屼簡
-		NotUsingEmpty		闈炲嵆浜х┖妗嗕綅锛岀┖妗嗗爢鍙犱綅	缈绘枟鏈哄叆搴撳爢鍙犱綅锛岀摱鐩栫殑鍑哄簱绾胯竟浣�-		UsingEmpty			鍗充骇绌烘浣嶃�				杩欎釜鐡剁洊閰嶇疆灏辫浜�-	-->
-	<BOLArea>
-		<![CDATA[[
-			{"DeviceName":"鏃犺弻鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":2},
-			{"DeviceName":"姘寸洊鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":3},
-			{"DeviceName":"姘寸洊缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":4},
-			{"DeviceName":"鏃犺弻缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":6},
-			{"DeviceName":"姘寸嚎缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":10},
-		]]]>
-	</BOLArea>
+	
+	
 	<!--
 		
 		-->
-	<!-- 涓嬬嚎浣嶇疆閰嶇疆銆�  浠庝笂鍒颁笅鍒嗘帓锛屼粠宸﹀埌鍙�鍒嗗垪 -->
+	<!-- 涓嬬嚎浣嶇疆閰嶇疆銆�+
+{"address":"10.140.3.185","deviceName":"550缈绘枟鏈�,"deviceNo":["","10"],"location":["SGFDJ-1"],"deviceType":6,"enable":1},
+
+{"address":"10.140.3.186","deviceName":"5L缈绘枟鏈�,"deviceNo":["","11"],"location":["SXFDJ-1"],"deviceType":6,"enable":1},
+
+
+	{"address":"10.140.3.190","deviceName":"闂╬lc5","deviceNo":["12"],"location":[],"deviceType":1,"enable":1},浠庝笂鍒颁笅鍒嗘帓锛屼粠宸﹀埌鍙�鍒嗗垪 -->
 	<!--
 		1-1鍙锋棤鑿�鍙锋棤鑿�鍙锋棤鑿� 		2 - 1鍙锋按鐩�@@ -140,35 +187,84 @@
     ]]]>
 	</inStockCacheBit>-->
 	<!--
-	agv灏忚溅鐨勫彇鏀剧偣浣�-	
 	Location:璐т綅缂栫爜
 	StartBit锛氫綔涓鸿捣鐐规椂鐨勭珯鐐� 	EndBit锛氫綔涓虹粓鐐规椂鐨勭珯鐐� 	-->
-
 	<MoreSites>
 		<![CDATA[[
-			{"Location":"JCJYKK-1P-1L-1C","StartBit":178,"EndBit":1335},
-			{"Location":"JCJYKK-1P-2L-1C","StartBit":175,"EndBit":1336},
-			{"Location":"JCJYMK-1P-1L-1C","StartBit":184,"EndBit":1333},
-			{"Location":"JCJYMK-1P-2L-1C","StartBit":181,"EndBit":1334},
-			{"Location":"JCJYMK-1P-3L-1C","StartBit":1372,"EndBit":1418},
-			{"Location":"JCJYMK-1P-4L-1C","StartBit":1374,"EndBit":1419},
-			{"Location":"鎺ラ┏鍖�BACK","StartBit":1374,"EndBit":1419},
+			{"Location":"JCJYKK1-1","StartBit":3372,"EndBit":3372},
+			{"Location":"JCJYKK2-1","StartBit":3370,"EndBit":3370},
+			{"Location":"JCJYKK3-1","StartBit":3367,"EndBit":3367},
+			{"Location":"JCJYKK1-4","StartBit":3368,"EndBit":3368},
+			{"Location":"550JCJYMK1-1","StartBit":1425,"EndBit":1424},
+			{"Location":"550JCJYMK2-1","StartBit":1426,"EndBit":1423},
+			{"Location":"550JCJYMK3-1","StartBit":1478,"EndBit":1477},
+			{"Location":"550JCJYMK4-1","StartBit":3506,"EndBit":3505},
+			{"Location":"5LJCJYMK1-1","StartBit":1488,"EndBit":1487},
+			{"Location":"5LJCJYMK2-1","StartBit":1489,"EndBit":1486},
+			{"Location":"5LJCJYMK3-1","StartBit":1335,"EndBit":178},
+			{"Location":"5LJCJYMK4-1","StartBit":1336,"EndBit":1528},
+			{"Location":"SXJCJY1-1","StartBit":3485,"EndBit":3484},
+			{"Location":"SXJCJY2-1","StartBit":3482,"EndBit":3481},
+			{"Location":"SXJCJY3-1","StartBit":3483,"EndBit":3480},
+			{"Location":"SXJCJY4-1","StartBit":3487,"EndBit":3486},
+			{"Location":"SIXJCJY1-1","StartBit":3471,"EndBit":3470},
+			{"Location":"SIXJCJY2-1","StartBit":3469,"EndBit":3468},
+			{"Location":"SIXJCJY3-1","StartBit":3466,"EndBit":3465},
+			{"Location":"QXZXZZQ1-1","StartBit":5450,"EndBit":5523},
+			{"Location":"QXZXZZQ1-2","StartBit":5455,"EndBit":5524},
+			{"Location":"QXZXZZQ1-3","StartBit":5454,"EndBit":5525},
+			{"Location":"QXZXZZQ1-4","StartBit":5453,"EndBit":5526},
+			{"Location":"QXZXZZQ1-5","StartBit":5452,"EndBit":5527},
+			{"Location":"QXZXZZQ1-6","StartBit":5451,"EndBit":5528},
+			{"Location":"QXZXZZQ1-7","StartBit":5463,"EndBit":5529},
+			{"Location":"QXZXZZQ1-8","StartBit":5464,"EndBit":5530},
+			{"Location":"QXZXZZQ2-1","StartBit":5497,"EndBit":5562},
+			{"Location":"QXZXZZQ2-2","StartBit":5502,"EndBit":5561},
+			{"Location":"QXZXZZQ2-3","StartBit":5501,"EndBit":5560},
+			{"Location":"QXZXZZQ2-4","StartBit":5500,"EndBit":5559},
+			{"Location":"QXZXZZQ2-5","StartBit":5499,"EndBit":5558},
+			{"Location":"QXZXZZQ2-6","StartBit":5498,"EndBit":5557},
+			{"Location":"QXZXZZQ2-7","StartBit":5503,"EndBit":5556},
+			{"Location":"QXZXZZQ2-8","StartBit":5504,"EndBit":5555},
+			{"Location":"QXZXZZQ3-1","StartBit":5506,"EndBit":5570},
+			{"Location":"QXZXZZQ3-2","StartBit":5511,"EndBit":5569},
+			{"Location":"QXZXZZQ3-3","StartBit":5510,"EndBit":5568},
+			{"Location":"QXZXZZQ3-4","StartBit":5509,"EndBit":5567},
+			{"Location":"QXZXZZQ3-5","StartBit":5508,"EndBit":5566},
+			{"Location":"QXZXZZQ3-6","StartBit":5507,"EndBit":5565},
+			{"Location":"QXZXZZQ3-7","StartBit":5512,"EndBit":5564},
+			{"Location":"QXZXZZQ3-8","StartBit":5513,"EndBit":5563},
+			{"Location":"QXZXZZQ4-1","StartBit":5515,"EndBit":5578},
+			{"Location":"QXZXZZQ4-2","StartBit":5520,"EndBit":5577},
+			{"Location":"QXZXZZQ4-3","StartBit":5519,"EndBit":5576},
+			{"Location":"QXZXZZQ4-4","StartBit":5518,"EndBit":5575},
+			{"Location":"QXZXZZQ4-5","StartBit":5517,"EndBit":5574},
+			{"Location":"QXZXZZQ4-6","StartBit":5516,"EndBit":5573},
+			{"Location":"QXZXZZQ4-7","StartBit":5521,"EndBit":5572},
+			{"Location":"QXZXZZQ4-8","StartBit":5522,"EndBit":5571},
+			{"Location":"WJBQJBQ1-1&BACK","StartBit":7445,"EndBit":7443},
+			{"Location":"WJBQJBQ2-1&BACK","StartBit":7446,"EndBit":7444},
 		]]]>
 	</MoreSites>
-	<!--閰嶇疆 鍗充骇 绌�婊�搴撳尯锛岄潪鍗充骇搴�绌�婊�鍖� 
-	1.鍗充骇婊�-	2.鍗充骇绌�-	3 闈炲嵆浜ф弧
-	4.闈炲嵆浜х┖
+	<!--
+	
+	{"DeviceName":"4L5L绾跨炕鏂楁満","NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":10},
 	-->
-	<AreaSet>
+		<BOLArea>
 		<![CDATA[[
-			{"Area":"JCJYKK","AreaType":2},
+					{"DeviceName":"涓�彿鏃犺弻鐩栨満","NotUsingBolArea":"","UsingBolArea":"XQX3JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX3WJGJCJYKK","deviceType":2},
+					
+					{"DeviceName":"浜屽彿鏃犺弻鐩栨満","NotUsingBolArea":"","UsingBolArea":"XQX4JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX3WJGJCJYKK","deviceType":2},
+					{"DeviceName":"QX3鏃犺弻鐩栫炕鏂楁満","NotUsingBolArea":"QX3QX4MKRK","UsingBolArea":"XQX3JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX34WJGJCJYKK","deviceType":6},
+					{"DeviceName":"QX4鏃犺弻鐩栫炕鏂楁満","NotUsingBolArea":"QX3QX4MKRK","UsingBolArea":"XQX4JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX34WJGJCJYKK","deviceType":6},
+					{"DeviceName":"姘寸洊鏈�,"NotUsingBolArea":"SGHRCW","UsingBolArea":"SGJCJYMK","NotUsingEmpty":"PGKKCK","UsingEmpty":"SGJCJYKK","deviceType":3},
+					{"DeviceName":"鐡剁洊550缈绘枟鏈�,"NotUsingBolArea":"SGHCW","UsingBolArea":"SGJCJYMK","NotUsingEmpty":"SGKKHRCW","UsingEmpty":"SGJCJYKK","deviceType":4},
+					{"DeviceName":"鐡剁洊5L缈绘枟鏈�,"NotUsingBolArea":"SGRGHCW","UsingBolArea":"","NotUsingEmpty":"SGKKHRCW","UsingEmpty":"","deviceType":10},
+					
 		]]]>
-	</AreaSet>
-
+	</BOLArea>
+	
 </Custom>
 
diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs
index 641bac1..f588938 100644
--- a/HH.WCS.QingXiNongfu/core/Monitor.cs
+++ b/HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1030,6 +1030,8 @@
         static List<string> ABlist = new List<string> { "YWLAQWJ", "YWLBQWJ" };
         static List<string> CDlist = new List<string> { "YWLCQSX", "YWLDQWJ" };
         static bool InworkLock = false;
+        //Dictionary<string, List<RowLock>> RGRowList = new Dictionary<string, List<RowLock>>();
+        public static List<RowLock> RGRow = new List<RowLock>();
         /// <summary>
         /// 鍘熸潗鏂�妫�祴鍚勬祦杞綅缃�  鍐欏叆鎵樼洏璐т綅s_type 涓�涓嬩竴涓洰鐨勫湴銆傚氨寮�涓浆銆�         /// 鍘熺墿鏂欑焊绠憋紝鍏ュ簱鍫嗗彔鍖鸿浆杩�YWLRGDD--浜哄伐鍫嗗彔鍖�@@ -1047,6 +1049,7 @@
             {
                 try
                 {
+
                     var lolist = LocationHelper.GetAreaNormalLocList(area);// LocationHelper.GetList<Location>(x => x.S_AREA_CODE == area && x.S_LOCK_STATE != "鎶ュ簾");
                     var lgrow = lolist.GroupBy(x => x.N_ROW).OrderBy(x => x.Key);
                     Dictionary<string, List<Location>> dsll = new Dictionary<string, List<Location>>();
@@ -1067,6 +1070,8 @@
                             if (!cntritems.Any())
                                 continue;
                             var cir1 = cntritems.First();
+
+
                             //鍙瓫閫夌焊绠辩墿鏂欑殑搴撳尯鏁版嵁銆�                             if (!string.IsNullOrEmpty(cir1.S_ITEM_NAME) && cir1.S_ITEM_NAME.Contains("绾哥-"))
                                 if (dsll.TryGetValue(cir1.S_ITEM_CODE, out List<Location> ll))
@@ -1078,6 +1083,7 @@
                         }
                     }
                     if (dsll.Any())
+                    {
                         foreach (var r in dsll)
                         {
                             foreach (var rows in r.Value.GroupBy(x => x.N_ROW).OrderBy(x => x.Key))
@@ -1108,17 +1114,51 @@
                                         //else
                                         var ccr = _clrel0.S_TYPE.Split(',');
                                         string EdnRarea = ccr.First();
+
+                                        if (EdnRarea == "YWLBQWJ" || EdnRarea == "YWLWJJB")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟
+                                        {
+                                            //鏌ヨ浠诲姟鏁�
+                                            List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" };
+                                            var db = new SqlHelper<object>().GetInstance();
+                                            var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
+                                            if (list.Count() >= 2)
+                                            {
+                                                LogHelper.Info($"CreateTransport-  CreateTask Error" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                                                continue;
+                                            }
+                                        }
                                         string Last = string.Join(",", ccr.Skip(1));
 
                                         if (ABlist.Contains(EdnRarea))
                                         {
                                             var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿� || x.S_LOCK_STATE == "鍑哄簱閿�));
-                                            if (ls.Any())
+                                            //var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿�));
+                                            if (ls.Count() > 1)
                                             {
                                                 LogHelper.Info($"{EdnRarea}浠诲姟鏁�绠″埗2");
                                                 continue;
                                             }
                                         }
+                                        if (CDlist.Contains(EdnRarea))
+                                        {
+                                            var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_STATE == "鍏ュ簱閿�);
+                                            //var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿�));
+                                            if (ls.Count() > 2)
+                                            {
+                                                LogHelper.Info($"{EdnRarea}浠诲姟鏁�绠″埗3");
+                                                continue;
+                                            }
+                                        }
+
+                                        //else if (CDlist.Contains(EdnRarea))
+                                        //{
+                                        //    var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == EdnRarea && (x.S_LOCK_STATE == "鍏ュ簱閿�)).ToList();
+                                        //    if (ls.Count() > 2)
+                                        //    {
+                                        //        LogHelper.Info($"CD鍖哄叆搴撲换鍔$鍒舵渶澶ф暟3 {EdnRarea}");
+                                        //        continue;
+                                        //    }
+                                        //}
                                         var cntritems = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE);
                                         if (!cntritems.Any())
                                             continue;
@@ -1139,9 +1179,9 @@
                                         if (arloclist.Any())
                                         {
                                             if (EdnRarea == "YWLWJJB")//绾哥鏃犺弻鎺ラ┏鍖�-                                            //    InworkLock = true;
-                                            //else InworkLock = false;
-                                            //if (od.S_ZZ_AREA == "YWLWJJB")
+                                                                      //    InworkLock = true;
+                                                                      //else InworkLock = false;
+                                                                      //if (od.S_ZZ_AREA == "YWLWJJB")
                                             {
                                                 if (InworkLock)
                                                     continue;
@@ -1157,23 +1197,29 @@
                                             if (CDlist.Contains(EdnRarea))
                                             {
                                                 isCd = true;
-                                                inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
-                                                inlock = inlockLis.FirstOrDefault();
+                                                //inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
+                                                //if (inlockLis.Count() > 0)
+                                                //{
+                                                //    inlock = inlockLis.FirstOrDefault();
+                                                //}
+                                                inlock = RGRow.FirstOrDefault();
                                                 if (inlock != null)
                                                 {
                                                     //褰撳叆搴撶殑浠诲姟鑳芥斁婊′竴鎺掑苟涓旇繕鏈変綑鐨勬椂鍊�寮�浜屾帓
                                                     //鍏堝垽鏂捣鐐规湁澶氬皯鐩稿悓鐨�鑳藉叆鐨勭墿鏂�                                                     if (_cl.S_AREA_CODE == "YWLRGDD")//鍒ゆ柇璧风偣鏄惁鏄汉宸ュ爢鍙犲尯
                                                     {
+                                                        inlockLis = RGRow.FindAll(e => e.S_AREA_CODE == EdnRarea && e.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME).ToList();
                                                         //鐒跺悗鍒ゆ柇浜哄伐鍫嗗彔鍖洪渶瑕佸叆搴撳灏戞墭鍚屽搧绉嶇墿鏂�startMum
                                                         //璐т綅 鎵樼洏 鐗╂枡琛ㄨ仈鏌�                                                         LogHelper.Info($"鏌ヨ捣鐐规湁澶氬皯鍚屽搧绉嶇殑鐗╂枡 寮�");
                                                         var ca = Expressionable.Create<Location, LocCntrRel, CntrItemRel>();
                                                         ca.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == cir1.S_ITEM_CODE && t.S_ITEM_NAME == cir1.S_ITEM_NAME && t.S_CJ_NAME == cir1.S_CJ_NAME && o.S_AREA_CODE == "YWLRGDD" && p.S_TYPE == _clrel0.S_TYPE);
-                                                        var lstCanOutL = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).Includes(e => e.LocCntrRel, p => p.CntrItemRel).ToList();
+                                                        var lstCanOutL = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).ToList();
                                                         LogHelper.Info($"璧风偣瑕佸叆CD鐨勬湁澶氬皯鎵樼洏鏁伴噺涓簕lstCanOutL.Count()}");
                                                         //鍒ゆ柇缁堢偣鎺掕兘鍏ュ灏� 灏戜簬鍏ュ簱鎵樼洏鏁板垯澶氬紑涓�帓 EndMum 
                                                         var EndMum = dbll.Queryable<Location>().Where(l => l.S_AREA_CODE == EdnRarea && l.N_CURRENT_NUM == 0 && l.S_LOCK_STATE == "鏃� && inlockLis.Select(e => e.N_ROW).ToList().Contains(l.N_ROW)).ToList();
+                                                        LogHelper.Info($"缁堢偣CD鎺掓湁澶氬皯绌烘墭鑳藉叆{lstCanOutL.Count()}");
                                                         if (lstCanOutL.Count <= EndMum.Count())
                                                         {
                                                             arloclist = arloclist.FindAll(x => inlockLis.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList();
@@ -1189,6 +1235,26 @@
                                                     {
                                                         arloclist = arloclist.FindAll(x => x.N_ROW == inlock.N_ROW).ToList();
                                                     }
+                                                }
+                                                else
+                                                {
+                                                    if (_cl.S_AREA_CODE == "YWLRGDD")
+                                                    {
+                                                        //鏌ヨ鏄惁鏈夊凡缁忓叆浜嗙殑鎺�+                                                        var ca = Expressionable.Create<Location, LocCntrRel, CntrItemRel>();
+                                                        ca.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == cir1.S_ITEM_CODE && t.S_ITEM_NAME == cir1.S_ITEM_NAME && t.S_CJ_NAME == cir1.S_CJ_NAME && o.S_AREA_CODE == EdnRarea);
+                                                        var lstCanOutL = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).ToList();
+                                                        LogHelper.Info($"缁堢偣鏈夌浉鍚岀殑鐗╂枡鐨勮揣浣嶆湁{lstCanOutL.Count()}");
+                                                        if (lstCanOutL.Count() > 0)
+                                                        {
+                                                            var EndMum = dbll.Queryable<Location>().Where(l => l.S_AREA_CODE == EdnRarea && l.N_CURRENT_NUM == 0 && l.S_LOCK_STATE == "鏃� && lstCanOutL.Select(e => e.N_ROW).ToList().Contains(l.N_ROW)).ToList();
+                                                            if (EndMum.Count() > 0)
+                                                            {
+                                                                arloclist = arloclist.FindAll(x => lstCanOutL.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList();
+                                                            }
+                                                        }
+                                                    }
+
                                                 }
                                             }
                                             foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(x => x.Key))
@@ -1254,11 +1320,24 @@
                                                 var sign = Settings.GetTimeStamp();
                                                 var res = TaskProcess.CreateTransport(sign, _cl.S_LOC_CODE, endbit.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", _clrel.Select(x => x.S_CNTR_CODE).ToList(), 1, endbit.N_CURRENT_NUM + 1, 1, 50, Last);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
                                                 LogHelper.Info($"{r.Key}鍘熺墿鏂欐惉杩�{sign} 浠诲姟 锛屽垱寤簕res} ");
-                                                if (res && inlock == null && isCd)
+                                                if (CDlist.Contains(endbit.S_AREA_CODE) && res)
                                                 {
-                                                    var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍏ュ簱閿�, S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
-                                                    WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand());
+                                                    LogHelper.Info($"娣诲姞鍐呭瓨鎺掗攣");
+                                                    var ggf = inlockLis.Find(e => e.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && e.S_AREA_CODE == endbit.S_AREA_CODE && e.N_ROW == endbit.N_ROW);
+                                                    LogHelper.Info($"娣诲姞鍐呭瓨鎺掗攣 鏄惁鏌ヨ鍒版暟鎹�{JsonConvert.SerializeObject(ggf)}");
+                                                    if (ggf == null)
+                                                    {
+                                                        var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍏ュ簱閿�, S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
+                                                        inlockLis.Add(rrrr);
+                                                        LogHelper.Info($"娣诲姞鍐呭瓨鎺掗攣 娣诲姞鏁版嵁鍒板唴瀛樻帓閿佷腑:{JsonConvert.SerializeObject(inlockLis)}");
+                                                    }
                                                 }
+                                                //if (res && inlock == null && isCd)
+                                                //{
+                                                //    var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍏ュ簱閿�, S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
+                                                //    LogHelper.Info($"鍘熺墿鏂欏叆搴�娣诲姞鎺掗攣淇℃伅{JsonConvert.SerializeObject(rrrr)} ");
+                                                //    WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand());
+                                                //}
                                                 if (EdnRarea == "YWLWJJB") InworkLock = false;
                                                 break;
                                             }
@@ -1268,7 +1347,11 @@
                                 }
                             }
                         }
-                    else if (InworkLock) InworkLock = false;
+                    }
+                    else if (InworkLock)
+                    {
+                        InworkLock = false;
+                    }
                 }
                 catch (Exception ex)
                 {
@@ -1349,12 +1432,20 @@
                                            S_NOTE = cir.S_ITEM_CODE.Trim() + "&" + cir.S_ITEM_NAME.Trim(),
                                            S_ITEM_CODE = cir.S_ITEM_CODE,
                                            S_ITEM_NAME = cir.S_ITEM_NAME,
+                                           S_BATCH_NO = cir.S_BATCH_NO,
                                            S_CJ_NAME = cir.S_CJ_NAME,
                                            S_CNTR_CODE = cir.S_CNTR_CODE
                                        })
                                        .ToList();
             /// 浜哄伐鍫嗗彔鍖虹焊绠�鍜�鏍囩 鏄寜鏍囪瘑+鐗╂枡绛涢�杩涜鍏ュ簱杞繍銆�
             /// 鐗╂枡鍚嶇О鍖呭惈瀵瑰簲绉嶇被杩涜鍏ュ簱銆�+            foreach (var item in locsFirstA)
+            {
+                if (!string.IsNullOrEmpty(item.S_BATCH_NO))
+                {
+                    item.S_NOTE = item.S_NOTE + "&" + item.S_BATCH_NO;
+                }
+            }
             var locsFirst = locsFirstA.FindAll(x => x.S_NOTE.Contains("鏍囩-") && x.S_TYPE == WJ_BQ.RK_BBHJQ);
             var SlocsFirst = locsFirstA.FindAll(x => x.S_NOTE.Contains("鏍囩-") && x.S_TYPE == SX_BQ.RK_BBHJQ);
             var TKlocsFirst = locsFirstA.FindAll(x => x.S_NOTE.Contains("鎻愭墸-"));
@@ -1371,6 +1462,7 @@
             {
                 try
                 {
+                    // var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "鏃犺弻鏍囩鍑哄簱" && x.WorkType == 6 && x.SQL_State == "鎵ц涓�).FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10).OrderBy(x => x.TagOverTime).ToList();
                     var yuworders = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "鏃犺弻鏍囩鍑哄簱" && x.WorkType == 6 && x.SQL_State == "鎵ц涓�).FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10).OrderBy(x => x.TagOverTime).ToList();
                     if (!yuworders.Any())
                     {
@@ -1404,12 +1496,12 @@
                     var tklist = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == pline && x.WorkType == 1 && x.SQL_State == "鎵ц涓�);
                     if (!Syuworders.Any())
                     {
+                        //姘寸嚎鏍囩鍏ュ簱
                         YwlBQ_CreInwork(SlocsFirst, SX_BQ.RK_BQDDQ, SX_BQ.RK_BBHJQ);
                     }
                     if (tklist.Count() > 0)
                     {
                         var tk = tklist.FirstOrDefault();
-
                         var loc = LocationHelper.GetLoc(plc.location[0]);
                         if (loc.N_CURRENT_NUM > 0 && loc.S_LOCK_STATE == "鏃�)
                         {
@@ -1422,6 +1514,8 @@
                                     LogHelper.CErrorLog($"{tk.SQL_WorkNo}-{tk.SQL_PLineNo} 閫�簱宸ュ崟寮�惎锛岀粦瀹氱殑 闆舵暣 鏍囪");
                                 }
                                 Location Endbit = null;
+                                //  var hjs = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == SX_BQ.RK_BBHJQ).FindAll(x => x.S_LOCK_STATE == "鏃� && x.N_CURRENT_NUM == 0);
+                                //  var hjs = db.Queryable<Location>().Where(l => l.S_AREA_CODE == SX_BQ.RK_BBHJQ && l.S_LOCK_STATE.Trim() == "鏃�).ToList();
                                 var hjs = LocationHelper.GetAreaNormalLocList(SX_BQ.RK_BBHJQ, true, false);
                                 Endbit = hjs.FindAll(x => x.N_LAYER == (s_type == .5 ? 1 : (s_type == .75 ? 2 : 3))).OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
                                 if (Endbit != null)
@@ -1461,10 +1555,10 @@
                 {
                     //return;
                     ///璧风偣鏁版嵁銆� 缁堢偣搴撳尯 鍫嗗彔灞傛暟銆�-                    YwlPETK_CreInwork(PElocsFirst, "YWLTKMKQ", "鎻愭墸鍙夎繍", 3);//鎻愭墸鍏ュ簱--PE鑶�-                    YwlPETK_CreInwork(TKlocsFirst, "YWLTKMKQ", "鏀剁缉鑶滃弶杩�, 1); // PE鍏ュ簱 --鎻愭墸
-                    //YwlPETKtkOrder("YWLZSXBKQ", "YWLTKMKQ", "鏀剁缉鑶滃弶杩�);
-                    //YwlPETKOutOrder("YWLTKMKQ", "YWLZSXBKQ", "鏀剁缉鑶滃弶杩�);// PE涓嚭搴�+                    YwlPETK_CreInwork(PElocsFirst, "YWLTKMKQ", "鏀剁缉鑶滃弶杩�, 2);//PE鑶�+                    YwlPETK_CreInwork(TKlocsFirst, "YWLTKMKQ", "鎻愭墸鍙夎繍", 1); //鎻愭墸
+                                                                           //YwlPETKtkOrder("YWLZSXBKQ", "YWLTKMKQ", "鏀剁缉鑶滃弶杩�);
+                                                                           //YwlPETKOutOrder("YWLTKMKQ", "YWLZSXBKQ", "鏀剁缉鑶滃弶杩�);// PE涓嚭搴� 
                     var tklist = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == "T2鎻愬崌鏈�鏀剁缉鑶� && x.WorkType == 1 && x.SQL_State == "鎵ц涓�);
                     if (tklist.Count() > 0)
@@ -1496,6 +1590,7 @@
                                 string v = "YWLTKMKQ";
                                 var rklist = LocationHelper.GetRowLock(v);
                                 int hof = (s_type == .5 ? 1 : (s_type == .75 ? 2 : 3));
+
                                 var inlock = rklist.Find(x => x.S_LOCK_SRC == (cir.S_ITEM_CODE.Trim() + "&" + cir.S_ITEM_NAME.Trim() + hof) && x.S_LOCK_STATE.Contains("鍏ュ簱閿�));
                                 Location EndBit = null;
                                 var NormalList = LocationHelper.GetAreaNormalLocList(v);
@@ -1831,16 +1926,16 @@
                             {
                                 var s_type = ContainerHelper.GetCntrItemRel(CNTR.FirstOrDefault().S_CNTR_CODE).FirstOrDefault()?.N_BQ_TRAY_TYPE ?? 0;
                                 Location Endbit = null;
-                                if (area == area/* WJ_BQ.RK_BQJBQ*/)
+                                //if (area == area/* WJ_BQ.RK_BQJBQ*/)
+                                //{
+                                var hjs = LocationHelper.GetAreaNormalLocList(WJ_BQ.RK_BBHJQ, true, false);
+                                Endbit = hjs.FindAll(x => x.N_CURRENT_NUM == 0 && x.N_LAYER == (s_type == .5 ? 1 : (s_type == .75 ? 2 : 3))).OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
+                                if (Endbit != null)
                                 {
-                                    var hjs = LocationHelper.GetAreaNormalLocList(WJ_BQ.RK_BBHJQ, true, false);
-                                    Endbit = hjs.FindAll(x => x.N_CURRENT_NUM == 0 && x.N_LAYER == (s_type == .5 ? 1 : (s_type == .75 ? 2 : 3))).OrderBy(x => x.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
-                                    if (Endbit != null)
-                                    {
-                                        var re = TaskProcess.CreateTransport("", lastfull.S_LOC_CODE.Trim(), Endbit.S_LOC_CODE, "鏍囩鍙夎繍-绾胯竟鏍囩閫�簱", CNTR.Select(x => x.S_CNTR_CODE).ToList(), 1, 1, 1, 62);
-                                        LogHelper.CSucessLog($"from {lastfull.S_LOC_CODE} to {Endbit.S_LOC_CODE} 鏍囩鍙夎繍-鎺ラ┏鏍囩閫�簱 锛屽垱寤簕re}");
-                                    }
+                                    var re = TaskProcess.CreateTransport("", lastfull.S_LOC_CODE.Trim(), Endbit.S_LOC_CODE, "鏍囩鍙夎繍-绾胯竟鏍囩閫�簱", CNTR.Select(x => x.S_CNTR_CODE).ToList(), 1, 1, 1, 62);
+                                    LogHelper.CSucessLog($"from {lastfull.S_LOC_CODE} to {Endbit.S_LOC_CODE} 鏍囩鍙夎繍-鎺ラ┏鏍囩閫�簱 锛屽垱寤簕re}");
                                 }
+                                // }
 
                                 //else
                                 //{
@@ -2047,7 +2142,6 @@
             }
         }
 
-
         /// <summary>
         /// 鍏ュ簱閫�簱銆�鐭ラ亾 闆跺ご婊℃墭銆傛甯稿尮閰嶃�
         /// </summary>
@@ -2061,9 +2155,11 @@
             foreach (var ptR in klocsFirst.GroupBy(x => x.N_ROW).OrderBy(x => x.Key))
             {
                 Location EndBit = null;
-                var rsfull = ptR.OrderBy(X => X.N_COL).ToList().FindAll(x => x.N_CURRENT_NUM > 0).LastOrDefault();
+                var ptrlist = ptR.OrderBy(X => X.N_COL).ToList();
+                var rsfull = ptrlist.FindAll(x => x.N_CURRENT_NUM > 0).LastOrDefault();
                 if (rsfull != null)
                 {
+                    var cntrlist = ptrlist.FindAll(x => x.S_LOC_CODE == rsfull.S_LOC_CODE).Select(x => x.S_CNTR_CODE);
                     var rklist = LocationHelper.GetRowLock(v);
                     var inlock = rklist.Find(x => x.S_AREA_CODE == v && x.S_LOCK_SRC == (rsfull.S_NOTE + rsfull.HalfOrFull) && x.S_LOCK_STATE.Contains("鍏ュ簱閿�));
                     var NormalList = LocationHelper.GetAreaNormalLocList(v);
@@ -2075,7 +2171,7 @@
                         {
                             var srloclist = rs.OrderBy(x => x.N_COL).ToList();
                             var lastfull = srloclist.FindAll(x => x.N_CURRENT_NUM > 0).LastOrDefault();
-                            EndBit = srloclist.Find(x => x.S_LOCK_STATE == "鏃� && x.N_CURRENT_NUM < Math.Min(x.N_CAPACITY, v1) && x.S_LOCK_STATE != "鎶ュ簾" && x.N_COL >= (lastfull?.N_COL ?? 0));
+                            EndBit = srloclist.Find(x => x.S_LOCK_STATE == "鏃� && (x.N_CURRENT_NUM + cntrlist.Count()) <= Math.Min(x.N_CAPACITY, v1) && x.S_LOCK_STATE != "鎶ュ簾" && x.N_COL >= (lastfull?.N_COL ?? 0));
                             if (EndBit != null)
                                 break;
                         }
@@ -2091,7 +2187,7 @@
                     }
                     if (EndBit != null)
                     {
-                        var res = TaskProcess.CreateTransport("", rsfull.S_LOC_CODE.Trim(), EndBit.S_LOC_CODE, v2 + "-鍏ュ簱", new List<string> { rsfull.S_CNTR_CODE }, rsfull.N_CURRENT_NUM, EndBit.N_CURRENT_NUM + 1, 1, 62);
+                        var res = TaskProcess.CreateTransport("", rsfull.S_LOC_CODE.Trim(), EndBit.S_LOC_CODE, v2 + "-鍏ュ簱", cntrlist.ToList(), rsfull.N_CURRENT_NUM + 1 - cntrlist.Count(), EndBit.N_CURRENT_NUM + 1, 1, 62);
                         LogHelper.CSucessLog($"from {rsfull.S_LOC_CODE} to {EndBit.S_LOC_CODE} {(v2 + "-鍏ュ簱")} 锛屽垱寤簕res} ");
 
                         if (res && inlock == null)
@@ -2122,6 +2218,7 @@
                 }
             }
         }
+
 
         private static void YwlBQ_CreSXOutOrder(Settings.deviceInfo plc, List<YWLWorkOrder> yuworders)
         {
@@ -3627,65 +3724,182 @@
             public int Row { get; set; }
 
         }
+
         /// <summary>
-        /// 鍘熺墿鏂欑焊绠卞嚭搴�+        /// AB鍖虹墿鏂欎笉瓒宠嚜鍔ㄨ浆杩�         /// </summary>
-        public static void AutoRun13TSJ()
+        public static void ZdzyABArea()
         {
-            Action<YWLWorkOrder> _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ = (od) =>
+            try
             {
-                LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}瀵瑰簲宸ュ崟鐨剓od.S_ROW} 鐗╂枡鏁伴噺涓嶈冻銆傝Е鍙戣浆杩愩�");
-                // 鍏堢湅鏄惁鏈夊埌璇ュ簱鍖虹殑杞繍浠诲姟銆�
-                var zxs = LocationHelper.GetList<YWLZXtake>(X => X.S_ZX_STATE == "鎵ц" && X.S_END_AREA == od.S_ROW);
-                //1.鏌ョ湅鐗╂枡鏄惁鍖归厤銆�-                var itemTRUN = zxs.Any(x => x.S_ITEM_CODE == od.SQL_ItemCode && x.S_ITEM_NAME == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME);
-                if (itemTRUN)
-                {  //鏈夊埌璇ュ簱鍖虹殑 鐗╂枡杞繍浠诲姟浜嗐� 涓嶉渶瑕佺户缁簡 銆�-
-                    LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}宸茬粡瀛樺湪杞繍浜嗘棤闇�Е鍙戣浆杩愩�");
-                    return;
-                }
-                //浜哄伐杞繍娌℃寚瀹氱墿鏂欙紝鎴戜細鑷姩鍐欏洖杞繍鍗�鐗╂枡鏁版嵁銆�-
-                //鎵綜D 鍖�鍝噷鏈夎繖涓墿鏂欍� 
-                Dictitems TrunStart = null;
-                foreach (var area in CDlist)
+                var chi = new SqlHelper<object>().GetInstance();
+                var newDb = chi.CopyNew();
+                foreach (var PLC in Settings.GetDeviceInfoList().FindAll(X => X.deviceType == 13 && X.enable == 1))
                 {
-                    if (dsi.TryGetValue(area, out var dictitems1))
+                    string pline = PLC.deviceName;
+                    if (PLC.deviceName.Contains("T2"))
+                        pline = "T2鎻愬崌鏈�绾哥";
+
+                    var orkOrd = LocationHelper.GetList<YWLWorkOrder>(x => x.SQL_PLineNo == pline && x.WorkType == 6 && x.SQL_State == "鎵ц涓�);
+                    if (orkOrd.Any())
                     {
-                        var arearowsloc = LocationHelper.GetAreaNormalLocList(area);
-                        foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME))
+                        foreach (var od in orkOrd)
                         {
-                            if (arearowsloc.Exists(x => x.N_ROW == d.Row))
+                            var loclist = LocationHelper.GetLocList(x => x.S_AREA_CODE == od.S_ROW);
+                            //鏌ヨ鍙敤璐т綅鏈夊灏�+                            List<string> Ky = new List<string>() { "鏃�, "鍑哄簱閿�, "鍏ュ簱閿� };
+                            var loclistK = loclist.FindAll(x => Ky.Contains(x.S_LOCK_STATE)).Count();
+                            var count = loclist.FindAll(x => x.N_CURRENT_NUM > 0 && x.S_LOCK_STATE == "鏃�).Count();
+                            LogHelper.Info("AutoRun13TSJ" + $"od.S_ROW 鍑哄簱浣欓噺鍒ゆ柇鏄惁闇�杞繍銆�{count}< 鎬诲叡鑳界敤鐨勮揣浣嶆暟{loclistK} -7");
+                            if (count <= loclistK - 7)
                             {
-                                TrunStart = d;
-                                break;
+                                LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}瀵瑰簲宸ュ崟鐨剓od.S_ROW} 鐗╂枡鏁伴噺涓嶈冻銆傝Е鍙戣浆杩愩�");
+                                // 鍏堢湅鏄惁鏈夊埌璇ュ簱鍖虹殑杞繍浠诲姟銆�
+                                var zxs = LocationHelper.GetList<YWLZXtake>(X => X.S_ZX_STATE == "鎵ц" && X.S_END_AREA == od.S_ROW).ToList();
+                                //鏌ヨ鏄惁鏈夐噸澶嶇殑宸ュ崟鍦ㄦ墽琛�+                                var ggf = zxs.Find(x => x.S_ITEM_CODE == od.SQL_ItemCode && x.S_ITEM_NAME == od.SQL_ItemName);
+                                if (ggf != null)
+                                {
+                                    LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}宸茬粡瀛樺湪杞繍浜嗘棤闇�Е鍙戣浆杩愩�");
+                                    continue;
+                                }
+                                //1.鏌ョ湅鐗╂枡鏄惁鍖归厤銆�+                                //var itemTRUN = zxs.Any(x => x.S_ITEM_CODE == od.SQL_ItemCode && x.S_ITEM_NAME == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME);
+                                //if (itemTRUN)
+                                //{  //鏈夊埌璇ュ簱鍖虹殑 鐗╂枡杞繍浠诲姟浜嗐� 涓嶉渶瑕佺户缁簡 銆�+
+                                //    LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}宸茬粡瀛樺湪杞繍浜嗘棤闇�Е鍙戣浆杩愩�");
+                                //    return;
+                                //}
+                                //浜哄伐杞繍娌℃寚瀹氱墿鏂欙紝鎴戜細鑷姩鍐欏洖杞繍鍗�鐗╂枡鏁版嵁銆�+
+                                //鎵綜D 鍖�鍝噷鏈夎繖涓墿鏂欍� 
+                                Dictitems TrunStart = new Dictitems();
+                                foreach (var area in CDlist)
+                                {
+                                    //var ca = Expressionable.Create<Location, LocCntrRel, CntrItemRel>();
+
+                                    //ca.And((o, p, t) => o.S_AREA_CODE == area && o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == od.SQL_ItemCode && t.S_ITEM_NAME == od.SQL_ItemName && t.S_CJ_NAME == od.S_CJ_NAME);
+                                    var lstCanOutL = newDb.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where((o, p, t) => o.S_AREA_CODE == area && o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == od.SQL_ItemCode && t.S_ITEM_NAME == od.SQL_ItemName && t.S_CJ_NAME == od.S_CJ_NAME).ToList();
+                                    if (!lstCanOutL.Any())
+                                    {
+                                        lstCanOutL = newDb.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where((o, p, t) => o.S_AREA_CODE == area && o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == od.SQL_ItemCode && t.S_ITEM_NAME == od.SQL_ItemName).ToList();
+                                    }
+                                    //List<string> CRk = new List<string>() { "鍑哄簱閿�, "鍏ュ簱閿� };
+                                    //var EndMum = newDb.Queryable<Location>().Where(l => l.S_AREA_CODE == area && CRk.Contains(l.S_LOCK_STATE)).ToList();
+                                    //var RowLock = EndMum.GroupBy(e => e.N_ROW).Select(f => f.First()).ToList();
+                                    //foreach (var item in RowLock)
+                                    //{
+                                    //    lstCanOutL.RemoveAll(e => e.N_ROW == item.N_ROW);
+                                    //}
+                                    if (lstCanOutL.Count() > 0)
+                                    {
+                                        //var LstCan = newDb.Queryable<LocCntrRel>().Where(a => lstCanOutL.Select(e => e.S_LOC_CODE).ToList().Contains(a.S_LOC_CODE)).ToList();
+                                        var loc = lstCanOutL.OrderBy(e => e.T_FULL_TIME).FirstOrDefault();
+                                        TrunStart.area = area;
+                                        TrunStart.Row = loc.N_ROW;
+                                    }
+                                    //if (dsi.TryGetValue(area, out var dictitems1))
+                                    //{
+
+                                    //    var arearowsloc = LocationHelper.GetAreaNormalLocList(area);
+                                    //    foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME))
+                                    //    {
+                                    //        if (arearowsloc.Exists(x => x.N_ROW == d.Row))
+                                    //        {
+                                    //            TrunStart = d;
+                                    //            break;
+                                    //        }
+                                    //    }
+                                    //}
+                                }
+                                LogHelper.Info($"ZdzyABArea{od.SQL_WorkNo}瑙﹀彂杞繍銆傝浆杩愭潵婧愭槸{JsonConvert.SerializeObject(TrunStart)}");
+                                if (TrunStart?.area != null)
+                                {
+                                    var ggft = new YWLZXtake()
+                                    {
+                                        SQL_WorkNo = "CKD" + DateTime.Now.Ticks.ToString(),
+                                        S_START_AREA = TrunStart.area,
+                                        N_START_ROW = TrunStart.Row,
+                                        S_END_AREA = od.S_ROW,
+                                        S_ZX_STATE = "鎵ц",
+                                        S_ITEM_CODE = od.SQL_ItemCode,
+                                        S_ITEM_NAME = od.SQL_ItemName,
+                                        S_CJ_NAME = od.S_CJ_NAME,
+                                        S_ZZ_AREA = (od.S_ROW == "YWLAQWJ" ? "YWLWJJB" : od.S_ROW)
+                                    };
+                                    var gf = newDb.Insertable(ggft).ExecuteCommand();
+                                }
                             }
                         }
                     }
                 }
 
-                LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}瑙﹀彂杞繍銆傝浆杩愭潵婧愭槸{JsonConvert.SerializeObject(TrunStart)}");
-                if (TrunStart != null)
-                    WCSHelper.Do(db =>
-                    {
-                        db.Insertable(new YWLZXtake
-                        {
-                            S_START_AREA = TrunStart.area,
-                            N_START_ROW = TrunStart.Row,
-                            S_END_AREA = od.S_ROW,
-                            S_ZX_STATE = "鎵ц",
-                            S_ITEM_CODE = od.SQL_ItemCode,
-                            S_ITEM_NAME = od.SQL_ItemName,
-                            S_CJ_NAME = od.S_CJ_NAME,
-                            S_ZZ_AREA = (od.S_ROW == "YWLAQWJ" ? "YWLWJJB" : od.S_ROW)
-                        }).ExecuteCommand();
-                    });
-            };
 
-            //var TaskSiggg = Settings.GetTimeStamp();
-            //var list = new List<string>() { "YWLAQWJ", "YWLBQWJ", "YWLCQSX", "YWLDQWJ" };
-            //var WorkOrder = new List<YWLWorkOrder>();
+            }
+            catch (Exception ex)
+            {
+
+                LogHelper.Info($"ZdzyABArea 瑙﹀彂杞繍 鎶ラ敊:{ex.Message}");
+            }
+        }
+
+        /// <summary>
+        /// 鍘熺墿鏂欑焊绠卞嚭搴�+        /// </summary>
+        public static void AutoRun13TSJ()
+        {
+
+            //Action<YWLWorkOrder> _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ = (od) =>
+            //{
+            //    LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}瀵瑰簲宸ュ崟鐨剓od.S_ROW} 鐗╂枡鏁伴噺涓嶈冻銆傝Е鍙戣浆杩愩�");
+            //    // 鍏堢湅鏄惁鏈夊埌璇ュ簱鍖虹殑杞繍浠诲姟銆�
+            //    var zxs = LocationHelper.GetList<YWLZXtake>(X => X.S_ZX_STATE == "鎵ц" && X.S_END_AREA == od.S_ROW);
+            //    //1.鏌ョ湅鐗╂枡鏄惁鍖归厤銆�+            //    var itemTRUN = zxs.Any(x => x.S_ITEM_CODE == od.SQL_ItemCode && x.S_ITEM_NAME == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME);
+            //    if (itemTRUN)
+            //    {  //鏈夊埌璇ュ簱鍖虹殑 鐗╂枡杞繍浠诲姟浜嗐� 涓嶉渶瑕佺户缁簡 銆�+
+            //        LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}宸茬粡瀛樺湪杞繍浜嗘棤闇�Е鍙戣浆杩愩�");
+            //        return;
+            //    }
+            //    //浜哄伐杞繍娌℃寚瀹氱墿鏂欙紝鎴戜細鑷姩鍐欏洖杞繍鍗�鐗╂枡鏁版嵁銆�+
+            //    //鎵綜D 鍖�鍝噷鏈夎繖涓墿鏂欍� 
+            //    Dictitems TrunStart = null;
+            //    foreach (var area in CDlist)
+            //    {
+            //        if (dsi.TryGetValue(area, out var dictitems1))
+            //        {
+            //            var arearowsloc = LocationHelper.GetAreaNormalLocList(area);
+            //            foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME))
+            //            {
+            //                if (arearowsloc.Exists(x => x.N_ROW == d.Row))
+            //                {
+            //                    TrunStart = d;
+            //                    break;
+            //                }
+            //            }
+            //        }
+            //    }
+
+            //    LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}瑙﹀彂杞繍銆傝浆杩愭潵婧愭槸{JsonConvert.SerializeObject(TrunStart)}");
+            //    if (TrunStart != null)
+            //        WCSHelper.Do(db =>
+            //        {
+            //            db.Insertable(new YWLZXtake
+            //            {
+            //                S_START_AREA = TrunStart.area,
+            //                N_START_ROW = TrunStart.Row,
+            //                S_END_AREA = od.S_ROW,
+            //                S_ZX_STATE = "鎵ц",
+            //                S_ITEM_CODE = od.SQL_ItemCode,
+            //                S_ITEM_NAME = od.SQL_ItemName,
+            //                S_CJ_NAME = od.S_CJ_NAME,
+            //                S_ZZ_AREA = (od.S_ROW == "YWLAQWJ" ? "YWLWJJB" : od.S_ROW)
+            //            }).ExecuteCommand();
+            //        });
+            //};
             foreach (var PLC in Settings.GetDeviceInfoList().FindAll(X => X.deviceType == 13 && X.enable == 1))
             {
                 string pline = PLC.deviceName;
@@ -3703,34 +3917,6 @@
                     if (locs.Find(x => x.N_CURRENT_NUM > 0) != null) //鎷嗗灈鏈夎揣 涓嶅垽鏂�                         continue;
                     can = true;
-
-                    //var source1 = orkOrd.FirstOrDefault();
-                    //foreach (var item in list)
-                    //{
-                    //    YWLWorkOrder source = new YWLWorkOrder();
-                    //    source.SQL_PLineNo = source1.SQL_PLineNo;
-                    //    source.FuLe_PLine_No = source1.FuLe_PLine_No;
-                    //    source.SQL_LinkLineNO = source1.SQL_LinkLineNO;
-                    //    source.SQL_Area = item;
-                    //    source.SQL_UsingNow = source1.SQL_UsingNow;
-                    //    source.SQL_State = source1.SQL_State;
-                    //    source.SQL_WorkNo = source1.SQL_WorkNo;
-                    //    source.SQL_ItemCode = source1.SQL_ItemCode;
-                    //    source.SQL_ItemName = source1.SQL_ItemName;
-                    //    source.SQL_charge = source1.SQL_charge;
-                    //    source.SQL_Total = source1.SQL_Total;
-                    //    source.SQL_PLAN_END = source1.SQL_PLAN_END;
-                    //    source.SQL_Modify_TIme = source1.SQL_Modify_TIme;
-                    //    source.OutNum = source1.OutNum;
-                    //    source.WorkType = source1.WorkType;
-                    //    source.MidArea = source1.MidArea;
-                    //    source.TagOver = source1.TagOver;
-                    //    source.TagOverTime = source1.TagOverTime;
-                    //    source.S_BQ_TRAY_TYPE = source1.S_BQ_TRAY_TYPE;
-                    //    source.S_CJ_NAME = source1.S_CJ_NAME;
-                    //    source.S_ROW = item;
-                    //    WorkOrder.Add(source);
-                    //}
                 }
 
                 orkOrd = orkOrd.FindAll(x => x.OutNum > 0 && DateTime.Now.Subtract(x.SQL_Modify_TIme ?? DateTime.Now).TotalSeconds > 10);
@@ -3741,18 +3927,21 @@
                     {
                         var l2 = new List<string>() { "YWLAQWJ", "YWLBQWJ" };//, "YWLCQSX", "YWLDQWJ" };
                         l2.Remove(od.S_ROW);
-                        l2.Remove(od.TagOver);
-                        var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList();
+                        //l2.Remove(od.TagOver);
+                        //var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList();
+                        var odsr = new List<string> { od.S_ROW }.Concat(l2).Distinct().ToList();
 
                         ///姹囨�浠撳簱閲屾渶澶у眰鏄嚑灞傘�
                         Dictitems Lart = null;
                         foreach (var area in odsr)//od.S_ROW.Split('$'))
                         {
-                            if (string.IsNullOrEmpty(area)) continue;
-
+                            if (string.IsNullOrEmpty(area))
+                            {
+                                continue;
+                            }
                             if (dsi.TryGetValue(area, out var dictitems1))
                             {
-                                foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME))
+                                foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName))
                                 {
                                     if (Lart == null)
                                         Lart = d;
@@ -3778,29 +3967,77 @@
 
                                 foreach (var area in v) //.Concat(od.S_ROW.Split('$')).Distinct())
                                 {
-                                    var AreaRowlist = LocationHelper.GetAreaNormalLocList(area);
-                                    foreach (var item in AreaRowlist.GroupBy(x => x.N_ROW))
+                                    if (ABlist.Contains(area))
                                     {
-                                        var rl = item.ToList().FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
-                                        if (rl == null) continue;
-                                        _clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE);
-                                        //鏉垮瀷鐩稿悓
-                                        var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First();
-                                        LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏绫诲瀷銆� + JsonConvert.SerializeObject(_clrel0));
-                                        var _clcntitem = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE.Trim()).FirstOrDefault();
-                                        LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏涓婄殑鐗╂枡淇℃伅銆� + JsonConvert.SerializeObject(_clcntitem));
-                                        if (_clcntitem != null)
+                                        //AreaRowlist = LocationHelper.GetAreaNormalLocList(area);YWLBQWJ
+                                        //  var AreaRowlist = LocationHelper.GetAreaNormalLocList("YWLAQWJ").Union(LocationHelper.GetAreaNormalLocList("YWLBQWJ")).ToList();
+                                        var db = new SqlHelper<object>().GetInstance();
+                                        var ca = Expressionable.Create<Location, LocCntrRel, CntrItemRel>();
+                                        ca.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "鏃� && t.S_ITEM_CODE == od.SQL_ItemCode && t.S_ITEM_NAME == od.SQL_ItemName && (o.S_AREA_CODE == "YWLAQWJ" || o.S_AREA_CODE == "YWLBQWJ"));
+                                        var lstCanOutL = db.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).ToList();
+                                        if (lstCanOutL.Count() > 0)
                                         {
-                                            LogHelper.Info("AutoRun13TSJ" + "鐩镐簰鏄惁鍖归厤 _clcntitem S_ITEM_CODE:" + _clcntitem.S_ITEM_CODE + " od" + od.SQL_ItemCode + " _clcntitem S_ITEM_NAME:" + _clcntitem.S_ITEM_NAME + "od: " + od.SQL_ItemName + " od.S_CJ_NAME:" + od.S_CJ_NAME + "缁撴灉:" + (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName && _clcntitem.S_CJ_NAME == od.S_CJ_NAME));
-                                            if (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName && _clcntitem.S_CJ_NAME == od.S_CJ_NAME)
+                                            var rl = lstCanOutL.OrderBy(e => e.T_FULL_TIME).FirstOrDefault();
+                                            _clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE);
+                                            //鏉垮瀷鐩稿悓
+                                            var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First();
+                                            if (rl != null)
                                             {
                                                 StartBit = rl;
-                                                break;
+                                            }
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info($"AutoRun13TSJ 鏈哄彴:{pline} 鐗╂枡缂栫爜:{od.SQL_ItemCode}鐗╂枡鍚嶇О:{od.SQL_ItemName} AB鍖虹己鏂�);
+                                        }
+
+
+                                        //if (rl == null) continue;
+                                        //_clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE);
+                                        ////鏉垮瀷鐩稿悓
+                                        //var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First();
+                                        //LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏绫诲瀷銆� + JsonConvert.SerializeObject(_clrel0));
+                                        //var _clcntitem = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE.Trim()).FirstOrDefault();
+                                        //LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏涓婄殑鐗╂枡淇℃伅銆� + JsonConvert.SerializeObject(_clcntitem));
+                                        //if (_clcntitem != null)
+                                        //{
+                                        //    LogHelper.Info("AutoRun13TSJ" + "鐩镐簰鏄惁鍖归厤 _clcntitem S_ITEM_CODE:" + _clcntitem.S_ITEM_CODE + " od" + od.SQL_ItemCode + " _clcntitem S_ITEM_NAME:" + _clcntitem.S_ITEM_NAME + "od: " + od.SQL_ItemName + " od.S_CJ_NAME:" + od.S_CJ_NAME + "缁撴灉:" + (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName && _clcntitem.S_CJ_NAME == od.S_CJ_NAME));
+                                        //    if (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName)
+                                        //    {
+                                        //        StartBit = rl;
+                                        //        break;
+                                        //    }
+                                        //}
+
+                                    }
+                                    else
+                                    {
+                                        var AreaRowlist = LocationHelper.GetAreaNormalLocList(area);
+                                        foreach (var item in AreaRowlist.GroupBy(x => x.N_ROW))
+                                        {
+                                            var rl = item.ToList().FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
+                                            if (rl == null) continue;
+                                            _clrel = LocationHelper.GetLocCntrRel(rl.S_LOC_CODE);
+                                            //鏉垮瀷鐩稿悓
+                                            var _clrel0 = _clrel.OrderByDescending(xx => xx.T_CREATE).First();
+                                            LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏绫诲瀷銆� + JsonConvert.SerializeObject(_clrel0));
+                                            var _clcntitem = ContainerHelper.GetCntrItemRel(_clrel0.S_CNTR_CODE.Trim()).FirstOrDefault();
+                                            LogHelper.Info("AutoRun13TSJ" + rl.S_LOC_CODE + "璇嗗埆鎵樼洏涓婄殑鐗╂枡淇℃伅銆� + JsonConvert.SerializeObject(_clcntitem));
+                                            if (_clcntitem != null)
+                                            {
+                                                LogHelper.Info("AutoRun13TSJ" + "鐩镐簰鏄惁鍖归厤 _clcntitem S_ITEM_CODE:" + _clcntitem.S_ITEM_CODE + " od" + od.SQL_ItemCode + " _clcntitem S_ITEM_NAME:" + _clcntitem.S_ITEM_NAME + "od: " + od.SQL_ItemName + " od.S_CJ_NAME:" + od.S_CJ_NAME + "缁撴灉:" + (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName && _clcntitem.S_CJ_NAME == od.S_CJ_NAME));
+                                                if (_clcntitem.S_ITEM_CODE == od.SQL_ItemCode && _clcntitem.S_ITEM_NAME == od.SQL_ItemName)
+                                                {
+                                                    StartBit = rl;
+                                                    break;
+                                                }
                                             }
                                         }
                                     }
                                     if (StartBit != null)
+                                    {
                                         break;
+                                    }
                                 }
                                 if (StartBit == null)
                                 {
@@ -3813,15 +4050,18 @@
                                     //妫�祴鎸囧畾搴撳尯鐨勭墿鏂欐帓鎬绘暟閲�                                     if (dsi.TryGetValue(od.S_ROW, out var dictitems1))
                                     {
-                                        var rows = dictitems1.Select(x => x.Row).Distinct();
-                                        var loclist = LocationHelper.GetLocList(x => x.S_AREA_CODE == od.S_ROW && rows.Contains(x.N_ROW));
-                                        var count = loclist.FindAll(x => x.N_CURRENT_NUM > 0 && x.S_LOCK_STATE == "鏃�).Sum(x => x.N_CURRENT_NUM);
-                                        LogHelper.Info("AutoRun13TSJ" + $"od.S_ROW 鍑哄簱浣欓噺鍒ゆ柇鏄惁闇�杞繍銆�{count}< 5");
-                                        if (count < 5)
-                                        {
-                                            autoTurn = true;
-                                            _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ(od);
-                                        }
+                                        //var rows = dictitems1.Select(x => x.Row).Distinct();
+                                        //var loclist = LocationHelper.GetLocList(x => x.S_AREA_CODE == od.S_ROW && rows.Contains(x.N_ROW));
+                                        ////鏌ヨ鍙敤璐т綅鏈夊灏�+                                        //List<string> Ky = new List<string>() { "鏃�, "鍑哄簱閿�, "鍏ュ簱閿� };
+                                        //var loclistK = loclist.FindAll(x => Ky.Contains(x.S_LOCK_STATE)).Count();
+                                        //var count = loclist.FindAll(x => x.N_CURRENT_NUM > 0 && x.S_LOCK_STATE == "鏃�).Sum(x => x.N_CURRENT_NUM);
+                                        //LogHelper.Info("AutoRun13TSJ" + $"od.S_ROW 鍑哄簱浣欓噺鍒ゆ柇鏄惁闇�杞繍銆�{count}< 鎬诲叡鑳界敤鐨勮揣浣嶆暟{loclistK} -7");
+                                        //if (count < loclistK - 7)
+                                        //{
+                                        //    autoTurn = true;
+                                        //    _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ(od);
+                                        //}
                                     }
                                 }
                                 Location Endbit = null;
@@ -3865,10 +4105,17 @@
                                         b = TaskProcess.CreateTransport(od.SQL_WorkNo, StartBit.S_LOC_CODE, jbbit, "鍘熺墿鏂欐惉杩�绾哥", crs, StartBit.N_CURRENT_NUM - crs.Count + 1, 1, crs.Count, PLC.taskPri, "", Endbit.S_LOC_CODE);
                                     else
                                         b = TaskProcess.CreateTransport(od.SQL_WorkNo, StartBit.S_LOC_CODE, Endbit.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", crs, StartBit.N_CURRENT_NUM - crs.Count + 1, 1, crs.Count, PLC.taskPri);
+
                                     if (b)
                                     {
-                                        var r = new RowLock { S_LOCK_SRC = od.SQL_ItemCode, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍑哄簱閿�, S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW };
                                         var db = new SqlHelper<object>().GetInstance();
+                                        od.TagOverTime = DateTime.Now;
+                                        od.TagOver = StartBit.S_AREA_CODE;
+                                        var ggf = db.Updateable(od).UpdateColumns(it => new { it.TagOverTime, it.TagOver }).ExecuteCommand();
+                                        LogHelper.Info($"涓婃彁鍗囨満浠诲姟 鏇存柊宸ュ崟鐨勬椂闂村奖鍝嶈鏁� {ggf}");
+
+                                        var r = new RowLock { S_LOCK_SRC = od.SQL_ItemCode, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍑哄簱閿�, S_AREA_CODE = StartBit.S_AREA_CODE, N_ROW = StartBit.N_ROW };
+
                                         //缁欑粓鐐归攣瀹氫綇
                                         if (od.S_ROW == "YWLCQSX" || od.S_ROW == "YWLDQWJ")
                                         {
@@ -3889,9 +4136,7 @@
                                         //    }
                                         //}
                                         //else db.Insertable(r).ExecuteCommand();
-                                        od.TagOverTime = DateTime.Now;
-                                        od.TagOver = StartBit.S_AREA_CODE;
-                                        db.Updateable(od).UpdateColumns(it => new { it.TagOverTime, it.TagOver }).ExecuteCommand();
+
                                         //break;
                                     }
                                 }
@@ -3902,10 +4147,10 @@
                                 }
                             }
                         }
-                        else
-                        {
-                            _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ(od);
-                        }
+                        //else
+                        //{
+                        //    _sAB娌$墿鏂欐垨鑰呬綑閲忎笉瓒冲紑濮嬭Е鍙戣窡鏍规嵁鑷姩杞繍_鍚嶅瓧瓒婇暱瓒婂ソ(od);
+                        //}
                     }
             }
         }
@@ -3958,6 +4203,11 @@
                         if (dsi.TryGetValue(area, out dictitems))
                         {
                             var ill = dictitems.Find(x => x.Row == rl.N_ROW && x.ItemCode == _clcntitem.S_ITEM_CODE && x.ItemName == _clcntitem.S_ITEM_NAME && _clcntitem.S_CJ_NAME == x.S_CJ_NAME);
+                            if (ill == null)
+                            {
+                                ill = dictitems.Find(x => x.Row == rl.N_ROW && x.ItemCode == _clcntitem.S_ITEM_CODE && x.ItemName == _clcntitem.S_ITEM_NAME);
+                            }
+
                             if (ill != null)
                             {
                                 if (rl.N_CURRENT_NUM > ill.ItemLayer)
@@ -3999,6 +4249,29 @@
             LogHelper.Info($"AutoRunABD abcd鐗╂枡姹囨�瀹屾垚  >>{ReadCCK}|| {dsi.Count}");
         }
 
+        /// <summary>
+        /// 鏍煎紡鍖栧唴瀛樻帓閿�+        /// </summary>
+        public static void Qchc()
+        {
+            try
+            {
+                LogHelper.Info($"鍐呭瓨涓殑鎺掗攣琛ㄤ腑鐨勬暟鎹� + $"{JsonConvert.SerializeObject(RGRow)}");
+                if (RGRow.Count() > 0)
+                {
+                    var locs = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLRGDD" && x.S_LOCK_STATE == "鍑哄簱閿�).ToList();
+                    if (locs.Count() == 0)
+                    {
+                        RGRow = new List<RowLock>();
+                        LogHelper.Info($"鏍煎紡鍖栧唴瀛樹腑鐨勬帓閿� + $"{JsonConvert.SerializeObject(RGRow)}");
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Info($"鏍煎紡鍖栧唴瀛樹腑鐨勬帓閿�澶辫触" + $"{ex.Message}");
+            }
+        }
         public static void chargeCCD()
         {
             var ods = LocationHelper.GetList<YWLWorkOrder>(x => x.WorkType == 2 && x.SQL_State == "鎵ц涓�);
@@ -4070,6 +4343,19 @@
                 var locS = LocationHelper.GetAreaNormalLocList(ODs.Key);
                 foreach (var od in ODs)
                 {
+                    if (od.S_END_AREA == "YWLBQWJ" || od.S_END_AREA == "YWLAQWJ")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟
+                    {
+
+                        //鏌ヨ浠诲姟鏁�
+                        List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" };
+                        var db = new SqlHelper<object>().GetInstance();
+                        var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
+                        if (list.Count() >= 2)
+                        {
+                            LogHelper.Info($"CreateTransport-  CreateTask Error" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                            continue;
+                        }
+                    }
                     LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 寮� 銆嬨�銆�);
                     if (string.IsNullOrEmpty(od.S_ZZ_AREA) && string.IsNullOrEmpty(od.S_END_AREA))
                     {
diff --git a/HH.WCS.QingXiNongfu/core/TaskCore.cs b/HH.WCS.QingXiNongfu/core/TaskCore.cs
index ebe053a..42025e7 100644
--- a/HH.WCS.QingXiNongfu/core/TaskCore.cs
+++ b/HH.WCS.QingXiNongfu/core/TaskCore.cs
@@ -7,8 +7,6 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Web.Configuration;
-using System.Xml.Schema;
 using static HH.WCS.QingXigongchang.api.ApiModel;
 
 namespace HH.WCS.QingXigongchang.core
@@ -36,7 +34,7 @@
                     && wmsTask.S_B_STATE.Trim() != "寮哄埗瀹屾垚"
                     && wmsTask.S_B_STATE.Trim() != "鍙栨秷")
                 {
-                    if (model.State < 8 || model.State > 1000)
+                    if (model.State < 10 || model.State > 1000)
                     {
                         if (model.State < 7 && string.IsNullOrEmpty(model.ForkliftNo))
                         {
@@ -99,6 +97,15 @@
                                 if (r.ResultCode != -1)
                                     TaskHelper.BeEnd(wmsTask);
                                 break;
+                            case 9://寮哄埗鍙栨秷  //璧风偣瑙g粦閿侀噴鏀�缁堢偣閿侀噴鏀�+
+                                r = TaskProcess.OperateStatus(wmsTask, 9);
+                                if (r.ResultCode != -1)
+                                {
+                                    wmsTask.T_END_TIME = DateTime.Now;
+                                    TaskHelper.UpdateStatus(wmsTask, "鍙栨秷");
+                                }
+                                break;
 
 
                             case 1101://鍙栬揣鐢宠  -
diff --git a/HH.WCS.QingXiNongfu/device/TcpServer.cs b/HH.WCS.QingXiNongfu/device/TcpServer.cs
index 975ee0b..c89c3c4 100644
--- a/HH.WCS.QingXiNongfu/device/TcpServer.cs
+++ b/HH.WCS.QingXiNongfu/device/TcpServer.cs
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Net;
 using System.Net.Sockets;
+using System.Text.RegularExpressions;
 
 namespace HH.WCS.QingXigongchang.device
 {
@@ -105,9 +106,18 @@
                         Console.WriteLine(remote_ip + "" + message);
                         if (message.Substring(0, 4) == "3f00" && message.Substring(message.Length - 4) == "0d0a")
                         {
+                            var list = Regex.Split(message, "0d0a", RegexOptions.IgnoreCase).Distinct().ToList();
+                            foreach (var item in list)
+                            {
+                                if (!string.IsNullOrEmpty(item))
+                                {
+                                    string msg = message.Replace(@"0d", "").Replace(@"0a", "").Replace(@"0d0a", "").Trim();
+                                    PlcHelper.Receive(remote_ip, msg);
+                                }
+                            }
                             //鏄剧ず娑堟伅
-                            string msg = message.Replace(@"0d", "").Replace(@"0a", "").Replace(@"0d0a", "").Trim();
-                            PlcHelper.Receive(remote_ip, msg);
+                            //string msg = message.Replace(@"0d", "").Replace(@"0a", "").Replace(@"0d0a", "").Trim();
+                            //PlcHelper.Receive(remote_ip, msg);
                             Array.Clear(buffers[remote_ip], 0, buffers[remote_ip].Length);//娓呯┖褰撳墠IP Buffer
                         }
                         else
diff --git a/HH.WCS.QingXiNongfu/dispatch/NDC.cs b/HH.WCS.QingXiNongfu/dispatch/NDC.cs
index 473bc7e..e85ea83 100644
--- a/HH.WCS.QingXiNongfu/dispatch/NDC.cs
+++ b/HH.WCS.QingXiNongfu/dispatch/NDC.cs
@@ -70,11 +70,93 @@
                 return new AGVResult { Res = new Res { ErrCode = -1, ErrInfo = e.Message } };
             }
         }
+        public static bool AddTaskNew(int ts, int pri, string taskNo, Dictionary<string, string> dic)
+        {
+            var res = NDC.AddNewOrderNew(ts, pri, taskNo, dic);
+            if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009))
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 淇敼浼樺厛绾�+        /// </summary>
+        /// <param name="taskNo">浠诲姟鍙�/param>
+        /// <param name="paramNo">浼樺厛绾�/param>
+        /// <returns></returns>
+        public static bool ChangeParamPri(string taskNo, int paramNo = 0)
+        {
+            bool bResult = false;
+            var dic = new Dictionary<string, string>();
+            dic.Add("No", taskNo);
+            if (paramNo >= 0)
+            {
+                dic.Add("Pri", paramNo.ToString());
+            }
+            dic.Add("IKey", "");
+            var result = ChangeOrder(dic);
+            if (result.Res.ErrCode == 0) { bResult = true; }
+            return bResult;
+        }
+
+        public static AGVResult AddNewOrderNew(int ts, int pri, string taskNo, Dictionary<string, string> param)
+        {
+            //< Req >< Order TS = '1' Pri = '1' No = 'TN2302020001' Ext1 = '' Ext2 = '' N_CNTR_COUNT = '' >< Param Name = 'From' Value = '2' />< Param Name = 'To' Value = '1' /></ Order ></ Req >
+
+            var bufin = GetReqStrNew(ts, pri, taskNo, param);
+
+            try
+            {
+                LogHelper.Info($"浠诲姟涓嬪彂缁撴灉 OrderAdd req={bufin}", "NDC");
+                var result = callClient.OrderAdd(bufin);
+                LogHelper.Info($"浠诲姟涓嬪彂缁撴灉 OrderAdd req={bufin} res={result}", "NDC");
+                // Console.WriteLine($"浠诲姟涓嬪彂缁撴灉 OrderAdd req={bufin} res={result}");
+                //LogHelper.Info(result.bufout, "ts");
+                return GetResult(result);
+            }
+            catch (Exception e)
+            {
+                LogHelper.Info($"浠诲姟涓嬪彂澶辫触 OrderAdd req={bufin} res={e.Message}", "NDC");
+                //Console.WriteLine($"浠诲姟涓嬪彂澶辫触 AddNewOrder req={bufin} res={e.Message}");
+                return new AGVResult { Res = new Res { ErrCode = -1, ErrInfo = e.Message } };
+            }
+
+        }
+        private static string GetReqStrNew(int ts, int pri, string taskNo, Dictionary<string, string> param)
+        {
+            /*<Req>
+              <Order TS='5' Pri='80' No='666' NoCallback='0' Ext1='' Ext2='' Ext3=''>
+                <Param Name='From' Value='10' />
+                <Param Name='To' Value='20' />
+                <Param Name='FRow' Value='1' />
+                <Param Name='TRow' Value='7' />
+                <Param Name='DispInfo' Value='1' />
+                <Param Name='CtrlVal' Value='12' />
+                <Param Name='ChgTo' Value='2' />
+                <Param Name='Flow' Value='111' />
+                <Param Name='Tlow' Value='222' />
+              </Order>
+            </Req>*/
+            var sb = new StringBuilder();
+            sb.Append($"<Req><Order TS='{ts}' Pri='{pri}' No='{taskNo}'>");
+
+            foreach (var kv in param)
+            {
+                sb.Append($"<Param Name='{kv.Key}' Value='{kv.Value}'/>");
+            }
+            sb.Append("</Order></Req>");
+            return sb.ToString();
+        }
 
         public static AGVResult CancelOrder(int ts, Dictionary<string, string> param, string RORDERs = "")
         {
             //< Req >< Order No = 'TN2302020001' >< Param Name = 'IsForce' Value = '1' /></ Order ></ Req >
-            var bufin =GetReqStr(ts, param);
+            var bufin = GetReqStr(ts, param);
             if (!string.IsNullOrEmpty(RORDERs))
                 bufin = RORDERs;// GetReqStr(ts, param);
             try
diff --git a/HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt b/HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt
index 496fcc3..91931c7 100644
--- a/HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt
+++ b/HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt
@@ -226,37 +226,6 @@
 G:\1AGIT\WCS\HH.WCS.Mobox\鍐滃か娓呮邯\obj\Debug\HH.WCS.Q.FBA0BAD2.Up2Date
 G:\1AGIT\WCS\HH.WCS.Mobox\鍐滃か娓呮邯\obj\Debug\HH.WCS.QingXigongchang.exe
 G:\1AGIT\WCS\HH.WCS.Mobox\鍐滃か娓呮邯\obj\Debug\HH.WCS.QingXigongchang.pdb
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\chunk-vendors.3e768dfe.js.map
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\favicon.ico
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\index.html
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\chunk-vendors.3e768dfe.js
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\W.html
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\TableSetting.json
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\css\app.d545ec97.css
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\app.829e775c.js
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\settings.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\app.829e775c.js.map
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.exe.config
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.exe
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.pdb
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Newtonsoft.Json.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Buffers.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Memory.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Numerics.Vectors.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Threading.Tasks.Extensions.dll
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Buffers.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Memory.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Numerics.Vectors.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Threading.Tasks.Extensions.xml
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.AssemblyReference.cache
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.SuggestedBindingRedirects.cache
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe.config
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.CoreCompileInputs.cache
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.Q.FBA0BAD2.Up2Date
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe
-E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.pdb
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.AssemblyReference.cache
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.SuggestedBindingRedirects.cache
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe.config
@@ -305,14 +274,33 @@
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.Q.FBA0BAD2.Up2Date
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe
 G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.pdb
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\chunk-vendors.3e768dfe.js.map
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\favicon.ico
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\index.html
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\chunk-vendors.3e768dfe.js
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\W.html
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\TableSetting.json
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\css\app.d545ec97.css
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\app.829e775c.js
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\settings.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Static\js\app.829e775c.js.map
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.exe.config
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.exe
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.pdb
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Host.HttpListener.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Hosting.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Newtonsoft.Json.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\NLog.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Owin.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\SqlSugar.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Buffers.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Memory.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Net.Http.Formatting.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Numerics.Vectors.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Threading.Tasks.Extensions.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.Owin.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.dll
@@ -322,10 +310,27 @@
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Hosting.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Newtonsoft.Json.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\NLog.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Buffers.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Memory.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Net.Http.Formatting.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Numerics.Vectors.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Threading.Tasks.Extensions.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.Owin.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.NLog.xml
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\zh-Hans\System.Net.Http.Formatting.resources.dll
 E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\zh-Hans\System.Web.Http.resources.dll
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.AssemblyReference.cache
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.SuggestedBindingRedirects.cache
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe.config
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.csproj.CoreCompileInputs.cache
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.Q.FBA0BAD2.Up2Date
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.pdb
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.exe.manifest
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\HH.WCS.QingXigongchang.application
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.TrustInfo.xml
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe.manifest
+E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.application
diff --git a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
index c49bdd3..a391ae3 100644
--- a/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
+++ b/HH.WCS.QingXiNongfu/process/DeviceProcess.cs
@@ -144,7 +144,6 @@
             }
 
         }
-
         private static void Analysis13(string data, deviceInfo plc)
         {
             //鐢ㄤ簬  鍑哄簱鏃�鏄惁鍙互鐩磋揪 鎻愬崌鏈恒�  00 鍚庨潰杩橀渶澧炲姞閫�枡宸ュ崟澶勭悊銆�
@@ -313,7 +312,7 @@
                     si = "0";
 
                 }
-                else if (data.Contains("11"))// && (ods.Find(x => x.SQL_PLineNo.Contains("绾哥")) != null || plc.deviceName.Contains("T1"))
+                if (data.Contains("11"))// && (ods.Find(x => x.SQL_PLineNo.Contains("绾哥")) != null || plc.deviceName.Contains("T1"))
                 {
                     //if (!ods.Any())
                     //    return;
@@ -321,13 +320,22 @@
                     if (_cl.N_CURRENT_NUM > 0 || _clrel.Any())
                     {
                         LogHelper.Info($" time锛歿_clrel0?.T_CREATE} = s_type锛歿_clrel0.S_TYPE}");
+                        //if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
+                        //    goto ballll;
+                        //plg 2025骞�鏈�3鏃� 鍘婚櫎10绉掓椂闂撮檺鍒�                         if (_clrel.Any())
-                            //if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
-                            //    goto ballll;
-                            //plg 2025骞�鏈�3鏃� 鍘婚櫎10绉掓椂闂撮檺鍒�-                            if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 3 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
-                                goto ballll;
-
+                        {
+                            if (od?.SQL_PLineNo == "T1鎻愬崌鏈�)
+                            {
+                                if (!string.IsNullOrEmpty(_clrel0.S_TYPE))
+                                    goto ballll;
+                            }
+                            else
+                            {
+                                if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 3 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
+                                    goto ballll;
+                            }
+                        }
                         LocationHelper.DoAction(db =>
                             {
                                 db.Deleteable(_clrel).ExecuteCommand();
@@ -368,8 +376,10 @@
                         if (sBit != null)
                         {
                             var sign = Settings.GetTimeStamp();
-                            var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 50);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
+                            var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 60);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
                             LogHelper.Info($"鍘熺墿鏂欐惉杩�涓婃彁鍗囨満銆�{sign} 浠诲姟 锛屽垱寤簕res} ");
+                            //var res = TaskProcess.CreateTransport(sign, sBit.S_LOC_CODE, _cl.S_LOC_CODE, "鍘熺墿鏂欐惉杩�绾哥", new List<string> { _clrel.FirstOrDefault().S_CNTR_CODE }, sBit.N_CURRENT_NUM, 1, 1, 50);///, EdnRarea == "YWLYLTKQ" ? _clrel0.S_TYPE : "");
+                            //LogHelper.Info($"鍘熺墿鏂欐惉杩�涓婃彁鍗囨満銆�{sign} 浠诲姟 锛屽垱寤簕res} ");
                         }
                     }
                 }
diff --git a/HH.WCS.QingXiNongfu/process/TaskProcess.cs b/HH.WCS.QingXiNongfu/process/TaskProcess.cs
index 098d22a..48f649f 100644
--- a/HH.WCS.QingXiNongfu/process/TaskProcess.cs
+++ b/HH.WCS.QingXiNongfu/process/TaskProcess.cs
@@ -1112,6 +1112,12 @@
             {
                 CacheBitCancelUpdate(mst, out r, true);
             }
+            if (state == 9)
+            {
+                CacheBitUpdate(mst, load: true);
+                var g = LocationHelper.UnLockLoc(mst.S_END_LOC.Trim());
+                var T = LocationHelper.UnLockLoc(mst.S_START_LOC.Trim());
+            }
             return r;
         }
 
@@ -1349,6 +1355,48 @@
                         else return false;
                     }
                 }
+                //else if (taskType.Contains("鏀剁缉鑶滃弶杩�鍏ュ簱") || taskType.Contains("鏀剁缉鑶滃弶杩�鍏ュ簱") || taskType.Contains("鏀剁缉鑶滃弶杩�璐ф灦鍑烘彁鍗囨満"))
+                //{
+                //    var ts = 5;
+                //    start = LocationHelper.GetAgvSite(mst.S_START_LOC);//璧风偣绔欑偣
+                //    end = LocationHelper.GetAgvSite(mst.S_END_LOC);//缁堢偣绔欑偣
+                //    var dic = new Dictionary<string, string>();
+                //    dic.Add("From", start.ToString());
+                //    dic.Add("To", end.ToString());
+                //    dic.Add("FUNC", "0");
+                //    dic.Add("DATA", "0");
+                //    int height = 0;
+                //    var itemcode = "";
+                //    var ItemLayer = 0;
+                //    var db = new SqlHelper<object>().GetInstance();
+                //    var cirs = ContainerHelper.GetCntrItemRel(mst.S_CNTRS.Split(',').ToList().FirstOrDefault()).First();
+                //    LogHelper.Info($"鍘熺墿鏂�鏀剁缉鑶滃弶杩�瀹瑰櫒鐗╂枡琛ㄦ暟鎹畕JsonConvert.SerializeObject(cirs)}", "HosttoagvTask");
+                //    if (cirs != null)
+                //    {
+                //        var ItemF = db.Queryable<ItemInfo>().Where(a => a.S_ITEM_CODE == cirs.S_ITEM_CODE).First();
+                //        itemcode = ItemF.S_ITEM_CODE;
+                //        ItemLayer = ItemF.ItemLayer;
+                //        if (mst.N_START_LAYER < 3 || mst.N_END_LAYER < 3)
+                //        {
+                //            height = ItemF.trayHeight;
+                //        }
+                //        else
+                //        {
+                //            height = ItemF.trayHeight1;
+                //        }
+                //    }
+                //    dic.Add("ItemHeight", height.ToString());
+                //    dic.Add("StaItemHeight", "0");
+                //    dic.Add("TrayType", $"{mst.N_START_LAYER}{mst.N_END_LAYER}");
+                //    var ggh = NDC.AddTaskNew(ts, mst.N_PRIORITY, mst.S_TASK_NO, dic);
+                //    if (ggh)
+                //    {
+                //        TaskHelper.UpdateStatus(mst, "宸叉帹閫�);
+                //        result = true;
+                //        GeneralInterFaceFunc(mst, 8 + "");
+                //    }
+                //}
+
                 //else if ( mst.S_END_LAREA == "WJBQDDKQ" || mst.S_END_LAREA == "SXBQDDKQ"|| mst.S_START_LAREA == "WJBQDDKQ" ||mst.S_START_LAREA == "SXBQDDKQ" )
                 //{
                 //    if (start == 0)
diff --git a/HH.WCS.QingXiNongfu/settings.xml b/HH.WCS.QingXiNongfu/settings.xml
index fe40669..c20275e 100644
--- a/HH.WCS.QingXiNongfu/settings.xml
+++ b/HH.WCS.QingXiNongfu/settings.xml
@@ -1,26 +1,26 @@
 锘�?xml version="1.0" encoding="utf-8" ?>
 <Custom>
-	<HostToAgvServerUrl>http://192.168.1.146:9988/HostToAGV.cgi</HostToAgvServerUrl>
+	<HostToAgvServerUrl>http://10.140.3.100:9988/HostToAGV.cgi</HostToAgvServerUrl>
 	<OITcpServerUrl>http://127.0.0.1:5102</OITcpServerUrl>
-	<SqlServer>Data Source=192.168.1.137;Initial Catalog=OIMobox;User ID=sa;Password=Am123123</SqlServer>
-	<AgvSqlServer></AgvSqlServer>
-	<FuleServerUrl>http://127.0.0.1:5102</FuleServerUrl>
-	<repoNo>浠撳簱缂栫爜</repoNo>
-	<!--鑳氱洊涓婃姤-->
-	<MesServerUrl>http://127.0.0.1:5102</MesServerUrl>
-	<factoryCode>宸ュ巶缂栧彿</factoryCode>
-	<fromSystem>鏉ユ簮绯荤粺锛歁OBOX</fromSystem>
-
-	<securityKey></securityKey>
-	<tokenfrom></tokenfrom>
-
-	<FactoryCode>宸ュ巶缂栫爜</FactoryCode>
-	<TaskReportUrl>http://127.0.0.1:6666</TaskReportUrl>
-	<TaskReportKey></TaskReportKey>
-	<FactoryName>宸ュ巶鍚嶇О</FactoryName>
-	<OneSign>鍞竴鏍囪瘑</OneSign>
+	<SqlServer>Data Source=10.140.3.100;Initial Catalog=OIMobox;User ID=sa;Password=qaz-123456</SqlServer>
+	<AgvSqlServer>Data Source=10.140.3.100;Initial Catalog=QX_AGV;User ID=sa;Password=qaz-123456</AgvSqlServer>
+	<FuleServerUrl>http://yst-open-zuul.idc.yst.com.cn/api/yst-open-proxy/</FuleServerUrl>
+	<repoNo>QX00102</repoNo>
+	<securityKey>ebf0bfbbe98542b4804de03bc4ef0a70</securityKey>
+	<tokenfrom>MOBOX</tokenfrom>
+	
+	<FactoryCode>20B1</FactoryCode>
+	<TaskReportUrl>http://yst-open-zuul.idc.yst.com.cn/api/yst-open-proxy</TaskReportUrl>
+	<TaskReportKey>ebf0bfbbe98542b4804de03bc4ef0a70</TaskReportKey>
+	<FactoryName>闈掓邯</FactoryName>
+	<OneSign>0050</OneSign>
 
 	<!--plc淇℃伅锛宒eviceType=1 鑷姩闂�     deviceType=2 鐡剁洊鏈�鏃犺弻鐩� deviceType=3 鐡剁洊鏈�姘寸洊      deviceType=4 缈绘枟鏈猴紙姘寸洊锛�      deviceType=5 缈绘枟鏈猴紙鏃犺弻鐩�v1/v2锛� deviceType=6 缈绘枟鏈猴紙鏃犺弻鐩�v6锛� deviceType=7 缈绘枟鏈猴紙鏃犺弻鐩�v8锛�+	<FactoryCode>20B1</FactoryCode>
+	<TaskReportUrl>http://yst-open-zuul-qa.idc.yst.com.cn/api/yst-open-proxy</TaskReportUrl>
+	<TaskReportKey>9b42bdc3f0a94b3f9c31e72d1ab42ea7</TaskReportKey>
+	<FactoryName>闈掓邯</FactoryName>
+	<OneSign>0050</OneSign>
 	 {"address":"10.122.160.35","deviceName":"1鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1005","YLWJG1006"],"deviceType":2,"enable":0},
 	{"address":"10.122.160.36","deviceName":"2鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1003","YLWJG1004"],"deviceType":2,"enable":0},
 	{"address":"10.122.160.37","deviceName":"3鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1001","YLWJG1002"],"deviceType":2,"enable":0},
@@ -42,48 +42,102 @@
 	{"address":"10.122.160.33","deviceName":"闂╬lc4","deviceNo":["9","10"],"location":[],"deviceType":1,"enable":1},
 	{"address":"10.122.160.34","deviceName":"闂╬lc5","deviceNo":["11","12"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.162","deviceName":"550","deviceNo":["1"],"location":["CX-2","CX-1"],"deviceType":9,"enable":1},
 	
+	{"address":"10.140.3.162","deviceName":"550","deviceNo":["1"],"location":["CX-2","CX-1"],"deviceType":9,"enable":1},
+	{"address":"10.140.3.100","deviceName":"CX2","FuLeLineNo":"QX3","deviceNo":[],"location":["CX2-2","CX2-1","5LCX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16",],"deviceType":9,"enable":1},
 	  鐡跺澂鍏ュ簱鍖� 	  taskPri 榛樿鍊�0 -->
 	<!--  
 	1 闂紙鐙珛闂級
 	2 鏃犺弻鐩� 	3 姘寸洊
-	4 姘寸洊缈绘枟鏈�鍏ュ簱鍫嗗彔锛屼汉宸ヨВ銆�鍑哄簱浠庡嚭搴撲綅鍑哄埌绾胯竟	绌烘杩涗汉宸ュ尯锛�-	5 鐡跺澂缈绘枟鏈�-	6 鏃犺弻缈绘枟鏈�姝e父鍑哄叆搴撴祦绋� 鍫嗗彔锛屽叆搴擄紝鍑虹嚎杈�	绌烘杩涗汉宸ュ尯锛�+	4 姘寸洊缈绘枟鏈�+	5 鏃犺弻缈绘枟鏈�+	6 鐢垫
 	8 鐡跺澂
-	9 姘寸嚎 鎴愬搧
-	10 姘寸嚎缈绘枟鏈�浜哄伐鏀剧嚎杈�							绌烘杩涗汉宸ュ尯锛�-	11 鎻愬崌鏈�鐢垫鏈�+	9 姘寸嚎
 	-->
 	<deviceInfo>
 		<![CDATA[
     [
-	{"address":"10.140.3.164","deviceName":"550","FuLeLineNo":"550","deviceNo":[],"location":["CX-2","CX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
-	{"address":"10.140.3.163","deviceName":"娉ㄥ鏈�,"FuLeLineNo":"娉ㄥ鏈�,"deviceNo":["","666"],"location":["ZSJ1-1","ZSJ1-2"],"deviceType":8,"enable":1},
-	{"address":"10.140.3.161","deviceName":"缈绘枟鏈�,"FuLeLineNo":"缈绘枟鏈�,"deviceNo":["","999"],"location":["FDJ-1P-1L-1C"],"deviceType":5,"enable":1},
+	{"address":"10.140.3.164","deviceName":"550","FuLeLineNo":"闈掓邯鎴愬搧浠換X1杈撻�绾�,"deviceNo":[],"location":["CX-2","CX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	{"address":"10.140.3.163","deviceName":"娉ㄥ鏈�,"deviceNo":["","666"],"location":["ZSJ1-1","ZSJ1-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.175","deviceName":"娉ㄥ鏈�","deviceNo":["","664"],"location":["ZSJ3-1","ZSJ3-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.176","deviceName":"娉ㄥ鏈�","deviceNo":["","666"],"location":["ZSJ4-1","ZSJ4-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.150","deviceName":"娉ㄥ鏈�","deviceNo":["","659"],"location":["ZSJ5-1","ZSJ5-2"],"deviceType":8,"enable":1},
+	
+	{"address":"10.140.3.161","deviceName":"缈绘枟鏈�,"deviceNo":["","999"],"location":["FDJ-1P-1L-1C"],"deviceType":5,"enable":1},
+	
+	{"address":"10.140.3.181","deviceName":"3绾跨炕鏂楁満","deviceNo":["","979"],"location":["SXFDJ1"],"deviceType":5,"enable":1},
+		
+	{"address":"10.140.3.182","deviceName":"4绾跨炕鏂楁満","deviceNo":["","969"],"location":["SHIFDJ1"],"deviceType":5,"enable":1},
+
 	
 	{"address":"10.140.3.162","deviceName":"闂╬lc1","deviceNo":["1"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.169","deviceName":"5L550","FuLeLineNo":"5L550","deviceNo":[],"location":["5LCX-3","5LCX-2","5LCX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
-	{"address":"10.140.3.165","deviceName":"5L娉ㄥ鏈�,"FuLeLineNo":"5L娉ㄥ鏈�,"deviceNo":["","665"],"location":["5LZSJ1-1","5LZSJ1-2"],"deviceType":8,"enable":1},
-	{"address":"10.140.3.167","deviceName":"5L缈绘枟鏈�,"FuLeLineNo":"5L缈绘枟鏈�,"deviceNo":["","998"],"location":["5LFDJ"],"deviceType":5,"enable":1},
+	{"address":"10.140.3.169","deviceName":"5L550","FuLeLineNo":"闈掓邯鎴愬搧浠換X2杈撻�绾�,"deviceNo":[],"location":["5LCX-3","5LCX-2","5LCX-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.177","deviceName":"CX3","FuLeLineNo":"闈掓邯鎴愬搧浠換X3杈撻�绾�,"deviceNo":[],"location":["CX3-2","CX3-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.178","deviceName":"CX4","FuLeLineNo":"闈掓邯鎴愬搧浠換X4杈撻�绾�,"deviceNo":[],"location":["CX4-2","CX4-1"],"areaPriy":["QX-01","QX-02","QX-03","QX-04","QX-05","QX-06","QX-07","QX-08","QX-09","QX-10","QX-11","QX-12","QX-13","QX-14","QX-15","QX-16","QX-19",],"deviceType":9,"enable":1},
+	
+	
+	{"address":"10.140.3.165","deviceName":"5L娉ㄥ鏈�,"deviceNo":["","665"],"location":["5LZSJ1-1","5LZSJ1-2"],"deviceType":8,"enable":1},
+	{"address":"10.140.3.167","deviceName":"5L缈绘枟鏈�,"deviceNo":["","998"],"location":["5LFDJ"],"deviceType":5,"enable":1},
 	
 	{"address":"10.140.3.155","deviceName":"闂╬lc2","deviceNo":["2"],"location":[],"deviceType":1,"enable":1},
 	
-	{"address":"10.140.3.155","deviceName":"涓�ゼ鎼�妤�,"deviceNo":[],"location":["韪㈣涪韪�],"deviceType":11,"enable":1},
+	{"address":"10.140.3.179","deviceName":"闂╬lc3","deviceNo":["3"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.180","deviceName":"闂╬lc4","deviceNo":["4"],"location":[],"deviceType":1,"enable":1},
+	
+	
+	{"address":"10.140.3.190","deviceName":"QX3鏃犺弻鐩栫炕鏂楁満","deviceNo":["","8"],"location":["QX3FDJ-1"],"deviceType":6,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.191","deviceName":"QX4鏃犺弻鐩栫炕鏂楁満","deviceNo":["","9"],"location":["QX4FDJ-1"],"deviceType":6,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	{"address":"10.140.3.193","deviceName":"涓�彿鏃犺弻鐩栨満","deviceNo":[],"location":["WJG1-1","WJG1-2"],"deviceType":2,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.189","deviceName":"姘寸洊鏈�,"deviceNo":[],"location":["SGJ-1","SGJ-2"],"deviceType":3,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	{"address":"10.140.3.195","deviceName":"浜屽彿鏃犺弻鐩栨満","deviceNo":[],"location":["RHWJGJ-1","RHWJGJ-2"],"deviceType":2,"areaPriy":["QX3QX4MKRK"],"enable":1},
+	
+	
+	{"address":"10.140.3.192","deviceName":"闂╬lc6","deviceNo":["5"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.183","deviceName":"闂╬lc7","deviceNo":["13"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.194","deviceName":"闂╬lc8","deviceNo":["12"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.188","deviceName":"闂╬lc9","deviceNo":["7"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.185","deviceName":"闂╬lc10","deviceNo":["15","185"],"location":[""],"deviceType":1,"enable":1},
+
+	{"address":"10.140.3.186","deviceName":"闂╬lc11","deviceNo":["186"],"location":[""],"deviceType":1,"enable":1},
+	
 	{"address":"10.140.3.196","deviceName":"闂╬lc12","deviceNo":["6"],"location":[""],"deviceType":1,"enable":1},
-	{"address":"192.168.1.142","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
-	{"address":"192.168.10.86","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLSXBQTSJ"],"areaPriy":[],"deviceType":13,"enable":1},
+	
+	{"address":"10.140.3.197","deviceName":"闂╬lc16","deviceNo":["16"],"location":[""],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.184","deviceName":"鐡剁洊550缈绘枟鏈�,"deviceNo":["","184"],"location":["SGFDJ-1"],"deviceType":4,"areaPriy":["PGMKCK"],"enable":1},
+
+	{"address":"10.140.3.187","deviceName":"鐡剁洊5L缈绘枟鏈�,"deviceNo":["","187"],"location":["SXFDJ-1"],"deviceType":10,"areaPriy":["PGMKCK"],"enable":1},
+	
+	{"address":"10.140.3.170","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"taskPri":50,"location":["YWLT2TSJ"],"areaPriy":["YWLT2TSJCD"],"deviceType":13,"enable":1},
+	{"address":"10.140.9.167","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"taskPri":50,"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
 	
     ]]]>
+	
+	
 	</deviceInfo>
-
-
+	
 	<!--
-	DoorNo 涓婃姤鐨勯棬鍙枫� 184,185閮藉畾鐨勯棬鍙�0
+	{"address":"10.140.3.170","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT2TSJ"],"areaPriy":["YWLT2TSJCD"],"deviceType":13,"enable":1}
+	DoorNo 涓婃姤鐨勯棬鍙枫� 184,185 鑷畾鐨勯棬鍙�0
 	deviceNo  锛岀粰184锛�85 鑷繁瀹�涓棬鍙枫�鍐欒繖閲屻�
 	SignOpen	寮�棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
 	SignClose	鍏抽棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
@@ -92,30 +146,23 @@
 	-->
 	<DoorOneToMany>
 		<![CDATA[[
-			{"DoorNo":"10","deviceNo":["184","15"],"SignOpen":["21","21"],"SignClose":["20","20"]},
+			{"DoorNo":"10","deviceNo":["184","185"],"SignOpen":["21","21"],"SignClose":["20","20"]},
 			{"DoorNo":"11","deviceNo":["187","186"],"SignOpen":["21","21"],"SignClose":["20","20"]},
 		]]]>
 	</DoorOneToMany>
-
-	<!-- 
-		NotUsingBolArea		闈炲嵆浜ф弧妗嗕綅銆�			鐡剁洊鐨勫叆搴撳爢鍙犱綅锛岀炕鏂楁満鍑哄簱绾胯竟浣�-		UsingBolArea		鍗充骇婊℃浣�				杩欎釜缈绘枟鏈洪厤缃氨琛屼簡
-		NotUsingEmpty		闈炲嵆浜х┖妗嗕綅锛岀┖妗嗗爢鍙犱綅	缈绘枟鏈哄叆搴撳爢鍙犱綅锛岀摱鐩栫殑鍑哄簱绾胯竟浣�-		UsingEmpty			鍗充骇绌烘浣嶃�				杩欎釜鐡剁洊閰嶇疆灏辫浜�-	-->
-	<BOLArea>
-		<![CDATA[[
-			{"DeviceName":"鏃犺弻鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":2},
-			{"DeviceName":"姘寸洊鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":3},
-			{"DeviceName":"姘寸洊缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":4},
-			{"DeviceName":"鏃犺弻缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":6},
-			{"DeviceName":"姘寸嚎缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":10},
-		]]]>
-	</BOLArea>
+	
+	
 	<!--
 		
 		-->
-	<!-- 涓嬬嚎浣嶇疆閰嶇疆銆�  浠庝笂鍒颁笅鍒嗘帓锛屼粠宸﹀埌鍙�鍒嗗垪 -->
+	<!-- 涓嬬嚎浣嶇疆閰嶇疆銆�+
+{"address":"10.140.3.185","deviceName":"550缈绘枟鏈�,"deviceNo":["","10"],"location":["SGFDJ-1"],"deviceType":6,"enable":1},
+
+{"address":"10.140.3.186","deviceName":"5L缈绘枟鏈�,"deviceNo":["","11"],"location":["SXFDJ-1"],"deviceType":6,"enable":1},
+
+
+	{"address":"10.140.3.190","deviceName":"闂╬lc5","deviceNo":["12"],"location":[],"deviceType":1,"enable":1},浠庝笂鍒颁笅鍒嗘帓锛屼粠宸﹀埌鍙�鍒嗗垪 -->
 	<!--
 		1-1鍙锋棤鑿�鍙锋棤鑿�鍙锋棤鑿� 		2 - 1鍙锋按鐩�@@ -140,35 +187,84 @@
     ]]]>
 	</inStockCacheBit>-->
 	<!--
-	agv灏忚溅鐨勫彇鏀剧偣浣�-	
 	Location:璐т綅缂栫爜
 	StartBit锛氫綔涓鸿捣鐐规椂鐨勭珯鐐� 	EndBit锛氫綔涓虹粓鐐规椂鐨勭珯鐐� 	-->
-
 	<MoreSites>
 		<![CDATA[[
-			{"Location":"JCJYKK-1P-1L-1C","StartBit":178,"EndBit":1335},
-			{"Location":"JCJYKK-1P-2L-1C","StartBit":175,"EndBit":1336},
-			{"Location":"JCJYMK-1P-1L-1C","StartBit":184,"EndBit":1333},
-			{"Location":"JCJYMK-1P-2L-1C","StartBit":181,"EndBit":1334},
-			{"Location":"JCJYMK-1P-3L-1C","StartBit":1372,"EndBit":1418},
-			{"Location":"JCJYMK-1P-4L-1C","StartBit":1374,"EndBit":1419},
-			{"Location":"鎺ラ┏鍖�BACK","StartBit":1374,"EndBit":1419},
+			{"Location":"JCJYKK1-1","StartBit":3372,"EndBit":3372},
+			{"Location":"JCJYKK2-1","StartBit":3370,"EndBit":3370},
+			{"Location":"JCJYKK3-1","StartBit":3367,"EndBit":3367},
+			{"Location":"JCJYKK1-4","StartBit":3368,"EndBit":3368},
+			{"Location":"550JCJYMK1-1","StartBit":1425,"EndBit":1424},
+			{"Location":"550JCJYMK2-1","StartBit":1426,"EndBit":1423},
+			{"Location":"550JCJYMK3-1","StartBit":1478,"EndBit":1477},
+			{"Location":"550JCJYMK4-1","StartBit":3506,"EndBit":3505},
+			{"Location":"5LJCJYMK1-1","StartBit":1488,"EndBit":1487},
+			{"Location":"5LJCJYMK2-1","StartBit":1489,"EndBit":1486},
+			{"Location":"5LJCJYMK3-1","StartBit":1335,"EndBit":178},
+			{"Location":"5LJCJYMK4-1","StartBit":1336,"EndBit":1528},
+			{"Location":"SXJCJY1-1","StartBit":3485,"EndBit":3484},
+			{"Location":"SXJCJY2-1","StartBit":3482,"EndBit":3481},
+			{"Location":"SXJCJY3-1","StartBit":3483,"EndBit":3480},
+			{"Location":"SXJCJY4-1","StartBit":3487,"EndBit":3486},
+			{"Location":"SIXJCJY1-1","StartBit":3471,"EndBit":3470},
+			{"Location":"SIXJCJY2-1","StartBit":3469,"EndBit":3468},
+			{"Location":"SIXJCJY3-1","StartBit":3466,"EndBit":3465},
+			{"Location":"QXZXZZQ1-1","StartBit":5450,"EndBit":5523},
+			{"Location":"QXZXZZQ1-2","StartBit":5455,"EndBit":5524},
+			{"Location":"QXZXZZQ1-3","StartBit":5454,"EndBit":5525},
+			{"Location":"QXZXZZQ1-4","StartBit":5453,"EndBit":5526},
+			{"Location":"QXZXZZQ1-5","StartBit":5452,"EndBit":5527},
+			{"Location":"QXZXZZQ1-6","StartBit":5451,"EndBit":5528},
+			{"Location":"QXZXZZQ1-7","StartBit":5463,"EndBit":5529},
+			{"Location":"QXZXZZQ1-8","StartBit":5464,"EndBit":5530},
+			{"Location":"QXZXZZQ2-1","StartBit":5497,"EndBit":5562},
+			{"Location":"QXZXZZQ2-2","StartBit":5502,"EndBit":5561},
+			{"Location":"QXZXZZQ2-3","StartBit":5501,"EndBit":5560},
+			{"Location":"QXZXZZQ2-4","StartBit":5500,"EndBit":5559},
+			{"Location":"QXZXZZQ2-5","StartBit":5499,"EndBit":5558},
+			{"Location":"QXZXZZQ2-6","StartBit":5498,"EndBit":5557},
+			{"Location":"QXZXZZQ2-7","StartBit":5503,"EndBit":5556},
+			{"Location":"QXZXZZQ2-8","StartBit":5504,"EndBit":5555},
+			{"Location":"QXZXZZQ3-1","StartBit":5506,"EndBit":5570},
+			{"Location":"QXZXZZQ3-2","StartBit":5511,"EndBit":5569},
+			{"Location":"QXZXZZQ3-3","StartBit":5510,"EndBit":5568},
+			{"Location":"QXZXZZQ3-4","StartBit":5509,"EndBit":5567},
+			{"Location":"QXZXZZQ3-5","StartBit":5508,"EndBit":5566},
+			{"Location":"QXZXZZQ3-6","StartBit":5507,"EndBit":5565},
+			{"Location":"QXZXZZQ3-7","StartBit":5512,"EndBit":5564},
+			{"Location":"QXZXZZQ3-8","StartBit":5513,"EndBit":5563},
+			{"Location":"QXZXZZQ4-1","StartBit":5515,"EndBit":5578},
+			{"Location":"QXZXZZQ4-2","StartBit":5520,"EndBit":5577},
+			{"Location":"QXZXZZQ4-3","StartBit":5519,"EndBit":5576},
+			{"Location":"QXZXZZQ4-4","StartBit":5518,"EndBit":5575},
+			{"Location":"QXZXZZQ4-5","StartBit":5517,"EndBit":5574},
+			{"Location":"QXZXZZQ4-6","StartBit":5516,"EndBit":5573},
+			{"Location":"QXZXZZQ4-7","StartBit":5521,"EndBit":5572},
+			{"Location":"QXZXZZQ4-8","StartBit":5522,"EndBit":5571},
+			{"Location":"WJBQJBQ1-1&BACK","StartBit":7445,"EndBit":7443},
+			{"Location":"WJBQJBQ2-1&BACK","StartBit":7446,"EndBit":7444},
 		]]]>
 	</MoreSites>
-	<!--閰嶇疆 鍗充骇 绌�婊�搴撳尯锛岄潪鍗充骇搴�绌�婊�鍖� 
-	1.鍗充骇婊�-	2.鍗充骇绌�-	3 闈炲嵆浜ф弧
-	4.闈炲嵆浜х┖
+	<!--
+	
+	{"DeviceName":"4L5L绾跨炕鏂楁満","NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":10},
 	-->
-	<AreaSet>
+		<BOLArea>
 		<![CDATA[[
-			{"Area":"JCJYKK","AreaType":2},
+					{"DeviceName":"涓�彿鏃犺弻鐩栨満","NotUsingBolArea":"","UsingBolArea":"XQX3JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX3WJGJCJYKK","deviceType":2},
+					
+					{"DeviceName":"浜屽彿鏃犺弻鐩栨満","NotUsingBolArea":"","UsingBolArea":"XQX4JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX3WJGJCJYKK","deviceType":2},
+					{"DeviceName":"QX3鏃犺弻鐩栫炕鏂楁満","NotUsingBolArea":"QX3QX4MKRK","UsingBolArea":"XQX3JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX34WJGJCJYKK","deviceType":6},
+					{"DeviceName":"QX4鏃犺弻鐩栫炕鏂楁満","NotUsingBolArea":"QX3QX4MKRK","UsingBolArea":"XQX4JCMKRK","NotUsingEmpty":"PGKKCK","UsingEmpty":"QX34WJGJCJYKK","deviceType":6},
+					{"DeviceName":"姘寸洊鏈�,"NotUsingBolArea":"SGHRCW","UsingBolArea":"SGJCJYMK","NotUsingEmpty":"PGKKCK","UsingEmpty":"SGJCJYKK","deviceType":3},
+					{"DeviceName":"鐡剁洊550缈绘枟鏈�,"NotUsingBolArea":"SGHCW","UsingBolArea":"SGJCJYMK","NotUsingEmpty":"SGKKHRCW","UsingEmpty":"SGJCJYKK","deviceType":4},
+					{"DeviceName":"鐡剁洊5L缈绘枟鏈�,"NotUsingBolArea":"SGRGHCW","UsingBolArea":"","NotUsingEmpty":"SGKKHRCW","UsingEmpty":"","deviceType":10},
+					
 		]]]>
-	</AreaSet>
-
+	</BOLArea>
+	
 </Custom>
 
diff --git a/HH.WCS.QingXiNongfu/settings1.xml b/HH.WCS.QingXiNongfu/settings1.xml
new file mode 100644
index 0000000..fe40669
--- /dev/null
+++ b/HH.WCS.QingXiNongfu/settings1.xml
@@ -0,0 +1,174 @@
+锘�?xml version="1.0" encoding="utf-8" ?>
+<Custom>
+	<HostToAgvServerUrl>http://192.168.1.146:9988/HostToAGV.cgi</HostToAgvServerUrl>
+	<OITcpServerUrl>http://127.0.0.1:5102</OITcpServerUrl>
+	<SqlServer>Data Source=192.168.1.137;Initial Catalog=OIMobox;User ID=sa;Password=Am123123</SqlServer>
+	<AgvSqlServer></AgvSqlServer>
+	<FuleServerUrl>http://127.0.0.1:5102</FuleServerUrl>
+	<repoNo>浠撳簱缂栫爜</repoNo>
+	<!--鑳氱洊涓婃姤-->
+	<MesServerUrl>http://127.0.0.1:5102</MesServerUrl>
+	<factoryCode>宸ュ巶缂栧彿</factoryCode>
+	<fromSystem>鏉ユ簮绯荤粺锛歁OBOX</fromSystem>
+
+	<securityKey></securityKey>
+	<tokenfrom></tokenfrom>
+
+	<FactoryCode>宸ュ巶缂栫爜</FactoryCode>
+	<TaskReportUrl>http://127.0.0.1:6666</TaskReportUrl>
+	<TaskReportKey></TaskReportKey>
+	<FactoryName>宸ュ巶鍚嶇О</FactoryName>
+	<OneSign>鍞竴鏍囪瘑</OneSign>
+
+	<!--plc淇℃伅锛宒eviceType=1 鑷姩闂�     deviceType=2 鐡剁洊鏈�鏃犺弻鐩� deviceType=3 鐡剁洊鏈�姘寸洊      deviceType=4 缈绘枟鏈猴紙姘寸洊锛�      deviceType=5 缈绘枟鏈猴紙鏃犺弻鐩�v1/v2锛� deviceType=6 缈绘枟鏈猴紙鏃犺弻鐩�v6锛� deviceType=7 缈绘枟鏈猴紙鏃犺弻鐩�v8锛�+	 {"address":"10.122.160.35","deviceName":"1鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1005","YLWJG1006"],"deviceType":2,"enable":0},
+	{"address":"10.122.160.36","deviceName":"2鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1003","YLWJG1004"],"deviceType":2,"enable":0},
+	{"address":"10.122.160.37","deviceName":"3鍙锋棤鑿岀洊鏈�,"deviceNo":[],"location":["YLWJG1001","YLWJG1002"],"deviceType":2,"enable":0},
+	{"address":"192.168.1.87","deviceName":"1鍙锋按鐩栨満","deviceNo":[],"location":["SGJNB5","SGJNB6"],"deviceType":3,"enable":1},
+	{"address":"10.122.160.39","deviceName":"2鍙锋按鐩栨満","deviceNo":[],"location":["SGJNB3","SGJNB4"],"deviceType":3,"enable":0},
+	{"address":"10.122.160.40","deviceName":"3鍙锋按鐩栨満","deviceNo":[],"location":["SGJNB7","SGJNB8"],"deviceType":3,"enable":0},
+	{"address":"10.122.160.41","deviceName":"4鍙锋按鐩栨満","deviceNo":[],"location":["SGJNB1","SGJNB2"],"deviceType":3,"enable":0},
+	
+	{"address":"10.122.160.42","deviceName":"V1/V2","deviceNo":["","13"],"location":["FDJ5469"],"deviceType":5,"enable":1},
+	{"address":"10.122.160.43","deviceName":"V3/V7","deviceNo":["","14"],"location":["FDJ5457"],"deviceType":4,"enable":1},
+	{"address":"127.0.0.1","deviceName":"V6","deviceNo":["","15"],"location":["FDJ5458"],"deviceType":6,"enable":1},
+	
+	{"address":"10.122.160.46","deviceName":"V8","deviceNo":["","16"],"location":["CCC3"],"deviceType":7,"enable":0},
+	{"address":"10.122.160.45","deviceName":"V4/V5","deviceNo":["","door1"],"location":["FDJ5459"],"deviceType":4,"enable":0},
+	
+	{"address":"10.122.160.30","deviceName":"闂╬lc1","deviceNo":["1","2"],"location":[],"deviceType":1,"enable":1},
+	{"address":"10.122.160.31","deviceName":"闂╬lc2","deviceNo":["4","3"],"location":[],"deviceType":1,"enable":1},
+	{"address":"10.122.160.32","deviceName":"闂╬lc3","deviceNo":["7","6","8","5"],"location":[],"deviceType":1,"enable":1},
+	{"address":"10.122.160.33","deviceName":"闂╬lc4","deviceNo":["9","10"],"location":[],"deviceType":1,"enable":1},
+	{"address":"10.122.160.34","deviceName":"闂╬lc5","deviceNo":["11","12"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.162","deviceName":"550","deviceNo":["1"],"location":["CX-2","CX-1"],"deviceType":9,"enable":1},
+	
+	  鐡跺澂鍏ュ簱鍖�+	  taskPri 榛樿鍊�0 -->
+	<!--  
+	1 闂紙鐙珛闂級
+	2 鏃犺弻鐩�+	3 姘寸洊
+	4 姘寸洊缈绘枟鏈�鍏ュ簱鍫嗗彔锛屼汉宸ヨВ銆�鍑哄簱浠庡嚭搴撲綅鍑哄埌绾胯竟	绌烘杩涗汉宸ュ尯锛�+	5 鐡跺澂缈绘枟鏈�+	6 鏃犺弻缈绘枟鏈�姝e父鍑哄叆搴撴祦绋� 鍫嗗彔锛屽叆搴擄紝鍑虹嚎杈�	绌烘杩涗汉宸ュ尯锛�+	8 鐡跺澂
+	9 姘寸嚎 鎴愬搧
+	10 姘寸嚎缈绘枟鏈�浜哄伐鏀剧嚎杈�							绌烘杩涗汉宸ュ尯锛�+	11 鎻愬崌鏈�鐢垫鏈�+	-->
+	<deviceInfo>
+		<![CDATA[
+    [
+	{"address":"10.140.3.164","deviceName":"550","FuLeLineNo":"550","deviceNo":[],"location":["CX-2","CX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
+	{"address":"10.140.3.163","deviceName":"娉ㄥ鏈�,"FuLeLineNo":"娉ㄥ鏈�,"deviceNo":["","666"],"location":["ZSJ1-1","ZSJ1-2"],"deviceType":8,"enable":1},
+	{"address":"10.140.3.161","deviceName":"缈绘枟鏈�,"FuLeLineNo":"缈绘枟鏈�,"deviceNo":["","999"],"location":["FDJ-1P-1L-1C"],"deviceType":5,"enable":1},
+	
+	{"address":"10.140.3.162","deviceName":"闂╬lc1","deviceNo":["1"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.169","deviceName":"5L550","FuLeLineNo":"5L550","deviceNo":[],"location":["5LCX-3","5LCX-2","5LCX-1"],"areaPriy":["QX-02","QX-03","QX-04","QX-05"],"deviceType":9,"enable":1},
+	{"address":"10.140.3.165","deviceName":"5L娉ㄥ鏈�,"FuLeLineNo":"5L娉ㄥ鏈�,"deviceNo":["","665"],"location":["5LZSJ1-1","5LZSJ1-2"],"deviceType":8,"enable":1},
+	{"address":"10.140.3.167","deviceName":"5L缈绘枟鏈�,"FuLeLineNo":"5L缈绘枟鏈�,"deviceNo":["","998"],"location":["5LFDJ"],"deviceType":5,"enable":1},
+	
+	{"address":"10.140.3.155","deviceName":"闂╬lc2","deviceNo":["2"],"location":[],"deviceType":1,"enable":1},
+	
+	{"address":"10.140.3.155","deviceName":"涓�ゼ鎼�妤�,"deviceNo":[],"location":["韪㈣涪韪�],"deviceType":11,"enable":1},
+	{"address":"10.140.3.196","deviceName":"闂╬lc12","deviceNo":["6"],"location":[""],"deviceType":1,"enable":1},
+	{"address":"192.168.1.142","deviceName":"T1鎻愬崌鏈�,"deviceNo":[""],"location":["YWLT1TSJ"],"areaPriy":["YWLT1TSJCD"],"deviceType":13,"enable":1},
+	{"address":"192.168.10.86","deviceName":"T2鎻愬崌鏈�,"deviceNo":[""],"location":["YWLSXBQTSJ"],"areaPriy":[],"deviceType":13,"enable":1},
+	
+    ]]]>
+	</deviceInfo>
+
+
+	<!--
+	DoorNo 涓婃姤鐨勯棬鍙枫� 184,185閮藉畾鐨勯棬鍙�0
+	deviceNo  锛岀粰184锛�85 鑷繁瀹�涓棬鍙枫�鍐欒繖閲屻�
+	SignOpen	寮�棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
+	SignClose	鍏抽棬淇″彿銆�涓巇eviceNo 1锛� 瀵瑰簲
+	185 闂ㄥ彿15
+	184锛�86锛�87 鑷畾涔�+	-->
+	<DoorOneToMany>
+		<![CDATA[[
+			{"DoorNo":"10","deviceNo":["184","15"],"SignOpen":["21","21"],"SignClose":["20","20"]},
+			{"DoorNo":"11","deviceNo":["187","186"],"SignOpen":["21","21"],"SignClose":["20","20"]},
+		]]]>
+	</DoorOneToMany>
+
+	<!-- 
+		NotUsingBolArea		闈炲嵆浜ф弧妗嗕綅銆�			鐡剁洊鐨勫叆搴撳爢鍙犱綅锛岀炕鏂楁満鍑哄簱绾胯竟浣�+		UsingBolArea		鍗充骇婊℃浣�				杩欎釜缈绘枟鏈洪厤缃氨琛屼簡
+		NotUsingEmpty		闈炲嵆浜х┖妗嗕綅锛岀┖妗嗗爢鍙犱綅	缈绘枟鏈哄叆搴撳爢鍙犱綅锛岀摱鐩栫殑鍑哄簱绾胯竟浣�+		UsingEmpty			鍗充骇绌烘浣嶃�				杩欎釜鐡剁洊閰嶇疆灏辫浜�+	-->
+	<BOLArea>
+		<![CDATA[[
+			{"DeviceName":"鏃犺弻鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":2},
+			{"DeviceName":"姘寸洊鐡剁洊鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":3},
+			{"DeviceName":"姘寸洊缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":4},
+			{"DeviceName":"鏃犺弻缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":6},
+			{"DeviceName":"姘寸嚎缈绘枟鏈�,"NotUsingBolArea":"F鍗充骇绾胯竟浣峚rea","UsingBolArea":"鍗充骇绾胯竟浣峚rea",NotUsingEmpty":"闈炲嵆浜х┖妗嗗爢鍙犱綅","UsingEmpty":"鍗充骇绾胯竟绌烘浣峚rea","deviceType":10},
+		]]]>
+	</BOLArea>
+	<!--
+		
+		-->
+	<!-- 涓嬬嚎浣嶇疆閰嶇疆銆�  浠庝笂鍒颁笅鍒嗘帓锛屼粠宸﹀埌鍙�鍒嗗垪 -->
+	<!--
+		1-1鍙锋棤鑿�鍙锋棤鑿�鍙锋棤鑿�+		2 - 1鍙锋按鐩�+		3-涓嬬嚎绌烘鍑哄簱浣�+		34-涓嬬嚎绌烘浣�- 鍑哄簱缂撳瓨銆�
+		4-涓嬬嚎绌烘鍏ュ簱浣�+		5-鍗充骇婊℃姘寸洊
+		6-鍗充骇婊℃鏃犺弻鐩�+		7-鍗充骇绌烘
+		8-搴熸枡
+		9-涓婄嚎鍗充骇婊℃棤鑿�+		10-涓婄嚎鍗充骇婊℃按鐩�+		11-鍏ュ簱绌�+		12-鍗充骇绌�+		13-鍑哄簱婊℃按鐩�+		14-鍑哄簱婊℃棤鑿�+	-->
+	<!--<inStockCacheBit>
+		<![CDATA[
+    [
+    {"location":"","locationType":1,"deviceName":"1鍙风摱鍧�}
+    ]]]>
+	</inStockCacheBit>-->
+	<!--
+	agv灏忚溅鐨勫彇鏀剧偣浣�+	
+	Location:璐т綅缂栫爜
+	StartBit锛氫綔涓鸿捣鐐规椂鐨勭珯鐐�+	EndBit锛氫綔涓虹粓鐐规椂鐨勭珯鐐�+	-->
+
+	<MoreSites>
+		<![CDATA[[
+			{"Location":"JCJYKK-1P-1L-1C","StartBit":178,"EndBit":1335},
+			{"Location":"JCJYKK-1P-2L-1C","StartBit":175,"EndBit":1336},
+			{"Location":"JCJYMK-1P-1L-1C","StartBit":184,"EndBit":1333},
+			{"Location":"JCJYMK-1P-2L-1C","StartBit":181,"EndBit":1334},
+			{"Location":"JCJYMK-1P-3L-1C","StartBit":1372,"EndBit":1418},
+			{"Location":"JCJYMK-1P-4L-1C","StartBit":1374,"EndBit":1419},
+			{"Location":"鎺ラ┏鍖�BACK","StartBit":1374,"EndBit":1419},
+		]]]>
+	</MoreSites>
+	<!--閰嶇疆 鍗充骇 绌�婊�搴撳尯锛岄潪鍗充骇搴�绌�婊�鍖� 
+	1.鍗充骇婊�+	2.鍗充骇绌�+	3 闈炲嵆浜ф弧
+	4.闈炲嵆浜х┖
+	-->
+	<AreaSet>
+		<![CDATA[[
+			{"Area":"JCJYKK","AreaType":2},
+		]]]>
+	</AreaSet>
+
+</Custom>
+
diff --git a/HH.WCS.QingXiNongfu/wms/LocationHelper.cs b/HH.WCS.QingXiNongfu/wms/LocationHelper.cs
index dcbbabc..6c01060 100644
--- a/HH.WCS.QingXiNongfu/wms/LocationHelper.cs
+++ b/HH.WCS.QingXiNongfu/wms/LocationHelper.cs
@@ -1,17 +1,11 @@
 锘縰sing HH.WCS.QingXigongchang.process;
 using HH.WCS.QingXigongchang.util;
 using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using SqlSugar;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq.Expressions;
-using System.Security.Cryptography;
-using System.Text;
-using System.Threading.Tasks;
-using static HH.WCS.QingXigongchang.dispatch.NDC;
 
 namespace HH.WCS.QingXigongchang.wms
 {
diff --git a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
index 1c1a779..fb28716 100644
--- a/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
+++ b/HH.WCS.QingXiNongfu/wms/TaskHelper.cs
@@ -1,14 +1,11 @@
 锘縰sing HH.WCS.QingXigongchang.dispatch;
-using HH.WCS.QingXigongchang.process;
 using HH.WCS.QingXigongchang.util;
 using Newtonsoft.Json;
-using NLog.Fluent;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq.Expressions;
-using System.Threading.Tasks;
 
 namespace HH.WCS.QingXigongchang.wms
 {
@@ -89,18 +86,19 @@
         {
             var fromLoc = LocationHelper.GetLoc(from);
             var endLoc = LocationHelper.GetLoc(to);
-
+            var chi = new SqlHelper<object>().GetInstance();
+            var newDb = chi.CopyNew();
             //NDCHelper.ChangeParam(taskNo, agvsite, 2);
             //NDCHelper.ChangeParam(taskNo, 2, 6);
 
             if (fromLoc.S_AREA_CODE == "YWLRGDD")
             {
                 //鏌ヨ浠诲姟琛� 瑕佹眰鏄彧鑳界敓鎴愪袱涓换鍔�璧风偣搴撳尯涓篩WLRGDD  hh_plg  2025骞�鏈�鏃�
-                List<string> TaskState = new List<string>() { "瀹屾垚", "鍙栨秷" };
-                var TaskListNum = LocationHelper.GetList<WMSTask>(x => x.S_START_LAREA == "YWLRGDD" && !TaskState.Contains(x.S_B_STATE));
-                if (TaskListNum.Count() >= 2)
+
+                var TaskListNum = newDb.Queryable<Location>().Where(l => l.S_AREA_CODE == "YWLRGDD" && l.S_LOCK_STATE == "鍑哄簱閿�).ToList();
+                if (TaskListNum.Count() >= 3)
                 {
-                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                    LogHelper.Info($"CreateTransport-  CreateTask Error" + $"璧风偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪笁涓换鍔�);
                     return false;
                 }
             }
@@ -241,43 +239,55 @@
         }
         internal static void End(WMSTask task)
         {
-            var db = new SqlHelper<WMSTask>().GetInstance();
+            var db = new SqlHelper<object>().GetInstance();
 
-
-            //plg 2025骞�鏈�3鏃�10:42:24
-            if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC))
+            if (task.S_END_LAREA == "YWLYLTKQ" || task.S_END_LAREA == "YWLTKKTQ")
             {
-                var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
-                if (model != null)
+                //鏌ヨ鍑哄簱閿乊WLWJJB
+                var ls = LocationHelper.GetList<Location>(x => x.S_AREA_CODE == "YWLWJJB" && x.S_LOCK_STATE == "鍑哄簱閿�);
+                if (ls.Any())
                 {
-                    //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�-                    db.Ado.BeginTran();
-                    try
+                    var tas = db.Queryable<WMSTask>().Where(a => a.S_START_LOC == ls.First().S_LOC_CODE).ToList().FirstOrDefault();
+                    if (tas.S_B_STATE == "宸叉帹閫�)
                     {
-                        model.S_LOCK_STATE = "鏃�;
-                        var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
-                        LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res);
-                        db.Ado.CommitTran();
+                        NDC.ChangeParamPri(tas.S_TASK_NO, 70);
                     }
-                    catch (Exception ex)
-                    {
-                        db.Ado.RollbackTran();
-                        LogHelper.Info("CreateTask 澶辫触 " + ex.Message);
-                    }
-
-                    LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�");
-                    var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
-                    //if (b)
-                    //{
-                    //    if (task != null)
-                    //    {
-                    //        task.S_B_STATE = "瀹屾垚";
-                    //        task.T_END_TIME = DateTime.Now;
-                    //        db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
-                    //    }
-                    //}
                 }
             }
+            ////plg 2025骞�鏈�3鏃�10:42:24
+            //if (task.S_END_LAREA == "YWLWJJB" && task.S_START_LAREA != "YWLRGDD" && !string.IsNullOrEmpty(task.S_TWO_END_LOC))
+            //{
+            //    var model = db.Queryable<Location>().Where(a => a.S_LOC_CODE == task.S_TWO_END_LOC).First();
+            //    if (model != null)
+            //    {
+            //        //鍏堣В閿佺粓鐐�鍦ㄩ攣瀹�+            //        db.Ado.BeginTran();
+            //        try
+            //        {
+            //            model.S_LOCK_STATE = "鏃�;
+            //            var res = db.Updateable(model).UpdateColumns(it => new { it.S_LOCK_STATE }).ExecuteCommand() > 0;
+            //            LogHelper.Info(task.S_TWO_END_LOC + "LockLoc:閿佺粨鏋� + res);
+            //            db.Ado.CommitTran();
+            //        }
+            //        catch (Exception ex)
+            //        {
+            //            db.Ado.RollbackTran();
+            //            LogHelper.Info("CreateTask 澶辫触 " + ex.Message);
+            //        }
+
+            //        LogHelper.Info(task.S_TWO_END_LOC + "浜屾浠诲姟 寮�銆�");
+            //        var b = TaskProcess.CreateTransport(task.S_SRC_NO, task.S_END_LOC, task.S_TWO_END_LOC, "鍘熺墿鏂欐惉杩�绾哥", task.S_CNTRS.Split(',').ToList(), task.N_START_LAYER, 1, task.N_CNTR_COUNT, task.N_PRIORITY);
+            //        //if (b)
+            //        //{
+            //        //    if (task != null)
+            //        //    {
+            //        //        task.S_B_STATE = "瀹屾垚";
+            //        //        task.T_END_TIME = DateTime.Now;
+            //        //        db.Updateable(task).UpdateColumns(it => new { it.S_B_STATE, it.T_END_TIME }).ExecuteCommand();
+            //        //    }
+            //        //}
+            //    }
+            //}
             if (task != null)
             {
                 task.S_B_STATE = "瀹屾垚";
diff --git a/HH.WCS.QingXiNongfu/wms/WCSModel.cs b/HH.WCS.QingXiNongfu/wms/WCSModel.cs
index 2dbd375..5ac2008 100644
--- a/HH.WCS.QingXiNongfu/wms/WCSModel.cs
+++ b/HH.WCS.QingXiNongfu/wms/WCSModel.cs
@@ -276,6 +276,7 @@
         /// 寮冪敤锛�鏀逛负璁板綍涓婃搴撳尯-  
         /// </summary>
         public string TagOver { get; internal set; } = "";
+
         public DateTime? TagOverTime { get; internal set; }
         public string S_BQ_TRAY_TYPE { get; internal set; } = "";
         /// <summary>
@@ -503,6 +504,7 @@
     [SuGG("搴撳簱杞繍")]
     public class YWLZXtake : BaseModel
     {
+        public string SQL_WorkNo { get; set; }
         public string S_START_AREA { get; set; }
         public int N_START_ROW { get; set; }
         public string S_ZZ_AREA { get; set; }
diff --git a/HH.WCS.QingXiNongfu/wms/WMSModel.cs b/HH.WCS.QingXiNongfu/wms/WMSModel.cs
index 694aa85..46da2dc 100644
--- a/HH.WCS.QingXiNongfu/wms/WMSModel.cs
+++ b/HH.WCS.QingXiNongfu/wms/WMSModel.cs
@@ -69,6 +69,9 @@
         public int N_LAYER { get; internal set; }
         public string S_ITEM_CODE { get; internal set; }
         public string S_ITEM_NAME { get; internal set; }
+
+        public string S_BATCH_NO { get; internal set; }
+
         public string S_CJ_NAME { get; set; }
     }
 
@@ -287,6 +290,11 @@
         public string S_ITEM_CODE { get; set; }
         public string S_ITEM_NAME { get; set; }
         public int trayHeight { get; set; }
+
+        /// <summary>
+        /// 鍘熸枡pe鑶滀笁灞俆S楂樺害
+        /// </summary>
+        public int trayHeight1 { get; set; }
         public int ItemLayer { get; set; }
 
         //鐗╂枡鎵�湪鎵樼洏鐨勫彲鍫嗗彔灞傛暟銆�   銆娿�涓庤揣浣嶅閲忓彇 鏈�皬鍊笺� 

--
Gitblit v1.9.1