From cb40c1af86a50608ac7ccac0da3f0f88af8239dc Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期一, 02 九月 2024 13:25:58 +0800
Subject: [PATCH] 添加设备、点位上的字段
---
Admin.NET/WCS.Application/Entity/WcsPosition.cs | 8 +
Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceOutput.cs | 24 ++++
Admin.NET/WCS.Application/Enum/PLCEnum.cs | 17 +++
Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceInput.cs | 10 ++
Web/src/api/wcs/wcsDevice.ts | 8 +
Web/src/views/wcs/wcsDevice/component/editDialog.vue | 9 +
Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionInput.cs | 5 +
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs | 38 +++++--
Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionOutput.cs | 5 +
Web/src/views/wcs/wcsPosition/component/editDialog.vue | 5 +
Admin.NET/WCS.Application/Entity/WcsDevice.cs | 7 +
Web/src/views/wcs/wcsDevice/index.vue | 6 +
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 7 +
Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceDto.cs | 5 +
Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionDto.cs | 93 +++++++++--------
Web/src/views/wcs/wcsPosition/index.vue | 1
16 files changed, 188 insertions(+), 60 deletions(-)
diff --git a/Admin.NET/WCS.Application/Entity/WcsDevice.cs b/Admin.NET/WCS.Application/Entity/WcsDevice.cs
index 4f521c7..c1675c9 100644
--- a/Admin.NET/WCS.Application/Entity/WcsDevice.cs
+++ b/Admin.NET/WCS.Application/Entity/WcsDevice.cs
@@ -15,6 +15,13 @@
public long PlcId { get; set; }
/// <summary>
+ /// 浜や簰绫诲瀷
+ /// </summary>
+ [Required]
+ [SugarColumn(ColumnName = "DeviceType", ColumnDescription = "浜や簰绫诲瀷")]
+ public DeviceTypeEnum DeviceType { get; set; }
+
+ /// <summary>
/// 璁惧绾у埆
/// </summary>
[Required]
diff --git a/Admin.NET/WCS.Application/Entity/WcsPosition.cs b/Admin.NET/WCS.Application/Entity/WcsPosition.cs
index e481678..6b2feef 100644
--- a/Admin.NET/WCS.Application/Entity/WcsPosition.cs
+++ b/Admin.NET/WCS.Application/Entity/WcsPosition.cs
@@ -34,7 +34,13 @@
[Required]
[SugarColumn(ColumnName = "PosType", ColumnDescription = "娴佺▼瀛楃被鍨�")]
public PLCDataTypeEnum PosType { get; set; }
-
+
+ /// <summary>
+ /// 瀛楃涓查暱搴�
+ /// </summary>
+ [SugarColumn(ColumnName = "StringLength", ColumnDescription = "瀛楃涓查暱搴�")]
+ public int? StringLength { get; set; }
+
/// <summary>
/// 鏄剧ず灞廼p鍦板潃
/// </summary>
diff --git a/Admin.NET/WCS.Application/Enum/PLCEnum.cs b/Admin.NET/WCS.Application/Enum/PLCEnum.cs
index 1bdfe6d..d0f45f7 100644
--- a/Admin.NET/WCS.Application/Enum/PLCEnum.cs
+++ b/Admin.NET/WCS.Application/Enum/PLCEnum.cs
@@ -138,4 +138,21 @@
//String
[Description("String")]
String = 11,
+}
+/// <summary>
+/// 浜や簰绫诲瀷
+/// </summary>
+[Description("浜や簰绫诲瀷")]
+public enum DeviceTypeEnum
+{
+ /// <summary>
+ /// 涓氬姟
+ /// </summary>
+ [Description("涓氬姟")]
+ Business = 1,
+ /// <summary>
+ /// 椤甸潰灞曠ず
+ /// </summary>
+ [Description("椤甸潰灞曠ず")]
+ Show = 2,
}
\ No newline at end of file
diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index 47c28e2..ffa4e97 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -21,6 +21,11 @@
private static List<WcsPosition> listPlcStation;
private static List<PLCUtil> listPlcUtil = new List<PLCUtil>();
+ //瀵瑰鍏竷杩炴帴鐘舵��
+ public static List<PLCUtil> listPlcConn
+ {
+ get { return listPlcUtil; }
+ }
private static CancellationTokenSource cts;//鍙栨秷绾跨▼鏍囪瘑
public static event EventHandler DeviceValueChangeEvent;
@@ -84,7 +89,7 @@
}
try
{
- var modPlcUtil = listPlcUtil.FirstOrDefault(s => s.PlcId == modPlc.Id);
+ var modPlcUtil = listPlcUtil.FirstOrDefault(s => s != null && s.PlcId == modPlc.Id);
if (modPlcUtil == null)
{
modPlcUtil = new PLCUtil(modPlc);
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceDto.cs b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceDto.cs
index 9a3c42d..7a568af 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceDto.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceDto.cs
@@ -12,6 +12,11 @@
public string PlcIdIP { get; set; }
/// <summary>
+ /// 浜や簰绫诲瀷
+ /// </summary>
+ public DeviceTypeEnum DeviceType { get; set; }
+
+ /// <summary>
/// 涓婚敭Id
/// </summary>
public long Id { get; set; }
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceInput.cs b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceInput.cs
index a4b8c8a..c998258 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceInput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceInput.cs
@@ -20,6 +20,11 @@
public virtual long PlcId { get; set; }
/// <summary>
+ /// 浜や簰绫诲瀷
+ /// </summary>
+ public virtual DeviceTypeEnum DeviceType { get; set; }
+
+ /// <summary>
/// 璁惧绾у埆
/// </summary>
public virtual DeviceLevelEnum Level { get; set; }
@@ -138,6 +143,11 @@
/// </summary>
[Required(ErrorMessage = "PlcId涓嶈兘涓虹┖")]
public override long PlcId { get; set; }
+ /// <summary>
+ /// 浜や簰绫诲瀷
+ /// </summary>
+ [Required(ErrorMessage = "浜や簰绫诲瀷涓嶈兘涓虹┖")]
+ public override DeviceTypeEnum DeviceType { get; set; }
/// <summary>
/// 璁惧绾у埆
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceOutput.cs b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceOutput.cs
index e66ea48..1e3e202 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceOutput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceOutput.cs
@@ -12,6 +12,11 @@
public long Id { get; set; }
/// <summary>
+ /// 浜や簰绫诲瀷
+ /// </summary>
+ public DeviceTypeEnum DeviceType { get; set; }
+
+ /// <summary>
/// PlcId
/// </summary>
public long PlcId { get; set; }
@@ -20,6 +25,11 @@
/// PlcId 鎻忚堪
/// </summary>
public string PlcIdIP { get; set; }
+
+ /// <summary>
+ /// 璁惧绫诲瀷
+ /// </summary>
+ public PLCTypeEnum Type { get; set; }
/// <summary>
/// 璁惧绾у埆
@@ -106,6 +116,20 @@
/// </summary>
public bool IsDelete { get; set; }
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public string TaskNo { get; set; }
+ /// <summary>
+ /// 浠诲姟绫诲瀷
+ /// </summary>
+ public TaskTypeEnum TaskType { get; set; }
+ public string Plc { get; set; }
+ public string Wcs { get; set; }
+ /// <summary>
+ /// 杩炴帴鐘舵��
+ /// </summary>
+ public bool Status { get; set; }
}
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
index b52d4b1..9c32c01 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -41,6 +41,7 @@
{
Id = u.Id,
PlcId = u.PlcId,
+ DeviceType = (DeviceTypeEnum)u.DeviceType,
PlcIdIP = plcid.IP,
Level = (DeviceLevelEnum)u.Level,
DbNumber = u.DbNumber,
@@ -121,19 +122,6 @@
}
/// <summary>
- /// 鑾峰彇璁惧淇℃伅鍒楄〃
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- [HttpGet]
- [ApiDescriptionSettings(Name = "List")]
- [DisplayName("鑾峰彇璁惧淇℃伅鍒楄〃")]
- public async Task<List<WcsDeviceOutput>> List([FromQuery] PageWcsDeviceInput input)
- {
- return await _wcsDeviceRep.AsQueryable().Select<WcsDeviceOutput>().ToListAsync();
- }
-
- /// <summary>
/// 鑾峰彇PlcId鍒楄〃
/// </summary>
/// <returns></returns>
@@ -199,5 +187,29 @@
await _wcsDeviceRep.Context.Insertable(listPosition).ExecuteCommandAsync();
}
+ /// <summary>
+ /// 鑾峰彇璁惧淇℃伅鍒楄〃
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpGet]
+ [ApiDescriptionSettings(Name = "List")]
+ [DisplayName("鑾峰彇璁惧淇℃伅鍒楄〃")]
+ public async Task<List<WcsDeviceOutput>> List([FromQuery] PageWcsDeviceInput input)
+ {
+ var list = await _wcsDeviceRep.AsQueryable()
+ .LeftJoin<WcsPlc>((a, b) => a.PlcId == b.Id)
+ .Select<WcsDeviceOutput>((a, b) => new WcsDeviceOutput() { Type = b.Type }, true)
+ .ToListAsync();
+ //鑾峰彇璺烘満鐨勭姸鎬�
+ var listConn = PLCTaskAction.listPlcConn;
+ foreach (var modDevice in list)
+ {
+ var modUtil = listConn.FirstOrDefault(s => s != null && s.PlcId == modDevice.PlcId);
+ modDevice.Status = modUtil == null ? false : modUtil.Connected;
+ }
+
+ return list;
+ }
}
diff --git a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionDto.cs b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionDto.cs
index f32161c..a328c25 100644
--- a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionDto.cs
+++ b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionDto.cs
@@ -1,49 +1,54 @@
锘�
namespace WCS.Application;
+/// <summary>
+/// 璁惧宸ヤ綅杈撳嚭鍙傛暟
+/// </summary>
+public class WcsPositionDto
+{
/// <summary>
- /// 璁惧宸ヤ綅杈撳嚭鍙傛暟
+ /// 璁惧ID
/// </summary>
- public class WcsPositionDto
- {
- /// <summary>
- /// 璁惧ID
- /// </summary>
- public string? DeviceIdText { get; set; }
-
- /// <summary>
- /// 涓婚敭Id
- /// </summary>
- public long Id { get; set; }
-
- /// <summary>
- /// 璁惧ID
- /// </summary>
- public long DeviceId { get; set; }
-
- /// <summary>
- /// 宸ヤ綅鍙�
- /// </summary>
- public string? StationNum { get; set; }
-
- /// <summary>
- /// 鍋忕Щ閲�
- /// </summary>
- public string? PlcPos { get; set; }
-
- /// <summary>
- /// 娴佺▼瀛楃被鍨�
- /// </summary>
- public PLCDataTypeEnum? PosType { get; set; }
-
- /// <summary>
- /// 鏄剧ず灞廼p鍦板潃
- /// </summary>
- public string? LedIP { get; set; }
-
- /// <summary>
- /// 鎻忚堪
- /// </summary>
- public string? Text { get; set; }
-
- }
+ public string? DeviceIdText { get; set; }
+
+ /// <summary>
+ /// 涓婚敭Id
+ /// </summary>
+ public long Id { get; set; }
+
+ /// <summary>
+ /// 璁惧ID
+ /// </summary>
+ public long DeviceId { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綅鍙�
+ /// </summary>
+ public string? StationNum { get; set; }
+
+ /// <summary>
+ /// 鍋忕Щ閲�
+ /// </summary>
+ public string? PlcPos { get; set; }
+
+ /// <summary>
+ /// 娴佺▼瀛楃被鍨�
+ /// </summary>
+ public PLCDataTypeEnum? PosType { get; set; }
+
+ /// <summary>
+ /// 瀛楃涓查暱搴�
+ /// </summary>
+ public int? StringLength { get; set; }
+
+ /// <summary>
+ /// 鏄剧ず灞廼p鍦板潃
+ /// </summary>
+ public string? LedIP { get; set; }
+
+ /// <summary>
+ /// 鎻忚堪
+ /// </summary>
+ public string? Text { get; set; }
+
+}
diff --git a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionInput.cs b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionInput.cs
index 03bcb70..5cd2b4b 100644
--- a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionInput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionInput.cs
@@ -27,6 +27,11 @@
public virtual PLCDataTypeEnum PosType { get; set; }
/// <summary>
+ /// 瀛楃涓查暱搴�
+ /// </summary>
+ public virtual int? StringLength { get; set; }
+
+ /// <summary>
/// 鏄剧ず灞廼p鍦板潃
/// </summary>
public virtual string? LedIP { get; set; }
diff --git a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionOutput.cs b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionOutput.cs
index 9144a43..507bfb0 100644
--- a/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionOutput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsPosition/Dto/WcsPositionOutput.cs
@@ -37,6 +37,11 @@
public PLCDataTypeEnum? PosType { get; set; }
/// <summary>
+ /// 瀛楃涓查暱搴�
+ /// </summary>
+ public int? StringLength { get; set; }
+
+ /// <summary>
/// 鏄剧ず灞廼p鍦板潃
/// </summary>
public string? LedIP { get; set; }
diff --git a/Web/src/api/wcs/wcsDevice.ts b/Web/src/api/wcs/wcsDevice.ts
index 8bd165a..f531fe1 100644
--- a/Web/src/api/wcs/wcsDevice.ts
+++ b/Web/src/api/wcs/wcsDevice.ts
@@ -7,6 +7,7 @@
DetailWcsDevice = '/api/wcsDevice/detail',
GetWcsPlcPlcIdDropdown = '/api/wcsDevice/WcsPlcPlcIdDropdown',
GeneratePos = '/api/wcsDevice/GeneratePos',
+ ListWcsDevice = '/api/wcsDevice/list',
}
// 澧炲姞璁惧淇℃伅
@@ -61,4 +62,9 @@
method: 'post',
data: params
});
-
\ No newline at end of file
+
+export const listWcsDevice = () =>
+ request({
+ url: Api.ListWcsDevice,
+ method: 'get'
+ });
\ No newline at end of file
diff --git a/Web/src/views/wcs/wcsDevice/component/editDialog.vue b/Web/src/views/wcs/wcsDevice/component/editDialog.vue
index 0eed749..da9d95d 100644
--- a/Web/src/views/wcs/wcsDevice/component/editDialog.vue
+++ b/Web/src/views/wcs/wcsDevice/component/editDialog.vue
@@ -24,6 +24,15 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="浜や簰绫诲瀷" prop="deviceType">
+ <el-select clearable v-model="ruleForm.deviceType" placeholder="璇烽�夋嫨浜や簰绫诲瀷">
+ <el-option v-for="(item, index) in dl('DeviceTypeEnum')" :key="index"
+ :value="Number(item.value)"
+ :label="`${item.name} (${item.code}) [${item.value}]`"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="璁惧绾у埆" prop="level">
<el-select clearable v-model="ruleForm.level" placeholder="璇烽�夋嫨璁惧绾у埆">
<el-option v-for="(item, index) in dl('DeviceLevelEnum')" :key="index"
diff --git a/Web/src/views/wcs/wcsDevice/index.vue b/Web/src/views/wcs/wcsDevice/index.vue
index bb543eb..cabac56 100644
--- a/Web/src/views/wcs/wcsDevice/index.vue
+++ b/Web/src/views/wcs/wcsDevice/index.vue
@@ -55,6 +55,12 @@
</template>
</el-table-column>
+ <el-table-column prop="deviceType" label="浜や簰绫诲瀷" show-overflow-tooltip="">
+ <template #default="scope">
+ <el-tag :type="dv('DeviceTypeEnum', scope.row.deviceType)?.tagType"> {{ dv('DeviceTypeEnum',
+ scope.row.deviceType)?.name }}</el-tag>
+ </template>
+ </el-table-column>
<el-table-column prop="level" label="璁惧绾у埆" show-overflow-tooltip="">
<template #default="scope">
<el-tag :type="dv('DeviceLevelEnum', scope.row.level)?.tagType"> {{ dv('DeviceLevelEnum',
diff --git a/Web/src/views/wcs/wcsPosition/component/editDialog.vue b/Web/src/views/wcs/wcsPosition/component/editDialog.vue
index c9f7574..28c7352 100644
--- a/Web/src/views/wcs/wcsPosition/component/editDialog.vue
+++ b/Web/src/views/wcs/wcsPosition/component/editDialog.vue
@@ -47,6 +47,11 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="瀛楃涓查暱搴�" prop="stringLength">
+ <el-input v-model="ruleForm.stringLength" placeholder="璇疯緭鍏ュ瓧绗︿覆闀垮害閲�" maxlength="32" show-word-limit clearable />
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="鏄剧ず灞廼p鍦板潃" prop="ledIP">
<el-input v-model="ruleForm.ledIP" placeholder="璇疯緭鍏ユ樉绀哄睆ip鍦板潃" maxlength="50" show-word-limit clearable />
diff --git a/Web/src/views/wcs/wcsPosition/index.vue b/Web/src/views/wcs/wcsPosition/index.vue
index 343d80a..a589b8c 100644
--- a/Web/src/views/wcs/wcsPosition/index.vue
+++ b/Web/src/views/wcs/wcsPosition/index.vue
@@ -64,6 +64,7 @@
scope.row.posType)?.name}}</el-tag>
</template>
</el-table-column>
+ <el-table-column prop="stringLength" label="瀛楃涓查暱搴�" show-overflow-tooltip="" />
<el-table-column prop="ledIP" label="鏄剧ず灞廼p鍦板潃" show-overflow-tooltip="" />
<el-table-column prop="text" label="鎻忚堪" show-overflow-tooltip="" />
<el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
--
Gitblit v1.8.0