From 5999e9c77ee30a7090ed7f6cdd07d82fe9a4015b Mon Sep 17 00:00:00 2001 From: bklLiudl <673013083@qq.com> Date: 星期三, 11 九月 2024 08:44:06 +0800 Subject: [PATCH] Merge branch 'master' into liudl --- Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs | 99 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 96 insertions(+), 3 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs index 713e769..403432f 100644 --- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs +++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs @@ -251,6 +251,34 @@ var modPositionPalletNo = listPosition.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); (result, var palletNo) = modConn.GetPlcDBValue(modPositionPalletNo.PosType, modDevice.DbNumber, modPositionPalletNo.PlcPos, modPositionPalletNo.StringLength); modDevice.PalletNo = Convert.ToString(palletNo); + if (cachePlc.Type == PLCTypeEnum.ConveyorLine) + { + //鏀捐揣鎺� + var modPositionReleaseRow = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); + (result, var releaseRow) = modConn.GetPlcDBValue(modPositionReleaseRow.PosType, modDevice.DbNumber, modPositionReleaseRow.PlcPos); + modDevice.ReleaseRow = Convert.ToInt32(releaseRow); + //鏀捐揣鍒� + var modPositionReleaseCol = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); + (result, var releaseCol) = modConn.GetPlcDBValue(modPositionReleaseCol.PosType, modDevice.DbNumber, modPositionReleaseCol.PlcPos); + modDevice.ReleaseCol = Convert.ToInt32(releaseCol); + //鏀捐揣灞� + var modPositionReleaseStorey = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); + (result, var releaseStorey) = modConn.GetPlcDBValue(modPositionReleaseStorey.PosType, modDevice.DbNumber, modPositionReleaseStorey.PlcPos); + modDevice.ReleaseStorey = Convert.ToInt32(releaseStorey); + //鍙栬揣鎺� + var modPositionPickRow = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); + (result, var pickRow) = modConn.GetPlcDBValue(modPositionPickRow.PosType, modDevice.DbNumber, modPositionPickRow.PlcPos); + modDevice.PickRow = Convert.ToInt32(pickRow); + //鍙栬揣鍒� + var modPositionPickCol = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); + (result, var pickCol) = modConn.GetPlcDBValue(modPositionPickCol.PosType, modDevice.DbNumber, modPositionPickCol.PlcPos); + modDevice.PickCol = Convert.ToInt32(pickCol); + //鍙栬揣灞� + var modPositionPickStorey = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); + (result, var pickStorey) = modConn.GetPlcDBValue(modPositionPickStorey.PosType, modDevice.DbNumber, modPositionPickStorey.PlcPos); + modDevice.PickStorey = Convert.ToInt32(pickStorey); + + } } catch (Exception) { @@ -274,6 +302,69 @@ } return list; + } + + [HttpPost] + [ApiDescriptionSettings(Name = "WriteValue")] + [DisplayName("鍐欏叆鍊�")] + public async Task WriteValue(WriteWcsDeviceInput modDevice) + { + var modPlc = await _wcsDeviceRep.Context.Queryable<WcsPlc>().FirstAsync(s => s.Id == modDevice.PlcId); + if (modPlc == null) + throw Oops.Bah("鎵句笉鍒癙LC淇℃伅"); + PLCUtil modUtil = new PLCUtil(modPlc); + var listPosition = await _wcsDeviceRep.Context.Queryable<WcsPosition>().Where(s => s.DeviceId == modDevice.Id).ToListAsync(); + //(var result, var plc) = modConn.GetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.PlcPos); + //modDevice.Plc = Convert.ToString(plc); + //浠诲姟鍙� + var modPositionTask = listPosition.FirstOrDefault(s => s.Text == "浠诲姟鍙�"); + if (modPositionTask != null) + modUtil.SetPlcDBValue(modPositionTask.PosType, modPositionTask.PlcPos, modDevice.TaskNo); + //浠诲姟绫诲瀷 + var modPositionTaskType = listPosition.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷"); + if (modPositionTaskType != null) + modUtil.SetPlcDBValue(modPositionTaskType.PosType, modPositionTaskType.PlcPos, modDevice.TaskType.ToString()); + //璧峰宸ヤ綅 + var modPositionStartLocatNo = listPosition.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅"); + if (modPositionStartLocatNo != null) + modUtil.SetPlcDBValue(modPositionStartLocatNo.PosType, modPositionStartLocatNo.PlcPos, modDevice.StartLocatNo.ToString()); + //鐩殑宸ヤ綅 + var modPositionEndLocatNo = listPosition.FirstOrDefault(s => s.Text == "鐩殑宸ヤ綅"); + if (modPositionEndLocatNo != null) + modUtil.SetPlcDBValue(modPositionEndLocatNo.PosType, modPositionEndLocatNo.PlcPos, modDevice.EndLocatNo.ToString()); + //鎵樼洏鐮� + var modPositionPalletNo = listPosition.FirstOrDefault(s => s.Text == "鎵樼洏鐮�"); + if (modPositionPalletNo != null) + modUtil.SetPlcDBValue(modPositionPalletNo.PosType, modPositionPalletNo.PlcPos, modDevice.PalletNo.ToString()); + if (modPlc.Type == PLCTypeEnum.ConveyorLine) + { + //鏀捐揣鎺� + var modPositionReleaseRow = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣鎺�"); + if (modPositionReleaseRow != null) + modUtil.SetPlcDBValue(modPositionReleaseRow.PosType, modPositionReleaseRow.PlcPos, modDevice.ReleaseRow.ToString()); + //鏀捐揣鍒� + var modPositionReleaseCol = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣鍒�"); + if (modPositionReleaseRow != null) + modUtil.SetPlcDBValue(modPositionReleaseCol.PosType, modPositionReleaseCol.PlcPos, modDevice.ReleaseCol.ToString()); + //鏀捐揣灞� + var modPositionReleaseStorey = listPosition.FirstOrDefault(s => s.Text == "鏀捐揣灞�"); + if (modPositionReleaseStorey != null) + modUtil.SetPlcDBValue(modPositionReleaseStorey.PosType, modPositionReleaseStorey.PlcPos, modDevice.ReleaseStorey.ToString()); + //鍙栬揣鎺� + var modPositionPickRow = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣鎺�"); + if (modPositionPickRow != null) + modUtil.SetPlcDBValue(modPositionPickRow.PosType, modPositionPickRow.PlcPos, modDevice.PickRow.ToString()); + //鍙栬揣鍒� + var modPositionPickCol = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣鍒�"); + if (modPositionPickCol != null) + modUtil.SetPlcDBValue(modPositionPickCol.PosType, modPositionPickCol.PlcPos, modDevice.PickCol.ToString()); + //鍙栬揣灞� + var modPositionPickStorey = listPosition.FirstOrDefault(s => s.Text == "鍙栬揣灞�"); + if (modPositionPickStorey != null) + modUtil.SetPlcDBValue(modPositionPickStorey.PosType, modPositionPickStorey.PlcPos, modDevice.PickStorey.ToString()); + + } + modUtil.Close(); } #region 鍒嗘嫞鐮佸灈 @@ -304,8 +395,8 @@ [HttpGet] [ApiDescriptionSettings(Name = "WcsPackStationPlcList")] [DisplayName("鑾峰彇璁惧瀵瑰簲宸ヤ綅鍒楄〃")] - public async Task<List<WcsDeviceTaskOrderDto>> WcsPackStationPlcList([FromQuery]WcsDeviceBaseInput entry) - { + 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) @@ -318,7 +409,9 @@ LotNo=task.LotNo, SkuNo=task.SkuNo, SkuName=task.SkuName, - Status=task.Status, + LineNO=task.LineNO, + Status =task.Status, + PZNo=task.PZNo, Qty=task.Qty }) .ToListAsync(); -- Gitblit v1.8.0