using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
using HH.WCS.Mobox3.DSZSH.models;
|
|
using static HH.WCS.Mobox3.DSZSH.Config;
|
|
namespace HH.WCS.Mobox3.DSZSH.util {
|
/// <summary>
|
/// 打印日志内容构造器
|
/// </summary>
|
public static class LogBuilder {
|
/// <summary>
|
/// 没有找到起点货位
|
/// </summary>
|
/// <remarks>
|
/// <b>lockStated</b> - 锁状态,默认为0,小于0时忽略<br/>
|
/// <b>curNum</b> - 当前数量,默认为-1,小于0时忽略<br/>
|
/// <b>areas</b> - 所在库区列表,默认为null,为null或为空时忽略<br/>
|
/// <b>name</b> - 货位名称,默认为null,为null或为空时忽略
|
/// </remarks>
|
/// <param name="lockState">锁状态,默认为0,小于0时忽略</param>
|
/// <param name="curNum">当前数量,默认为-1,小于0时忽略</param>
|
/// <param name="areas">所在库区列表,默认为null,为null或为空时忽略</param>
|
/// <param name="name">货位名称,默认为null,为null或为空时忽略</param>
|
/// <param name="pre"></param>
|
/// <returns></returns>
|
public static string StartLocNotFound(int lockState = 0, int curNum = -1, List<string> areas = null, string name = null, string pre = "") {
|
var res = string.Empty;
|
if (string.IsNullOrEmpty(name)) { res = $"没有找到合适的起点货位!"; }
|
else { res = $"没有找到起点货位'{name}'!"; }
|
res += "要求:";
|
if (lockState >= 0) { res += $"锁状态='{GetLockStateStr(lockState)}';"; }
|
if (curNum >= 0) { res += $"当前容器数量={curNum};"; }
|
if (areas != null && areas.Count != 0) { res += $"所在库区=['{string.Join("','", areas)}'];"; }
|
|
return pre + res;
|
}
|
|
/// <summary>
|
/// 没有找到终点货位
|
/// </summary>
|
/// <remarks>
|
/// <b>lockStated</b> - 锁状态,默认为0,小于0时忽略<br/>
|
/// <b>curNum</b> - 当前数量,默认为-1,小于0时忽略<br/>
|
/// <b>areas</b> - 所在库区列表,默认为null,为null或为空时忽略<br/>
|
/// <b>name</b> - 货位名称,默认为null,为null或为空时忽略
|
/// </remarks>
|
/// <param name="lockState">锁状态,默认为0,小于0时忽略</param>
|
/// <param name="curNum">当前数量,默认为-1,小于0时忽略</param>
|
/// <param name="areas">所在库区列表,默认为null,为null或为空时忽略</param>
|
/// <param name="name">货位名称,默认为null,为null或为空时忽略</param>
|
/// <param name="pre"></param>
|
/// <returns></returns>
|
public static string EndLocNotFound(int lockState = 0, int curNum = -1, List<string> areas = null, string name = null, string pre = "") {
|
var res = string.Empty;
|
if (string.IsNullOrEmpty(name)) { res = $"没有找到合适的终点货位!"; }
|
else { res = $"没有找到终点货位'{name}'!"; }
|
res += "要求:";
|
if (lockState >= 0) { res += $"锁状态='{GetLockStateStr(lockState)}';"; }
|
if (curNum >= 0) { res += $"当前容器数量={curNum};"; }
|
if (areas != null && areas.Count != 0) { res += $"所在库区=['{string.Join("','", areas)}'];"; }
|
|
return pre + res;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="task"></param>
|
/// <param name="pre"></param>
|
/// <returns></returns>
|
public static string CreateTaskSuccess(TN_Task task, string pre = "") {
|
var res = $"生成任务'{task.S_TYPE}'成功!" +
|
$"任务号='{task.S_CODE}',容器号='{task.S_CNTR_CODE}',起点='{task.S_START_LOC}',终点='{task.S_END_LOC}'";
|
return pre + res;
|
}
|
|
public static string CreateTaskFail(TN_Task task, string pre = "") {
|
var res = $"生成任务'{task.S_TYPE}'失败!" +
|
$"任务号={task.S_CODE},容器号={task.S_CNTR_CODE},起点={task.S_START_LOC},终点={task.S_END_LOC}";
|
return pre + res;
|
}
|
|
private static string GetLockStateStr(int lockState) {
|
var str = "";
|
switch (lockState) {
|
case 0: str = "无"; break;
|
case 1: str = "入库锁"; break;
|
case 2: str = "出库锁"; break;
|
case 3: str = "其它锁"; break;
|
}
|
return str;
|
}
|
}
|
}
|