From 94359cabfd77f8cac9191b41a586b587953dffd5 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 04 九月 2024 16:14:33 +0800 Subject: [PATCH] 增加雅达专用上料行为 增加雅达U9数据实体 --- Tiger.Business.MES/WorkAction/ThreeInOne.cs | 23 Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomMaster.cs | 55 ++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_Customer.cs | 71 +++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs | 187 ++++++++ Tiger.Model.Net/Tiger.Model.Net.csproj | 11 Tiger.Model.Net/Entitys/MES/YadaU9/mes_ProductType.cs | 67 ++ Tiger.IBusiness/MES/WorkAction/IYadaAssembly.cs | 12 Tiger.Model.Net/Entitys/MES/YadaU9/mes_MoBarCode.cs | 75 +++ Tiger.Business.MES/WorkAction/YadaAssembly.cs | 385 ++++++++++++++++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs | 123 +++++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_Organization.cs | 71 +++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs | 71 +++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs | 71 +++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_Supplier.cs | 55 ++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs | 67 ++ 15 files changed, 1,336 insertions(+), 8 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/ThreeInOne.cs b/Tiger.Business.MES/WorkAction/ThreeInOne.cs index 40672b5..669a4fb 100644 --- a/Tiger.Business.MES/WorkAction/ThreeInOne.cs +++ b/Tiger.Business.MES/WorkAction/ThreeInOne.cs @@ -84,15 +84,22 @@ //鍘傚唴鏉$爜宸茬粦瀹氬鎴锋潯鐮侊紝鐩存帴缁撴潫琛屼负 if (!CurCSN.IsNullOrEmpty()) { - CurCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; - CurCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; - action.Data.Data = new + if (CurCSN.WORK_ORDER == CurPosition.WorkBatch.WO.ORDER_NO) { - NeedPrint = false, - NeedScan = false, - Label = "", - }; - action = End(input); + CurCSN.WORK_ORDER = CurPosition.WorkBatch.WO.ORDER_NO; + CurCSN.ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE; + action.Data.Data = new + { + NeedPrint = false, + NeedScan = false, + Label = "", + }; + action = End(input); + } + else + { + + } } //鍘傚唴鏉$爜鏈粦瀹氬鎴锋潯鐮� else diff --git a/Tiger.Business.MES/WorkAction/YadaAssembly.cs b/Tiger.Business.MES/WorkAction/YadaAssembly.cs new file mode 100644 index 0000000..506c8d8 --- /dev/null +++ b/Tiger.Business.MES/WorkAction/YadaAssembly.cs @@ -0,0 +1,385 @@ +锘縰sing Rhea.Common; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tiger.IBusiness; +using Tiger.IBusiness.MES.WorkAction; +using Tiger.Model; +using Tiger.Model.Entitys.MES.Position; + +namespace Tiger.Business.MES.WorkAction +{ + public class YadaAssembly : IYadaAssembly + { + #region Propertys & Variables + #region 鍥哄畾鍐欐硶锛屽伐搴忎腑鐨勫繀瑕佷俊鎭� + public bool IsFinished { get; set; } = false; + public IWorkStep CurStep { get; set; } + public IPosition CurPosition { get; set; } + public MES_WO_NODE_ACT NodeAct { get; set; } + public MES_WO_ACTION Setting { get; set; } + #endregion + public List<BAS_PROD_BOM> Boms { get; set; } = new(); + public AssemblyInfo CurAssembly { get; set; } = new(); + #endregion Propertys & Variables + + #region Functions + /// <summary> + /// 鍒濆鍖栧伐搴忚涓� + /// </summary> + /// <returns></returns> + public void Init(IWorkStep curStep, IPosition position, MES_WO_NODE_ACT nodeAct, MES_WO_ACTION setting) + { + #region 鍥哄畾鍐欐硶锛岀粰榛樿鍙橀噺璧嬪�� + CurStep = curStep; + CurPosition = position; + NodeAct = nodeAct; + Setting = setting; + #endregion + + //鑾峰彇浜у搧BOM + Boms = Biz.Db.Queryable<BAS_PROD_BOM>().Where(q => q.PROD_CODE == CurPosition.WorkBatch.WO.ITEM_CODE).ToList(); + //鑾峰彇涓婃枡鐗╂枡 + var assyList = new List<AssemblySetting>(); + try + { + assyList = (setting.ITEM_CODE ?? "").JsonToObject<List<AssemblySetting>>(); + } + catch (System.Exception ex) + { + var codeList = setting.ITEM_CODE.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); + foreach (var code in codeList) + { + assyList.Add(new(){ ITEM_CODE = code, QTY = 1 }); + } + } + var codes = assyList.Select(q => q.ITEM_CODE).ToList(); + var items = Biz.Db.Queryable<BAS_ITEM>().Where(q => codes.Contains(q.ITEM_CODE) && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).ToList(); + //鑾峰彇涓婃枡鐗╂枡鐨勬浛浠f枡 + foreach (var assy in assyList) + { + var info = items.FirstOrDefault(q => q.ITEM_CODE == assy.ITEM_CODE); + if (!info.IsNullOrEmpty()) + { + var item = new AssemblyItem { + ItemInfo = info, + RuleCode = assy.RULE_CODE, + LoadQty = assy.QTY, + IsBatchItem = assy.IsBatchItem, + }; + var bom = Boms.FirstOrDefault(q => q.ITEM_CODE == assy.ITEM_CODE); + if (!bom.IsNullOrEmpty()) + { + var subs = bom.SUB_CODE.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); + var surItems = Biz.Db.Queryable<BAS_ITEM>().Where(q => subs.Contains(q.ITEM_CODE) && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).ToList(); + foreach (var sub in surItems) + { + if (!item.SubItems.Any(q => q.ITEM_CODE == sub.ITEM_CODE)) + { + item.SubItems.Add(sub); + } + } + } + CurAssembly.Items.Add(item); + } + } + } + + /// <summary> + /// 鑾峰彇琛屼负寮�濮嬬殑鎻愮ず淇℃伅 + /// </summary> + /// <returns></returns> + public Locale GetBeginMsg() + { + var msg = new Locale("MES.WorkAction.Assembly.BeginMsg", string.Join("锛�", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))); + //var msg = new Locale($"璇锋壂鎻忎互涓嬮渶瑕佷笂鏂欑殑鐗╂枡鏉$爜锛歿string.Join("锛�", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}"); + return msg; + } + + /// <summary> + /// 灏濊瘯寮�濮嬫墽琛屽伐搴忚涓� + /// </summary> + /// <returns></returns> + public ApiAction<SubmitOutput> TryBegin(SubmitInput input) + { + var action = new ApiAction<SubmitOutput>(new SubmitOutput()); + + if (!CurPosition.CurWipSNs.Any(w => w.SN == input.SN)) + { + action = SaveAssembly(input, action); + return action; + } + + //濡傛灉杩斿洖鎴愬姛鍒欒涓哄綋鍓嶈涓哄彲浠ュ紑濮嬫墽琛岋紝鍚﹀垯杩斿洖澶辫触 + CurStep.Message = Biz.L("绛夊緟涓婃枡"); + CurStep.Status = StepStatus.Normal; + action.IsSuccessed = false; + action.Data.ShortMsg = new("绛夊緟涓婃枡", ShortMessage.Types.Normal); + return action; + } + + /// <summary> + /// 宸ュ簭琛屼负鎻愪氦鏁版嵁 + /// </summary> + /// <returns></returns> + public ApiAction<SubmitOutput> Submit(SubmitInput input) + { + var action = new ApiAction<SubmitOutput>(new SubmitOutput()); + + action = SaveAssembly(input, action); + //涓婃枡鏁版嵁淇濆瓨澶辫触 + if (!action.IsSuccessed) + { + //濡傛灉琛屼负璁剧疆涓哄嚭閿欓渶瑕侀噸缃伐搴忔搷浣� + if (NodeAct.NEED_RESET == "Y") + { + CurPosition.ResetNode(); + } + } + return action; + } + + public ApiAction<SubmitOutput> SaveAssembly(SubmitInput input, ApiAction<SubmitOutput> action) + { + try + { + foreach (var item in CurAssembly.Items.Where(q => !q.IsFinished)) + { + var isOK = true; + var matchItem = item.ItemInfo; + //鏍规嵁鏉$爜瑙勫垯楠岃瘉涓婃枡鏄惁姝g‘ + if (!item.RuleCode.IsNullOrEmpty()) + { + if (!Biz.CodeRule[item.RuleCode].IsNullOrEmpty()) + { + var result = Biz.CodeRule[item.RuleCode].Verify(input.SN); + if (!result.IsSuccessed) + { + isOK = false; + } + } + //涓嶅瓨鍦ㄦ潯鐮佽鍒欙紝鍒欏垽鏂槸鍚︽湁鑷畾涔夎鍒欙紝娌℃湁鍒欒繑鍥炲け璐� + else + { + switch (item.RuleCode) + { + case "鑷楠岃瘉": + break; + default: + isOK = false; + break; + } + } + } + //涓绘枡楠岃瘉涓嶉�氳繃锛屽垯灏濊瘯楠岃瘉鏇夸唬鏂� + if (!isOK && item.SubItems.Any()) + { + foreach (var subItem in item.SubItems) + { + if (!subItem.RULE_CODE.IsNullOrEmpty()) + { + if (!Biz.CodeRule[subItem.RULE_CODE].IsNullOrEmpty()) + { + var result = Biz.CodeRule[item.RuleCode].Verify(input.SN); + //鍙鏈変竴涓浛浠f枡閫氳繃楠岃瘉鍒欏彲浠ヤ笂鏂� + if (result.IsSuccessed) + { + isOK = true; + matchItem = subItem; + break; + } + } + } + } + } + //楠岃瘉閫氳繃鍒欎繚瀛樹笂鏂欎俊鎭� + if (isOK) + { + //鎵规鐗╂枡鍒欏彧璁板綍涓�娆★紝闈炴壒娆$墿鏂欏垯瑕佹寜涓暟楠岃瘉鏁伴噺 + if (item.IsBatchItem) + { + foreach (var wipSn in CurPosition.CurWipSNs) + { + var record = new MES_WIP_ASSY() + { + AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, + AUTH_PROD = CurPosition.CurLine.LINE_CODE, + WIP_ID = wipSn.ID, + SN = input.SN, + PROD_SN = wipSn.SN, + ITEM_CODE = matchItem.ITEM_CODE, + QTY = 1, + UNIT = matchItem.UNIT, + WORK_ORDER = wipSn.WORK_ORDER, + BATCH_NO = wipSn.BATCH_NO, + ROT_CODE = wipSn.ROT_CODE, + NODE_ID = wipSn.NODE_ID, + NODE_NAME = wipSn.NODE_NAME, + FTY_CODE = wipSn.FTY_CODE, + WS_CODE = wipSn.WS_CODE, + LINE_CODE = wipSn.LINE_CODE, + POST_CODE = wipSn.POST_CODE, + OPER_CODE = wipSn.OPER_CODE, + SEGMENT = wipSn.SEGMENT, + }; + item.Records.Add(record); + } + item.IsFinished = true; + } + else + { + foreach (var wipSn in CurPosition.CurWipSNs) + { + var record = new MES_WIP_ASSY() + { + AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, + AUTH_PROD = CurPosition.CurLine.LINE_CODE, + WIP_ID = wipSn.ID, + SN = input.SN, + PROD_SN = wipSn.SN, + ITEM_CODE = matchItem.ITEM_CODE, + QTY = 1, + UNIT = matchItem.UNIT, + WORK_ORDER = wipSn.WORK_ORDER, + BATCH_NO = wipSn.BATCH_NO, + ROT_CODE = wipSn.ROT_CODE, + NODE_ID = wipSn.NODE_ID, + NODE_NAME = wipSn.NODE_NAME, + FTY_CODE = wipSn.FTY_CODE, + WS_CODE = wipSn.WS_CODE, + LINE_CODE = wipSn.LINE_CODE, + POST_CODE = wipSn.POST_CODE, + OPER_CODE = wipSn.OPER_CODE, + SEGMENT = wipSn.SEGMENT, + }; + item.Records.Add(record); + } + + if (item.Records.Sum(q => q.QTY) / item.Records.Count >= item.LoadQty * CurPosition.CurWipSNs.Count) + { + item.IsFinished = true; + } + } + + CurStep.Message = Biz.L("涓婃枡鎴愬姛"); + CurStep.Status = StepStatus.Success; + action.IsSuccessed = true; + action.Data.ShortMsg = new("涓婃枡鎴愬姛", ShortMessage.Types.Success); + action.Data.Data = CurAssembly; + //action.LocaleMsg = new Locale($"鎵弿鐗╂枡[{matchItem.ITEM_NAME}({matchItem.ITEM_CODE})鐨勬潯鐮乕{input.SN}]鎴愬姛锛岃缁х画涓婃枡"); + action.LocaleMsg = new Locale("MES.WorkAction.Assembly.LoadSuccess", matchItem.ITEM_NAME, matchItem.ITEM_CODE); + + //涓婃枡瀹屾垚 + if (CurAssembly.IsFinished) + { + action = End(input); + } + return action; + } + } + //閮芥病鏈夌墿鏂欓獙璇侀�氳繃锛屽垯杩斿洖閿欒淇℃伅 + CurStep.Message = Biz.L("涓婃枡澶辫触"); + CurStep.Status = StepStatus.Error; + action.IsSuccessed = false; + action.Data.ShortMsg = new("涓婃枡澶辫触", ShortMessage.Types.Failed); + //action.LocaleMsg = new($"鏉$爜[{input.SN}]楠岃瘉澶辫触锛屼笉鏄互涓嬬墿鏂欑殑鏉$爜锛歿string.Join("锛�", CurAssembly.Items.Where(q => !q.IsFinished).Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}"); + action.LocaleMsg = new("MES.WorkAction.Assembly.LoadFail", input.SN, string.Join("锛�", CurAssembly.Items.Where(q => !q.IsFinished).Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))); + } + catch (System.Exception ex) + { + CurStep.Message = Biz.L("涓婃枡寮傚父"); + CurStep.Status = StepStatus.Error; + action.Data.ShortMsg = new("涓婃枡寮傚父", ShortMessage.Types.Exception); + action.CatchExceptionWithLog(ex, $"涓婃枡琛屼负锛氶獙璇佹潯鐮乕{input.SN}]骞朵繚瀛樻暟鎹紓甯�"); + action.IsSuccessed = false; + //action.LocaleMsg = new($"楠岃瘉鏉$爜[{input.SN}]骞朵繚瀛樻暟鎹紓甯革紝宸ュ簭宸查噸缃紝璇烽噸鏂版壂鎻忚繘绔欎骇鍝佹潯鐮�"); + action.LocaleMsg = new("MES.WorkAction.Assembly.SaveAssemblyException", input.SN); + CurPosition.ResetNode(); + } + return action; + } + + /// <summary> + /// 缁撴潫鎵ц宸ュ簭琛屼负 + /// </summary> + /// <returns></returns> + public ApiAction<SubmitOutput> End(SubmitInput input) + { + var action = new ApiAction<SubmitOutput>(new SubmitOutput()); + + //璁板綍琛屼负鎿嶄綔璁板綍 + var wipActs = new List<MES_WIP_ACT>(); + foreach (var wipSn in CurPosition.CurWipSNs) + { + var wipAct = new MES_WIP_ACT() + { + AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, + AUTH_PROD = CurPosition.CurLine.LINE_CODE, + WIP_ID = wipSn.ID, + HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID, + SN = wipSn.SN, + STATUS = wipSn.STATUS, + ITEM_CODE = wipSn.ITEM_CODE, + WORK_ORDER = wipSn.WORK_ORDER, + BATCH_NO = wipSn.BATCH_NO, + ROT_CODE = wipSn.ROT_CODE, + NODE_ID = wipSn.NODE_ID, + NODE_NAME = wipSn.NODE_NAME, + ACT_ID = NodeAct.ID, + ACT_NAME = NodeAct.ACT_NAME, + FTY_CODE = wipSn.FTY_CODE, + WS_CODE = wipSn.WS_CODE, + LINE_CODE = wipSn.LINE_CODE, + POST_CODE = wipSn.POST_CODE, + OPER_CODE = wipSn.OPER_CODE, + SEGMENT = wipSn.SEGMENT, + FLOW_SN = wipSn.FLOW_SN, + TRAY_SN = wipSn.TRAY_SN, + INNER_SN = wipSn.INNER_SN, + CARTON_SN = wipSn.CARTON_SN, + PALLET_SN = wipSn.PALLET_SN, + OPERATION_TIME = DateTime.Now, + SFTS_CODE = wipSn.SFTS_CODE, + SFT_CODE = wipSn.SFT_CODE, + PRD_CODE = wipSn.PRD_CODE, + ACT_TYPE = NodeAct.ACT_TYPE, + ACT_SN = wipSn.SN, + ACT_VALUE_1 = CurAssembly.ToJson(), + ACT_RESULT = "Y", + TRACE_INFO = $"浠ヤ笅鐗╂枡涓婃枡瀹屾垚锛歿string.Join(",", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}", + }; + wipActs.Add(wipAct); + } + + + //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊� + var _wipActs = wipActs.Clone(); + //鏁寸悊涓婃枡璁板綍 + var _records = new List<MES_WIP_ASSY>(); + foreach (var item in CurAssembly.Items) + { + _records.AddRange(item.Records.Clone()); + } + //淇濆瓨鏁版嵁 + CurStep.DBSubmitAction = () => + { + var db = CurPosition.GetCommitDB(); + db.Storageable(_wipActs, CurPosition.UserCode).ExecuteCommand(); + db.Insertable(_records, CurPosition.UserCode).ExecuteCommand(); + }; + + IsFinished = true; + CurStep.Message = Biz.L("涓婃枡瀹屾垚"); + CurStep.Status = StepStatus.Finished; + action.Data.ShortMsg = new("涓婃枡瀹屾垚", ShortMessage.Types.Success); + //action.LocaleMsg = new($"浠ヤ笅鐗╂枡涓婃枡瀹屾垚锛歿string.Join("锛�", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))}"); + action.LocaleMsg = new("MES.WorkAction.Assembly.LoadFinish", string.Join("锛�", CurAssembly.Items.Select(q => $"{q.ItemInfo.ITEM_NAME}({q.ItemInfo.ITEM_CODE})"))); + return action; + } + + #endregion Functions + } +} diff --git a/Tiger.IBusiness/MES/WorkAction/IYadaAssembly.cs b/Tiger.IBusiness/MES/WorkAction/IYadaAssembly.cs new file mode 100644 index 0000000..10fec33 --- /dev/null +++ b/Tiger.IBusiness/MES/WorkAction/IYadaAssembly.cs @@ -0,0 +1,12 @@ +锘縰sing Newtonsoft.Json; +using Rhea.Common; +using System; +using Tiger.Model; + +namespace Tiger.IBusiness.MES.WorkAction +{ + public interface IYadaAssembly : IWorkAction + { + + } +} diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs new file mode 100644 index 0000000..e38998c --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs @@ -0,0 +1,67 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_BomComponent + /// </summary> + [Serializable] + [SugarTable("mes_BomComponent")] + public class mes_BomComponent : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_BomComponent + /// </summary> + public mes_BomComponent() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + /// <summary> + /// + /// </summary> + public long Org { get; set; } + /// <summary> + /// + /// </summary> + public string ItemMasterCode { get; set; } + /// <summary> + /// + /// </summary> + public string ItemMasterName { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs new file mode 100644 index 0000000..64e6961 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs @@ -0,0 +1,187 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_BomDetail + /// </summary> + [Serializable] + [SugarTable("mes_BomDetail")] + public class mes_BomDetail : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_BomDetail + /// </summary> + public mes_BomDetail() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public DateTime BomCreatedOn { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public DateTime BomModifiedOn { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public string BomComponentCreatedBy { get; set; } + /// <summary> + /// + /// </summary> + public DateTime BomComponentModifiedOn { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public string IssueStyle { get; set; } + /// <summary> + /// + /// </summary> + public string SubstituteStyle { get; set; } + /// <summary> + /// + /// </summary> + public int SubSeq { get; set; } + /// <summary> + /// + /// </summary> + public string ComponentRemark { get; set; } + /// <summary> + /// + /// </summary> + public string ComponentType { get; set; } + /// <summary> + /// + /// </summary> + public decimal SubPercent { get; set; } + /// <summary> + /// + /// </summary> + public decimal ParentQty { get; set; } + /// <summary> + /// + /// </summary> + public string IsCeiling { get; set; } + /// <summary> + /// + /// </summary> + public string IssueUOM { get; set; } + /// <summary> + /// + /// </summary> + public string IsEffective { get; set; } + /// <summary> + /// + /// </summary> + public DateTime ComponentEffectiveDate { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public DateTime ComponentDisableDate { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public string BomComponentCode { get; set; } + /// <summary> + /// + /// </summary> + public string BomComponentName { get; set; } + /// <summary> + /// + /// </summary> + public string ItemVersionCode { get; set; } + /// <summary> + /// + /// </summary> + public int Sequence { get; set; } + /// <summary> + /// + /// </summary> + public string UsageQtyType { get; set; } + /// <summary> + /// + /// </summary> + public decimal UsageQty { get; set; } + /// <summary> + /// + /// </summary> + public string IsPrimaryLot { get; set; } + /// <summary> + /// + /// </summary> + public string ProductUOM { get; set; } + /// <summary> + /// + /// </summary> + public string BomMasterEffectiveDate { get; set; } + /// <summary> + /// + /// </summary> + public string BomMasterDisableDate { get; set; } + /// <summary> + /// + /// </summary> + public string Explain { get; set; } + /// <summary> + /// + /// </summary> + public long BomComponentId { get; set; } + /// <summary> + /// + /// </summary> + public long BomId { get; set; } + /// <summary> + /// + /// </summary> + public long Org { get; set; } + /// <summary> + /// + /// </summary> + public string BomCode { get; set; } + /// <summary> + /// + /// </summary> + public string BomName { get; set; } + /// <summary> + /// + /// </summary> + public string BomVersionCode { get; set; } + /// <summary> + /// + /// </summary> + public int Lot { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomMaster.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomMaster.cs new file mode 100644 index 0000000..4495454 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomMaster.cs @@ -0,0 +1,55 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_BomMaster + /// </summary> + [Serializable] + [SugarTable("mes_BomMaster")] + public class mes_BomMaster : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_BomMaster + /// </summary> + public mes_BomMaster() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Customer.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Customer.cs new file mode 100644 index 0000000..fab3c5f --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Customer.cs @@ -0,0 +1,71 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_Customer + /// </summary> + [Serializable] + [SugarTable("mes_Customer")] + public class mes_Customer : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_Customer + /// </summary> + public mes_Customer() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + /// <summary> + /// + /// </summary> + public long Org { get; set; } + /// <summary> + /// + /// </summary> + public string Code { get; set; } + /// <summary> + /// + /// </summary> + public string SearchCode { get; set; } + /// <summary> + /// + /// </summary> + public string Name { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs new file mode 100644 index 0000000..06d2491 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs @@ -0,0 +1,71 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_ItemMaster + /// </summary> + [Serializable] + [SugarTable("mes_ItemMaster")] + public class mes_ItemMaster : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_ItemMaster + /// </summary> + public mes_ItemMaster() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + /// <summary> + /// + /// </summary> + public long Org { get; set; } + /// <summary> + /// + /// </summary> + public string Code { get; set; } + /// <summary> + /// + /// </summary> + public string Code1 { get; set; } + /// <summary> + /// + /// </summary> + public string Name { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs new file mode 100644 index 0000000..0238ae3 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs @@ -0,0 +1,123 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_MOPickList + /// </summary> + [Serializable] + [SugarTable("mes_MOPickList")] + public class mes_MOPickList : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_MOPickList + /// </summary> + public mes_MOPickList() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public string WhCode { get; set; } + /// <summary> + /// + /// </summary> + public string WhName { get; set; } + /// <summary> + /// + /// </summary> + public long BinId { get; set; } + /// <summary> + /// + /// </summary> + public string BinCode { get; set; } + /// <summary> + /// + /// </summary> + public string BinName { get; set; } + /// <summary> + /// + /// </summary> + public string SuggestedBatch { get; set; } + /// <summary> + /// + /// </summary> + public decimal ActualReqQty { get; set; } + /// <summary> + /// + /// </summary> + public decimal IssuedQty { get; set; } + /// <summary> + /// + /// </summary> + public decimal IssueNotDeliverQty { get; set; } + /// <summary> + /// + /// </summary> + public int IssueStyle { get; set; } + /// <summary> + /// + /// </summary> + public string IssueStyleName { get; set; } + /// <summary> + /// + /// </summary> + public long WhId { get; set; } + /// <summary> + /// + /// </summary> + public long SupplyOrg { get; set; } + /// <summary> + /// + /// </summary> + public int DocLineNO { get; set; } + /// <summary> + /// + /// </summary> + public long MoId { get; set; } + /// <summary> + /// + /// </summary> + public string MoDocNo { get; set; } + /// <summary> + /// + /// </summary> + public long ItemMaster { get; set; } + /// <summary> + /// + /// </summary> + public string Code { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs new file mode 100644 index 0000000..5dbc123 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs @@ -0,0 +1,71 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_Mo + /// </summary> + [Serializable] + [SugarTable("mes_Mo")] + public class mes_Mo : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_Mo + /// </summary> + public mes_Mo() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long Org { get; set; } + /// <summary> + /// + /// </summary> + public string DocTypeCode { get; set; } + /// <summary> + /// + /// </summary> + public string DocTypeName { get; set; } + /// <summary> + /// + /// </summary> + public string DocNo { get; set; } + /// <summary> + /// + /// </summary> + public decimal ProductQty { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MoBarCode.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MoBarCode.cs new file mode 100644 index 0000000..685cf2d --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MoBarCode.cs @@ -0,0 +1,75 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_MoBarCode + /// </summary> + [Serializable] + [SugarTable("mes_MoBarCode")] + public class mes_MoBarCode : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_MoBarCode + /// </summary> + public mes_MoBarCode() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public string InBarCode { get; set; } + /// <summary> + /// + /// </summary> + public string OutBarCode { get; set; } + /// <summary> + /// + /// </summary> + public string CustomerItem { get; set; } + /// <summary> + /// + /// </summary> + public long MoBarSerial { get; set; } + /// <summary> + /// + /// </summary> + public DateTime CreatedOn { get; set; } = DateTime.MinValue; + /// <summary> + /// + /// </summary> + public DateTime ModifiedOn { get; set; } = DateTime.MinValue; + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Organization.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Organization.cs new file mode 100644 index 0000000..ef8caee --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Organization.cs @@ -0,0 +1,71 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_Organization + /// </summary> + [Serializable] + [SugarTable("mes_Organization")] + public class mes_Organization : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_Organization + /// </summary> + public mes_Organization() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + /// <summary> + /// + /// </summary> + public string Code { get; set; } + /// <summary> + /// + /// </summary> + public string ShortName { get; set; } + /// <summary> + /// + /// </summary> + public string Name { get; set; } + /// <summary> + /// + /// </summary> + public string Description { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ProductType.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ProductType.cs new file mode 100644 index 0000000..4d3f327 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ProductType.cs @@ -0,0 +1,67 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_ProductType + /// </summary> + [Serializable] + [SugarTable("mes_ProductType")] + public class mes_ProductType : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_ProductType + /// </summary> + public mes_ProductType() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + /// <summary> + /// + /// </summary> + public string Code { get; set; } + /// <summary> + /// + /// </summary> + public string Name { get; set; } + /// <summary> + /// + /// </summary> + public DateTime CreatedOn { get; set; } = DateTime.MinValue; + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Supplier.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Supplier.cs new file mode 100644 index 0000000..1caf3a5 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Supplier.cs @@ -0,0 +1,55 @@ +using System; +using SqlSugar; +using System.Linq; +using System.ComponentModel; +using System.Collections.Generic; +using Tiger.Model; + +namespace Tiger.Model.MES.Yada +{ + /// <summary> + /// 实体:mes_Supplier + /// </summary> + [Serializable] + [SugarTable("mes_Supplier")] + public class mes_Supplier : iViewEntity + { + #region 构造函数 + /// <summary> + /// 实体:mes_Supplier + /// </summary> + public mes_Supplier() {} + #endregion + + #region 公共属性 + /// <summary> + /// + /// </summary> + public long ID { get; set; } + #endregion + + #region 虚拟属性 + /*例子 + [SugarColumn(IsIgnore = true)] + public string FieldName { get; set; } + */ + #endregion + + #region 枚举变量 + /*例子 + public enum FieldNames + { + [Description("枚举描述0")] + Enum0, + [Description("枚举描述1")] + Enum1, + } + */ + #endregion + + #region 公共方法 + + #endregion + + }//endClass +} \ No newline at end of file diff --git a/Tiger.Model.Net/Tiger.Model.Net.csproj b/Tiger.Model.Net/Tiger.Model.Net.csproj index bacd293..2f65ec2 100644 --- a/Tiger.Model.Net/Tiger.Model.Net.csproj +++ b/Tiger.Model.Net/Tiger.Model.Net.csproj @@ -190,6 +190,17 @@ <Compile Include="Entitys\MES\SMT_TOOL_HIS.cs" /> <Compile Include="Entitys\MES\SMT_WO_TABLE.cs" /> <Compile Include="Entitys\MES\Weigh.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_BomComponent.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_BomDetail.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_BomMaster.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_Customer.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_ItemMaster.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_Mo.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_MoBarCode.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_MOPickList.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_Organization.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_ProductType.cs" /> + <Compile Include="Entitys\MES\YadaU9\mes_Supplier.cs" /> <Compile Include="Entitys\QMS\QMS_AQL_PLAN.cs" /> <Compile Include="Entitys\QMS\QMS_AQL_STD.cs" /> <Compile Include="Entitys\QMS\QMS_INS_CTGY.cs" /> -- Gitblit v1.9.3