From fad7e978d4ef2dd48e1d4eba86487ad305422bb0 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Wed, 26 Jun 2024 15:51:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E7=82=B9=E6=A3=80=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Service/MES/dev/DeviceInspectService.cs | 65 +++++++++++++--------- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/ZR.Service/MES/dev/DeviceInspectService.cs b/ZR.Service/MES/dev/DeviceInspectService.cs index 798d068..5a38238 100644 --- a/ZR.Service/MES/dev/DeviceInspectService.cs +++ b/ZR.Service/MES/dev/DeviceInspectService.cs @@ -48,25 +48,38 @@ namespace ZR.Service.MES.dev /// public PagedInfo GetList2(DeviceInspectQueryDto2 parm) { + // 获取未绑定 + if (parm.Isbind == 0) + { + int[] binded = Context.Queryable() + .Where(it => it.FkAccountId == parm.FkAccountId) + .Select(it => it.FkInspectId.Value).ToArray(); - var predicate = Expressionable.Create(); + var exp = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Name),it=>it.Name.Contains(parm.Name)); + return Context.Queryable() + .Where(it => !binded.Contains(it.Id)) + .Where(exp.ToExpression()) + .ToPage(parm); - predicate - .AndIF(!string.IsNullOrEmpty(parm.Name), (r, i) => i.Name.Contains(parm.Name)) - .And((r, i) => i.Status == 1) - .AndIF(parm.Isbind == 1, (r, i) => r.FkAccountId == parm.FkAccountId) - .AndIF(parm.Isbind == 0, (r, i) => r.FkAccountId != parm.FkAccountId||r.FkInspectId==null); - ISugarQueryable query = Context.Queryable() - .RightJoin((r, i) => r.FkInspectId == i.Id) - .Where(predicate.ToExpression()) - .OrderBy((r, i)=>r.Sort) - .Select((r, i) => i); + } + else if (parm.Isbind == 1) + { + + var exp = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Name), (r, i) => i.Name.Contains(parm.Name)); + // 获取绑定 + return Context.Queryable() + .RightJoin((r, i) => r.FkInspectId == i.Id) + .Where((r, i) => r.FkAccountId == parm.FkAccountId) + .Where(exp.ToExpression()) + .OrderBy((r, i) => r.Sort) + .Select((r, i) => i).ToPage(parm); + } + return null; - - var response = query.ToPage(parm); - return response; } @@ -92,7 +105,7 @@ namespace ZR.Service.MES.dev /// public DeviceInspect AddDeviceInspect(DeviceInspect model) { - + return Context.Insertable(model).ExecuteReturnEntity(); } @@ -125,25 +138,25 @@ namespace ZR.Service.MES.dev /// /// /// - public int AddBindrelative(DeviceInspectQueryDto3 parm,string name) + public int AddBindrelative(DeviceInspectQueryDto3 parm, string name) { int result = 0; - List rel_account_inspect_list=new List (); - - if(parm.inspect_ids != null&& parm.inspect_ids.Count() > 0) + List rel_account_inspect_list = new List(); + + if (parm.inspect_ids != null && parm.inspect_ids.Count() > 0) { - foreach(var id in parm.inspect_ids) + foreach (var id in parm.inspect_ids) { DeviceRelAccountInspect inspect = new DeviceRelAccountInspect(); inspect.FkAccountId = parm.account_id; inspect.FkInspectId = id; inspect.CreatedBy = name; - inspect.CreatedTime= DateTime.Now; + inspect.CreatedTime = DateTime.Now; inspect.Sort = 1; rel_account_inspect_list.Add(inspect); } - result= Context.Insertable(rel_account_inspect_list).ExecuteCommand(); + result = Context.Insertable(rel_account_inspect_list).ExecuteCommand(); } @@ -155,16 +168,16 @@ namespace ZR.Service.MES.dev /// /// /// - - public int RemoveBindrelative(int account_id,int inspect_id) + + public int RemoveBindrelative(int account_id, int inspect_id) { - return Context.Deleteable().Where(it => it.FkAccountId == account_id).Where(it => it.FkInspectId == inspect_id).ExecuteCommand(); + return Context.Deleteable().Where(it => it.FkAccountId == account_id).Where(it => it.FkInspectId == inspect_id).ExecuteCommand(); } public int SortBindrelative(List parm) { - return Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); + return Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); }