From 7e25ed322740ed337296a990bac67e95bc250ac0 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期四, 30 五月 2024 22:32:43 +0800 Subject: [PATCH] 移出萌妻的类,增加实体查询的api方法 --- Tiger.Business/MES/Biz.Route.cs | 136 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 122 insertions(+), 14 deletions(-) diff --git a/Tiger.Business/MES/Biz.Route.cs b/Tiger.Business/MES/Biz.Route.cs index 9a5f25b..5af0a87 100644 --- a/Tiger.Business/MES/Biz.Route.cs +++ b/Tiger.Business/MES/Biz.Route.cs @@ -10,7 +10,6 @@ using System.Linq; using Newtonsoft.Json; using Tiger.IBusiness; -using static Tiger.Business.Biz; using Microsoft.AspNetCore.Http; namespace Tiger.Business @@ -56,9 +55,15 @@ RouteData rotData = new RouteData(); try { + if (string.IsNullOrEmpty(routerId)) + { + res.IsSuccessed = false; + res.LocaleMsg = new($"浼犲叆鐨勫伐鑹鸿矾绾縄D涓虹┖锛屼笉鑳芥煡鎵惧伐鑹鸿矾绾匡紒"); + return res; + } //宸ヨ壓璺嚎 var route = await Db.Queryable<MES_ROUTE>() - .WhereIF(!string.IsNullOrEmpty(routerId), x => x.ROT_CODE.Equals(routerId)) + .WhereIF(!string.IsNullOrEmpty(routerId), x => x.ID.Equals(routerId)) .OrderBy(x => x.CREATE_TIME).FirstAsync(); rotData.route = route; //鑺傜偣 @@ -83,6 +88,28 @@ }; } rotData.nodes = nodes; + + var acts = await Db.Queryable<MES_ROUTE_NODE_ACT>() + .WhereIF(!string.IsNullOrEmpty(routerId), x => x.ROT_ID.Equals(routerId)) + .ToListAsync(); + foreach (var act in acts) + { + act.node = new() + { + id = act.ID, + type = act.GPH_TYPE, + x = act.GPH_X, + y = act.GPH_Y, + properties = act.GPH_PROP, + text = new() + { + x = act.GPH_X, + y = act.GPH_Y, + value = act.GPH_TEXT + } + }; + } + rotData.acts = acts; //杈� var edges = await Db.Queryable<MES_ROUTE_EDGE>() @@ -152,7 +179,7 @@ if (!dbTran.IsSuccess) { result.IsSuccessed = false; - result.Message = $"淇濆瓨杈规暟鎹紓甯�"; + result.LocaleMsg = new($"淇濆瓨杈规暟鎹紓甯�"); } } catch (Exception ex) @@ -184,7 +211,7 @@ if (!dbTran.IsSuccess) { result.IsSuccessed = false; - result.Message = $"淇濆瓨鑺傜偣鏁版嵁寮傚父"; + result.LocaleMsg = new($"淇濆瓨鑺傜偣鏁版嵁寮傚父"); } } catch (Exception ex) @@ -195,11 +222,11 @@ } /// <summary> - /// 淇濆瓨 + /// 淇濆瓨琛屼负 /// </summary> - /// <param name="router"></param> + /// <param name="routeAct"></param> /// <returns></returns> - public async Task<ApiAction> SaveRoute(MES_ROUTE router) + public async Task<ApiAction> SaveActs(List<MES_ROUTE_NODE_ACT> routeAct) { var result = new ApiAction(); try @@ -207,7 +234,46 @@ var db = Db; var dbTran = db.UseTran(() => { - var y = db.Storageable(router) + var y = db.Storageable(routeAct) + .WhereColumns(t => new { t.ID, t.GHOST_ROW }) + .ToStorage(); + y.AsInsertable.ExecuteCommand(); + y.AsUpdateable.ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"淇濆瓨琛屼负鏁版嵁寮傚父"); + } + } + catch (Exception ex) + { + result.CatchExceptionWithLog(ex, "淇濆瓨琛屼负鏁版嵁寮傚父"); + } + return await Task.FromResult(result); + } + + /// <summary> + /// 淇濆瓨 + /// </summary> + /// <param name="route"></param> + /// <returns></returns> + public async Task<ApiAction> SaveRoute(MES_ROUTE route) + { + var result = new ApiAction(); + try + { + var _route = Db.Queryable<MES_ROUTE>().Where(x=>x.ROT_CODE == route.ROT_CODE).First(); + if (_route!=null && Db.Queryable<MES_ROUTE_NODE>().Where(x=>x.ROT_ID == _route.ID).Any()) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"宸ヨ壓璺嚎宸茬粡鏈夎璁¤褰曪紝涓嶈兘淇濆瓨锛�"); + return result; + } + var db = Db; + var dbTran = db.UseTran(() => + { + var y = db.Storageable(route) .WhereColumns(t => new { t.ROT_CODE, t.GHOST_ROW }) .ToStorage(); y.AsInsertable.ExecuteCommand(); @@ -236,11 +302,6 @@ var result = new ApiAction(); try { - var actionNode = await SaveNodes(routeData.nodes); - if (!actionNode.IsSuccessed) { return actionNode; } - var actionEdge = await SaveEdges(routeData.edges); - if (!actionEdge.IsSuccessed) { return actionEdge; } - var db = Db; var dbTran = db.UseTran(() => { @@ -252,11 +313,26 @@ y.AsInsertable.ExecuteCommand(); y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); } + db.Deleteable<MES_ROUTE_NODE>(false).Where(x => x.ROT_ID == routeData.route.ID).ExecuteCommand(); + db.Deleteable<MES_ROUTE_EDGE>(false).Where(x => x.ROT_ID == routeData.route.ID).ExecuteCommand(); + db.Deleteable<MES_ROUTE_NODE_ACT>(false).Where(x=>x.ROT_ID == routeData.route.ID).ExecuteCommand(); + if (routeData.nodes != null) + { + db.Insertable(routeData.nodes).ExecuteCommand(); + } + if (routeData.edges != null) + { + db.Insertable(routeData.edges).ExecuteCommand(); + } + if (routeData.acts != null) + { + db.Insertable(routeData.acts).ExecuteCommand(); + } }); if (!dbTran.IsSuccess) { result.IsSuccessed = false; - result.Message = $"淇濆瓨宸ヨ壓璺嚎鍥惧舰鏁版嵁寮傚父"; + result.LocaleMsg = new($"淇濆瓨宸ヨ壓璺嚎鍥惧舰鏁版嵁寮傚父"); } } catch (Exception ex) @@ -265,6 +341,38 @@ } return await Task.FromResult(result); } + + /// <summary> + /// 鍒犻櫎宸ヨ壓璺嚎 + /// </summary> + /// <param name="routeId"></param> + /// <returns></returns> + public async Task<ApiAction> DeleteRoute(string routeId) { + var result = new ApiAction(); + try + { + //鏌ヨ鏄惁宸茬粡鏈夊伐鍗曞湪鐢ㄦ垨鑰呮湁缁戝畾浜у搧 + + var db = Db; + var dbTran = db.UseTran(() => + { + db.Deleteable<MES_ROUTE_NODE>(false).Where(x => x.ROT_ID == routeId).ExecuteCommand(); + db.Deleteable<MES_ROUTE_EDGE>(false).Where(x => x.ROT_ID == routeId).ExecuteCommand(); + db.Deleteable<MES_ROUTE_NODE_ACT>(false).Where(x => x.ROT_ID == routeId).ExecuteCommand(); + db.Deleteable<MES_ROUTE>().Where(x => x.ID == routeId).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"鍒犻櫎宸ヨ壓璺嚎寮傚父"); + } + } + catch (Exception ex) + { + result.CatchExceptionWithLog(ex, "鍒犻櫎宸ヨ壓璺嚎寮傚父"); + } + return await Task.FromResult(result); + } } } } -- Gitblit v1.9.3