<add>[important]添加前端查询电子标签货位功能
This commit is contained in:
commit
520004b056
|
|
@ -0,0 +1,35 @@
|
|||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
|
||||
|
||||
public class QueryLocationWithPageRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询的字符串
|
||||
/// </summary>
|
||||
[JsonPropertyName("searchStr")]
|
||||
public string? SearchStr { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分页信息
|
||||
/// </summary>
|
||||
[JsonPropertyName("page")]
|
||||
public ElTagLocationPage? Page { get; set; }
|
||||
}
|
||||
|
||||
public class ElTagLocationPage
|
||||
{
|
||||
/// <summary>
|
||||
/// 每页大小
|
||||
/// </summary>
|
||||
[JsonPropertyName("pageSize")]
|
||||
public int PageSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前页数
|
||||
/// </summary>
|
||||
[JsonPropertyName("pageIndex")]
|
||||
public int PageIndex { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -67,6 +67,15 @@ public class ElTagController(ElTagService elTagService) : ControllerBase
|
|||
return _elTagService.AddTaskInfo(request);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询电子标签库位表
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("queryLocationWithPage")]
|
||||
public WcsApiResponse<int, List<AppElTagLocation>> QueryLocationWithPage([FromBody] QueryLocationWithPageRequest request)
|
||||
{
|
||||
return _elTagService.QueryLocationWithPage(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,11 @@ using WcsMain.WcsAttribute.AutoFacAttribute;
|
|||
namespace WcsMain.ApiServe.Service.WcsService;
|
||||
|
||||
[Service]
|
||||
public class ElTagService(AppElTagTaskDao tagTaskDao, DataBaseData dataBaseData)
|
||||
public class ElTagService(AppElTagTaskDao tagTaskDao, DataBaseData dataBaseData, AppElTagLocationDao tagLocationDao)
|
||||
{
|
||||
private readonly DataBaseData _dataBaseData = dataBaseData;
|
||||
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
|
||||
private readonly AppElTagLocationDao _tagLocationDao = tagLocationDao;
|
||||
|
||||
/// <summary>
|
||||
/// 展示电子标签的数字
|
||||
|
|
@ -41,6 +42,24 @@ public class ElTagService(AppElTagTaskDao tagTaskDao, DataBaseData dataBaseData)
|
|||
return WcsApiResponseFactory.Success(totalRows, elTagTasks);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询电子标签库位
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public WcsApiResponse<int, List<AppElTagLocation>> QueryLocationWithPage(QueryLocationWithPageRequest request)
|
||||
{
|
||||
(List<AppElTagLocation>? elTagLocations, int totalRows) = _tagLocationDao.QueryWithPage(request);
|
||||
if (elTagLocations == default)
|
||||
{
|
||||
return WcsApiResponseFactory.DataBaseErr<int, List<AppElTagLocation>>();
|
||||
}
|
||||
return WcsApiResponseFactory.Success(totalRows, elTagLocations);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 编辑电子标签任务信息
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ namespace WcsMain.Business.CirculationTask.ElTag;
|
|||
|
||||
|
||||
[Circulation]
|
||||
public class LightElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation, AppElTagBaseDao elTagBaseDao)
|
||||
public class LightElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation, AppElTagLocationDao elTagBaseDao)
|
||||
{
|
||||
|
||||
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
|
||||
private readonly AtopOperation _atopOperation = atopOperation;
|
||||
private readonly AppElTagBaseDao _elTagBaseDao = elTagBaseDao;
|
||||
private readonly AppElTagLocationDao _elTagBaseDao = elTagBaseDao;
|
||||
|
||||
/// <summary>
|
||||
/// 点亮电子标签
|
||||
|
|
@ -81,7 +81,7 @@ public class LightElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation,
|
|||
TaskStatus = (int)ElTagTaskStatusEnum.Lighting,
|
||||
LightTime = DateTime.Now,
|
||||
}); // 更新任务状态
|
||||
_elTagBaseDao.Update(new AppElTagBase { Location = tagTask.Location, TaskId = tagTask.TaskId, LastLightTime = DateTime.Now }); // 更新点位状态,绑定任务
|
||||
_elTagBaseDao.Update(new AppElTagLocation { Location = tagTask.Location, TaskId = tagTask.TaskId, LastLightTime = DateTime.Now }); // 更新点位状态,绑定任务
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Warning($"【警告】点亮电子标签失败,点位:{tagTask.Location},数据:{tagTask.NeedNum},载具号:{tagTask.VehicleNo},标签号:{tagInfo.TagId},异常信息:{resultException.Message}");
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public static class CommonData
|
|||
/// 电子标签基础资料
|
||||
/// </summary>
|
||||
[NotNull]
|
||||
public static List<AppElTagBase>? AppElTags { get; set; }
|
||||
public static List<AppElTagLocation>? AppElTags { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 输送线的站台
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
using WcsMain.Common;
|
||||
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
|
||||
using WcsMain.Common;
|
||||
using WcsMain.DataBase.TableEntity;
|
||||
using WcsMain.WcsAttribute.AutoFacAttribute;
|
||||
|
||||
namespace WcsMain.DataBase.Dao;
|
||||
|
||||
[Component]
|
||||
public class AppElTagBaseDao
|
||||
public class AppElTagLocationDao
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -13,11 +14,11 @@ public class AppElTagBaseDao
|
|||
/// </summary>
|
||||
/// <param name="queryData"></param>
|
||||
/// <returns></returns>
|
||||
public List<AppElTagBase>? Query(AppElTagBase queryData)
|
||||
public List<AppElTagLocation>? Query(AppElTagLocation queryData)
|
||||
{
|
||||
try
|
||||
{
|
||||
var sqlFuc = CommonTool.DbServe.Queryable<AppElTagBase>()
|
||||
var sqlFuc = CommonTool.DbServe.Queryable<AppElTagLocation>()
|
||||
.WhereIF(queryData.Location != default, w => w.Location == queryData.Location)
|
||||
.WhereIF(queryData.TagName != default, w => w.TagName == queryData.TagName)
|
||||
.WhereIF(queryData.TagId != default, w => w.TagId == queryData.TagId)
|
||||
|
|
@ -40,14 +41,14 @@ public class AppElTagBaseDao
|
|||
/// 查询所有
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<AppElTagBase>? Query() => Query(new AppElTagBase());
|
||||
public List<AppElTagLocation>? Query() => Query(new AppElTagLocation());
|
||||
|
||||
/// <summary>
|
||||
/// 根据主键更新,不更新null值
|
||||
/// </summary>
|
||||
/// <param name="appElTag"></param>
|
||||
/// <returns></returns>
|
||||
public int Update(AppElTagBase appElTag)
|
||||
public int Update(AppElTagLocation appElTag)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -59,9 +60,33 @@ public class AppElTagBaseDao
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询 电子标签库位表
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
public (List<AppElTagLocation>? elTagLocations, int totalRows) QueryWithPage(QueryLocationWithPageRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
int totalRows = 0;
|
||||
var sqlFuc = CommonTool.DbServe.Queryable<AppElTagLocation>()
|
||||
.WhereIF(!string.IsNullOrEmpty(request.SearchStr),
|
||||
w => w.TaskId!.Contains(request.SearchStr!)
|
||||
|| w.Location!.Contains(request.SearchStr!)
|
||||
|| w.TagName!.Contains(request.SearchStr!)
|
||||
|| w.ControllerDisplayName!.Contains(request.SearchStr!)
|
||||
|| w.Remark!.Contains(request.SearchStr!));
|
||||
sqlFuc.OrderBy(o => new { o.Location });
|
||||
var queryResult = sqlFuc.ToPageList(request.Page!.PageIndex, request.Page!.PageSize, ref totalRows);
|
||||
return (queryResult, totalRows);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_ = ex;
|
||||
return default;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -79,7 +104,7 @@ public class AppElTagBaseDao
|
|||
{
|
||||
try
|
||||
{
|
||||
var sqlFuc = CommonTool.DbServe.Updateable<AppElTagBase>()
|
||||
var sqlFuc = CommonTool.DbServe.Updateable<AppElTagLocation>()
|
||||
.SetColumns(s => s.LastLightTime == null)
|
||||
.SetColumns(s => s.TaskId == null)
|
||||
.Where(w => w.Location == location);
|
||||
|
|
@ -1,69 +1,80 @@
|
|||
using SqlSugar;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace WcsMain.DataBase.TableEntity;
|
||||
|
||||
|
||||
[SugarTable("tbl_app_eltag_base")]
|
||||
public class AppElTagBase
|
||||
[SugarTable("tbl_app_eltag_location")]
|
||||
public class AppElTagLocation
|
||||
{
|
||||
/// <summary>
|
||||
/// 点位
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "location", IsPrimaryKey = true)]
|
||||
[JsonPropertyName("location")]
|
||||
public string? Location { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签的名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "tag_name")]
|
||||
[JsonPropertyName("tagName")]
|
||||
public string? TagName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签的ID
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "tag_id")]
|
||||
[JsonPropertyName("tagId")]
|
||||
public int? TagId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签类型
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "tag_type")]
|
||||
[JsonPropertyName("tagType")]
|
||||
public int? TagType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 控制器的别称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "controller_diaplay_name")]
|
||||
[JsonPropertyName("controllerDisplayName")]
|
||||
public string? ControllerDisplayName { get; set;}
|
||||
|
||||
/// <summary>
|
||||
/// 所属区域
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "area")]
|
||||
[JsonPropertyName("area")]
|
||||
public string? Area { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// LED灯的默认状态
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "led_status")]
|
||||
[JsonPropertyName("ledStatus")]
|
||||
public int? LedStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上次点亮的时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "last_light_time")]
|
||||
[JsonPropertyName("lastLightTime")]
|
||||
public DateTime? LastLightTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前点亮的任务号
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "task_id")]
|
||||
[JsonPropertyName("taskId")]
|
||||
public string? TaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "remark")]
|
||||
[JsonPropertyName("remark")]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
|
||||
|
|
@ -14,10 +14,10 @@ namespace WcsMain.ElTag.Atop;
|
|||
/// 电子标签收到数据的数据处理类
|
||||
/// </summary>
|
||||
[Component]
|
||||
public class BaseOprDataHandler(AppElTagBaseDao tagBaseDao, AppElTagTaskDao tagTaskDao, AtopOperation atopOperation)
|
||||
public class BaseOprDataHandler(AppElTagLocationDao tagBaseDao, AppElTagTaskDao tagTaskDao, AtopOperation atopOperation)
|
||||
{
|
||||
|
||||
private readonly AppElTagBaseDao _tagBaseDao = tagBaseDao;
|
||||
private readonly AppElTagLocationDao _tagBaseDao = tagBaseDao;
|
||||
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
|
||||
private readonly AtopOperation _atopOperation = atopOperation;
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ public class BaseOprDataHandler(AppElTagBaseDao tagBaseDao, AppElTagTaskDao tagT
|
|||
{
|
||||
// _atopOperation.ShowMsgOnly(tcpServe.ControllerDisplayName, tcpServe.TagId, tcpServe.Data); // 重新点亮标签,仅显示字符
|
||||
/* 找出这个标签最新点亮的那条记录 */
|
||||
List<AppElTagBase>? eltags = _tagBaseDao.Query(new AppElTagBase { ControllerDisplayName = tcpServe.ControllerDisplayName, TagId = tcpServe.TagId });
|
||||
List<AppElTagLocation>? eltags = _tagBaseDao.Query(new AppElTagLocation { ControllerDisplayName = tcpServe.ControllerDisplayName, TagId = tcpServe.TagId });
|
||||
if(eltags == default)
|
||||
{
|
||||
ConsoleLog.Exception($"【异常】电子标签确认查询数据库标签信息失败,与数据库服务器连连接中断,控制器:{tcpServe.ControllerDisplayName},标签号:{tcpServe.TagId},数据:{tcpServe.Data}");
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace WcsMain.StartAction;
|
|||
[Component]
|
||||
public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs, SocketOperation socketOperation,
|
||||
AppStackerDao appStackerDao, AppLocationDao appLocationDao, AppConfigDao appConfigDao, ConnectPlcServe connectPlcServe,
|
||||
ConnectOprServe connectOprServe, AppElTagBaseDao appElTagBaseDao, AppConveyStandDao conveyStandDao)
|
||||
ConnectOprServe connectOprServe, AppElTagLocationDao appElTagBaseDao, AppConveyStandDao conveyStandDao)
|
||||
{
|
||||
private readonly AppConfigDao _appconfigDao = appConfigDao;
|
||||
private readonly AppLocationDao _applocationDao = appLocationDao;
|
||||
|
|
@ -29,7 +29,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
|
|||
private readonly WcsCirculation _wcsCirculation = wcsCirculation;
|
||||
private readonly ConnectPlcServe _connectPlcServe = connectPlcServe;
|
||||
private readonly ConnectOprServe _connectOprServe = connectOprServe;
|
||||
private readonly AppElTagBaseDao _appElTagBaseDao = appElTagBaseDao;
|
||||
private readonly AppElTagLocationDao _appElTagBaseDao = appElTagBaseDao;
|
||||
private readonly AppConveyStandDao _conveyStandDao = conveyStandDao;
|
||||
|
||||
private static string _errMsg = string.Empty;
|
||||
|
|
@ -206,7 +206,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
|
|||
{
|
||||
if (!string.IsNullOrEmpty(_errMsg)) return;
|
||||
//ConsoleLog.Info("正在电子标签基础资料信息...");
|
||||
List<AppElTagBase>? eltags = _appElTagBaseDao.Query();
|
||||
List<AppElTagLocation>? eltags = _appElTagBaseDao.Query();
|
||||
if (eltags == default)
|
||||
{
|
||||
_errMsg = "加载电子标签基础信息失败,请检查数据库服务器连接是否正常";
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user