<update>[important]完善任务解析
This commit is contained in:
parent
fcf6acb39b
commit
7ffb3e46be
|
|
@ -0,0 +1,31 @@
|
||||||
|
using DataCheck;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
|
||||||
|
|
||||||
|
public class GetStackerTaskNewDestinationRequest
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 任务号
|
||||||
|
/// </summary>
|
||||||
|
[DataRules]
|
||||||
|
[JsonPropertyName("taskId")]
|
||||||
|
public string? TaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 新终点
|
||||||
|
/// </summary>
|
||||||
|
[DataRules]
|
||||||
|
[JsonPropertyName("destination")]
|
||||||
|
public string? Destination { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 载具号
|
||||||
|
/// </summary>
|
||||||
|
[DataRules]
|
||||||
|
[JsonPropertyName("vehicleNo")]
|
||||||
|
public string? VehicleNo { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,12 @@ public class QueryTaskRequest
|
||||||
[JsonPropertyName("searchStr")]
|
[JsonPropertyName("searchStr")]
|
||||||
public string? SearchStr { get; set; }
|
public string? SearchStr { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 任务类型
|
||||||
|
/// </summary>
|
||||||
|
[JsonPropertyName("elTagTaskType")]
|
||||||
|
public List<int>? TaskType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 任务状态
|
/// 任务状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using WcsMain.ApiServe.ControllerFilter;
|
using WcsMain.ApiServe.ControllerFilter;
|
||||||
|
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
|
||||||
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
|
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
|
||||||
using WcsMain.ApiServe.Controllers.Dto.WMSEntity.WmsTask;
|
using WcsMain.ApiServe.Controllers.Dto.WMSEntity.WmsTask;
|
||||||
using WcsMain.ApiServe.Service.WmsService;
|
using WcsMain.ApiServe.Service.WmsService;
|
||||||
|
|
@ -41,6 +42,17 @@ public class WmsTaskController(WmsTaskService wmsTaskService) : ControllerBase
|
||||||
return _wmsTaskService.UpdateStackerTaskStatus(request);
|
return _wmsTaskService.UpdateStackerTaskStatus(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WMS向WCS发送任务新终点,卸货位置有货的时候
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("setStackerTaskNewDestination")]
|
||||||
|
public WmsApiResponse GetStackerTaskNewDestination([FromBody] GetStackerTaskNewDestinationRequest request)
|
||||||
|
{
|
||||||
|
return _wmsTaskService.GetStackerTaskNewDestination(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using DataCheck;
|
using DataCheck;
|
||||||
|
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
|
||||||
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
|
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
|
||||||
using WcsMain.ApiServe.Controllers.Dto.WMSEntity.WmsTask;
|
using WcsMain.ApiServe.Controllers.Dto.WMSEntity.WmsTask;
|
||||||
using WcsMain.ApiServe.Factory;
|
using WcsMain.ApiServe.Factory;
|
||||||
|
|
@ -17,16 +18,16 @@ namespace WcsMain.ApiServe.Service.WmsService;
|
||||||
/// Wms任务接口逻辑
|
/// Wms任务接口逻辑
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Service]
|
[Service]
|
||||||
public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDao)
|
public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDao, AppWcsTaskDao wcsTaskDao)
|
||||||
{
|
{
|
||||||
private readonly AppWmsTaskDao _wmsTaskDao = wmsTaskDao;
|
private readonly AppWmsTaskDao _wmsTaskDao = wmsTaskDao;
|
||||||
private readonly WmsTaskAction _wmsTaskAction = wmsTaskAction;
|
private readonly WmsTaskAction _wmsTaskAction = wmsTaskAction;
|
||||||
|
private readonly AppWcsTaskDao _wcsTaskDao = wcsTaskDao;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 接收WMS任务数据处理
|
/// 接收WMS任务数据处理
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="taskEntity"></param>
|
/// <param name="request"></param>
|
||||||
/// <param name="createPerson"></param>
|
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public WmsApiResponse GetStackerTask(List<GetStackerRequest> request)
|
public WmsApiResponse GetStackerTask(List<GetStackerRequest> request)
|
||||||
{
|
{
|
||||||
|
|
@ -100,10 +101,10 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
|
||||||
case 0:
|
case 0:
|
||||||
string resetErrText = _wmsTaskAction.ResetWmsTaskStatus(request.TaskId, request.Destination, StaticString.WMS); // 重置任务
|
string resetErrText = _wmsTaskAction.ResetWmsTaskStatus(request.TaskId, request.Destination, StaticString.WMS); // 重置任务
|
||||||
return string.IsNullOrEmpty(resetErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(resetErrText);
|
return string.IsNullOrEmpty(resetErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(resetErrText);
|
||||||
case 3:
|
case 2:
|
||||||
string completeErrText = _wmsTaskAction.CompleteWmsTaskStatus(request.TaskId, StaticString.WMS); // 完成任务
|
string completeErrText = _wmsTaskAction.CompleteWmsTaskStatus(request.TaskId, StaticString.WMS); // 完成任务
|
||||||
return string.IsNullOrEmpty(completeErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(completeErrText);
|
return string.IsNullOrEmpty(completeErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(completeErrText);
|
||||||
case 999:
|
case 1:
|
||||||
string deleteErrText = _wmsTaskAction.DeleteWmsTaskStatus(request.TaskId, StaticString.WMS); // 删除任务
|
string deleteErrText = _wmsTaskAction.DeleteWmsTaskStatus(request.TaskId, StaticString.WMS); // 删除任务
|
||||||
return string.IsNullOrEmpty(deleteErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(deleteErrText);
|
return string.IsNullOrEmpty(deleteErrText) ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.Fail(deleteErrText);
|
||||||
default:
|
default:
|
||||||
|
|
@ -111,6 +112,36 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WMS向WCS发送任务新终点,卸货位置有货的时候
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public WmsApiResponse GetStackerTaskNewDestination(GetStackerTaskNewDestinationRequest request)
|
||||||
|
{
|
||||||
|
return WmsApiResponseFactory.Fail();
|
||||||
|
// if(!CheckData.CheckDataRules(request)) return WmsApiResponseFactory.RequestErr();
|
||||||
|
// /* 查找该任务有没有无法卸货 */
|
||||||
|
// List<AppWcsTask>? wcsTasks = _wcsTaskDao.Select(new AppWcsTask { TaskId = request.TaskId, TaskStatus = (int)WcsTaskStatusEnum.doubleIn });
|
||||||
|
// if(wcsTasks == default) return WmsApiResponseFactory.DataBaseErr();
|
||||||
|
// if(wcsTasks.Count() < 1) return WmsApiResponseFactory.Fail($"任务号:{request.TaskId} 没有无法卸货的情况");
|
||||||
|
// wcsTasks = [.. wcsTasks.OrderByDescending(x => x.CompleteTime)];
|
||||||
|
// var wcsTask = wcsTasks[0]; // 获取最新的一条任务
|
||||||
|
// /* 如果是最后一条任务则更新WMS任务终点 */
|
||||||
|
// if(wcsTask.IsLastTask())
|
||||||
|
// {
|
||||||
|
// _wmsTaskDao.Update(new AppWmsTask { TaskId = request.TaskId, Destination = request.Destination, TaskMsg = "WMS修改终点" });
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
using CirculateTool;
|
using CirculateTool;
|
||||||
|
using LedSimple;
|
||||||
using WcsMain.Common;
|
using WcsMain.Common;
|
||||||
using WcsMain.DataBase.Dao;
|
using WcsMain.DataBase.Dao;
|
||||||
using WcsMain.DataBase.TableEntity;
|
using WcsMain.DataBase.TableEntity;
|
||||||
using WcsMain.ElTag.Atop;
|
using WcsMain.ElTag.Atop;
|
||||||
|
using WcsMain.ElTag.Atop.AtopEnum;
|
||||||
using WcsMain.ElTag.Atop.Entity;
|
using WcsMain.ElTag.Atop.Entity;
|
||||||
using WcsMain.Enum.TaskEnum;
|
using WcsMain.Enum.TaskEnum;
|
||||||
using WcsMain.EquipOperation.ElTag;
|
using WcsMain.EquipOperation.ElTag;
|
||||||
|
|
@ -57,7 +59,19 @@ public class LightElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* 点亮标签 */
|
/* 点亮标签 */
|
||||||
var resultException = _atopOperation.ShowMsg(tagInfo.ControllerDisplayName, tagInfo.TagId, tagTask.NeedNum);
|
LedColor lEDColor = new Func<LedColor>(() =>
|
||||||
|
{
|
||||||
|
switch (tagTask.TaskType)
|
||||||
|
{
|
||||||
|
case (int)ElTagTaskTypeEnum.PICK:
|
||||||
|
return LedColor.Green;
|
||||||
|
case (int)ElTagTaskTypeEnum.STOCK:
|
||||||
|
return LedColor.Blue;
|
||||||
|
default:
|
||||||
|
return LedColor.Red;
|
||||||
|
};
|
||||||
|
}).Invoke();
|
||||||
|
var resultException = _atopOperation.ShowMsg(tagInfo.ControllerDisplayName, tagInfo.TagId, tagTask.NeedNum, lEDColor);
|
||||||
if(resultException == default )
|
if(resultException == default )
|
||||||
{
|
{
|
||||||
ConsoleLog.Success($"点亮电子标签成功,点位:{tagTask.Location},数据:{tagTask.NeedNum},载具号:{tagTask.VehicleNo},标签号:{tagInfo.TagId}");
|
ConsoleLog.Success($"点亮电子标签成功,点位:{tagTask.Location},数据:{tagTask.NeedNum},载具号:{tagTask.VehicleNo},标签号:{tagInfo.TagId}");
|
||||||
|
|
@ -73,4 +87,11 @@ public class LightElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation,
|
||||||
ConsoleLog.Warning($"【警告】点亮电子标签失败,点位:{tagTask.Location},数据:{tagTask.NeedNum},载具号:{tagTask.VehicleNo},标签号:{tagInfo.TagId},异常信息:{resultException.Message}");
|
ConsoleLog.Warning($"【警告】点亮电子标签失败,点位:{tagTask.Location},数据:{tagTask.NeedNum},载具号:{tagTask.VehicleNo},标签号:{tagInfo.TagId},异常信息:{resultException.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void LightPickTask()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ namespace WcsMain.Business.CirculationTask.ElTag;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 熄灭电子标签
|
/// 熄灭电子标签
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Circulation]
|
//[Circulation]
|
||||||
public class OffElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation)
|
public class OffElTag(AppElTagTaskDao tagTaskDao, AtopOperation atopOperation)
|
||||||
{
|
{
|
||||||
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
|
private readonly AppElTagTaskDao _tagTaskDao = tagTaskDao;
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,8 @@ public class CheckAccount(StackerOperation stackerOperation, AppWcsTaskDao wcsTa
|
||||||
[Circulation("监控PLC地址,过账", 1000)]
|
[Circulation("监控PLC地址,过账", 1000)]
|
||||||
public bool CheckAccountTask()
|
public bool CheckAccountTask()
|
||||||
{
|
{
|
||||||
var openStackers = CommonData.AppStackers.Open();
|
var openStackers = CommonData.AppStackers.Open(); // 只获取开放的堆垛机
|
||||||
List<TaskFeedBackEntity>? taskFeedBackEntities = _stackerOperation.GetTaskFeedBackData(1, openStackers);
|
List<TaskFeedBackEntity>? taskFeedBackEntities = _stackerOperation.GetTaskFeedBackData(20, openStackers);
|
||||||
if (taskFeedBackEntities == default || taskFeedBackEntities.Count < 1)
|
if (taskFeedBackEntities == default || taskFeedBackEntities.Count < 1)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -424,7 +424,7 @@ public class ExeTaskDoubleFork(
|
||||||
/* 判断这个任务是否出现卸货位置有货 */
|
/* 判断这个任务是否出现卸货位置有货 */
|
||||||
if(doubleTask.TaskStatus != (int)WcsTaskStatusEnum.doubleIn) { return false; } // 没有重复入库不执行下面方法
|
if(doubleTask.TaskStatus != (int)WcsTaskStatusEnum.doubleIn) { return false; } // 没有重复入库不执行下面方法
|
||||||
/* 查找这个任务的新任务 */
|
/* 查找这个任务的新任务 */
|
||||||
List<AppWcsTask>? newTasks = _wcsTaskDao.Select(new AppWcsTask { TaskId = doubleTask.TaskId, TaskType = (int)WcsTaskTypeEnum.newTaskForDoubleIn, TaskStatus = (int)WmsTaskStatusEnum.create });
|
List<AppWcsTask>? newTasks = _wcsTaskDao.Select(new AppWcsTask { TaskId = doubleTask.TaskId, TaskType = (int)WcsTaskTypeEnum.newTaskForDoubleIn, TaskStatus = (int)WcsTaskStatusEnum.create });
|
||||||
if (newTasks == default)
|
if (newTasks == default)
|
||||||
{
|
{
|
||||||
ConsoleLog.Error($"【异常】{stackerId} 号堆垛机重复入库任务新任务查询失败,与数据库连接异常");
|
ConsoleLog.Error($"【异常】{stackerId} 号堆垛机重复入库任务新任务查询失败,与数据库连接异常");
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ using WcsMain.Enum.TaskEnum;
|
||||||
using WcsMain.Business.CommonAction;
|
using WcsMain.Business.CommonAction;
|
||||||
using WcsMain.Common;
|
using WcsMain.Common;
|
||||||
using WcsMain.StaticData;
|
using WcsMain.StaticData;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using WcsMain.DataBase.MixDao;
|
||||||
|
|
||||||
namespace WcsMain.Business.CirculationTask.TaskData;
|
namespace WcsMain.Business.CirculationTask.TaskData;
|
||||||
|
|
||||||
|
|
@ -14,11 +16,12 @@ namespace WcsMain.Business.CirculationTask.TaskData;
|
||||||
/// WMS任务解析类
|
/// WMS任务解析类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Circulation()]
|
[Circulation()]
|
||||||
public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsTaskStatus, DataBaseData dataBaseData)
|
public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsTaskStatus, DataBaseData dataBaseData, TaskDao taskDao)
|
||||||
{
|
{
|
||||||
private readonly DataBaseData _dataBaseData = dataBaseData;
|
private readonly DataBaseData _dataBaseData = dataBaseData;
|
||||||
private readonly SendWmsTaskStatus _sendWmsTaskStatus = sendWmsTaskStatus;
|
private readonly SendWmsTaskStatus _sendWmsTaskStatus = sendWmsTaskStatus;
|
||||||
private readonly AppWmsTaskDao _wmsTaskDao = wmsTaskDao;
|
private readonly AppWmsTaskDao _wmsTaskDao = wmsTaskDao;
|
||||||
|
private readonly TaskDao _taskDao = taskDao;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 解析WMS任务
|
/// 解析WMS任务
|
||||||
|
|
@ -63,12 +66,7 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* 解析任务转换为WCS任务,一般根据项目,此处自定义规则 */
|
/* 解析任务转换为WCS任务,一般根据项目,此处自定义规则 */
|
||||||
List<AppWcsTask>? wcsTasks = TransToWcsTask(wmsTask);
|
TransToWcsTask(wmsTask);
|
||||||
if(wcsTasks == default || wcsTasks.Count < 1)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -78,20 +76,25 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="task"></param>
|
/// <param name="task"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private List<AppWcsTask>? TransToWcsTask(AppWmsTask task)
|
private void TransToWcsTask(AppWmsTask task)
|
||||||
{
|
{
|
||||||
return task.TaskType switch
|
switch (task.TaskType)
|
||||||
{
|
{
|
||||||
// 入库
|
case (int)WmsTaskTypeEnum.inTask:// 入库
|
||||||
(int)WmsTaskTypeEnum.inTask => TransInTaskToWcsTask(task)?.ToList(),
|
TransInTaskToWcsTask(task);
|
||||||
// 出库
|
break;
|
||||||
(int)WmsTaskTypeEnum.outTask => TransOutTaskToWcsTask(task)?.ToList(),
|
case (int)WmsTaskTypeEnum.outTask:// 出库
|
||||||
// 移库
|
TransOutTaskToWcsTask(task);
|
||||||
(int)WmsTaskTypeEnum.moveTask => TransMoveTaskToWcsTask(task)?.ToList(),
|
break;
|
||||||
// 拣选
|
case (int)WmsTaskTypeEnum.moveTask:// 移库
|
||||||
(int)WmsTaskTypeEnum.pick => TransPickTaskToWcsTask(task)?.ToList(),
|
TransMoveTaskToWcsTask(task);
|
||||||
// 其他任务,未识别的任务类型,直接报错
|
break;
|
||||||
_ => TransOtherTaskToWcsTask(task)?.ToList(),
|
case (int)WmsTaskTypeEnum.pick:// 拣选
|
||||||
|
TransPickTaskToWcsTask(task);
|
||||||
|
break;
|
||||||
|
default: // 其他任务,未识别的任务类型,直接报错
|
||||||
|
TransOtherTaskToWcsTask(task);
|
||||||
|
break;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,13 +103,13 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="wmsTask"></param>
|
/// <param name="wmsTask"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private IEnumerable<AppWcsTask>? TransInTaskToWcsTask(AppWmsTask wmsTask)
|
private void TransInTaskToWcsTask(AppWmsTask wmsTask)
|
||||||
{
|
{
|
||||||
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
||||||
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
||||||
if (wcsOrigin == default || wcsDestination == default) { yield break; }
|
if (wcsOrigin == default || wcsDestination == default) { return; }
|
||||||
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
||||||
if(plcId == default) { yield break; }
|
if(plcId == default) { return; }
|
||||||
AppWcsTask wcsTask = new()
|
AppWcsTask wcsTask = new()
|
||||||
{
|
{
|
||||||
PlcId = plcId,
|
PlcId = plcId,
|
||||||
|
|
@ -125,7 +128,15 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
CreatePerson = wmsTask.CreatePerson,
|
CreatePerson = wmsTask.CreatePerson,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
};
|
};
|
||||||
yield return wcsTask;
|
/* 插入新任务同时更新 wms 任务为排队中 */
|
||||||
|
string? errMessage = _taskDao.CreateWcsTask(wcsTask);
|
||||||
|
if(string.IsNullOrWhiteSpace(errMessage))
|
||||||
|
{
|
||||||
|
ConsoleLog.Info($"【提示】任务:{wmsTask.TaskId} 已经进入队列");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConsoleLog.Warning($"【警告】任务:{wmsTask.TaskId} 无法处理,异常信息:{errMessage}");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -133,13 +144,13 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="wmsTask"></param>
|
/// <param name="wmsTask"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private IEnumerable<AppWcsTask>? TransOutTaskToWcsTask(AppWmsTask wmsTask)
|
private void TransOutTaskToWcsTask(AppWmsTask wmsTask)
|
||||||
{
|
{
|
||||||
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
||||||
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
||||||
if (wcsOrigin == default || wcsDestination == default) { yield break; }
|
if (wcsOrigin == default || wcsDestination == default) { return; }
|
||||||
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
||||||
if (plcId == default) { yield break; }
|
if (plcId == default) { return; }
|
||||||
AppWcsTask wcsTask = new()
|
AppWcsTask wcsTask = new()
|
||||||
{
|
{
|
||||||
PlcId = plcId,
|
PlcId = plcId,
|
||||||
|
|
@ -157,7 +168,15 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
CreatePerson = wmsTask.CreatePerson,
|
CreatePerson = wmsTask.CreatePerson,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
};
|
};
|
||||||
yield return wcsTask;
|
/* 插入新任务同时更新 wms 任务为排队中 */
|
||||||
|
string? errMessage = _taskDao.CreateWcsTask(wcsTask);
|
||||||
|
if (string.IsNullOrWhiteSpace(errMessage))
|
||||||
|
{
|
||||||
|
ConsoleLog.Info($"【提示】任务:{wmsTask.TaskId} 已经进入队列");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConsoleLog.Warning($"【警告】任务:{wmsTask.TaskId} 无法处理,异常信息:{errMessage}");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -165,13 +184,13 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="wmsTask"></param>
|
/// <param name="wmsTask"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private IEnumerable<AppWcsTask>? TransPickTaskToWcsTask(AppWmsTask wmsTask)
|
private void TransPickTaskToWcsTask(AppWmsTask wmsTask)
|
||||||
{
|
{
|
||||||
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
||||||
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
||||||
if (wcsOrigin == default || wcsDestination == default) { yield break; }
|
if (wcsOrigin == default || wcsDestination == default) { return; }
|
||||||
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
||||||
if (plcId == default) { yield break; }
|
if (plcId == default) { return; }
|
||||||
AppWcsTask wcsTask = new()
|
AppWcsTask wcsTask = new()
|
||||||
{
|
{
|
||||||
PlcId = plcId,
|
PlcId = plcId,
|
||||||
|
|
@ -189,7 +208,15 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
CreatePerson = wmsTask.CreatePerson,
|
CreatePerson = wmsTask.CreatePerson,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
};
|
};
|
||||||
yield return wcsTask;
|
/* 插入新任务同时更新 wms 任务为排队中 */
|
||||||
|
string? errMessage = _taskDao.CreateWcsTask(wcsTask);
|
||||||
|
if (string.IsNullOrWhiteSpace(errMessage))
|
||||||
|
{
|
||||||
|
ConsoleLog.Info($"【提示】任务:{wmsTask.TaskId} 已经进入队列");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConsoleLog.Warning($"【警告】任务:{wmsTask.TaskId} 无法处理,异常信息:{errMessage}");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -197,13 +224,13 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="wmsTask"></param>
|
/// <param name="wmsTask"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private IEnumerable<AppWcsTask>? TransMoveTaskToWcsTask(AppWmsTask wmsTask)
|
private void TransMoveTaskToWcsTask(AppWmsTask wmsTask)
|
||||||
{
|
{
|
||||||
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
AppLocation? wcsOrigin = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Origin);
|
||||||
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
AppLocation? wcsDestination = CommonData.AppLocations.DetailWithWmsLocation(wmsTask.Destination);
|
||||||
if (wcsOrigin == default || wcsDestination == default) { yield break; }
|
if (wcsOrigin == default || wcsDestination == default) { return; }
|
||||||
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
int? plcId = _dataBaseData.GetNewPlcTaskId();
|
||||||
if (plcId == default) { yield break; }
|
if (plcId == default) { return; }
|
||||||
AppWcsTask wcsTask = new()
|
AppWcsTask wcsTask = new()
|
||||||
{
|
{
|
||||||
PlcId = plcId,
|
PlcId = plcId,
|
||||||
|
|
@ -222,7 +249,15 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
CreatePerson = wmsTask.CreatePerson,
|
CreatePerson = wmsTask.CreatePerson,
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
};
|
};
|
||||||
yield return wcsTask;
|
/* 插入新任务同时更新 wms 任务为排队中 */
|
||||||
|
string? errMessage = _taskDao.CreateWcsTask(wcsTask);
|
||||||
|
if (string.IsNullOrWhiteSpace(errMessage))
|
||||||
|
{
|
||||||
|
ConsoleLog.Info($"【提示】任务:{wmsTask.TaskId} 已经进入队列");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ConsoleLog.Warning($"【警告】任务:{wmsTask.TaskId} 无法处理,异常信息:{errMessage}");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -230,8 +265,8 @@ public class ResolveWmsTask(AppWmsTaskDao wmsTaskDao, SendWmsTaskStatus sendWmsT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="wmsTask"></param>
|
/// <param name="wmsTask"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private IEnumerable<AppWcsTask>? TransOtherTaskToWcsTask(AppWmsTask wmsTask)
|
private List<AppWcsTask>? TransOtherTaskToWcsTask(AppWmsTask wmsTask)
|
||||||
{
|
{
|
||||||
yield break;
|
return default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -26,7 +26,7 @@ public class ConsoleLog
|
||||||
public static void Info(bool isShow, params string[] messages)
|
public static void Info(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -57,7 +57,7 @@ public class ConsoleLog
|
||||||
public static void Error(bool isShow, params string[] messages)
|
public static void Error(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -88,7 +88,7 @@ public class ConsoleLog
|
||||||
public static void Exception(bool isShow, params string[] messages)
|
public static void Exception(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -119,7 +119,7 @@ public class ConsoleLog
|
||||||
public static void Success(bool isShow, params string[] messages)
|
public static void Success(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -150,7 +150,7 @@ public class ConsoleLog
|
||||||
public static void Warning(bool isShow, params string[] messages)
|
public static void Warning(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -181,7 +181,7 @@ public class ConsoleLog
|
||||||
public static void Tip(bool isShow, params string[] messages)
|
public static void Tip(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
@ -211,7 +211,7 @@ public class ConsoleLog
|
||||||
public static void Tcp(bool isShow, params string[] messages)
|
public static void Tcp(bool isShow, params string[] messages)
|
||||||
{
|
{
|
||||||
if (!isShow) return;
|
if (!isShow) return;
|
||||||
if (messages == default || messages.Length == 0) return;
|
if (messages.Length == 0) return;
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
StringBuilder stringBuilder = new();
|
StringBuilder stringBuilder = new();
|
||||||
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
stringBuilder.AppendLine(now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,12 @@ public class AppElTagTaskDao
|
||||||
|| w.VehicleNo!.Contains(request.SearchStr!)
|
|| w.VehicleNo!.Contains(request.SearchStr!)
|
||||||
|| w.GoodsId!.Contains(request.SearchStr!)
|
|| w.GoodsId!.Contains(request.SearchStr!)
|
||||||
|| w.Remark!.Contains(request.SearchStr!));
|
|| w.Remark!.Contains(request.SearchStr!));
|
||||||
|
if (request.TaskType != default)
|
||||||
|
{
|
||||||
|
List<int?> taskTaskType = [];
|
||||||
|
request.TaskType.ForEach(item => taskTaskType.Add(item));
|
||||||
|
sqlFuc.Where(w => taskTaskType.Contains(w.TaskType));
|
||||||
|
}
|
||||||
if (request.TaskStatus != default)
|
if (request.TaskStatus != default)
|
||||||
{
|
{
|
||||||
List<int?> taskStatus = [];
|
List<int?> taskStatus = [];
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,18 @@ public class AppWmsTaskDao
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 将taskId更新成新的
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="oldTaskId"></param>
|
||||||
|
/// <param name="newTaskId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int UpdateTaskId(string? oldTaskId, string? newTaskId)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,35 @@ namespace WcsMain.DataBase.MixDao;
|
||||||
[Component]
|
[Component]
|
||||||
public class TaskDao
|
public class TaskDao
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 插入WCS任务,同时将WMS任务更成排队中
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="wcsTasks"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string? CreateWcsTask(params AppWcsTask[] wcsTasks)
|
||||||
|
{
|
||||||
|
if(wcsTasks.Length < 1) return "未传入任务";
|
||||||
|
DateTime dateTime = DateTime.Now;
|
||||||
|
var result = CommonTool.DbServe.Ado.UseTran(() =>
|
||||||
|
{
|
||||||
|
/* 插入WCS任务表 */
|
||||||
|
CommonTool.DbServe.Insertable(wcsTasks).ExecuteCommand();
|
||||||
|
/* 更新WMS任务表状态为排队中 */
|
||||||
|
foreach(var wcsTask in wcsTasks)
|
||||||
|
{
|
||||||
|
CommonTool.DbServe.Updateable(new AppWmsTask
|
||||||
|
{
|
||||||
|
TaskId = wcsTask.TaskId,
|
||||||
|
TaskStatus = (int)WmsTaskStatusEnum.queuing,
|
||||||
|
StartTime = dateTime
|
||||||
|
}).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result.Data ? string.Empty : result.ErrorException.Message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// wcs任务开始
|
/// wcs任务开始
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,13 @@ public class AppElTagTask
|
||||||
[JsonPropertyName("taskGroup")]
|
[JsonPropertyName("taskGroup")]
|
||||||
public string? TaskGroup { get; set; }
|
public string? TaskGroup { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 任务类型
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "task_type")]
|
||||||
|
[JsonPropertyName("taskType")]
|
||||||
|
public int? TaskType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 点位
|
/// 点位
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using WcsMain.Common;
|
|
||||||
using WcsMain.DataBase.Dao;
|
using WcsMain.DataBase.Dao;
|
||||||
using WcsMain.DataBase.TableEntity;
|
using WcsMain.DataBase.TableEntity;
|
||||||
using WcsMain.ElTag.Atop.AtopEnum;
|
using WcsMain.ElTag.Atop.AtopEnum;
|
||||||
|
|
@ -58,7 +57,7 @@ public class BaseOprDataHandler(AppElTagBaseDao tagBaseDao, AppElTagTaskDao tagT
|
||||||
/// <param name="tcpServe"></param>
|
/// <param name="tcpServe"></param>
|
||||||
public void Confirm(TagReturnInfo tcpServe)
|
public void Confirm(TagReturnInfo tcpServe)
|
||||||
{
|
{
|
||||||
_atopOperation.ShowMsgOnly(tcpServe.ControllerDisplayName, tcpServe.TagId, tcpServe.Data); // 重新点亮标签,仅显示字符
|
// _atopOperation.ShowMsgOnly(tcpServe.ControllerDisplayName, tcpServe.TagId, tcpServe.Data); // 重新点亮标签,仅显示字符
|
||||||
/* 找出这个标签最新点亮的那条记录 */
|
/* 找出这个标签最新点亮的那条记录 */
|
||||||
List<AppElTagBase>? eltags = _tagBaseDao.Query(new AppElTagBase { ControllerDisplayName = tcpServe.ControllerDisplayName, TagId = tcpServe.TagId });
|
List<AppElTagBase>? eltags = _tagBaseDao.Query(new AppElTagBase { ControllerDisplayName = tcpServe.ControllerDisplayName, TagId = tcpServe.TagId });
|
||||||
if(eltags == default)
|
if(eltags == default)
|
||||||
|
|
@ -97,7 +96,7 @@ public class BaseOprDataHandler(AppElTagBaseDao tagBaseDao, AppElTagTaskDao tagT
|
||||||
var tagTask = tagTasks[0]; // 获取到的任务
|
var tagTask = tagTasks[0]; // 获取到的任务
|
||||||
int pickNum = Regex.Replace(tcpServe.Data!, "\\D", "").IsNumber() ? Convert.ToInt32(tcpServe.Data) : -1;
|
int pickNum = Regex.Replace(tcpServe.Data!, "\\D", "").IsNumber() ? Convert.ToInt32(tcpServe.Data) : -1;
|
||||||
/* 更新任务状态为确认 */
|
/* 更新任务状态为确认 */
|
||||||
_tagTaskDao.Update(new AppElTagTask() { TaskId = tagTask.TaskId, ConfirmTime = DateTime.Now, TaskStatus = (int)ElTagTaskStatusEnum.Confirm, PickNum = pickNum, Remark = "标签确认" });
|
_tagTaskDao.Update(new AppElTagTask() { TaskId = tagTask.TaskId, ConfirmTime = DateTime.Now, TaskStatus = (int)ElTagTaskStatusEnum.Confirm, PickNum = pickNum, Remark = "标签确认", OffTime = DateTime.Now });
|
||||||
/* 更新绑定的库位信息为空 */
|
/* 更新绑定的库位信息为空 */
|
||||||
_tagBaseDao.ResetLocation(eltag.Location!);
|
_tagBaseDao.ResetLocation(eltag.Location!);
|
||||||
ConsoleLog.Success($"电子标签确认按钮按下,标签任务号:{tagTask.TaskId} 已经确认,箱号:{tagTask.VehicleNo},拣选数量:{tagTask.NeedNum}({pickNum}) 控制器:{tcpServe.ControllerDisplayName},标签号:{tcpServe.TagId},数据:{tcpServe.Data}");
|
ConsoleLog.Success($"电子标签确认按钮按下,标签任务号:{tagTask.TaskId} 已经确认,箱号:{tagTask.VehicleNo},拣选数量:{tagTask.NeedNum}({pickNum}) 控制器:{tcpServe.ControllerDisplayName},标签号:{tcpServe.TagId},数据:{tcpServe.Data}");
|
||||||
|
|
|
||||||
10
WcsMain/Enum/TaskEnum/ElTagTaskTypeEnum.cs
Normal file
10
WcsMain/Enum/TaskEnum/ElTagTaskTypeEnum.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
namespace WcsMain.Enum.TaskEnum;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 电子标签的任务类型
|
||||||
|
/// </summary>
|
||||||
|
public enum ElTagTaskTypeEnum
|
||||||
|
{
|
||||||
|
PICK = 1, // 拣选任务
|
||||||
|
STOCK = 2, // 存储确认
|
||||||
|
}
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
"DBMssqlLocal": "Data Source=192.168.142.131;Initial Catalog=wcs_stacker;User Id=sa;Password=Sa123;",
|
"DBMssqlLocal": "Data Source=192.168.142.131;Initial Catalog=wcs_stacker;User Id=sa;Password=Sa123;",
|
||||||
|
|
||||||
"ApplicationConfig": {
|
"ApplicationConfig": {
|
||||||
"ApiOnly": false,
|
"ApiOnly": true,
|
||||||
"Language": "zh-CN"
|
"Language": "zh-CN"
|
||||||
},
|
},
|
||||||
"UseUrls": [ "http://*:890" ]
|
"UseUrls": [ "http://*:890" ]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user