From c725c305325e1e485a6804e5eced888056195125 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 29 八月 2024 14:05:21 +0800
Subject: [PATCH] 生成点位

---
 Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
index 9c8e36d..b52d4b1 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -28,19 +28,19 @@
             input.Field = "u.Id";
             input.Order = "desc";
         }
-		input.SearchKey = input.SearchKey?.Trim();
+        input.SearchKey = input.SearchKey?.Trim();
         var query = _wcsDeviceRep.AsQueryable()
             .WhereIF(!string.IsNullOrEmpty(input.SearchKey), u =>
                 u.Text.Contains(input.SearchKey)
             )
-            .WhereIF(input.PlcId>0, u => u.PlcId == input.PlcId)
+            .WhereIF(input.PlcId > 0, u => u.PlcId == input.PlcId)
             .WhereIF(!string.IsNullOrWhiteSpace(input.Text), u => u.Text.Contains(input.Text.Trim()))
             //澶勭悊澶栭敭鍜孴reeSelector鐩稿叧瀛楁鐨勮繛鎺�
-            .LeftJoin<WcsPlc>((u, plcid) => u.PlcId == plcid.Id )
+            .LeftJoin<WcsPlc>((u, plcid) => u.PlcId == plcid.Id)
             .Select((u, plcid) => new WcsDeviceOutput
             {
                 Id = u.Id,
-                PlcId = u.PlcId, 
+                PlcId = u.PlcId,
                 PlcIdIP = plcid.IP,
                 Level = (DeviceLevelEnum)u.Level,
                 DbNumber = u.DbNumber,
@@ -60,7 +60,7 @@
                 CreateOrgName = u.CreateOrgName,
                 IsDelete = u.IsDelete,
             });
-		return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
+        return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
     }
 
     /// <summary>
@@ -150,7 +150,54 @@
                 ).ToListAsync();
     }
 
+    /// <summary>
+    /// 鐢熸垚鐐逛綅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "GeneratePos")]
+    [DisplayName("鐢熸垚鐐逛綅")]
+    public async Task GeneratePos(GeneratePosInput input)
+    {
+        var modDevice = await _wcsDeviceRep.GetByIdAsync(input.Id);
 
+        var listPosition = new List<WcsPosition>();
+        listPosition.Add(new WcsPosition()
+        {
+            DeviceId = modDevice.Id,
+            StationNum = modDevice.StationNum,
+            PlcPos = input.Pos.ToString(),
+            PosType = PLCDataTypeEnum.String,
+            Text = "TaskNo"
+        });
+        listPosition.Add(new WcsPosition()
+        {
+            DeviceId = modDevice.Id,
+            StationNum = modDevice.StationNum,
+            PlcPos = (input.Pos + 4).ToString(),
+            PosType = PLCDataTypeEnum.UShort,
+            Text = "TaskType"
+        });
+        listPosition.Add(new WcsPosition()
+        {
+            DeviceId = modDevice.Id,
+            StationNum = modDevice.StationNum,
+            PlcPos = (input.Pos + 6).ToString(),
+            PosType = PLCDataTypeEnum.UShort,
+            Text = "StartLocatNo"
+        });
+        listPosition.Add(new WcsPosition()
+        {
+            DeviceId = modDevice.Id,
+            StationNum = modDevice.StationNum,
+            PlcPos = (input.Pos + 8).ToString(),
+            PosType = PLCDataTypeEnum.UShort,
+            Text = "EndLocatNo"
+        });
+
+        await _wcsDeviceRep.Context.Insertable(listPosition).ExecuteCommandAsync();
+    }
 
 
 }

--
Gitblit v1.8.0