kazelee
3 天以前 63e94e068622d4ef843cee0d19d4f2d231316304
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
 
using HH.WCS.Mobox3.DSZSH.models;
 
using Newtonsoft.Json;
 
namespace HH.WCS.Mobox3.DSZSH.util {
    /// <summary>
    /// [ 日志信息 ] 构造类
    /// </summary>
    public static class LogMsg {
        /// <summary>
        /// <c>"没有找到{desc}货位!!要求:锁状态='@lock';货位名称='name';所在库区=[areas];当前容器数量=curNum;"</c>
        /// </summary>
        /// <remarks><b>[ 注意 ]</b> 原则上至少有 1 个限制条件</remarks>
        /// <param name="desc">货位描述 ( 起点 / 终点 )</param>
        /// <param name="lock">锁状态 ( 小于 0 时忽略 )</param>
        /// <param name="name">货位名称 ( 为 null 或 "" 时忽略 )</param>
        /// <param name="areas">所在库区列表 ( 为 null 或 [] 时忽略 )</param>
        /// <param name="curNum">当前数量 ( 小于 0 时忽略 )</param>
        /// <returns></returns>
        public static string LocNotFound(string desc, int @lock, string name, List<string> areas, int curNum) {
            var res = $"没有找到{desc}货位!!要求:";
 
            if (@lock >= 0) {
                res += $"锁状态='{TN_Location.GetLockStateStr(@lock)}';";
            }
            if (!string.IsNullOrEmpty(name)) {
                res += $"货位名称='{name}';";
            }
            if (areas != null && areas.Count != 0) {
                res += $"所在库区={JsonConvert.SerializeObject(areas)};";
            }
            if (curNum >= 0) {
                res += $"当前容器数量={curNum};";
            }
 
            return res;
        }
 
        /// <summary>
        /// <c>"没有找到起点货位!!要求:锁状态='无';货位名称='name';所在库区=[areas];当前容器数量=curNum;"</c>
        /// </summary>
        /// <param name="name">货位名称 ( 为 null 或 "" 时忽略 )</param>
        /// <param name="areas">所在库区列表 ( 为 null 或 [] 时忽略 )</param>
        /// <param name="curNum">当前数量 ( 小于 0 时忽略 )</param>
        /// <returns></returns>
        public static string StartLocNotFound(string name = "", List<string> areas = null, int curNum = 1) {
            return LocNotFound("起点", 0, name, areas, curNum);
        }
 
        /// <summary>
        /// <c>"没有找到起点货位!!要求:锁状态='无';货位名称='name';所在库区=[areas];当前容器数量=0;"</c>
        /// </summary>
        /// <param name="name">货位名称 ( 为 null 或 "" 时忽略 )</param>
        /// <param name="areas">所在库区列表 ( 为 null 或 [] 时忽略 )</param>
        /// <returns></returns>
        public static string StartLocUnbindNotFound(string name = "", List<string> areas = null) {
            return LocNotFound("起点", 0, name, areas, 0);
        }
 
        /// <summary>
        /// <c>"没有找到终点货位!!要求:锁状态='无';货位名称='name';所在库区=[areas];当前容器数量=curNum;"</c>
        /// </summary>
        /// <param name="name">货位名称 ( 为 null 或 "" 时忽略 )</param>
        /// <param name="areas">所在库区列表 ( 为 null 或 [] 时忽略 )</param>
        /// <param name="curNum">当前数量 ( 小于 0 时忽略 )</param>
        /// <returns></returns>
        public static string EndLocNotFound(string name = "", List<string> areas = null, int curNum = 0) {
            return LocNotFound("终点", 0, name, areas, curNum);
        }
 
        /// <summary>
        /// <c>"没有找到[货位容器绑定]信息!!要求:货位='loc';容器='cntr';"</c>
        /// </summary>
        /// <remarks><b>[ 注意 ]</b> 原则上至少有 1 个限制条件</remarks>
        /// <param name="loc"></param>
        /// <param name="cntr"></param>
        /// <returns></returns>
        public static string LocCntrRelNotFound(string loc = "", string cntr = "") {
            var res = $"没有找到[货位容器绑定]信息!!要求:";
 
            if (!string.IsNullOrEmpty(loc)) {
                res += $"货位='{loc}';";
            }
            if (!string.IsNullOrEmpty(cntr)) {
                res += $"容器='{cntr}';";
            }
 
            return res;
        }
 
        /// <summary>
        /// <c>"没有找到[容器货品明细]信息!!要求:容器='cntr';物料='item';"</c>
        /// </summary>
        /// <remarks><b>[ 注意 ]</b> 原则上至少有 1 个限制条件</remarks>
        /// <param name="cntr"></param>
        /// <param name="item"></param>
        /// <returns></returns>
        public static string CgDetailNotFound(string cntr = "", string item = "") {
            var res = $"没有找到[容器货品明细]信息!!要求:";
 
            if (!string.IsNullOrEmpty(cntr)) {
                res += $"容器='{cntr}';";
            }
            if (!string.IsNullOrEmpty(item)) {
                res += $"物料='{item}';";
            }
 
            return res;
        }
    }
}