From f2d9adf4e26b1173a51387ad203a33cf617454a0 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 25 九月 2024 18:39:34 +0800 Subject: [PATCH] 获取工单批次的数量汇总 --- Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | 33 +++++++++++++++++++++++++++++---- 1 files changed, 29 insertions(+), 4 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs index dfdfed4..b225414 100644 --- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs @@ -14,6 +14,8 @@ using Tiger.Model.Entitys.MES.BizMesWoBatch; using Tiger.Model.Entitys.MES.BizMesWo; using Tiger.Model.Entitys.MES.Position; +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Drawing.Printing; namespace Tiger.Business.MES { @@ -312,13 +314,36 @@ result.LocaleMsg = new($"宸ュ崟鍙蜂笉鑳戒负绌猴紒"); return result; } - query.page = await Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(q=>q.WORK_ORDER.Equals(input.WorkOrder) && q.LABEL_ID.Equals(input.LabelId)).ToPageAsync(input.pageIndex, input.pageSize); - query.Items = query.page.data; + var labeltemp = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE.Equals(input.LabelId) || q.ID.Equals(input.LabelId)).First(); + if (labeltemp == null) { + result.IsSuccessed = false; + result.LocaleMsg = new($"妯℃澘涓嶅瓨鍦紒"); + return result; + } + var lableVars = await Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(q => SqlFunc.IsNullOrEmpty(q.WORK_ORDER) && q.LABEL_ID.Equals(labeltemp.ID)).ToListAsync(); + var queryable = Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(q => q.WORK_ORDER.Equals(input.WorkOrder) && q.LABEL_ID.Equals(labeltemp.ID)); + query.page = await queryable.ToPageAsync(input.pageIndex, input.pageSize); //濡傛灉涓嶅瓨鍦紝鍒欒繑鍥炲垵濮嬫暟鎹� - if (query.page.totals == 0) { - query.page = await Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(q => SqlFunc.IsNullOrEmpty(q.WORK_ORDER) && q.LABEL_ID.Equals(input.LabelId)).ToPageAsync(input.pageIndex, input.pageSize); + if (query.page.totals == 0) + { + query.page = await Biz.Db.Queryable<BAS_LABEL_VAR_WO>().Where(q => SqlFunc.IsNullOrEmpty(q.WORK_ORDER) && q.LABEL_ID.Equals(labeltemp.ID)).ToPageAsync(input.pageIndex, input.pageSize); query.Items = query.page.data; } + //濡傛灉鍒濆鍙橀噺鏁板ぇ浜庡伐鍗曡缃殑鍙橀噺鏁� + if (lableVars.Count > query.page.totals) + { + foreach (var item in lableVars) + { + if (queryable.ToList().Any(q => q.VAR_NAME == item.VAR_NAME)) + { + item.WORK_ORDER = input.WorkOrder; + item.VAR_VALUE = queryable.ToList().Where(q => q.VAR_NAME == item.VAR_NAME).First()?.VAR_VALUE; + } + } + query.Items = lableVars.Skip((input.pageIndex - 1) * input.pageSize).Take(input.pageSize).ToList(); + query.page.totals = lableVars.Count; + query.page.data = query.Items; + } result.Data = query; } catch (Exception ex) -- Gitblit v1.9.3