Tiger.Api/Language.db | 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN_DTL.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN_SN.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Tiger.Api/Language.dbBinary files differ
Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -13,6 +13,13 @@ using Tiger.Business.WMS.Sharetronic.Shelf; using Tiger.Model.MES.Yada; using static IronPython.SQLite.PythonSQLite; using static Community.CsharpSqlite.Sqlite3; using Tiger.Model.Entitys.MES.Position; using MailKit.Search; using static IronPython.Modules._ast; using Tiger.Model.Entitys.MES.U9C; using System.Security.Policy; using Org.BouncyCastle.Asn1.X509; namespace Tiger.Business.WMS.Transaction { @@ -33,14 +40,15 @@ #region Propertys & Variables //private List<WmsOrder<BIZ_U9_ASN>> _OrderList { get; set; } = new(); private List<string> OrderList = new(); private BIZ_U9_ASN_SN CurSn { get; set; } #endregion private BIZ_U9_ASN_SN CurSn = new(); private List<BIZ_U9_ASN_SN> ScanList = new(); #endregion #region Functions /// <summary> /// 初始化清点数据 /// </summary> private void LoadData() #region Functions /// <summary> /// 初始化清点数据 /// </summary> private void LoadData() { var orders = MainDB.Queryable<BIZ_U9_ASN>().Where(q => ("," + q.RECEIVER + ",").Contains("," + UserCode + ",")).ToList(); OrderList = orders.Select(q => q.ORDER_NO).ToList(); @@ -146,7 +154,6 @@ if (inv.Items.Count == 0) { List<WMS_ITEM_HIS> ItemHistorys = new List<WMS_ITEM_HIS>(); WMS_ITEM Item; WMS_ITEM_PKG ItemPkgs; @@ -162,8 +169,6 @@ UNIT = inv.Barcode.Unit, }; WMS_ITEM_HIS his = new(Item, $"送货单(U9)清点"); ItemHistorys.Add(his); ItemPkgs = new() { SN = inv.Barcode.SN, @@ -187,7 +192,6 @@ } inv.Items.Add(Item); inv.History.Add(his); inv.Packages.Add(ItemPkgs); } //雅达不从条码上更新数量 @@ -265,34 +269,42 @@ //执行清点数据处理 CurSn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); CurSn.QTY = CurInvItem.Items.Sum(q => q.QTY); foreach (var item in CurInvItem.Items) { item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); item.TRANS_CODE = nameof(BIZ_U9_ASN); item.TRANS_NO = CurSn.ORDER_NO; item.TRANS_LINE = CurSn.LINE_NO; item.AUTH_ORG = CurSn.AUTH_ORG; CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"条码[{CurInvItem.SN}]清点成功,操作单据[{item.TRANS_NO}]")); } foreach (var item in CurInvItem.Items) { item.AUTH_ORG = CurSn.AUTH_ORG; item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); item.SOURCE_CODE = item.TRANS_CODE; item.SOURCE_ORDER = item.TRANS_NO; item.SOURCE_LINE = item.TRANS_LINE; item.TRANS_CODE = nameof(BIZ_U9_ASN); item.TRANS_NO = CurSn.ORDER_NO; item.TRANS_LINE = CurSn.LINE_NO; CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"条码[{CurInvItem.SN}]清点完成,操作单据[{item.TRANS_NO}]")); } //创建变量克隆对象用于传入DBSubmitAction中保存当前需要暂存的数据值 var _CurSn = CurSn.Clone(); //创建变量克隆对象用于传入DBSubmitAction中保存当前需要暂存的数据值 var _CurSn = CurSn.Clone(); var _Items = CurInvItem.Items.Clone(); var _Packages = CurInvItem.Packages.Clone(); var _History = CurInvItem.History.Clone(); AddCommitAction("Counted", () => var _ItemsExt = CurInvItem.ItemsExt.Clone(); AddCommitAction("Counted", () => { //使用统一的事务DB对象 var db = GetCommitDB(); //数据保存逻辑 var t = db.Storageable(_Items, UserCode).ToStorage(); t.AsInsertable.ExecuteCommand(); t.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); db.Storageable(_Packages, UserCode).ToStorage().AsInsertable.ExecuteCommand(); t.AsUpdateable.UpdateColumns(q => new { q.QTY, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); var p = db.Storageable(_Packages, UserCode).ToStorage(); p.AsInsertable.ExecuteCommand(); p.AsUpdateable.UpdateColumns(q => new { q.QTY, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); db.Storageable(_Packages, UserCode).ToStorage().AsInsertable.ExecuteCommand(); db.Insertable(_History, UserCode).ExecuteCommand(); db.Storageable(_CurSn, UserCode).ExecuteCommand(); var e = db.Storageable(_ItemsExt, UserCode).ToStorage().AsInsertable.ExecuteCommand();//不存在插入 db.Updateable<BIZ_U9_ASN>(UserCode).SetColumns(q => q.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Where(q => q.ORDER_NO == _CurSn.ORDER_NO).ExecuteCommand(); db.Storageable(_CurSn, UserCode).ExecuteCommand(); }); //完成所有处理后使用事务保存数据 action = DoIfFinish(action, input.Locale); @@ -301,7 +313,7 @@ { //取消当前操作 ResetScan(); //action.CatchExceptionWithLog(ex, $"扫描条码[{input.SN}]复核异常"); //action.CatchExceptionWithLog(ex, $"扫描条码[{0}]复核异常"); action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanItem.ScanException", input.SN)); } return action; @@ -317,35 +329,298 @@ //保存数据库 SaveCommitListToDB(); // 返回数据 action.Data.Data = new DefaultInStoreOutput { Barcode = CurInvItem.SN, MaterialCode = CurInvItem.ItemInfo.ITEM_CODE, MaterialName = CurInvItem.ItemInfo.ITEM_NAME, CurrentQty = CurInvItem.Items[0].QTY, Unit = CurInvItem.Items[0].UNIT, DateCode = CurInvItem.Items[0].PROD_DATE, WarehouseCode = CurInvItem.Warehouse.WH_CODE, RegionCode = CurInvItem.Region.REGION_CODE, ShelfCode = CurInvItem.Shelf.SHELF_CODE, LocationCode = CurInvItem.Location.LOCATION_CODE, }; if (!OrderList.Contains(CurSn.ORDER_NO)) { OrderList.Add(CurSn.ORDER_NO); } ScanList.Add(CurSn); //action.LocaleMsg = Biz.L($"扫描条码[{0}]上架到储位[{1}]成功"); action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, CurInvItem.Location.LOCATION_CODE); // 返回数据 action.Data.Data = ScanList; //action.LocaleMsg = Biz.L($"条码[{0}]清点成功!"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.CountSuccess", CurInvItem.SN); //重置工序 ResetScan(); return action; } #endregion /// <summary> /// 删除当前所有已清点记录 /// </summary> /// <returns></returns> public async Task<ApiAction> DeleteScannedList() { var action = new ApiAction(); try { foreach (var sn in ScanList) { sn.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue(); } /// <summary> /// 重置当前操作,有需要则重写此方法 /// </summary> public override void ResetScan() var historys = new List<WMS_ITEM_HIS>(); var items = await Biz.Db.Queryable<WMS_ITEM>().Where(q => ScanList.Select(s => s.SN).Contains(q.SN)).ToListAsync(); foreach (var item in items) { var order = item.TRANS_CODE; item.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue(); item.TRANS_CODE = item.SOURCE_CODE; item.TRANS_NO = item.SOURCE_ORDER; item.TRANS_LINE = item.SOURCE_LINE; item.SOURCE_CODE = ""; item.SOURCE_ORDER = ""; item.SOURCE_LINE = ""; historys.Add(new WMS_ITEM_HIS(item, $"条码[{item.SN}]取消清点,操作单据[{order}]")); } //使用统一的事务DB对象 var db = GetCommitDB(); var dbTran = db.UseTran(() => { db.Updateable(ScanList, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS }).ExecuteCommandAsync(); db.Updateable(items, UserCode).ExecuteCommand(); db.Insertable(historys, UserCode).ExecuteCommand(); }); if (dbTran.IsSuccess) { ScanList.Clear(); } else { Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception"); //抛出异常 throw dbTran.ErrorException; } } catch (System.Exception ex) { //return action.CatchExceptionWithLog(ex, Biz.L("删除当前所有已清点记录异常")); return action.CatchExceptionWithLog(ex, Biz.L("WMS.Count_BIZ_U9_ASN.DeleteScanListException")); } return action; } /// <summary> /// 删除当前用户的已扫单个记录 /// </summary> /// <returns></returns> public async Task<ApiAction> DeleteScannedSn(BaseInput input) { var action = new ApiAction(); try { var item = await Biz.Db.Queryable<WMS_ITEM>().Where(q => q.SN == input.SN).FirstAsync(); var order = item.TRANS_CODE; item.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue(); item.TRANS_CODE = item.SOURCE_CODE; item.TRANS_NO = item.SOURCE_ORDER; item.TRANS_LINE = item.SOURCE_LINE; item.SOURCE_CODE = ""; item.SOURCE_ORDER = ""; item.SOURCE_LINE = ""; //使用统一的事务DB对象 var db = GetCommitDB(); var dbTran = db.UseTran(() => { db.Updateable<BIZ_U9_ASN_SN>(UserCode).SetColumns(q => q.STATUS == WMS_ITEM.STATUSs.Incoming.GetValue()) .Where(q => q.SN == input.SN).ExecuteCommand(); db.Updateable(item, UserCode).ExecuteCommand(); db.Insertable(new WMS_ITEM_HIS(item, $"条码[{item.SN}]取消清点,操作单据[{order}]"), UserCode).ExecuteCommand(); }); if (dbTran.IsSuccess) { ScanList.RemoveAll(q => q.SN == input.SN); } else { Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception"); //抛出异常 throw dbTran.ErrorException; } } catch (System.Exception ex) { //return action.CatchExceptionWithLog(ex, Biz.L("删除已清点条码[{0}]异常")); return action.CatchExceptionWithLog(ex, Biz.L("WMS.Count_BIZ_U9_ASN.DeleteScannedSnException", input.SN)); } return action; } /// <summary> /// 获取本次已清点的物料列表(带分页) /// </summary> /// <returns></returns> public async Task<PageAble<BIZ_U9_ASN_SN>> GetScannedList() { return await Task.FromResult(new PageAble<BIZ_U9_ASN_SN>() { data = ScanList, totals = ScanList.Count(), }); } /// <summary> /// 获取当前所有单据信息 /// </summary> /// <returns></returns> public async Task<List<BIZ_U9_ASN>> GetOrderList() { var Orders = await Biz.Db.Queryable<BIZ_U9_ASN>().Where(q => OrderList.Contains(q.ORDER_NO)).IncludesAllFirstLayer().ToListAsync(); if (!Orders.IsNullOrEmpty()) { foreach (var order in Orders) { foreach (var dtl in order.Details) { dtl.SnList = order.SnList.Where(q => q.LINE_NO == dtl.LINE_NO).ToList(); dtl.QTY_COUNTED = dtl.SnList.Where(q => q.STATUS == WMS_ITEM.STATUSs.Counted.GetValue()).Sum(q => q.QTY); } } } return Orders; } /// <summary> /// 设置收货单明细赠品数量 /// </summary> /// <returns></returns> public async Task<ApiAction> SetGiftQty(BaseInput input) { var action = new ApiAction(); try { var dtl = input?.Data?.JsonToObject<BIZ_U9_ASN_DTL>(); if ((dtl?.ID ?? "").IsNullOrEmpty()) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L($"提交的收货单明细ID不能为空"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.SetGiftQty.DetailIDIsNull"); return action; } //使用统一的事务DB对象 var db = GetCommitDB(); await db.Updateable(dtl, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.QTY_GIFT }).ExecuteCommandAsync(); } catch (System.Exception ex) { //return action.CatchExceptionWithLog(ex, Biz.L("设置收货单明细赠品数量为异常")); return action.CatchExceptionWithLog(ex, Biz.L("WMS.Count_BIZ_U9_ASN.SetGiftQtyException")); } return action; } /// <summary> /// 生成收货单:调用U9新增收货单接口 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task<ApiAction> GenerateReceipt(BaseInput input) { var action = new ApiAction(); var orderNo = input.Data; try { var order = await Biz.Db.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == orderNo).IncludesAllFirstLayer().FirstAsync(); if (order.IsNullOrEmpty()) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L($"找不到送货单[{0}]的单据信息,请提交正确的单号"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceipt.ASNNotExists", orderNo); return action; } //验证条码是否正确 if (order.STATUS != BIZ_U9_ASN.STATUSs.Counting.GetValue()) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("生成收货单:送货单状态[{0}]异常"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceipt.StatusException", order.STATUS.GetEnumDesc<BIZ_U9_ASN.STATUSs>()); return action; } //查询是否清点完成 var noFinish = order.Details.Where(q => q.QTY != order.SnList.Sum(s => s.QTY)); if (noFinish.Any()) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("清点数量不对");// Biz.L("WMS.InReceipt.ScanItem.CheckingDataToSubmit"); //$"清点数量不对"; action.LocaleMsg = Biz.L($"送货单[{0}]未清点完成,请先清点完成"); return action; } var iInput = new CreateRcvBySrcASNInput { userId = UserCode, IsLogin = true, CreateRcvBySrcASNParam = new () { aSNToRcvTransDTOs = order.Details.Select(q => new ASNToRcvTransDTO { ASNLineKey = q.ID, TransQty = new() { m_amount1 = q.QTY + q.QTY_GIFT } }).ToList(), } }; var result = await DI.Resolve<WMS_U9C>().CreateRcvBySrcASN(iInput); if (!result.IsSuccessed) { action.IsSuccessed = false; action.LocaleMsg = result.LocaleMsg; return action; } //根据接口返回收货单单号查询单据明细,并创建条码明细 var receipt = new BIZ_U9_RECEIPT(); throw new NotImplementedException(); //更新库存表信息 var items = Biz.Db.Queryable<WMS_ITEM>().Where(q => SqlFunc.Subqueryable<BIZ_U9_ASN_SN>().Where(s => s.SN == q.SN && s.ORDER_NO == order.ORDER_NO).Any()).ToList(); var historys = new List<WMS_ITEM_HIS>(); foreach (var item in items) { item.AUTH_ORG = CurSn.AUTH_ORG; item.STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(); item.TRANS_CODE = nameof(BIZ_U9_RECEIPT); item.TRANS_NO = receipt.ORDER_NO; item.TRANS_LINE = receipt.SnList.First(q => q.SN == item.SN).LINE_NO; item.SOURCE_CODE = item.TRANS_CODE; item.SOURCE_ORDER = item.TRANS_NO; item.SOURCE_LINE = item.TRANS_LINE; historys.Add(new WMS_ITEM_HIS(item, $"送货单[{order.ORDER_NO}]的条码[{item.SN}]生成收货单[{receipt.ORDER_NO}],待检验完成后可入库")); } //使用统一的事务DB对象 var db = GetCommitDB(); var dbTran = db.UseTran(() => { db.Insertable(receipt, UserCode).ExecuteCommand(); db.Insertable(receipt.Details, UserCode).ExecuteCommand(); db.Insertable(receipt.SnList, UserCode).ExecuteCommand(); }); if (dbTran.IsSuccess) { //action.LocaleMsg = Biz.L($"送货单[{0}]生成收货单[{1}]成功"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceipt.Success", order.ORDER_NO, receipt.ORDER_NO); } else { Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception"); //抛出异常 throw dbTran.ErrorException; } } catch (System.Exception ex) { //return action.CatchExceptionWithLog(ex, Biz.L("送货单[{0}]生成收货单异常")); return action.CatchExceptionWithLog(ex, Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceiptException", orderNo)); } return action; } #endregion /// <summary> /// 重置当前操作,有需要则重写此方法 /// </summary> public override void ResetScan() { base.ResetScan(); Command = null; Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs
@@ -27,6 +27,10 @@ /// </summary> public string SN { get; set; } /// <summary> /// 料号 /// </summary> public string ItemCode { get; set; } /// <summary> /// 当前操作需要提交的选项 /// </summary> public Dictionary<string, string> Options { get; set; } = new Dictionary<string, string>(); Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs
@@ -136,9 +136,9 @@ public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null */ [Navigate(NavigateType.OneToMany, nameof(BIZ_U9_ASN_DTL.ORDER_NO), nameof(ORDER_NO), "GHOST_ROW = 0")]//一对一 ClassAId是BIZ_U9_ASN类里面的外键ID字段 public BIZ_U9_ASN_DTL Details { get; set; } //注意禁止手动赋值,只能是null public List<BIZ_U9_ASN_DTL> Details { get; set; } //注意禁止手动赋值,只能是null [Navigate(NavigateType.OneToMany, nameof(BIZ_U9_ASN_SN.ORDER_NO), nameof(ORDER_NO), "GHOST_ROW = 0")]//一对一 ClassAId是BIZ_U9_ASN类里面的外键ID字段 public BIZ_U9_ASN_SN SnList { get; set; } //注意禁止手动赋值,只能是null public List<BIZ_U9_ASN_SN> SnList { get; set; } //注意禁止手动赋值,只能是null #endregion #region 枚举变量 Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN_DTL.cs
@@ -73,10 +73,15 @@ /// </summary> [DisplayName("退货数量")] public double QTY_RETURN { get; set; } /// <summary> /// 是否赠品(Y/N) /// </summary> [DisplayName("是否赠品(Y/N)")] /// <summary> /// 赠品数量 /// </summary> [DisplayName("赠品数量")] public double QTY_GIFT { get; set; } /// <summary> /// 是否赠品(Y/N) /// </summary> [DisplayName("是否赠品(Y/N)")] public string IS_GIFT { get; set; } /// <summary> /// 供应商编码 @@ -139,10 +144,14 @@ public string ITEM_NAME => ItemInfo?.ITEM_NAME; [SugarColumn(IsIgnore = true)] public string ITEM_DESC => ItemInfo?.ITEM_DESC; [SugarColumn(IsIgnore = true)] public double QTY_COUNTED { get; set; } = 0; [SugarColumn(IsIgnore = true)] public List<BIZ_U9_ASN_SN> SnList { get; set; } = new List<BIZ_U9_ASN_SN>(); #endregion #region 外键属性 /*例子 #region 外键属性 /*例子 //一对一外键导航 [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_ASN_DTL类里面的外键ID字段 public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN_SN.cs
@@ -7,138 +7,138 @@ namespace Tiger.Model { /// <summary> /// 实体:送货单(U9)条码明细 /// 实体:送货单(U9)条码明细 /// </summary> [Description("Primary:ID")] [DisplayName("送货单(U9)条码明细")] [DisplayName("送货单(U9)条码明细")] [Serializable] [SugarTable("BIZ_U9_ASN_SN")] public class BIZ_U9_ASN_SN : DbEntityWithAuth { #region 构造函数 #region 构造函数 /// <summary> /// 实体:送货单(U9)条码明细 /// 实体:送货单(U9)条码明细 /// </summary> public BIZ_U9_ASN_SN() {} #endregion #region 公共属性 #region 公共属性 /// <summary> /// 单据号 /// 单据号 /// </summary> [DisplayName("单据号")] [DisplayName("单据号")] public string ORDER_NO { get; set; } /// <summary> /// 单据行号 /// 单据行号 /// </summary> [DisplayName("单据行号")] [DisplayName("单据行号")] public string LINE_NO { get; set; } /// <summary> /// 条码 /// 条码 /// </summary> [DisplayName("条码")] [DisplayName("条码")] public string SN { get; set; } /// <summary> /// 元条码 /// 元条码 /// </summary> [DisplayName("元条码")] [DisplayName("元条码")] public string META_SN { get; set; } /// <summary> /// 物料编码 /// 物料编码 /// </summary> [DisplayName("物料编码")] [DisplayName("物料编码")] public string ITEM_CODE { get; set; } /// <summary> /// ״̬(ͬWMS_ITEM״̬) /// 状态(同WMS_ITEM状态) /// </summary> [DisplayName("״̬(ͬWMS_ITEM״̬)")] [DisplayName("状态(同WMS_ITEM状态)")] public int STATUS { get; set; } /// <summary> /// 数量 /// 数量 /// </summary> [DisplayName("数量")] [DisplayName("数量")] public double QTY { get; set; } /// <summary> /// 单位 /// 单位 /// </summary> [DisplayName("单位")] [DisplayName("单位")] public string UNIT { get; set; } /// <summary> /// 是否赠品(Y/N) /// 是否赠品(Y/N) /// </summary> [DisplayName("是否赠品(Y/N)")] [DisplayName("是否赠品(Y/N)")] public string IS_GIFT { get; set; } /// <summary> /// 是否良品(Y/N) /// 是否良品(Y/N) /// </summary> [DisplayName("是否良品(Y/N)")] [DisplayName("是否良品(Y/N)")] public string IS_OK { get; set; } /// <summary> /// 是否入库(Y/N) /// 是否入库(Y/N) /// </summary> [DisplayName("是否入库(Y/N)")] [DisplayName("是否入库(Y/N)")] public string IS_IN { get; set; } /// <summary> /// 是否退货(Y/N) /// 是否退货(Y/N) /// </summary> [DisplayName("是否退货(Y/N)")] [DisplayName("是否退货(Y/N)")] public string IS_RETURN { get; set; } /// <summary> /// 批次号 /// 批次号 /// </summary> [DisplayName("批次号")] [DisplayName("批次号")] public string LOTNO { get; set; } /// <summary> /// 箱号 /// 箱号 /// </summary> [DisplayName("箱号")] [DisplayName("箱号")] public string CARTON_NO { get; set; } /// <summary> /// 栈板号 /// 栈板号 /// </summary> [DisplayName("栈板号")] [DisplayName("栈板号")] public string PALLET_NO { get; set; } /// <summary> /// 备注 /// 备注 /// </summary> [DisplayName("备注")] [DisplayName("备注")] public string REMARK { get; set; } #endregion #region 虚拟属性 /*例子 #region 虚拟属性 /*例子 [SugarColumn(IsIgnore = true)] public string FieldName { get; set; } */ #endregion #region 外键属性 /*例子 //一对一外键导航 [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_ASN_SN类里面的外键ID字段 public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null //一对多外键导航 [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_ASN_SNId))]//ClassA表中的BIZ_U9_ASN_SNId public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null //多对多外键导航 [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_ASN_SNId), nameof(MappingClass.ClassAId))]//注意顺序 public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null #region 外键属性 /*例子 //一对一外键导航 [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_ASN_SN类里面的外键ID字段 public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null //一对多外键导航 [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_ASN_SNId))]//ClassA表中的BIZ_U9_ASN_SNId public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null //多对多外键导航 [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_ASN_SNId), nameof(MappingClass.ClassAId))]//注意顺序 public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null */ #endregion #region 枚举变量 /*例子 #region 枚举变量 /*例子 public enum FieldNames { [Description("枚举描述0")] [Description("枚举描述0")] Enum0, [Description("枚举描述1")] [Description("枚举描述1")] Enum1, } */ #endregion #region 公共方法 #region 公共方法 #endregion Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT.cs
@@ -7,153 +7,157 @@ namespace Tiger.Model { /// <summary> /// 实体:收货单(U9) /// 实体:收货单(U9) /// </summary> [Description("Primary:ID")] [DisplayName("收货单(U9)")] [DisplayName("收货单(U9)")] [Serializable] [SugarTable("BIZ_U9_RECEIPT")] public class BIZ_U9_RECEIPT : DbEntityWithAuth { #region 构造函数 #region 构造函数 /// <summary> /// 实体:收货单(U9) /// 实体:收货单(U9) /// </summary> public BIZ_U9_RECEIPT() {} #endregion #region 公共属性 #region 公共属性 /// <summary> /// 单据号 /// 单据号 /// </summary> [DisplayName("单据号")] [DisplayName("单据号")] public string ORDER_NO { get; set; } /// <summary> /// 状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废) /// 状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废) /// </summary> [DisplayName("状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废)")] [DisplayName("状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废)")] public int STATUS { get; set; } /// <summary> /// 供应商编码 /// 供应商编码 /// </summary> [DisplayName("供应商编码")] [DisplayName("供应商编码")] public string SUPP_CODE { get; set; } /// <summary> /// 供应商名称 /// 供应商名称 /// </summary> [DisplayName("供应商名称")] [DisplayName("供应商名称")] public string SUPP_NAME { get; set; } /// <summary> /// 单据日期 /// 单据日期 /// </summary> [DisplayName("单据日期")] [DisplayName("单据日期")] public DateTime ORDER_DATE { get; set; } = DateTime.MinValue; /// <summary> /// 收货人 /// 收货人 /// </summary> [DisplayName("收货人")] [DisplayName("收货人")] public string RECEIVER { get; set; } /// <summary> /// 收货日期 /// 收货日期 /// </summary> [DisplayName("收货日期")] [DisplayName("收货日期")] public DateTime RECEIVE_DATE { get; set; } = DateTime.MinValue; /// <summary> /// 送货单ID /// 送货单ID /// </summary> [DisplayName("送货单ID")] [DisplayName("送货单ID")] public string ASN_ID { get; set; } /// <summary> /// 送货单号 /// 送货单号 /// </summary> [DisplayName("送货单号")] [DisplayName("送货单号")] public string ASN_NO { get; set; } /// <summary> /// 备注 /// 备注 /// </summary> [DisplayName("备注")] [DisplayName("备注")] public string REMARK { get; set; } /// <summary> /// -1:未处理,0:同步处理完,>0:同步处理失败次数 /// -1:未处理,0:同步处理完,>0:同步处理失败次数 /// </summary> [DisplayName("-1:未处理,0:同步处理完,>0:同步处理失败次数")] [DisplayName("-1:未处理,0:同步处理完,>0:同步处理失败次数")] public int HANDLED { get; set; } = -1; /// <summary> /// 最后一次同步处理日期 /// 最后一次同步处理日期 /// </summary> [DisplayName("最后一次同步处理日期")] [DisplayName("最后一次同步处理日期")] public DateTime HANDLED_DATE { get; set; } = DateTime.MinValue; /// <summary> /// 过账提交的JSON /// 过账提交的JSON /// </summary> [DisplayName("过账提交的JSON")] [DisplayName("过账提交的JSON")] public string COMMIT_JSON { get; set; } /// <summary> /// 过账提交的返回信息 /// 过账提交的返回信息 /// </summary> [DisplayName("过账提交的返回信息")] [DisplayName("过账提交的返回信息")] public string COMMIT_MSG { get; set; } #endregion #endregion #region 虚拟属性 /*例子 #region 虚拟属性 /*例子 [SugarColumn(IsIgnore = true)] public string FieldName { get; set; } */ #endregion #endregion #region 外键属性 /*例子 //一对一外键导航 [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_RECEIPT类里面的外键ID字段 public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null //一对多外键导航 [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_RECEIPTId))]//ClassA表中的BIZ_U9_RECEIPTId public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null //多对多外键导航 [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_RECEIPTId), nameof(MappingClass.ClassAId))]//注意顺序 public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null #region 外键属性 /*例子 //一对一外键导航 [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_RECEIPT类里面的外键ID字段 public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null //一对多外键导航 [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_RECEIPTId))]//ClassA表中的BIZ_U9_RECEIPTId public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null //多对多外键导航 [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_RECEIPTId), nameof(MappingClass.ClassAId))]//注意顺序 public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null */ #endregion [Navigate(NavigateType.OneToMany, nameof(BIZ_U9_RECEIPT_DTL.ORDER_NO), nameof(ORDER_NO), "GHOST_ROW = 0")]//一对一 ClassAId是BIZ_U9_RECEIPT类里面的外键ID字段 public List<BIZ_U9_RECEIPT_DTL> Details { get; set; } //注意禁止手动赋值,只能是null [Navigate(NavigateType.OneToMany, nameof(BIZ_U9_RECEIPT_SN.ORDER_NO), nameof(ORDER_NO), "GHOST_ROW = 0")]//一对一 ClassAId是BIZ_U9_RECEIPT类里面的外键ID字段 public List<BIZ_U9_RECEIPT_SN> SnList { get; set; } //注意禁止手动赋值,只能是null #endregion #region 枚举变量 /*例子 #region 枚举变量 /*例子 public enum FieldNames { [Description("枚举描述0")] [Description("枚举描述0")] Enum0, [Description("枚举描述1")] [Description("枚举描述1")] Enum1, } */ /// <summary> /// 枚举:状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废) /// </summary> public enum STATUSs /// <summary> /// 枚举:状态(0Init初始化|1Imported已导入|2Arrived已送达|3Counting清点中|4InQC检验中|5Storing上架中|6Review待审核|7Finished已完成|8Cancel已作废) /// </summary> public enum STATUSs { [Description("初始化")] [Description("初始化")] Init = 0, [Description("已导入")] [Description("已导入")] Imported = 1, [Description("已送达")] [Description("已送达")] Arrived = 2, [Description("清点中")] [Description("清点中")] Counting = 3, [Description("检验中")] [Description("检验中")] InQC = 4, [Description("上架中")] [Description("上架中")] Storing = 5, [Description("待审核")] [Description("待审核")] Review = 6, [Description("已完成")] [Description("已完成")] Finished = 7, [Description("已作废")] [Description("已作废")] Cancel = 8, } #endregion #region 公共方法 #region 公共方法 #endregion