From e8b85fc05a04b4d7cf2322e25a884117800a47d9 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Wed, 7 May 2025 16:15:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=A5=E5=BA=93=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BAsqlsugar=EF=BC=8C=E5=B9=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WmsInbound/WmsInboundOrderDtblApp.cs | 32 ++--- .../WmsInbound/WmsInboundOrderTblApp.cs | 122 ++++++++++-------- 2 files changed, 78 insertions(+), 76 deletions(-) diff --git a/OpenAuth.App/WmsInbound/WmsInboundOrderDtblApp.cs b/OpenAuth.App/WmsInbound/WmsInboundOrderDtblApp.cs index 997fa766..9409aeb8 100644 --- a/OpenAuth.App/WmsInbound/WmsInboundOrderDtblApp.cs +++ b/OpenAuth.App/WmsInbound/WmsInboundOrderDtblApp.cs @@ -9,15 +9,12 @@ using OpenAuth.App.Response; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using OpenAuth.Repository.Interface; - +using SqlSugar; namespace OpenAuth.App { - public class WmsInboundOrderDtblApp : BaseStringApp + public class WmsInboundOrderDtblApp : SqlSugarBaseApp { - private RevelanceManagerApp _revelanceApp; - private DbExtension _dbExtension; - /// /// 加载列表 /// @@ -29,19 +26,19 @@ namespace OpenAuth.App { throw new CommonException("登录已过期", Define.INVALID_TOKEN); } - + var properties = loginContext.GetTableColumns("WmsInboundOrderDtbl"); if (properties == null || properties.Count == 0) { throw new Exception("请在代码生成界面配置WmsInboundOrderDtbl表的字段属性"); } var result = new TableData(); - var objs = UnitWork.Find(null); + var objs = SugarClient.Queryable(); if (!string.IsNullOrEmpty(request.InboundOrderId)) { objs = objs.Where(u => u.OrderId == request.InboundOrderId); } - + if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.GoodsId.Contains(request.key)); @@ -51,7 +48,7 @@ namespace OpenAuth.App result.columnFields = properties; result.data = objs.OrderBy(u => u.Id) .Skip((request.page - 1) * request.limit) - .Take(request.limit).Select($"new ({propertyStr})"); + .Take(request.limit).Select($"{propertyStr}").ToList(); result.count = await objs.CountAsync(); return result; } @@ -59,9 +56,9 @@ namespace OpenAuth.App public void Add(AddOrUpdateWmsInboundOrderDtblReq req) { AddNoSave(req); - UnitWork.Save(); + SugarClient.Ado.CommitTran(); } - + public void AddNoSave(AddOrUpdateWmsInboundOrderDtblReq req) { var obj = req.MapTo(); @@ -70,13 +67,13 @@ namespace OpenAuth.App var user = _auth.GetCurrentUser().User; obj.CreateUserId = user.Id; obj.CreateUserName = user.Name; - UnitWork.Add(obj); + SugarClient.Insertable(obj); } - public void Update(AddOrUpdateWmsInboundOrderDtblReq obj) + public void Update(AddOrUpdateWmsInboundOrderDtblReq obj) { var user = _auth.GetCurrentUser().User; - UnitWork.Update(u => u.Id == obj.Id, u => new WmsInboundOrderDtbl + Repository.Update(u => new WmsInboundOrderDtbl { Price = obj.Price, PriceNoTax = obj.PriceNoTax, @@ -98,15 +95,12 @@ namespace OpenAuth.App UpdateUserId = user.Id, UpdateUserName = user.Name //todo:补充或调整自己需要的字段 - }); + }, u => u.Id == obj.Id); } - public WmsInboundOrderDtblApp(IUnitWork unitWork, IRepository repository, - RevelanceManagerApp app, IAuth auth, DbExtension dbExtension) : base(unitWork, repository,auth) + public WmsInboundOrderDtblApp(ISqlSugarClient client, IAuth auth) : base(client, auth) { - _dbExtension = dbExtension; - _revelanceApp = app; } } } \ No newline at end of file diff --git a/OpenAuth.App/WmsInbound/WmsInboundOrderTblApp.cs b/OpenAuth.App/WmsInbound/WmsInboundOrderTblApp.cs index 5cf6030d..1e61c12c 100644 --- a/OpenAuth.App/WmsInbound/WmsInboundOrderTblApp.cs +++ b/OpenAuth.App/WmsInbound/WmsInboundOrderTblApp.cs @@ -9,11 +9,12 @@ using OpenAuth.App.Response; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class WmsInboundOrderTblApp : BaseStringApp + public class WmsInboundOrderTblApp : SqlSugarBaseApp { private RevelanceManagerApp _revelanceApp; private WmsInboundOrderDtblApp _wmsInboundOrderDtblApp; @@ -29,26 +30,32 @@ namespace OpenAuth.App throw new CommonException("登录已过期", Define.INVALID_TOKEN); } - + var columns = loginContext.GetTableColumns("WmsInboundOrderTbl"); if (columns == null || columns.Count == 0) { throw new Exception("请在代码生成界面配置WmsInboundOrderTbl表的字段属性"); } - + var result = new TableData(); - + result.columnFields = columns; - + var objs = GetDataPrivilege("u"); if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.Id.Contains(request.key)); } + + if (!string.IsNullOrEmpty(request.sqlWhere)) + { + objs = objs.Where(request.sqlWhere); + } + var propertyStr = string.Join(',', columns.Select(u => u.ColumnName)); result.data = objs.OrderBy(u => u.Id) .Skip((request.page - 1) * request.limit) - .Take(request.limit).Select($"new ({propertyStr})"); + .Take(request.limit).Select($"{propertyStr}").ToList(); result.count = await objs.CountAsync(); return result; } @@ -61,7 +68,8 @@ namespace OpenAuth.App var user = _auth.GetCurrentUser().User; obj.CreateUserId = user.Id; obj.CreateUserName = user.Name; - UnitWork.Add(obj); + SugarClient.Ado.BeginTran(); + SugarClient.Insertable(obj); if (req.WmsInboundOrderDtblReqs != null && req.WmsInboundOrderDtblReqs.Any()) { foreach (var detail in req.WmsInboundOrderDtblReqs) @@ -71,70 +79,70 @@ namespace OpenAuth.App } } - UnitWork.Save(); + SugarClient.Ado.CommitTran(); } public void Update(AddOrUpdateWmsInboundOrderTblReq obj) { var user = _auth.GetCurrentUser().User; - UnitWork.ExecuteWithTransaction(() => + SugarClient.Ado.BeginTran(); + + + if (obj.WmsInboundOrderDtblReqs != null && obj.WmsInboundOrderDtblReqs.Any()) { - if (obj.WmsInboundOrderDtblReqs != null && obj.WmsInboundOrderDtblReqs.Any()) + //id为空的添加 + foreach (var detail in obj.WmsInboundOrderDtblReqs.Where(u => string.IsNullOrEmpty(u.Id))) { - //id为空的添加 - foreach (var detail in obj.WmsInboundOrderDtblReqs.Where(u => string.IsNullOrEmpty(u.Id))) - { - detail.OrderId = obj.Id; - _wmsInboundOrderDtblApp.AddNoSave(detail); - } - - //id比数据库少的,删除 - var containids = obj.WmsInboundOrderDtblReqs.Select(u => u.Id) - .Where(u => !string.IsNullOrEmpty(u)).ToList(); - if (containids.Any()) - { - UnitWork.Delete(u => (!containids.Contains(u.Id)) && u.OrderId == obj.Id); - } - - //更新id相同的 - foreach (var detail in obj.WmsInboundOrderDtblReqs.Where(u => !string.IsNullOrEmpty(u.Id))) - { - _wmsInboundOrderDtblApp.Update(detail); - } + detail.OrderId = obj.Id; + _wmsInboundOrderDtblApp.AddNoSave(detail); } - UnitWork.Update(u => u.Id == obj.Id, u => new WmsInboundOrderTbl + //id比数据库少的,删除 + var containids = obj.WmsInboundOrderDtblReqs.Select(u => u.Id) + .Where(u => !string.IsNullOrEmpty(u)).ToList(); + if (containids.Any()) { - ExternalNo = obj.ExternalNo, - ExternalType = obj.ExternalType, - Status = obj.Status, - OrderType = obj.OrderType, - GoodsType = obj.GoodsType, - PurchaseNo = obj.PurchaseNo, - StockId = obj.StockId, - OwnerId = obj.OwnerId, - ShipperId = obj.ShipperId, - SupplierId = obj.SupplierId, - ScheduledInboundTime = obj.ScheduledInboundTime, - Remark = obj.Remark, - Enable = obj.Enable, - TransferType = obj.TransferType, - InBondedArea = obj.InBondedArea, - ReturnBoxNum = obj.ReturnBoxNum, - UpdateTime = DateTime.Now, - UpdateUserId = user.Id, - UpdateUserName = user.Name - //todo:补充或调整自己需要的字段 - }); + SugarClient.Deleteable(u => (!containids.Contains(u.Id)) && u.OrderId == obj.Id); + } + + //更新id相同的 + foreach (var detail in obj.WmsInboundOrderDtblReqs.Where(u => !string.IsNullOrEmpty(u.Id))) + { + _wmsInboundOrderDtblApp.Update(detail); + } + } + + Repository.Update(u => new WmsInboundOrderTbl + { + ExternalNo = obj.ExternalNo, + ExternalType = obj.ExternalType, + Status = obj.Status, + OrderType = obj.OrderType, + GoodsType = obj.GoodsType, + PurchaseNo = obj.PurchaseNo, + StockId = obj.StockId, + OwnerId = obj.OwnerId, + ShipperId = obj.ShipperId, + SupplierId = obj.SupplierId, + ScheduledInboundTime = obj.ScheduledInboundTime, + Remark = obj.Remark, + Enable = obj.Enable, + TransferType = obj.TransferType, + InBondedArea = obj.InBondedArea, + ReturnBoxNum = obj.ReturnBoxNum, + UpdateTime = DateTime.Now, + UpdateUserId = user.Id, + UpdateUserName = user.Name + //todo:补充或调整自己需要的字段 + }, u => u.Id == obj.Id); + + SugarClient.Ado.CommitTran(); - UnitWork.Save(); - }); } - public WmsInboundOrderTblApp(IUnitWork unitWork, IRepository repository, - RevelanceManagerApp app, IAuth auth, WmsInboundOrderDtblApp wmsInboundOrderDtblApp) : base(unitWork, - repository, auth) + public WmsInboundOrderTblApp(ISqlSugarClient client, IAuth auth, + RevelanceManagerApp app, WmsInboundOrderDtblApp wmsInboundOrderDtblApp) : base(client, auth) { _revelanceApp = app; _wmsInboundOrderDtblApp = wmsInboundOrderDtblApp;