From 7e73e5df14dce74742abf50383bb8ac37b38012e Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期一, 21 四月 2025 12:04:12 +0800 Subject: [PATCH] 优化了一些已知问题 --- Tiger.Business.MES/iERP/U9C_MES.cs | 15 + Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs | 284 ++++++++++++++++++++++++++-------------- Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs | 2 Tiger.Business.WMS/Extensions/Yada/OutExtension.cs | 12 + Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs | 23 ++ Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs | 8 Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs | 33 +++- 7 files changed, 256 insertions(+), 121 deletions(-) diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs index 5f517ad..c10ace7 100644 --- a/Tiger.Business.MES/iERP/U9C_MES.cs +++ b/Tiger.Business.MES/iERP/U9C_MES.cs @@ -31,11 +31,11 @@ public ApiAction GetBasItem(U9C_Base_Input input) { var action = new ApiAction(); + var db = Biz.Db; Logger.Scheduler.Info($"鐗╂枡淇℃伅寮�濮嬪悓姝ャ�傘�傘�傛暟鎹鏌ヨ繘琛屼腑銆傘�傘��"); Logger.Scheduler.Info($"{input.triggerDetail}"); - DbClient db = Biz.DataSource["YadaU9C"].Client; - var list = db.Queryable<dynamic>().AS("mes_ItemMaster").Where("ModifiedOn > @startTime And ModifiedOn < @endTime", new { startTime = input.startTime, endTime = input.endTime }).ToList(); - var orgs = Biz.Db.Queryable<SYS_ORGANIZATION>().ToList(); + var list = Biz.DataSource["YadaU9C"].Client.Queryable<dynamic>().AS("mes_ItemMaster").Where("ModifiedOn > @startTime And ModifiedOn < @endTime", new { startTime = input.startTime, endTime = input.endTime }).ToList(); + var orgs = db.Queryable<SYS_ORGANIZATION>().ToList(); List<BAS_ITEM> items = new(); var itemExts = new List<BAS_ITEM_EXT>(); if (list != null && list.Count > 0) @@ -67,6 +67,13 @@ RULE_CODE = di["BarRule"] == null ? "" : di["BarRule"].ToString(), DEFAULT_LOCATION = di["BinCode"] == null ? "" : di["BinCode"].ToString(), }; + var whUnit = db.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE == basItem.DEFAULT_LOCATION && t.AUTH_ORG == basItem.AUTH_ORG).First(); + if (!whUnit.IsNullOrEmpty()) + { + basItem.DEFAULT_WH = whUnit.WH_CODE; + basItem.DEFAULT_REGION = whUnit.REGION_CODE; + basItem.DEFAULT_SHELF = whUnit.SHELF_CODE; + } items.Add(basItem); var extInfo = new BAS_ITEM_EXT() { @@ -88,7 +95,7 @@ } } Logger.Scheduler.Info($"鐗╂枡淇℃伅瀛樺叆瀹炰綋涓紝鎬绘暟锛歔{items.Count}]"); - db = Biz.Db; + //var dbTran = db.UseTran(() => //{ if (items.Any()) diff --git a/Tiger.Business.WMS/Extensions/Yada/OutExtension.cs b/Tiger.Business.WMS/Extensions/Yada/OutExtension.cs index c66af5a..425f56c 100644 --- a/Tiger.Business.WMS/Extensions/Yada/OutExtension.cs +++ b/Tiger.Business.WMS/Extensions/Yada/OutExtension.cs @@ -12,8 +12,6 @@ using Tiger.Model.Base; using Tiger.Model.Entitys.MES.U9C; using Tiger.Model.MES.Yada; -using static IronPython.SQLite.PythonSQLite; -using static Microsoft.Scripting.Hosting.Shell.ConsoleHostOptions; namespace Tiger.Business.WMS.Extensions { @@ -37,6 +35,8 @@ return nameof(BIZ_MES_WO); case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing: return nameof(BIZ_U9_SCM_OUT); + case BIZ_WMS_PREP.BIZ_TYPEs.Transfer: + return nameof(BIZ_WMS_TRANSFER); case BIZ_WMS_PREP.BIZ_TYPEs.Requisition: default: return ""; @@ -73,6 +73,12 @@ pickList = dtls.Select(q => q.GetPickItem()).ToList(); } break; + case BIZ_WMS_PREP.BIZ_TYPEs.Transfer: + { + var dtls = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(q => q.ORDER_NO == orderNo).ToList(); + pickList = dtls.Select(q => q.GetPickItem()).ToList(); + } + break; case BIZ_WMS_PREP.BIZ_TYPEs.Requisition: default: break; @@ -93,6 +99,7 @@ case BIZ_WMS_PREP.BIZ_TYPEs.Others: case BIZ_WMS_PREP.BIZ_TYPEs.WorkOrder: case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing: + case BIZ_WMS_PREP.BIZ_TYPEs.Transfer: case BIZ_WMS_PREP.BIZ_TYPEs.Requisition: default: return dtl.QTY_REQ; @@ -116,6 +123,7 @@ return await CreateIssueDoc(trans, input); case BIZ_WMS_PREP.BIZ_TYPEs.Outsourcing: return await CreatePMIssueDoc(trans, input); + case BIZ_WMS_PREP.BIZ_TYPEs.Transfer: case BIZ_WMS_PREP.BIZ_TYPEs.Requisition: default: throw new NotImplementedException($"鍙戞枡鍗曟嵁绫诲瀷[{type.GetDesc()}]鏈疄鐜癊RP鎺ュ彛璋冪敤"); diff --git a/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs b/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs index ab6b7ef..243c7dc 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs @@ -415,6 +415,14 @@ action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemIsLock", inv.CurPkg.SN); return SetOutPutMqttMsg(action, input.Locale); } + //楠岃瘉鏉$爜鏄惁琚叾浠栫敤鎴峰拰鍗曟嵁閿佸畾 + if (inv.Items.Any(q => q.IS_LOCKED == "Y")) + { + action.IsSuccessed = false; + //action.LocaleMsg = Biz.L("鏉$爜[{0}]宸茶閿佸畾锛岃閲嶆柊鎵弿"); + action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemIsLock", inv.CurPkg.SN); + return SetOutPutMqttMsg(action, input.Locale); + } //鍌ㄤ綅楠岃瘉 if (inv.Location.IsNullOrEmpty()) { @@ -432,13 +440,22 @@ return SetOutPutMqttMsg(action, input.Locale); } //鍒ゆ柇鏄惁鍦ㄥ鏂欎腑鐨勭墿鏂� - if (!CurPREP.Order.Details.Any(q => q.ITEM_CODE == inv.ItemInfo.ITEM_CODE)) + if (inv.ItemInfo.ITEM_CODE != CurPrepDtl.ITEM_CODE) { action.IsSuccessed = false; - //action.LocaleMsg = Biz.L($"褰撳墠澶囨枡浠诲姟[{0}]涓嶅寘鍚潯鐮乕{1}]鐨勭墿鏂欑紪鐮乕{2}]锛岃鏀惧洖鍘熷偍浣�"); - action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.NoNeedItemCode", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode)); + //action.LocaleMsg = Biz.L($"鏉$爜[{0}]涓嶆槸褰撳墠閫変腑鐨勭墿鏂欒[{1}]锛岃鏀惧洖鍘熷偍浣嶆垨鑰呴噸鏂伴�夋嫨涓嬫灦鐗╂枡琛�"); + action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.NoNeedItemCode", inv.CurPkg.SN, CurPrepDtl.ITEM_CODE); return action; } + //鍒ゆ柇鏄惁鍦ㄥ鏂欎腑鐨勭墿鏂� + //if (!CurPREP.Order.Details.Any(q => q.ITEM_CODE == inv.ItemInfo.ITEM_CODE)) + //{ + // action.IsSuccessed = false; + // //action.LocaleMsg = Biz.L($"褰撳墠澶囨枡浠诲姟[{0}]涓嶅寘鍚潯鐮乕{1}]鐨勭墿鏂欑紪鐮乕{2}]锛岃鏀惧洖鍘熷偍浣�"); + // action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.NoNeedItemCode", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode)); + // return action; + //} + //ProcessingOrderDetail = input.SN; //if (WMSContext.TransactionDic.Where(q => !string.IsNullOrWhiteSpace(q.Value.ProcessingSn)).Any(q => q.Value.ProcessingSn == ProcessingSn && q.Value.TransID != this.TransID)) //{ diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs index f4d1014..cfbd226 100644 --- a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs +++ b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_MISC_OUT_DTL.cs @@ -155,7 +155,7 @@ AUTH_ORG = AUTH_ORG, ITEM_CODE = ITEM_CODE, UNIT = UNIT, - SOURCE_CODE = nameof(BIZ_U9_SCM_OUT), + SOURCE_CODE = nameof(BIZ_U9_MISC_OUT), SOURCE_ORDER = ORDER_NO, SOURCE_LINE = LINE_NO, QTY_REQ = QTY, diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs index d7dbb93..43389ff 100644 --- a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs +++ b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs @@ -141,9 +141,11 @@ Requisition = 1, [Description("宸ュ崟澶囨枡")] WorkOrder = 2, - [Description("濮斿澶囨枡")] - Outsourcing = 3, - } + [Description("濮斿澶囨枡")] + Outsourcing = 3, + [Description("璋冩嫧澶囨枡")] + Transfer = 4, + } /// <summary> /// 鏋氫妇锛氱姸鎬�(0Init鍒濆鍖東1Called宸插彨鏂檤2WaitPick寰呮崱鏂檤3Picking鎹℃枡涓瓅4Picked宸叉崱瀹寍5Sended宸插彂鏂檤6Close宸插叧闂瓅7Cancel浣滃簾) diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs index 058d424..c6fbd36 100644 --- a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs +++ b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs @@ -3,6 +3,7 @@ using System.Linq; using System.ComponentModel; using System.Collections.Generic; +using Tiger.Model.Base; namespace Tiger.Model { @@ -13,8 +14,8 @@ [DisplayName("璋冩嫧鍗�(WMS)鏄庣粏")] [Serializable] [SugarTable("BIZ_WMS_TRANSFER_DTL")] - public class BIZ_WMS_TRANSFER_DTL : DbEntityWithAuth - { + public class BIZ_WMS_TRANSFER_DTL : DbEntityWithAuth, iPrepPickItem + { #region 鏋勯�犲嚱鏁� /// <summary> /// 瀹炰綋锛氳皟鎷ㄥ崟(WMS)鏄庣粏 @@ -145,8 +146,8 @@ public BAS_ITEM ItemInfo => _ItemInfos?.FirstOrDefault(q => q.AUTH_ORG == AUTH_ORG); #endregion - #region 鏋氫妇鍙橀噺 - /*渚嬪瓙 + #region 鏋氫妇鍙橀噺 + /*渚嬪瓙 public enum FieldNames { [Description("鏋氫妇鎻忚堪0")] @@ -155,11 +156,25 @@ Enum1, } */ - #endregion + #endregion - #region 鍏叡鏂规硶 + #region 鍏叡鏂规硶 + public BIZ_WMS_PREP_SRC_DTL GetPickItem() + { + return new BIZ_WMS_PREP_SRC_DTL() + { + Source = this, + AUTH_ORG = AUTH_ORG, + ITEM_CODE = ITEM_CODE, + UNIT = UNIT, + SOURCE_CODE = nameof(BIZ_WMS_TRANSFER), + SOURCE_ORDER = ORDER_NO, + SOURCE_LINE = ORDER_LINE, + QTY_REQ = QTY_REQ, + QTY_ACT_REQ = QTY_REQ - QTY_OUT, + }; + } + #endregion - #endregion - - }//endClass + }//endClass } \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs index f4a0660..57d9b87 100644 --- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs +++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs @@ -7,151 +7,237 @@ namespace Tiger.Model { /// <summary> - /// 瀹炰綋锛氬鏂欏簱瀛樻睜 + /// 实体:备料库存池 /// </summary> [Description("Primary:ID")] + [DisplayName("备料库存池")] [Serializable] [SugarTable("WMS_ITEM_POOL")] public class WMS_ITEM_POOL : DbEntityNoGhostWithAuth - { - #region 鏋勯�犲嚱鏁� + { + #region 构造函数 /// <summary> - /// 瀹炰綋锛氬鏂欏簱瀛樻睜 + /// 实体:备料库存池 /// </summary> public WMS_ITEM_POOL() {} - #endregion + #endregion - #region 鍏叡灞炴�� - /// <summary> - /// 涓氬姟鍗曟嵁缂栫爜 - /// </summary> - public string TRANS_CODE { get; set; } - /// <summary> - /// 涓氬姟鍗曟嵁鍙风爜 - /// </summary> - public string TRANS_NO { get; set; } - /// <summary> - /// 涓氬姟鍗曟嵁琛屽彿 - /// </summary> - public string TRANS_LINE { get; set; } - /// <summary> - /// 鏉ユ簮鍗曟嵁缂栫爜 - /// </summary> - public string SOURCE_CODE { get; set; } - /// <summary> - /// 鏉ユ簮鍗曟嵁鍙风爜 - /// </summary> - public string SOURCE_ORDER { get; set; } - /// <summary> - /// 鏉ユ簮鍗曟嵁琛屽彿 - /// </summary> - public string SOURCE_LINE { get; set; } + #region 公共属性 /// <summary> - /// 鐗╂枡缂栫爜 + /// 事务ID /// </summary> + [DisplayName("事务ID")] + public string TRANS_ID { get; set; } + /// <summary> + /// 业务单据编码 + /// </summary> + [DisplayName("业务单据编码")] + public string TRANS_CODE { get; set; } + /// <summary> + /// 业务单据号码 + /// </summary> + [DisplayName("业务单据号码")] + public string TRANS_NO { get; set; } + /// <summary> + /// 业务单据行号 + /// </summary> + [DisplayName("业务单据行号")] + public string TRANS_LINE { get; set; } + /// <summary> + /// 来源单据编码 + /// </summary> + [DisplayName("来源单据编码")] + public string SOURCE_CODE { get; set; } + /// <summary> + /// 来源单据号码 + /// </summary> + [DisplayName("来源单据号码")] + public string SOURCE_ORDER { get; set; } + /// <summary> + /// 来源单据行号 + /// </summary> + [DisplayName("来源单据行号")] + public string SOURCE_LINE { get; set; } + /// <summary> + /// 备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先) + /// </summary> + [DisplayName("备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先)")] + public int STRATEGY { get; set; } + /// <summary> + /// 发料方式(0Supply正常发料|1First首套发料) + /// </summary> + [DisplayName("发料方式(0Supply正常发料|1First首套发料)")] + public int DLVY_MODE { get; set; } + /// <summary> + /// 是否被锁定(Y/N),锁定则不允许其他事务分配当前物料 + /// </summary> + [DisplayName("是否被锁定(Y/N),锁定则不允许其他事务分配当前物料")] + public string IS_LOCKED { get; set; } + /// <summary> + /// 物料编码 + /// </summary> + [DisplayName("物料编码")] public string ITEM_CODE { get; set; } /// <summary> - /// 鐗╂枡鏉$爜 + /// 物料条码 /// </summary> + [DisplayName("物料条码")] public string SN { get; set; } /// <summary> - /// 鐗╂枡鏁伴噺 + /// 物料数量 /// </summary> + [DisplayName("物料数量")] public double QTY { get; set; } /// <summary> - /// 宸插垎閰嶆暟閲� + /// 已分配数量 /// </summary> + [DisplayName("已分配数量")] public double ALLOC_QTY { get; set; } - /// <summary> - /// 鐢熶骇鏃ユ湡 - /// </summary> - public DateTime PROD_DATE { get; set; } = DateTime.MinValue; - /// <summary> - /// 鍌ㄤ綅ID - /// </summary> - public string LOCATION_ID { get; set; } - /// <summary> - /// 鏄惁棣栧鏂�(Y/N) - /// </summary> - public string IS_FIRST { get; set; } /// <summary> - /// 鍒嗛厤鐘舵��(0AllAllocated鍏ㄩ儴鍒嗛厤|1PartialAllocate閮ㄥ垎鍒嗛厤) + /// 生产日期 /// </summary> + [DisplayName("生产日期")] + public DateTime PROD_DATE { get; set; } = DateTime.MinValue; + /// <summary> + /// 仓库ID + /// </summary> + [DisplayName("仓库ID")] + public string WH_ID { get; set; } + /// <summary> + /// 储区ID + /// </summary> + [DisplayName("储区ID")] + public string REGION_ID { get; set; } + /// <summary> + /// 货架/料车ID + /// </summary> + [DisplayName("货架/料车ID")] + public string SHELF_ID { get; set; } + /// <summary> + /// 储位ID + /// </summary> + [DisplayName("储位ID")] + public string LOCATION_ID { get; set; } + /// <summary> + /// 是否首套料(Y/N) + /// </summary> + [DisplayName("是否首套料(Y/N)")] + public string IS_FIRST { get; set; } + /// <summary> + /// 分配状态(0AllAllocated全部分配|1PartialAllocate部分分配) + /// </summary> + [DisplayName("分配状态(0AllAllocated全部分配|1PartialAllocate部分分配)")] public int ALLOC_MODE { get; set; } /// <summary> - /// 鐘舵��(0WaitPick寰呮崱鏂檤1Picking鎹℃枡涓瓅2WaitSend寰呭彂鏂檤3Sended宸插彂鏂檤4Close宸插叧闂瓅5Cancel浣滃簾) + /// 状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废) /// </summary> + [DisplayName("状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废)")] public int STATUS { get; set; } /// <summary> - /// 鍔犲伐娈� + /// 加工段 /// </summary> + [DisplayName("加工段")] public string SEGMENT { get; set; } /// <summary> - /// 鐩爣浜х嚎浠g爜 + /// 目标产线编码 /// </summary> + [DisplayName("目标产线编码")] public string LINE_CODE { get; set; } /// <summary> - /// 澶囨敞 + /// 备注 /// </summary> + [DisplayName("备注")] public string REMARK { get; set; } - #endregion + #endregion - #region 铏氭嫙灞炴�� - /*渚嬪瓙 + #region 虚拟属性 + /*例子 [SugarColumn(IsIgnore = true)] public string FieldName { get; set; } */ - #endregion + #endregion - #region 澶栭敭灞炴�� - /*渚嬪瓙 - //涓�瀵逛竴澶栭敭瀵艰埅 - [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疻MS_ITEM_POOL绫婚噷闈㈢殑澶栭敭ID瀛楁 - public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull - //涓�瀵瑰澶栭敭瀵艰埅 - [Navigate(NavigateType.OneToMany, nameof(ClassA.WMS_ITEM_POOLId))]//ClassA琛ㄤ腑鐨刉MS_ITEM_POOLId - public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull - //澶氬澶氬閿鑸� - [Navigate(typeof(MappingClass), nameof(MappingClass.WMS_ITEM_POOLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭 - public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull + #region 外键属性 + /*例子 + //一对一外键导航 + [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是WMS_ITEM_POOL类里面的外键ID字段 + public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null + //一对多外键导航 + [Navigate(NavigateType.OneToMany, nameof(ClassA.WMS_ITEM_POOLId))]//ClassA表中的WMS_ITEM_POOLId + public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null + //多对多外键导航 + [Navigate(typeof(MappingClass), nameof(MappingClass.WMS_ITEM_POOLId), nameof(MappingClass.ClassAId))]//注意顺序 + public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null */ - #endregion + #endregion - #region 鏋氫妇鍙橀噺 - /// <summary> - /// 鍒嗛厤鐘舵��(0AllAllocated鍏ㄩ儴鍒嗛厤|1PartialAllocate閮ㄥ垎鍒嗛厤) + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + + /// <summary> + /// 枚举:备料策略(位标志枚举)(1FIFO先进先出|2FSFO/尾数优先) /// </summary> - public enum ALLOC_MODEs - { - [Description("鍏ㄩ儴鍒嗛厤")] - AllAllocated, - [Description("閮ㄥ垎鍒嗛厤")] - PartialAllocate, - } + public enum STRATEGYs + { + [Description("先进先出")] + FIFO = 1, + [Description("尾数优先")] + FSFO = 2, + } - /// <summary> - /// 鐘舵��(0WaitPick寰呮崱鏂檤1Picking鎹℃枡涓瓅2WaitSend寰呭彂鏂檤3Sended宸插彂鏂檤4Close宸插叧闂瓅5Cancel浣滃簾) - /// </summary> - public enum STATUSs - { - [Description("寰呮崱鏂�")] - WaitPick, - [Description("鎹℃枡涓�")] - Picking, - [Description("寰呭彂鏂�")] - WaitSend, - [Description("宸插彂鏂�")] - Sended, - [Description("宸插叧闂�")] - Close, - [Description("浣滃簾")] - Cancel, - } - #endregion + /// <summary> + /// 枚举:发料方式(0Supply正常发料|1First首套发料) + /// </summary> + public enum DLVY_MODEs + { + [Description("正常发料")] + Supply = 0, + [Description("首套发料")] + First = 1, + } - #region 鍏叡鏂规硶 + /// <summary> + /// 枚举:分配状态(0AllAllocated全部分配|1PartialAllocate部分分配) + /// </summary> + public enum ALLOC_MODEs + { + [Description("全部分配")] + AllAllocated = 0, + [Description("部分分配")] + PartialAllocate = 1, + } - #endregion + /// <summary> + /// 枚举:状态(0WaitPick待捡料|1Picking捡料中|2WaitSend待发料|3Sended已发料|4Close已关闭|5Cancel作废) + /// </summary> + public enum STATUSs + { + [Description("待捡料")] + WaitPick = 0, + [Description("捡料中")] + Picking = 1, + [Description("待发料")] + WaitSend = 2, + [Description("已发料")] + Sended = 3, + [Description("已关闭")] + Close = 4, + [Description("作废")] + Cancel = 5, + } + #endregion - }//endClass + #region 公共方法 + + #endregion + + }//endClass } \ No newline at end of file -- Gitblit v1.9.3