From 48d66a079c307356997fb400d27907ff6d363b7b Mon Sep 17 00:00:00 2001 From: liudl <673013083@qq.com> Date: 星期一, 20 一月 2025 08:35:37 +0800 Subject: [PATCH] 修改2楼分拣和1楼拆垛时获取拆垛信息接口 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 117 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 98 insertions(+), 19 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index f364545..e563b98 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -2117,14 +2117,16 @@ var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2"); if (retVal.IsSucceed) { - if (modDevice.DbNumber == "DB102")//1L鎷嗚泛鍒嗘嫞鍚庨渶瑕佸洖浼犵鐮� - { - var http = new HttpService(); - IsBaleModel2 ret1 = http.RequestBoxno(boxNoVal); - if (ret1.Success == -1) + { // liudl 姝ゆ绋嬪簭涓嶄細鎵ц 纭鍚庣洿鎺ュ垹闄� + if (modDevice.DbNumber == "DB102")//1L鎷嗚泛鍒嗘嫞鍚庨渶瑕佸洖浼犵鐮� { - Log.Error("绠辩爜鍒嗘嫞鍥炰紶澶辫触锛岄渶瑕佹墜鍔ㄦ嫞璐с�傚け璐ョ鐮侊細"+boxNoVal); - break; + var http = new HttpService(); + IsBaleModel2 ret1 = http.RequestBoxno(boxNoVal); + if (ret1.Success == -1) + { + Log.Error("绠辩爜鍒嗘嫞鍥炰紶澶辫触锛岄渶瑕佹墜鍔ㄦ嫞璐с�傚け璐ョ鐮侊細"+boxNoVal); + break; + } } } break; @@ -2235,6 +2237,7 @@ } var rowCount = _db.Updateable(boxInfo).ExecuteCommand(); + Log.Information(string.Format("鎻掔爜鎴愬姛锛岀鐮佹槸锛�"+ boxNo, modDevice.StationNum)); if (rowCount > 0) { // 鎻掔爜鎴愬姛 @@ -2379,12 +2382,12 @@ } break; } + // 缁勬墭鎴愬姛鍚庡皢淇℃伅瀛樺埌log琛� string sqlStr = $"insert into WCSBoxInfoLog select * from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'"; int insertCount = _db.Ado.ExecuteCommand(sqlStr); if (insertCount > 0) { - // 缁勬墭鎴愬姛鍚庡皢淇℃伅瀛樺埌log琛� - string sqlStr2 = $"delete from WCSBoxInfoLog where IsDelete=0 and PalletNo='{palletNo}'"; + string sqlStr2 = $"delete from WCSBoxInfo where IsDelete=0 and PalletNo='{palletNo}'"; _db.Ado.ExecuteCommand(sqlStr2); } @@ -2479,13 +2482,13 @@ } /// <summary> - /// 鎷嗗灈鏈哄櫒浜轰笟鍔″鐞� + /// 鍑哄簱浠剁杈撻�佸拰鎷嗗灈鏈哄櫒浜轰笟鍔″鐞� /// </summary> /// <param name="modDevice"></param> private static void StackingRobot(WcsDeviceDto modDevice) { var plcConn = modDevice.PLCUtil; - if (modDevice.DbNumber == "DB131" && modDevice.DbNumber == "DB132" && modDevice.DbNumber == "DB133" && modDevice.DbNumber == "DB134") + if (modDevice.DbNumber == "DB131" || modDevice.DbNumber == "DB132" || modDevice.DbNumber == "DB133" || modDevice.DbNumber == "DB134") { switch (modDevice.Value.ToString()) { @@ -2505,7 +2508,7 @@ // 鏍规嵁浠诲姟鍙疯幏鍙栦换鍔′俊鎭� if (res1.IsSucceed) { - var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false); + var modTask = _db.Queryable<WcsTask>().First(m => m.TaskNo == tasknoVal && m.EndLocate == "009" && m.IsDelete == false); if (modTask == null) { Log.Error(string.Format($"鍑哄簱浠诲姟鏈笅鍙戯紝璇蜂汉宸ュ鐞嗭紝鏃犳硶鎷嗗灈锛�")); @@ -2515,33 +2518,33 @@ //閫氳繃浠诲姟鍙峰拰鎵樼洏鍙峰悜WMS鐢宠姝ゆ墭鐩樼殑鎷嗗灈淇℃伅 var http = new HttpService(); RequestBoxInfoCheckAll tasklist = http.RequestBoxCheckinfo(palletVal, tasknoVal); - if (!tasklist.Success.Contains("-1")) + if (tasklist.Success != -1) { //鑾峰彇鎷嗗灈鐗╂枡鍝佺(闇�瑕佸鍔犵墿鏂欏垽鏂紝鍚屼竴涓墿鏂欏彿鍙兘浼氬嚭鐜颁笉鍚岀殑鐮佸灈瑙勫垯) - var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.list[0].SkuNo); + var pz = _db.Queryable<WcsMateialPzInfo>().First(m => m.SkuNo == tasklist.data[0].SkuNo); //涓嬪彂鎷嗘墭瑙勬牸锛屾媶绠辨暟鍜屾墭鐩樹笂鎬荤鏁帮紙涓嶇粦瀹氭満鍣ㄤ汉锛屾媶鍨涗换鍔′俊鎭彧涓嬪彂涓�娆★級 // 缁橮LC鍐欏叆浠诲姟鏁版嵁 var listResult = new List<Result>(); // 鑾峰彇鎵樼洏瑙勫垯 var Standard = modDevice.listStation.FirstOrDefault(m => m.Text == "瑙勬牸"); - listResult.Add(plcConn.SetPlcDBValue(Standard.PosType, modDevice.DbNumber, Standard.PlcPos, tasklist.list[0].Standard)); + listResult.Add(plcConn.SetPlcDBValue(Standard.PosType, modDevice.DbNumber, Standard.PlcPos, pz.PZNo)); //鎶撶鏁� var qty = modDevice.listStation.FirstOrDefault(m => m.Text == "鎷嗙鏁伴噺"); - listResult.Add(plcConn.SetPlcDBValue(qty.PosType, modDevice.DbNumber, qty.PlcPos, tasklist.list[0].Qty.ToString())); + listResult.Add(plcConn.SetPlcDBValue(qty.PosType, modDevice.DbNumber, qty.PlcPos, tasklist.data[0].Qty.ToString())); //鎬荤鏁� var qtycount = modDevice.listStation.FirstOrDefault(m => m.Text == "鎬荤鏁�"); - listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.list[0].QtyCount.ToString())); + listResult.Add(plcConn.SetPlcDBValue(qtycount.PosType, modDevice.DbNumber, qtycount.PlcPos, tasklist.data[0].QtyCount.ToString())); // 鏄惁鍐欏叆鎴愬姛 if (listResult.All(s => s.IsSucceed)) { - var ret1 = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "20"); + var ret1 = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "30"); } else { - Log.Error(string.Format($"鐮佸灈淇℃伅鏈啓鍏ワ紒鎵樼洏鍙凤細"+palletVal+"锛岀爜鍨涗綅锛�"+modDevice.StationNum)); + Log.Error(string.Format($"鐮佸灈淇℃伅鏈啓鍏ワ紒鎵樼洏鍙凤細" + palletVal + "锛岀爜鍨涗綅锛�" + modDevice.StationNum)); break; } } @@ -2553,6 +2556,82 @@ break; } } + else + { + switch (modDevice.Value.ToString()) + { + case "1": + // 1妤间欢绠盤LC璇锋眰WCS璇荤爜 + { + // 璇诲彇plc绠辩爜 + var modBoxNo = modDevice.listStation.FirstOrDefault(m => m.Text == "涓绘壂鏉$爜"); + var (res, boxNo) = plcConn.GetPlcDBValue(modBoxNo.PosType, modDevice.DbNumber, modBoxNo.PlcPos); + if (string.IsNullOrWhiteSpace(boxNo.ToString())) + { + + // 绠变俊鎭负null鍐欏叆鍓旈櫎閫氶亾鍙�:0 + var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "0"); + if (ret.IsSucceed) + { + // 鍐欏叆娴佺▼鎺у埗瀛� 2 + var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2"); + if (retVal.IsSucceed) + { + Log.Error("绠辩爜涓簄ull鎴栧凡缁戝畾鎵樼洏锛岃繘琛屽墧闄ゃ��"); + break; + } + } + } + else + { + // 绠辩爜 + string boxNoVal = boxNo.ToString(); + // 閫氶亾鍙� + var modLineNo = modDevice.listStation.FirstOrDefault(m => m.Text == "閫氶亾鍙�"); + + // 璋冪敤wms鎺ュ彛楠岃瘉绠辩爜鏄惁鍙嫞璐у苟杩斿洖瑁呰溅鍙� + var http = new HttpService(); + RequestloadingAddre requesModel = http.ResultBoxInfoExportWcs(boxNoVal); + if (requesModel.Success != "0") + { + // 绠变俊鎭负null鍐欏叆鍓旈櫎閫氶亾鍙�:0 + var ret = plcConn.SetPlcDBValue(modLineNo.PosType, modDevice.DbNumber, modLineNo.PlcPos, "0"); + if (ret.IsSucceed) + { + // 鍐欏叆娴佺▼鎺у埗瀛� 2 + var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2"); + if (retVal.IsSucceed) + { + Log.Error("鍑哄簱鍒嗘嫞鏍规嵁绠辩爜鑾峰彇瑁呰溅鍙eけ璐ワ紝杩涜鍓旈櫎銆�" + requesModel.Message); + break; + } + } + } + else + { + // 鍐欏叆鍑哄簱鍒嗛亾鍙� + var ret = plcConn.SetPlcDBValue(modLineNo.PosType, modDevice.DbNumber, modLineNo.PlcPos, requesModel.loadingAddre); + if (ret.IsSucceed) + { + // 鍐欏叆娴佺▼鎺у埗瀛� 2 + var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2"); + if (retVal.IsSucceed) + { + break; + } + } + } + } + };break; + case "10": + // 1妤间欢绠盤LC璇荤爜澶辫触锛學CS涓嶅仛澶勭悊鐩存帴鍓旈櫎鎵嬫寔鎷h揣銆� + { + + };break; + default: + break; + } + } } -- Gitblit v1.8.0