1、修复提升机数据查询失败的问题;
2、修复四向车接口加密问题
This commit is contained in:
parent
21ea775325
commit
4f8bb3316a
|
|
@ -1,4 +1,6 @@
|
|||
namespace WcsMain.ApiClient.Shuttle.Dto;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace WcsMain.ApiClient.Shuttle.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 四向车库的响应
|
||||
|
|
@ -8,16 +10,19 @@ public class ContainerTaskResponse
|
|||
/// <summary>
|
||||
/// 响应码
|
||||
/// </summary>
|
||||
[JsonProperty("code")]
|
||||
public string? Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// WMS 任务号
|
||||
/// </summary>
|
||||
[JsonProperty("wmstaskid")]
|
||||
public string? WmsTaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 信息
|
||||
/// </summary>
|
||||
[JsonProperty("message")]
|
||||
public string? Message { get; set; }
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
namespace WcsMain.ApiClient.Shuttle.Dto;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace WcsMain.ApiClient.Shuttle.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 四向车库出库移库请求
|
||||
|
|
@ -8,31 +10,37 @@ public class ContainerTaskResqust
|
|||
/// <summary>
|
||||
/// 请求ID
|
||||
/// </summary>
|
||||
[JsonProperty("requestid")]
|
||||
public string? RequestId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 密钥
|
||||
/// </summary>
|
||||
[JsonProperty("key")]
|
||||
public string? Key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// WMS 任务号
|
||||
/// </summary>
|
||||
[JsonProperty("wmstaskid")]
|
||||
public string? WmsTaskId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 载具号
|
||||
/// </summary>
|
||||
[JsonProperty("palletno")]
|
||||
public string? PalletNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 起始位置
|
||||
/// </summary>
|
||||
[JsonProperty("fromcellno")]
|
||||
public string? FromCellNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 目标位置
|
||||
/// </summary>
|
||||
[JsonProperty("tocellno")]
|
||||
public string? ToCell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -42,6 +50,7 @@ public class ContainerTaskResqust
|
|||
/// 2 - 出库
|
||||
/// 3 - 移库
|
||||
/// </remarks>
|
||||
[JsonProperty("tasktype")]
|
||||
public string? TaskType { get; set; }
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,11 @@ using WcsMain.DataBase.TableEntity;
|
|||
using WcsMain.Constant.WcsAttribute.AutoFacAttribute;
|
||||
using WcsMain.ApiClient.Shuttle.Dto;
|
||||
using WcsMain.Constant.ExtendMethod;
|
||||
using System.Security.Cryptography;
|
||||
using EncryptTool;
|
||||
using WcsMain.Constant;
|
||||
using System.Text;
|
||||
using WcsMain.ExtendMethod;
|
||||
|
||||
namespace WcsMain.ApiClient.Shuttle;
|
||||
|
||||
|
|
@ -19,10 +24,11 @@ public class ShuttleWebApiAction(ShuttleBaseWebApi webApiPost)
|
|||
/// <returns></returns>
|
||||
public string ExecuteMoveTask(AppWmsTask wmsTask)
|
||||
{
|
||||
string requestId = Guid.NewGuid().ToString();
|
||||
ContainerTaskResqust containerTaskResqust = new()
|
||||
{
|
||||
RequestId = Guid.NewGuid().ToString(),
|
||||
Key = "",
|
||||
RequestId = requestId,
|
||||
Key = (requestId + ApplicationBaseConfig.SHUTTLE_PWD).MD5Encrypt32(),
|
||||
WmsTaskId = wmsTask.TaskId,
|
||||
FromCellNo = wmsTask.Origin,
|
||||
TaskType = "3",
|
||||
|
|
@ -52,10 +58,11 @@ public class ShuttleWebApiAction(ShuttleBaseWebApi webApiPost)
|
|||
/// <returns></returns>
|
||||
public string ExecuteOutTask(string? taskId, string? origin, string? destination, string? vehicleNo)
|
||||
{
|
||||
string requestId = Guid.NewGuid().ToString();
|
||||
ContainerTaskResqust containerTaskResqust = new()
|
||||
{
|
||||
RequestId = Guid.NewGuid().ToString(),
|
||||
Key = "",
|
||||
RequestId = requestId,
|
||||
Key = (requestId + ApplicationBaseConfig.SHUTTLE_PWD).MD5Encrypt32(),
|
||||
WmsTaskId = taskId,
|
||||
FromCellNo = origin,
|
||||
TaskType = "2",
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace WcsMain.ApiServe.Controllers.ContainerController;
|
|||
/// <summary>
|
||||
/// 提供给四向车的API接口
|
||||
/// </summary>
|
||||
[Route("api/container")]
|
||||
[Route("api/shuttle")]
|
||||
[ApiController]
|
||||
[ServiceFilter<ResponseFilterAttribute>]
|
||||
public class ContainerController(ContainerService containerService) : ControllerBase
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
|
|||
/// <returns></returns>
|
||||
public WcsApiResponse GetStackerTask(SetWmsTask request)
|
||||
{
|
||||
request.TaskId = dataBaseData.GetNewUUID();
|
||||
request.TaskId = dataBaseData.GetNewUUID2();
|
||||
bool checkData = CheckData.CheckDataRules(request);
|
||||
if (!checkData)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -114,10 +114,10 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
|
|||
string? errText = containerAction.ExecuteOutTask(wmsTask.TaskId, wmsTask.Origin, midPoint, wmsTask.VehicleNo);
|
||||
if (!string.IsNullOrEmpty(errText))
|
||||
{
|
||||
ConsoleLog.Warning($"【警告】入库请求四向车搬运失败,任务号:{wmsTask.TaskId},异常信息:{errText}");
|
||||
ConsoleLog.Warning($"【警告】出库请求四向车搬运失败,任务号:{wmsTask.TaskId},异常信息:{errText}");
|
||||
return;
|
||||
}
|
||||
ConsoleLog.Success($"入库搬运请求四向车成功,任务号:{wmsTask.TaskId}");
|
||||
ConsoleLog.Success($"出库搬运请求四向车成功,任务号:{wmsTask.TaskId}");
|
||||
/* 更新任务状态为前往中间点,更新中间点 */
|
||||
var updateResult = wmsTaskDao.Update(new() { TaskId = wmsTask.TaskId, MidPoint = midPoint, TaskStatus = (int)WmsTaskStatusEnum.toMid, ModifyTime = DateTime.Now });
|
||||
ConsoleLog.Success($"更新任务状态结果:{(updateResult > 0 ? "成功" : "失败")},任务号:{wmsTask.TaskId}");
|
||||
|
|
@ -200,14 +200,19 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
|
|||
}
|
||||
if (model != 1 || allowAction != (short)TrueFalseEnum.TRUE || errCode != 0) continue;
|
||||
/* 检验任务是否是第一层,若是不是第一层不能分配第一层出入口 */
|
||||
if (destination.StartsWith("1")) // [TODO]
|
||||
if (destination.EndsWith("1"))
|
||||
{
|
||||
if (liftInfo.LiftMode != 2) continue;
|
||||
}
|
||||
/* 获取这个站台的任务.没有占用任务即可重新使用 */
|
||||
List<AppWmsTask>? tasks = wmsTaskDao.Select(new() { MidPoint = liftInfo.Tag, TaskStatus = (int)WmsTaskStatusEnum.toMid });
|
||||
if (tasks == default || tasks.Count > 0) continue;
|
||||
return liftInfo.Tag;
|
||||
string location = "";
|
||||
if (!string.IsNullOrEmpty(liftInfo.Tag))
|
||||
{
|
||||
location = liftInfo.Tag.Split(',')[1];
|
||||
}
|
||||
return location;
|
||||
}
|
||||
return default;
|
||||
}
|
||||
|
|
@ -233,14 +238,19 @@ public class ExecuteWmsTask(AppWmsTaskDao wmsTaskDao, StackerConveyOperation sta
|
|||
}
|
||||
if (model != 2 || allowAction != (short)TrueFalseEnum.TRUE || errCode != 0) continue;
|
||||
/* 检验任务是否是第一层,若是不是第一层不能分配第一层出入口 */
|
||||
if (origin.StartsWith("1")) // [TODO]
|
||||
if (!origin.EndsWith("1"))
|
||||
{
|
||||
if (liftInfo.LiftMode != 2) continue;
|
||||
}
|
||||
/* 获取这个站台的任务.并计数 */
|
||||
List<AppWmsTask>? tasks = wmsTaskDao.Select(new() { MidPoint = liftInfo.Tag, TaskStatus = (int)WmsTaskStatusEnum.toMid });
|
||||
if (tasks == default) continue;
|
||||
liftTaskCount.TryAdd(liftInfo.Tag ?? "", tasks.Count);
|
||||
string location = "";
|
||||
if(!string.IsNullOrEmpty(liftInfo.Tag))
|
||||
{
|
||||
location = liftInfo.Tag.Split(',')[0];
|
||||
}
|
||||
liftTaskCount.TryAdd(location, tasks.Count);
|
||||
}
|
||||
var sortLiftInfos = liftTaskCount.OrderBy(o => o.Value).ToDictionary();
|
||||
if (sortLiftInfos.Count > 0) return sortLiftInfos.First().Key;
|
||||
|
|
|
|||
|
|
@ -11,4 +11,7 @@ public class ApplicationBaseConfig
|
|||
/// AGV
|
||||
/// </summary>
|
||||
public const string APP_SECRET = "";
|
||||
|
||||
|
||||
public const string SHUTTLE_PWD = "safer*123";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using HslCommunication;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace WcsMain.ExtendMethod;
|
||||
|
|
@ -97,4 +99,23 @@ public static partial class StringExtendMethod
|
|||
|
||||
[GeneratedRegex("^\\d+$")]
|
||||
private static partial Regex IsNumberRegex();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 32位加密
|
||||
/// </summary>
|
||||
/// <param name="password"></param>
|
||||
/// <returns></returns>
|
||||
public static string MD5Encrypt32(this string password)
|
||||
{
|
||||
string cl = password;
|
||||
string pwd = "";
|
||||
//MD5 md5 = MD5.Create(); //实例化一个md5对像
|
||||
byte[] s = MD5.HashData(Encoding.UTF8.GetBytes(cl));
|
||||
for (int i = 0; i < s.Length; i++)
|
||||
{
|
||||
pwd = pwd + s[i].ToString("X2");
|
||||
}
|
||||
return pwd;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,41 +3,49 @@
|
|||
/// <summary>
|
||||
/// 提升机信息
|
||||
/// </summary>
|
||||
[SqlSugar.SugarTable("tbl_app_lift_info")]
|
||||
public class AppLiftInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 提升机ID
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "lift_id", IsPrimaryKey = true)]
|
||||
public string? LiftId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提升机名称
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "lift_name")]
|
||||
public string? LiftName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提升机类型
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "lift_type")]
|
||||
public string? LiftType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标记
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "tag")]
|
||||
public string? Tag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "status")]
|
||||
public int? Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 提升机模式
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "lift_mode")]
|
||||
public int? LiftMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(ColumnName = "remark")]
|
||||
public string? Remark { get; set; }
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<_TargetId>Folder</_TargetId>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<ProjectGuid>ed59f010-b3e5-4e19-be65-18053645dfc5</ProjectGuid>
|
||||
<SelfContained>true</SelfContained>
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>F:\AProject\A菲达宝开项目\(2023-11)徐州工厂立库\应用程序\wcs_serve_cs\wcs_serve_cs\bin\Release\net8.0\publish\</_PublishTargetUrl>
|
||||
<History>True|2023-12-21T07:04:28.6290873Z;True|2023-12-21T14:59:03.4454135+08:00;True|2023-12-21T14:51:08.6690406+08:00;True|2023-12-21T14:26:42.6801144+08:00;False|2023-12-21T14:26:14.3256943+08:00;True|2023-12-21T14:13:42.5511801+08:00;True|2023-12-21T13:56:38.5871005+08:00;True|2023-12-19T12:19:57.9900187+08:00;True|2023-12-19T11:53:33.6930379+08:00;True|2023-12-17T12:51:32.6510827+08:00;False|2023-12-17T12:49:32.9022541+08:00;</History>
|
||||
<_PublishTargetUrl>F:\A开发项目\A菲达宝开项目\2024-08_上汽试制仓\应用程序\WcsService\WcsMain\bin\Release\net8.0\publish\</_PublishTargetUrl>
|
||||
<History>True|2024-11-15T09:47:10.4630939Z||;True|2024-11-15T17:42:25.6985733+08:00||;True|2024-11-15T17:39:43.9409305+08:00||;True|2024-11-15T17:26:18.2886475+08:00||;True|2024-11-15T17:23:05.3112513+08:00||;True|2024-11-15T17:16:40.2960771+08:00||;True|2024-11-15T17:14:12.3416383+08:00||;True|2024-11-15T17:09:43.2642034+08:00||;True|2024-11-15T17:05:04.4694932+08:00||;False|2024-11-15T17:04:34.2335564+08:00||;False|2024-11-15T17:04:12.5281280+08:00||;True|2024-11-15T17:01:49.4325408+08:00||;False|2024-11-15T17:01:29.1872712+08:00||;True|2024-11-15T16:00:18.8617729+08:00||;True|2024-11-15T15:56:13.9285180+08:00||;True|2024-11-15T15:50:53.6121456+08:00||;True|2024-11-15T15:17:41.0508047+08:00||;True|2024-11-15T13:50:06.8021767+08:00||;True|2024-11-15T13:17:48.2695650+08:00||;True|2023-12-21T15:04:28.6290873+08:00||;True|2023-12-21T14:59:03.4454135+08:00||;True|2023-12-21T14:51:08.6690406+08:00||;True|2023-12-21T14:26:42.6801144+08:00||;False|2023-12-21T14:26:14.3256943+08:00||;True|2023-12-21T14:13:42.5511801+08:00||;True|2023-12-21T13:56:38.5871005+08:00||;True|2023-12-19T12:19:57.9900187+08:00||;True|2023-12-19T11:53:33.6930379+08:00||;True|2023-12-17T12:51:32.6510827+08:00||;False|2023-12-17T12:49:32.9022541+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<NameOfLastUsedPublishProfile>F:\A开发项目\A菲达宝开项目\2024-05_苏州卡特\应用程序\WcsService\WcsMain\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
|
||||
<NameOfLastUsedPublishProfile>F:\A开发项目\A菲达宝开项目\2024-08_上汽试制仓\应用程序\WcsService\WcsMain\Properties\PublishProfiles\FolderProfile2.pubxml</NameOfLastUsedPublishProfile>
|
||||
<Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
|
||||
<Controller_SelectedScaffolderCategoryPath>root/Common/Api</Controller_SelectedScaffolderCategoryPath>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@
|
|||
},
|
||||
"AllowedHosts": "*",
|
||||
"Settings": {
|
||||
"DBMysql": "server=10.90.36.71;port=3306;user=developer;password=developer;database=wcs_kate_suzhou;",
|
||||
"DBMysqlLocal": "server=192.168.234.128;port=3306;user=developer;password=developer;database=app_wcs_shangqi;",
|
||||
"DBMysql": "server=192.168.234.128;port=3306;user=developer;password=developer;database=wcs_kate_suzhou;",
|
||||
"DBMysqlLocal": "server=172.168.61.200;port=3306;user=developer;password=developer;database=app_wcs_shangqi;",
|
||||
|
||||
"DBMssql": "Data Source=192.168.142.131;Initial Catalog=wcs;User Id=sa;Password=Sa123;",
|
||||
"DBMssqlLocal": "Data Source=192.168.142.131;Initial Catalog=wcs_stacker;User Id=sa;Password=Sa123;",
|
||||
|
||||
"ApplicationConfig": {
|
||||
"ApiOnly": true,
|
||||
"ApiOnly": false,
|
||||
"Language": "zh-CN"
|
||||
},
|
||||
"UseUrls": [ "http://*:18990" ]
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user