From 8ea7380ee486d842bdd96824ac490ba53b454b58 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期三, 30 十月 2024 08:22:59 +0800
Subject: [PATCH] 修改问题
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 213 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 174 insertions(+), 39 deletions(-)
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 31c9009..84810ce 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -1,6 +1,7 @@
锘�
using Dm.filter;
using DocumentFormat.OpenXml.Bibliography;
+using DocumentFormat.OpenXml.Drawing.Charts;
using Elastic.Clients.Elasticsearch.Tasks;
using Furion.Logging;
using IoTClient;
@@ -13,10 +14,13 @@
using System.Reflection.Emit;
using WCS.Application.Entity;
using WCS.Application.Util;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressIntracityUpdateStoreRequest.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.NontaxInsertBillRequest.Types.CardExtra.Types.BillCard.Types;
namespace WCS.Application;
public static class PLCService
{
+
private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
public static void OnChangeEvent(object sender, EventArgs e)
@@ -58,6 +62,7 @@
private static void StackingMachine(WcsDeviceDto modDevice)
{
var plcConn = modDevice.PLCUtil;
+ string ledText = "";
switch (modDevice.Value.ToString())
{
case "820":
@@ -80,7 +85,7 @@
PlcTaskInfo taskInfo = new PlcTaskInfo();
if (modTask.TaskType == TaskTypeEnum.Move)
{
- taskInfo = PLCCommon.GetEndPai(modTask.EndLocate.Substring(1, 2), modTask.EndLocate.Substring(2, 2),
+ taskInfo = PLCCommon.GetEndPai(modTask.EndRoadway.Substring(1, 2), modTask.EndLocate.Substring(2, 2),
modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(4, 2),
modTask.EndLocate.Substring(6, 2));
@@ -203,8 +208,15 @@
_db.Insertable(modInsertTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
+
//淇敼led灞忎俊鎭�
- //LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.EndLocate, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿modTask.StartLocate}", "鎵樼洏鍙�:" + modTask.PalletNo);
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == taskInfo.EndStation && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
+ ledText += $"浠诲姟绫诲瀷:{modTask.TaskType.GetDescription()}\n\n";
+ ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+ ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+ ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+ LedDisplay(ledDevice.LedIP, ledText);
}
}
break;
@@ -356,8 +368,6 @@
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
}
- //淇敼led灞忎俊鎭�
- //LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.EndLocate, "鍑哄簱涓� " + $"鍌ㄤ綅鍦板潃锛歿modTask.StartLocate}", "鎵樼洏鍙�:" + modTask.PalletNo);
}
}
break;
@@ -371,7 +381,7 @@
{
string tasknoVal = val.ToString();
var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false);
- if (modTask == null)
+ if (modTask == null)
{
Log.Error(string.Format("璺烘満鎺у埗瀛�860:鏈壘鍒板搴旂殑浠诲姟銆�"));
break;
@@ -434,8 +444,16 @@
HubUtil.PublicTaskMonitor(modTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏄剧ず鍐呭
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.StartLocate, "鍏ュ簱瀹屾垚 " + $"浠诲姟瀹屾垚:{modTask.TaskNo}", "鎵樼洏鍙�:" + modTask.PalletNo);
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modTask.StartLocate && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
+ ledText += $"鍏ュ簱瀹屾垚\n\n";
+ ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+
+ ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+ ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+
+ LedDisplay(ledDevice.LedIP, ledText);
// 姝ゅ娣诲姞涓嶇┖璺戜笟鍔�
}
break;
@@ -500,13 +518,6 @@
_db.Insertable(modcTaskMonitor).ExecuteCommand();
//涓嬪彂浠诲姟鏃ュ織
HubUtil.PublicTaskMonitor(modcTaskMonitor.Adapt<WcsTaskMonitorOutput>());
-
- // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆�
- var taskModel = _db.Queryable<WcsTask>().First(w => w.TaskNo == modTask.TaskNo);
- modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskModel.EndLocate).Select(s => s.LedIP).First();
-
- // led鏄剧ず鍐呭
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鍑哄簱涓� ", "鎵樼洏鍙�:" + modTask.PalletNo);
break;
}
@@ -890,6 +901,7 @@
{
return;
}
+ var ledText = "";
switch (modDevice.Value.ToString())
{
case "320":
@@ -914,7 +926,10 @@
var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
if (res350.IsSucceed && palletVal350 != "350")
{
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鍏ュ簱浠诲姟宸查攣瀹氾紝璇疯В閿佸悗閲嶈瘯", "鎵樼洏鍙�:" + palletVal);
+ ledText += $"鐢宠鍏ュ簱澶辫触\n\n";
+ ledText += $"鎵樼洏鍙�:{palletVal}\n";
+ ledText += $"鍏ュ簱浠诲姟宸查攣瀹氾紝璇疯В閿佸悗閲嶈瘯!\n";
+ LedDisplay(modDevice.LedIP, ledText);
}
// 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠�
@@ -932,7 +947,10 @@
var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
if (res350.IsSucceed && palletVal350 != "350")
{
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鎵弿鎵樼洏鍙峰け璐�!", "鎵樼洏鍙�:" + palletVal);
+ ledText += $"鐢宠鍏ュ簱澶辫触\n\n";
+ ledText += $"鎵樼洏鍙�:{palletVal}\n";
+ ledText += $"鎵弿鎵樼洏鍙峰け璐�!\n";
+ LedDisplay(modDevice.LedIP, ledText);
}
// 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠�
@@ -981,7 +999,15 @@
// led鏄剧ず鍐呭
try
{
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐩爣宸烽亾锛歿taskInfo.EndRoadway}鍙栬揣宸ヤ綅锛歿EndLocate}", "鎵樼洏鍙�:" + palletVal);
+ ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
+
+ ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+
+ ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+ ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+ LedDisplay(modDevice.LedIP, ledText);
+
}
catch (Exception ex)
{
@@ -996,7 +1022,10 @@
var (res350, palletVal350) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
if (res350.IsSucceed && palletVal350 != "350")
{
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐢宠宸烽亾澶辫触锛歿strMsg}", "鎵樼洏鍙�:" + palletVal);
+ ledText += $"鐢宠鍏ュ簱澶辫触\n\n";
+ ledText += $"鎵樼洏鍙�:{palletVal}\n";
+ ledText += $"{strMsg}\n";
+ LedDisplay(modDevice.LedIP, ledText);
}
// 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠�
@@ -1005,9 +1034,6 @@
{
plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350");
}
-
- // 鐢宠宸烽亾澶辫触锛�
- Log.Error(string.Format($"鐢宠宸烽亾澶辫触:{strMsg},璇诲啓plc閿欒"));
}
}
break;
@@ -1090,8 +1116,6 @@
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- // led鏄剧ず鍐呭
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鐢宠鍏ュ簱 " + $"鐩爣宸烽亾锛歿modTask.EndRoadway}鍙栬揣宸ヤ綅锛歿endLocatVlue}", "鎵樼洏鍙�:" + palletVal);
}
}
@@ -1156,14 +1180,25 @@
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
- // led鏄剧ず鍐呭
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鍏ュ簱涓� " + $"鐢宠鍌ㄤ綅鍦板潃:{strMsg}", "鎵樼洏鍙�:" + palletVal);
+
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
+ ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
+ ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+ ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+ ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+ LedDisplay(modDevice.LedIP, ledText);
}
}
else
{
// 鐢宠鍌ㄤ綅澶辫触锛丩ED鏄剧ず
Log.Error(string.Format($"鐢宠鍌ㄤ綅澶辫触:{strMsg},璇诲啓plc閿欒"));
+ // led鏄剧ず鍐呭
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
+ ledText += $"鐢宠鍏ュ簱澶辫触\n\n";
+ ledText += $"{strMsg}\n";
+ LedDisplay(modDevice.LedIP, ledText);
}
}
@@ -1211,7 +1246,7 @@
break;
}
- // 杞崲鐩爣宸ヤ綅鎺掑垪灞�
+ // 杞崲鐩爣宸ヤ綅鎺掑垪灞� 03010301
var paiVal = PLCCommon.GetDjAdress(modTask.EndRoadway.Substring(1, 2), endLocate.Substring(0, 2), endLocate.Substring(6, 2));
string pai = paiVal.ToString();
string lie = int.Parse(endLocate.Substring(2, 2)).ToString();
@@ -1350,7 +1385,15 @@
modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskInfo.EndLocate).Select(s => s.LedIP).First();
// led鏄剧ず鍐呭
- LedDisplay(modDevice.LedIP, "鍒拌揪宸ヤ綅:" + modDevice.StationNum, "鍑哄簱瀹屾垚 " + $"鍌ㄤ綅鍦板潃锛歿modInsertTaskMonitor.StartLocat}", "鎵樼洏鍙�:" + palletVal);
+ // 鏍规嵁鐩爣宸ヤ綅鍙疯幏鍙栧搴旂殑LEDIP鍦板潃
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId);
+
+ ledText += $"鍑哄簱瀹屾垚\n\n";
+ ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+ ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+ ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+ LedDisplay(ledDevice.LedIP, ledText);
}
// 鍙嶉WMS鍑哄簱瀹屾垚
//TaskReques taskReques = new TaskReques();
@@ -1394,7 +1437,7 @@
TaskNo = modTask.TaskNo,
PlcId = modDevice.Id,
PlcName = modDevice.Text,
- InteractiveMsg = $"鍐欏叆鎸囦护450锛歿modDevice.StationNum}鎷i�夊畬鎴�,鎵樼洏绂诲紑宸ヤ綅",
+ InteractiveMsg = $"鍐欏叆鎸囦护450锛歿modDevice.StationNum}鍑哄簱瀹屾垚",
PalletNo = palletVal,
Status = TaskStatusEnum.Complete,
StartLocat = starVal.ToString(),
@@ -1428,8 +1471,14 @@
// 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈�
HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
// led鏄剧ず鍐呭
- modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == modTask.EndLocate).Select(s => s.LedIP).First();
- LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.StartLocate, $"鎷i�夊畬鎴愶紝鎵樼洏绂诲紑宸ヤ綅", "鎵樼洏鍙�:" + modTask.PalletNo);
+ var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId);
+
+ ledText += $"鍑哄簱瀹屾垚\n\n";
+ ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+ ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+ ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+ ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+ LedDisplay(ledDevice.LedIP, ledText);
}
#endregion
}
@@ -1674,7 +1723,7 @@
else
{
// 涓巔lc浜や簰鍐欏叆鍒嗛亾鍙峰拰娴佺▼鎺у埗瀛�
- var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, checkTaskInfo.RoboatNo);
+ var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, checkTaskInfo.LineNo);
if (ret.IsSucceed)
{
// 鍐欏叆娴佺▼鎺у埗瀛� 2
@@ -1753,16 +1802,17 @@
string boxNo = boxVal.ToString();
if (string.IsNullOrEmpty(boxNo))
{
- Log.Error(string.Format("鐮佸灈宸ヤ綅{0}锛岀鐮佷负null鎻掔爜澶辫触!璇蜂汉宸ュ己鍒剁粨鎵广��"), modDevice.StationNum);
+ Log.Error($"鐮佸灈宸ヤ綅{modDevice.StationNum}锛岀鐮佷负null鎻掔爜澶辫触!璇蜂汉宸ュ己鍒剁粨鎵广��" );
// 鍐欏叆鎻掑叆缁撴灉 2锛氭彃鐮佸け璐�
var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
+
break;
}
// 楠岃瘉绠辩爜琛ㄦ槸鍚﹀瓨鍦ㄦ绠辩爜
- var boxInfo = _db.Queryable<WcsBoxInfo>().First(w => w.IsDelete == false && w.BoxNo == boxNo);
- if (boxInfo == null)
+ var boxInfo = _db.Queryable<WcsBoxInfo>().Where(w => w.IsDelete == false && w.BoxNo == boxNo).ToList();
+ if (boxInfo.Count == 0)
{
- Log.Error(string.Format("鐮佸灈宸ヤ綅{0}锛岀鐮亄1}涓嶅瓨鍦�!璇蜂汉宸ュ己鍒剁粨鎵广��"), modDevice.StationNum,boxNo);
+ Log.Error($"鐮佸灈宸ヤ綅{modDevice.StationNum}锛岀鐮亄boxNo}涓嶅瓨鍦�!璇蜂汉宸ュ己鍒剁粨鎵广��");
// 鍐欏叆鎻掑叆缁撴灉 2锛氭彃鐮佸け璐�
var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
break;
@@ -1781,26 +1831,42 @@
break;
}
// 淇敼鎻掔爜琛�
- boxInfo.PalletNo = palletNo;
- boxInfo.UpdateTime = DateTime.Now;
+ foreach (WcsBoxInfo item in boxInfo)
+ {
+ item.PalletNo = palletNo;
+ item.UpdateTime = DateTime.Now;
+ }
+
var rowCount = _db.Updateable(boxInfo).ExecuteCommand();
if (rowCount > 0)
{
// 鎻掔爜鎴愬姛
var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "1");
+
+ //鏄惁缁撴壒绠�
+ if (boxInfo[0].EndLotFlag == "1" && retVal.IsSucceed)
+ {
+ // 瑙﹀彂缁撴壒 瑙g粦鍒嗛亾
+ AutoEndLot(boxInfo[0].LotNo, plcConn, "0");
+ }
}
else
{
// 鎻掔爜澶辫触
- Log.Error(string.Format("绠辩爜{0};鐮佸灈宸ヤ綅{1}锛屾彃鐮佸け璐ワ紝璇峰己鍒剁粨鎵�"),boxNo,modDevice.StationNum);
+ Log.Error($"绠辩爜{boxNo};鐮佸灈宸ヤ綅{modDevice.StationNum}锛屾彃鐮佸け璐ワ紝璇峰己鍒剁粨鎵�");
var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
+ if (retVal.IsSucceed)
+ {
+ // 瑙﹀彂缁撴壒 涓嶈В缁戝垎閬�
+ AutoEndLot(boxInfo[0].LotNo, plcConn, "1");
+ }
}
}
}
break;
case "40":
// 璇锋眰缁勬墭锛岀敵璇峰叆搴�
- {
+ {
// 鏍规嵁宸ヤ綅鍙凤紝鑾峰彇鎵樼洏鍙�
var checkTaskMedel = _db.Queryable<WcsCheckTask>().First(m => m.Port == modDevice.StationNum && m.IsDelete == false);
// 鏍规嵁宸ヤ綅鍙疯幏鍙� 鎵樼洏绾胯宸ヤ綅鍙风殑閰嶇疆淇℃伅
@@ -1918,7 +1984,8 @@
int insertCount = _db.Ado.ExecuteCommand(sqlStr);
if (insertCount > 0)
{
- string sqlStr2 = $"delete from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'";
+ // 缁勬墭鎴愬姛鍚庡皢淇℃伅瀛樺埌log琛�
+ string sqlStr2 = $"delete from WCSBoxInfoLog where IsDelete=0 and PalletNo='{palletNo}'";
_db.Ado.ExecuteCommand(sqlStr2);
}
// 鍚慦MS鐢宠宸烽亾
@@ -2025,6 +2092,74 @@
Log.Error(ex.Message);
}
}
+ /// <summary>
+ /// LED淇℃伅灞曠ず
+ /// </summary>
+ /// <param name="ip"></param>
+ /// <param name="text"></param>
+ private static void LedDisplay(string ip,string text)
+ {
+ try
+ {
+ LedDll Led = new LedDll();
+ Led.ConsoleLeds(ip, text);
+ // 璁剧疆瀹炰緥
+ //Led.ConsoleLeds("10.18.51.238", $"浠诲姟绫诲瀷:{TaskTypeEnum.Move.GetDescription()}\n\n浠诲姟鍙�:TK2024102100001\n鎵樼洏鍙�:LN000145\n\n璧峰浣�:033\n鐩爣浣�:R01-02010102");
+ }
+ catch (Exception ex)
+ {
+ Log.Error(ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// 鑷姩缁撴壒
+ /// </summary>
+ /// <param name="lotNo">鎵规鍙�</param>
+ /// <param name="plcConn">Plc杩炴帴</param>
+ /// <param name="status">鏄惁瑙g粦鍒嗛亾 0锛氳В缁� 1锛氱粦瀹�</param>
+ private static void AutoEndLot(string lotNo,PLCUtil plcConn,string status)
+ {
+ try
+ {
+ if (string.IsNullOrWhiteSpace(lotNo))
+ {
+ Console.WriteLine("鎵规鍙蜂负nul");
+ }
+ var checkTaskList = _db.Queryable<WcsCheckTask>().Where(w => w.LotNo == lotNo && w.Status == "1").ToList();
+ if (checkTaskList.Count <= 0)
+ {
+ Console.WriteLine("鏈壘鍒板垎閬撶粦瀹氫俊鎭�");
+ }
+ foreach (var item in checkTaskList)
+ {
+ #region#缁橮LC鍐欏叆缁撴壒鎵规鍙�
+ var ret = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1");
+ if (ret.IsSucceed)
+ {
+ //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟
+ item.OrderNo = "";
+ item.TaskNo = "";
+ item.LotNo = "";
+ item.SkuNo = "";
+ item.SkuName = "";
+ item.BoxType = "";
+ item.Qty = 0;
+ item.PZNo = "";
+ item.Status = status; // 缁戝畾鍒嗛亾 0锛氳В缁� 1锛氱粦瀹�
+
+ //鏇存柊鍒嗘嫞浠诲姟
+ _db.Updateable(item).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+ }
+ #endregion
+ }
+ }
+ catch (Exception ex)
+ {
+ Log.Error(ex.Message);
+ throw;
+ }
+ }
private static void Test(WcsDeviceDto modDevice)
{
--
Gitblit v1.8.0