From 5af0a043ffbbe444f7e43b6bf52a9e94c74283f2 Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期三, 11 九月 2024 08:43:43 +0800 Subject: [PATCH] 跺机交互流程 --- Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs index 3949be6..713e769 100644 --- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs +++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs @@ -1,6 +1,8 @@ 锘� using Admin.NET.Core.Service; using Elastic.Clients.Elasticsearch; +using WCS.Application.Entity; +using WCS.Application.Service.WcsDevice.Dto; namespace WCS.Application; @@ -219,7 +221,9 @@ //璇诲彇plc鐨勫�� var modConn = PLCTaskAction.listPlcConn.FirstOrDefault(s => s != null && s.PlcId == modDevice.PlcId); if (modConn == null) - break; + { + continue; + } try { var listPosition = await _wcsDeviceRep.Context.Queryable<WcsPosition>().Where(s => s.DeviceId == modDevice.Id).ToListAsync(); @@ -229,7 +233,7 @@ modDevice.Wcs = Convert.ToString(wcs); //浠诲姟鍙� var modPositionTask = listPosition.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); - (result, var taskNo) = modConn.GetPlcDBValue(modPositionTask.PosType, modDevice.DbNumber, modPositionTask.PlcPos); + (result, var taskNo) = modConn.GetPlcDBValue(modPositionTask.PosType, modDevice.DbNumber, modPositionTask.PlcPos, modPositionTask.StringLength); modDevice.TaskNo = Convert.ToString(taskNo); //浠诲姟绫诲瀷 var modPositionTaskType = listPosition.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); @@ -245,7 +249,7 @@ modDevice.EndLocatNo = Convert.ToString(endLocatNo); //鎵樼洏鐮� var modPositionPalletNo = listPosition.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); - (result, var palletNo) = modConn.GetPlcDBValue(modPositionPalletNo.PosType, modDevice.DbNumber, modPositionPalletNo.PlcPos); + (result, var palletNo) = modConn.GetPlcDBValue(modPositionPalletNo.PosType, modDevice.DbNumber, modPositionPalletNo.PlcPos, modPositionPalletNo.StringLength); modDevice.PalletNo = Convert.ToString(palletNo); } catch (Exception) @@ -284,11 +288,11 @@ { return await _wcsDeviceRep.Context.Queryable<WcsPlc>() .Where(w => w.Type == PLCTypeEnum.RobotPalletizer || w.Type == PLCTypeEnum.StackingRobot) - .OrderBy(o => o.Type) + .OrderByDescending(o => o.Type) .Select(u => new { id = u.Id, - name = u.Text + name = u.Text } ).ToListAsync(); } @@ -300,11 +304,23 @@ [HttpGet] [ApiDescriptionSettings(Name = "WcsPackStationPlcList")] [DisplayName("鑾峰彇璁惧瀵瑰簲宸ヤ綅鍒楄〃")] - public async Task<List<WcsDevice>> WcsPackStationPlcList([FromQuery]WcsDeviceBaseInput entry) - { + public async Task<List<WcsDeviceTaskOrderDto>> WcsPackStationPlcList([FromQuery]WcsDeviceBaseInput entry) + { return await _wcsDeviceRep.Context.Queryable<WcsDevice>() - .Where(w => w.PlcId == entry.PlcId) - .OrderBy(o => o.CreateTime) + .LeftJoin<WcsCheckTask>((device, task) => device.StationNum == task.Port) + .Where((device, task) => device.PlcId == entry.PlcId) + .OrderBy((device, task) => device.CreateTime) + .Select((device, task) => new WcsDeviceTaskOrderDto() + { + Id=device.Id, + Text=device.Text, + OrderNo=task.OrderNo, + LotNo=task.LotNo, + SkuNo=task.SkuNo, + SkuName=task.SkuName, + Status=task.Status, + Qty=task.Qty + }) .ToListAsync(); } #endregion -- Gitblit v1.8.0