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