From 13a442afefdddf1ec9ecd1e22c81735bf5c6a465 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-JIE70N9> Date: 星期二, 10 六月 2025 16:08:24 +0800 Subject: [PATCH] 修改问题 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 332 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 202 insertions(+), 130 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 08d9606..7167186 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -39,6 +39,10 @@ AGV(mod); // AGV璋冨害 break; case PLCTypeEnum.ShuttleCar: //绌挎杞� + //if (mod.PlcIdIP == "10.26.254.28") + //{ + // break; + //} ShuttleCar(mod); break; case PLCTypeEnum.RobotPalletizer: @@ -222,33 +226,38 @@ var devStation = ""; //宸ヤ綅 var endLocate = modFinshTask.EndRoadway; var carcon = new carConverModel(); + var ip = ""; if ( carcon.conveyorBei.Keys.Contains(endLocate)) { text = "杈撻�佺嚎鍖�"; + ip = "10.26.254.10"; devStation = carcon.conveyorBei[endLocate]; } else if (carcon.conveyorNan.Keys.Contains(endLocate)) { text = "杈撻�佺嚎鍗�"; + ip = "10.26.254.11"; devStation = carcon.conveyorNan[endLocate]; } if (text != "") { - var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); - var modConn = new PLCUtil(modPlc); + + var modConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == ip); + //PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); + //var modConn = new PLCUtil(modPlc); var modDeviceConver = PLCTaskAction.plcDevices.First(s => s.StationNum == devStation); var (plcResult, palletVal) = modConn.GetPlcDBValue(modDeviceConver.PosType, modDeviceConver.DbNumber, modDeviceConver.PlcPos); if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 730) { - modConn.Close(); + //modConn.Close(); return;//鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂� } var plcResult2 = modConn.SetPlcDBValue(modDeviceConver.PosType, modDeviceConver.DbNumber, modDeviceConver.WcsPos, "740"); if (!plcResult.IsSucceed) { - modConn.Close(); + //modConn.Close(); return; } //娣诲姞浠诲姟鏄庣粏 @@ -260,7 +269,36 @@ InteractiveMsg = $"鍐欏叆鎸囦护740锛氭墭鐩樺埌杈緖modFinshTask.EndRoadway}" }; _db.Insertable(taskMonitor).ExecuteCommand(); - modConn.Close(); + + //鏀瑰彉浠诲姟鐘舵�� + modFinshTask.Status = TaskStatusEnum.Complete; + modFinshTask.FinishDate = DateTime.Now; + _db.Updateable(modFinshTask).ExecuteCommand(); + + var locateOut = _db.Queryable<WcsStorageLocat>().First(m => m.IsDelete == false && m.WareHouseNo == "W01" && m.LocatNo == modFinshTask.StartLocate); + if (locateOut != null && locateOut.Make == "1") + { + locateOut.PalletNo = ""; + _db.Updateable(locateOut).ExecuteCommand(); + } + + //鍙嶉WMS绯荤粺 浠诲姟瀹屾垚 + if (modFinshTask.Origin == "WMS") + { + HttpService httpService = new HttpService(); + var requestMode = new TaskRequestWMS() + { + TaskNo = modFinshTask.TaskNo, + PalletNo = modFinshTask.PalletNo, + TaskType = ((int)modFinshTask.TaskType).ToString(), + TaskStatus = ((int)TaskStatusEnum.Complete).ToString() + }; + var modResponseTask = httpService.RequestTask(requestMode).Result; + modFinshTask.IsSuccess = TaskSuccessEnum.Success; + _db.Updateable(modFinshTask).ExecuteCommand(); + HubUtil.PublicTask(modFinshTask.Adapt<WcsTaskOutput>()); + } + } @@ -271,6 +309,43 @@ modFinshTask.Status = TaskStatusEnum.Complete; modFinshTask.FinishDate = DateTime.Now; _db.Updateable(modFinshTask).ExecuteCommand(); + + if (modFinshTask.TaskType == TaskTypeEnum.Move) + { + var locatemove = _db.Queryable<WcsStorageLocat>().First(m => m.IsDelete == false && m.WareHouseNo == "W01" && m.LocatNo == modFinshTask.StartLocate); + if (locatemove != null && locatemove.Make == "1") + { + locatemove.PalletNo = ""; + _db.Updateable(locatemove).ExecuteCommand(); + } + } + + var locateIn = _db.Queryable<WcsStorageLocat>().First(m => m.IsDelete == false && m.WareHouseNo == "W01" && m.LocatNo == modFinshTask.EndLocate); + if (locateIn != null && locateIn.Make == "1") + { + locateIn.PalletNo = string.IsNullOrWhiteSpace(modFinshTask.PalletNo) ? "pall" : modFinshTask.PalletNo; + _db.Updateable(locateIn).ExecuteCommand(); + } + + //鍙嶉WMS绯荤粺 浠诲姟瀹屾垚 + if (modFinshTask.Origin == "WMS") + { + HttpService httpService = new HttpService(); + var requestMode = new TaskRequestWMS() + { + TaskNo = modFinshTask.TaskNo, + PalletNo = modFinshTask.PalletNo, + TaskType = ((int)modFinshTask.TaskType).ToString(), + TaskStatus = ((int)TaskStatusEnum.Complete).ToString() + }; + var modResponseTask = httpService.RequestTask(requestMode).Result; + modFinshTask.IsSuccess = TaskSuccessEnum.Success; + _db.Updateable(modFinshTask).ExecuteCommand(); + HubUtil.PublicTask(modFinshTask.Adapt<WcsTaskOutput>()); + } + + + } //鍒ゆ柇浠诲姟鏄惁鍏呯數浠诲姟,涓嬪彂寮�濮嬪厖鐢靛懡浠� @@ -281,20 +356,7 @@ plcConn.SetDBValue(modCd.PosType, modCd.PlcPos.ToString(), "2"); } - //鍙嶉WMS绯荤粺 浠诲姟瀹屾垚 - //HttpService httpService = new HttpService(); - //var requestMode = new TaskRequestWMS() - //{ - // TaskNo = modFinshTask.TaskNo, - // PalletNo = modFinshTask.PalletNo, - // TaskType = ((int)modFinshTask.TaskType).ToString(), - // TaskStatus = ((int)TaskStatusEnum.Complete).ToString() - //}; - //var modResponseTask = httpService.RequestTask(requestMode).Result; - //modFinshTask.IsSuccess = TaskSuccessEnum.Success; - //_db.Updateable(modFinshTask).ExecuteCommand(); - HubUtil.PublicTask(modFinshTask.Adapt<WcsTaskOutput>()); - + } } } @@ -335,11 +397,11 @@ var endLocateCar = ""; if (valuez == 1) { - endLocateCar = "210401"; + endLocateCar = "011201"; } else if (valuez == 2) { - endLocateCar = "210402"; //011202 + endLocateCar = "011202"; // } else { @@ -349,7 +411,7 @@ if (getCdTask == null) { var (resultDlLock, valueDlLock) = plcConn.GetDBValue(modDevice.PosType, modDevice.PlcPos); - if (resultDlLock.IsSucceed && valueDlLock!=3) + if (resultDlLock.IsSucceed && valueDlLock!=3 && carXYZ != endLocateCar) { //娣诲姞灏忚溅鍏呯數浣嶇疆 WcsTask modCarTask = new WcsTask() @@ -402,11 +464,11 @@ var endLocateCar = ""; if (valuez == 1) { - endLocateCar = "210401"; + endLocateCar = "011201"; } else if (valuez == 2) { - endLocateCar = "210402"; + endLocateCar = "011202"; } else { @@ -416,7 +478,7 @@ if (getCdTask == null) { var (resultDlLock, valueDlLock) = plcConn.GetDBValue(modDevice.PosType, modDevice.PlcPos); - if (resultDlLock.IsSucceed && valueDlLock != 3) + if (resultDlLock.IsSucceed && valueDlLock != 3 && carXYZ != endLocateCar) { //娣诲姞灏忚溅鍏呯數浣嶇疆 WcsTask modCarTask = new WcsTask() @@ -473,12 +535,24 @@ return;//鍓嶇疆浠诲姟鏈畬鎴� } } + + //灏忚溅鐘舵�� + var (resultCar, valueCar) = plcConn.GetDBValue(modDevice.PosType, modDevice.PlcPos); - //鍏堝浣� - var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "澶嶄綅"); - plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1"); + var modPosTaskStatus2 = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鐘舵��"); + var (resultTaskStatus2, valueTaskStatus2) = plcConn.GetDBValue(modPosTaskStatus.PosType, modPosTaskStatus.PlcPos); + if (resultCar.IsSucceed && valueCar == 1 && resultTaskStatus2.IsSucceed && (valueTaskStatus2 == 0 || valueTaskStatus2 == 1)) + { + //鍏堝浣� + var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "澶嶄綅"); + plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1"); + } + else + { + return; + } - List<Result> listResult = new List<Result>(); + List<Result> listResult = new List<Result>(); //鑾峰彇灏忚溅浠诲姟鍙� var carTaskNo = FourWayCarUtil.GetTaskNo(); @@ -491,7 +565,7 @@ } var modWriteTask = modDevice.listStation.FirstOrDefault(s => s.Text == "鍐欏叆浠诲姟鍙�"); - listResult.Add(plcConn.SetDBValue(modWriteTask.PosType, modWriteTask.PlcPos, carTaskNo.ToString())); + listResult.Add(plcConn.SetDBValueRepeat(modWriteTask.PosType, modWriteTask.PlcPos, carTaskNo.ToString())); var modNodeX = modDevice.listStation.FirstOrDefault(s => s.Text == "鑺傜偣鍧愭爣X"); var modNodeY = modDevice.listStation.FirstOrDefault(s => s.Text == "鑺傜偣鍧愭爣Y"); @@ -525,80 +599,73 @@ var epathz = ePath.Substring(4, 2); var epathn = ePath.Substring(6, 1); //鍐欏叆浜や簰浣嶇疆 - listResult.Add(plcConn.SetDBValue(modNodeX.PosType, posX++.ToString(), epathx)); - listResult.Add(plcConn.SetDBValue(modNodeY.PosType, posY++.ToString(), epathy)); - listResult.Add(plcConn.SetDBValue(modNodeZ.PosType, posZ++.ToString(), epathz)); - listResult.Add(plcConn.SetDBValue(modNodeStatus.PosType, posStatus++.ToString(), epathn)); + listResult.Add(plcConn.SetDBValueRepeat(modNodeX.PosType, posX++.ToString(), epathx)); + listResult.Add(plcConn.SetDBValueRepeat(modNodeY.PosType, posY++.ToString(), epathy)); + listResult.Add(plcConn.SetDBValueRepeat(modNodeZ.PosType, posZ++.ToString(), epathz)); + listResult.Add(plcConn.SetDBValueRepeat(modNodeStatus.PosType, posStatus++.ToString(), epathn)); } //杩欓噷鏄妸鍚庨潰鐨勫潗鏍囧叏鍐�0锛堜负浜嗛槻姝笂娆′换鍔″潗鏍囨病琚鐩栵級 while (posX <= 43097) { - listResult.Add(plcConn.SetDBValue(modNodeX.PosType, posX++.ToString(), "0")); - listResult.Add(plcConn.SetDBValue(modNodeY.PosType, posY++.ToString(), "0")); - listResult.Add(plcConn.SetDBValue(modNodeZ.PosType, posZ++.ToString(), "0")); - listResult.Add(plcConn.SetDBValue(modNodeStatus.PosType, posStatus++.ToString(), "0")); + listResult.Add(plcConn.SetDBValueRepeat(modNodeX.PosType, posX++.ToString(), "0")); + listResult.Add(plcConn.SetDBValueRepeat(modNodeY.PosType, posY++.ToString(), "0")); + listResult.Add(plcConn.SetDBValueRepeat(modNodeZ.PosType, posZ++.ToString(), "0")); + listResult.Add(plcConn.SetDBValueRepeat(modNodeStatus.PosType, posStatus++.ToString(), "0")); } if (listResult.All(s => s.IsSucceed)) { - var modStart = modDevice.listStation.FirstOrDefault(s => s.Text == "鍚姩鍛戒护"); - var result = plcConn.SetDBValue(modStart.PosType, modStart.PlcPos, "1"); - if (result.IsSucceed) + if (modTask.TaskType == TaskTypeEnum.Out) { - carTaskNext.Status = TaskStatusEnum.Doing; - carTaskNext.CarTaskNo = carTaskNo; - _db.Updateable(carTaskNext).ExecuteCommand(); + #region 杈撻�佺嚎 鍐欏叆PLC 730 - if (modTask.TaskType == TaskTypeEnum.Out) + var text = ""; + var devStation = ""; + var endLocate = modTask.EndRoadway; + var carcon = new carConverModel(); + var ip = ""; + if (carcon.conveyorBei.Keys.Contains(endLocate)) { - #region 杈撻�佺嚎 鍐欏叆PLC 730 + text = "杈撻�佺嚎鍖�"; + ip = "10.26.254.10"; + devStation = carcon.conveyorBei[endLocate]; + } + else if (carcon.conveyorNan.Keys.Contains(endLocate)) + { + text = "杈撻�佺嚎鍗�"; + ip = "10.26.254.11"; + devStation = carcon.conveyorNan[endLocate]; + } + if (text != "") + { + var modConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == ip); + //var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); + //var modConn = new PLCUtil(modPlc); - var text = ""; - var devStation = ""; - var endLocate = modTask.EndRoadway; - var carcon = new carConverModel(); - if (carcon.conveyorBei.Keys.Contains(endLocate)) + var modDeviceConver = PLCTaskAction.plcDevices.First(s => s.StationNum == devStation); + var (plcResult, palletVal) = modConn.GetPlcDBValue(modDeviceConver.PosType, modDeviceConver.DbNumber, modDeviceConver.PlcPos); + if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) == 720) { - text = "杈撻�佺嚎鍖�"; - devStation = carcon.conveyorBei[endLocate]; - } - else if (carcon.conveyorNan.Keys.Contains(endLocate)) - { - text = "杈撻�佺嚎鍗�"; - devStation = carcon.conveyorNan[endLocate]; - } - if (text != "") - { - var modPlc = PLCTaskAction.plcs.FirstOrDefault(s => s.Text == text); - var modConn = new PLCUtil(modPlc); - - var modDeviceConver = PLCTaskAction.plcDevices.First(s => s.StationNum == devStation); - var (plcResult, palletVal) = modConn.GetPlcDBValue(modDeviceConver.PosType, modDeviceConver.DbNumber, modDeviceConver.PlcPos); - if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 720) - { - modConn.Close(); - return;//鏀捐揣宸ヤ綅娌℃湁璇诲彇鎴愬姛鎴栦笉鏄┖闂� - } var listResultcon = new List<Result>(); //浠诲姟鍙蜂笌鎵樼洏鏉$爜 var modPosConverTask = PLCTaskAction.plcPositions.First(s => s.DeviceId == modDeviceConver.Id && s.Text == "浠诲姟鍙�"); - listResultcon.Add(modConn.SetPlcDBValue(modPosConverTask.PosType, modDeviceConver.DbNumber, modPosConverTask.PlcPos, modTask.TaskId.ToString())); + listResultcon.Add(modConn.SetPlcDBValueRepeat(modPosConverTask.PosType, modDeviceConver.DbNumber, modPosConverTask.PlcPos, modTask.TaskId.ToString())); var modPosConverPallet = PLCTaskAction.plcPositions.First(s => s.DeviceId == modDeviceConver.Id && s.Text == "鎵樼洏鏉$爜"); - listResultcon.Add(modConn.SetPlcDBValue(modPosConverPallet.PosType, modDeviceConver.DbNumber, modPosConverPallet.PlcPos, modTask.PalletNo.ToString())); + listResultcon.Add(modConn.SetPlcDBValueRepeat(modPosConverPallet.PosType, modDeviceConver.DbNumber, modPosConverPallet.PlcPos, modTask.PalletNo.ToString())); // 璧峰宸ヤ綅銆佺洰鐨勫伐浣� var modPosConverStrLocat = PLCTaskAction.plcPositions.FirstOrDefault(s => s.DeviceId == modDeviceConver.Id && s.Text == "璧峰宸ヤ綅"); - listResultcon.Add(modConn.SetPlcDBValue(modPosConverStrLocat.PosType, modDeviceConver.DbNumber, modPosConverStrLocat.PlcPos, modDeviceConver.StationNum)); + listResultcon.Add(modConn.SetPlcDBValueRepeat(modPosConverStrLocat.PosType, modDeviceConver.DbNumber, modPosConverStrLocat.PlcPos, modDeviceConver.StationNum)); var modPosConverEndLocat = PLCTaskAction.plcPositions.FirstOrDefault(s => s.DeviceId == modDeviceConver.Id && s.Text == "鐩殑宸ヤ綅"); - listResultcon.Add(modConn.SetPlcDBValue(modPosConverEndLocat.PosType, modDeviceConver.DbNumber, modPosConverEndLocat.PlcPos, modTask.EndLocate)); + listResultcon.Add(modConn.SetPlcDBValueRepeat(modPosConverEndLocat.PosType, modDeviceConver.DbNumber, modPosConverEndLocat.PlcPos, modTask.EndLocate)); if (listResultcon.All(s => s.IsSucceed)) { var plcResult2 = modConn.SetPlcDBValue(modDeviceConver.PosType, modDeviceConver.DbNumber, modDeviceConver.WcsPos, "730"); if (!plcResult.IsSucceed) { - modConn.Close(); + //modConn.Close(); return; } //娣诲姞浠诲姟鏄庣粏 @@ -611,13 +678,27 @@ }; _db.Insertable(taskMonitor2).ExecuteCommand(); } - - modConn.Close(); } - - - #endregion + else if (!plcResult.IsSucceed || Convert.ToInt32(palletVal) != 730) + { + return; + } + } + + + #endregion + } + + var modStart = modDevice.listStation.FirstOrDefault(s => s.Text == "鍚姩鍛戒护"); + var result = plcConn.SetDBValue(modStart.PosType, modStart.PlcPos, "1"); + if (result.IsSucceed) + { + carTaskNext.Status = TaskStatusEnum.Doing; + carTaskNext.CarTaskNo = carTaskNo; + _db.Updateable(carTaskNext).ExecuteCommand(); + + //娓呴櫎灏忚溅绌洪棽鏃堕棿 var carTimeClear = _db.Queryable<WcsCarTime>().First(m=>m.IsDelete == false && m.CarIp == modDevice.PlcIdIP); @@ -758,7 +839,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -779,7 +860,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -854,7 +935,7 @@ } // 鍐欏叆杈撻�佺嚎閫�鍥炴寚浠� - var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); + var ret = plcConn.SetPlcDBValueRepeat(modDevice.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, modDevice.StationNum); if (ret.IsSucceed) { plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "350"); @@ -899,17 +980,17 @@ var listResult = new List<Result>(); // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿 var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskId.ToString())); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskId.ToString())); var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); var taskTypeStr = (int)modTask.TaskType; - listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString())); var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鏉$爜"); - listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo)); // 璧峰宸ヤ綅銆佺洰鐨勫伐浣� var modPosStrLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosStrLocat.PosType, modDevice.DbNumber, modPosStrLocat.PlcPos, modDevice.StationNum)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosStrLocat.PosType, modDevice.DbNumber, modPosStrLocat.PlcPos, modDevice.StationNum)); var modPosEndLocat = modDevice.listStation.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); - listResult.Add(plcConn.SetPlcDBValue(modPosEndLocat.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, endLocatVlue)); + listResult.Add(plcConn.SetPlcDBValueRepeat(modPosEndLocat.PosType, modDevice.DbNumber, modPosEndLocat.PlcPos, endLocatVlue)); if (listResult.All(s => s.IsSucceed)) @@ -1185,12 +1266,18 @@ var (res3, starVal) = plcConn.GetPlcDBValue(modPosStarStationNum.PosType, modDevice.DbNumber, modPosStarStationNum.PlcPos); int taskNoVal = Convert.ToInt32(taskVal); - var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskId == taskNoVal); + var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskId == taskNoVal && w.TaskType == TaskTypeEnum.Out); if (taskInfo == null) { Log.Error(string.Format("杈撻�佺嚎430:鏈壘鍒板搴旂殑浠诲姟銆�")); break; } + //// 鏀瑰彉浠诲姟鐘舵�� + //taskInfo.Status = TaskStatusEnum.Complete; + //taskInfo.FinishDate = DateTime.Now; + ////modTask.Levels = 999; + //_db.Updateable(taskInfo).ExecuteCommand(); + //HubUtil.PublicTask(taskInfo.Adapt<WcsTaskOutput>()); // 鎻掑叆浠诲姟鏄庣粏 var modInsertTaskMonitor = new WcsTaskMonitor() { @@ -1203,6 +1290,27 @@ StartLocat = Convert.ToString(starVal), EndLocat = modDevice.StationNum, }; + //if (taskInfo.Origin == "WMS") + //{ + // // 鍙嶉WMS + // var requestMode = new TaskRequestWMS() + // { + // TaskNo = taskInfo.TaskNo, + // PalletNo = taskInfo.PalletNo, + // TaskType = ((int)taskInfo.TaskType).ToString(), + // TaskStatus = ((int)TaskStatusEnum.Complete).ToString() + // }; + // HttpService httpService = new HttpService(); + // var modResponseTask = httpService.RequestTask(requestMode).Result; + // if (modResponseTask.StatusCode == 0) + // { + // modInsertTaskMonitor.InteractiveMsg += "锛岃繑鍥炵粰WMS浠诲姟瀹屾垚"; + // } + // else + // { + // Log.Error(string.Format("浠诲姟鍙嶉澶辫触锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); + // } + //} // 鎻掑叆浜や簰鏃ュ織 _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); @@ -1250,66 +1358,30 @@ int tasknoVal = Convert.ToInt32(taskVal); - var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.IsDelete == false && m.TaskId == tasknoVal); + var modTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.TaskId == tasknoVal); if (modTask == null) { Log.Error(string.Format("杈撻�佺嚎440:鏈壘鍒板搴旂殑浠诲姟銆�")); break; } - // 鏀瑰彉浠诲姟鐘舵�� - modTask.Status = TaskStatusEnum.Complete; - modTask.FinishDate = DateTime.Now; - //modTask.Levels = 999; - _db.Updateable(modTask).ExecuteCommand(); - HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); + // 鎻掑叆浠诲姟鏄庣粏 var modInsertTaskMonitor = new WcsTaskMonitor() { TaskNo = modTask.TaskNo, PlcId = modDevice.Id, PlcName = modDevice.Text, - InteractiveMsg = $"鍐欏叆鎸囦护450锛歿modDevice.StationNum}鍑哄簱瀹屾垚", + InteractiveMsg = $"鍐欏叆鎸囦护450锛歿modDevice.StationNum}鎵樼洏绂诲紑宸ヤ綅", PalletNo = palletVal, Status = TaskStatusEnum.Complete, StartLocat = starVal.ToString(), EndLocat = modDevice.StationNum, }; - if (modTask.Origin == "WMS") - { - //// 鍙嶉WMS - //var requestMode = new TaskRequestWMS() - //{ - // TaskNo = modTask.TaskNo + modTask.EndLocate, - // PalletNo = modTask.PalletNo, - // TaskType = ((int)TaskTypeEnum.Out).ToString(), - // TaskStatus = ((int)TaskStatusEnum.Complete).ToString() - //}; - //HttpService httpService = new HttpService(); - //var modResponseTask = httpService.RequestTask(requestMode).Result; - //if (modResponseTask.StatusCode == 0) - //{ - // modInsertTaskMonitor.InteractiveMsg += "锛岃繑鍥炵粰WMS浠诲姟瀹屾垚"; - //} - //else - //{ - // Log.Error(string.Format("浠诲姟鍙嶉澶辫触锛歋tatusCode锛歿0};Msg锛歿1}", modResponseTask.StatusCode, modResponseTask.Msg)); - //} - } - // 鎻掑叆浜や簰鏃ュ織 _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); // 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈� HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); - // led鏄剧ず鍐呭 - 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 } @@ -1376,7 +1448,7 @@ } }; var response = new HttpService().GenAgvSendTask(taskModel).Result; - if (response.code == "0") + if (response.code == "SUCCESS") { modTask.Status = TaskStatusEnum.Doing; _db.Updateable(modTask).ExecuteCommand(); -- Gitblit v1.8.0