From 6c741f0281d29f2b689172f1cea8c398ca378a17 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 07 九月 2024 15:57:50 +0800 Subject: [PATCH] 分拣任务新增功能增加物料选择;开发分拣码垛的绑定任务功能、结批功能 --- Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 56 insertions(+), 3 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs index 8a5e853..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) @@ -271,4 +275,53 @@ return list; } + + #region 鍒嗘嫞鐮佸灈 + /// <summary> + /// 鑾峰彇鐮佸灈鏈哄櫒浜哄拰鎷嗗灈鏈哄櫒浜哄垪琛� + /// </summary> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "WcsPackPlcList")] + [DisplayName("鑾峰彇鐮佸灈鏈哄櫒浜哄拰鎷嗗灈鏈哄櫒浜哄垪琛�")] + public async Task<dynamic> WcsPackPlcList() + { + return await _wcsDeviceRep.Context.Queryable<WcsPlc>() + .Where(w => w.Type == PLCTypeEnum.RobotPalletizer || w.Type == PLCTypeEnum.StackingRobot) + .OrderByDescending(o => o.Type) + .Select(u => new + { + id = u.Id, + name = u.Text + } + ).ToListAsync(); + } + /// <summary> + /// 鑾峰彇璁惧瀵瑰簲宸ヤ綅鍒楄〃 + /// </summary> + /// <param name="entry"></param> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "WcsPackStationPlcList")] + [DisplayName("鑾峰彇璁惧瀵瑰簲宸ヤ綅鍒楄〃")] + public async Task<List<WcsDeviceTaskOrderDto>> WcsPackStationPlcList([FromQuery]WcsDeviceBaseInput entry) + { + return await _wcsDeviceRep.Context.Queryable<WcsDevice>() + .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