From c52478f3cf56ed4087db19a9d4048e68b2bf24fc Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 17 七月 2024 11:06:12 +0800 Subject: [PATCH] 低代码实体增加字段 --- Tiger.Business.MES/BIZ_MES_WO.cs | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/Tiger.Business.MES/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ_MES_WO.cs index 2d18114..e32dbbd 100644 --- a/Tiger.Business.MES/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ_MES_WO.cs @@ -11,6 +11,7 @@ using Newtonsoft.Json; using Tiger.IBusiness; using Microsoft.AspNetCore.Http; +using Tiger.Model.Entitys.MES.BizMesWoBatch; namespace Tiger.Business.MES { @@ -90,5 +91,70 @@ } return await Task.FromResult(result); } + + /// <summary> + /// 涓嬪彂鏃朵繚瀛樻壒娆″伐鍗曚俊鎭� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<ApiAction> SaveMesBatchWo(SaveWoBatchInput input) + { + var result = new ApiAction(); + try + { + //淇濆瓨鍓嶇殑鍒ゆ柇,骞剁敓鎴愭壒娆″彿 + var _wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(x => x.ORDER_NO == input.Wo.ORDER_NO).FirstAsync(); + //if (_wo.STATUS > (int)BIZ_MES_WO.STATUSs.Init) + //{ + // result.IsSuccessed = false; + // result.LocaleMsg = new($"宸ュ崟涓嶆槸鍒濆鍖栫姸鎬侊紝涓嶈兘涓嬪彂锛�"); + // return result; + //} + if (_wo.STATUS > (int)BIZ_MES_WO.STATUSs.Working) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"宸ュ崟涓嶆槸鍒濆鍖栫姸鎬侊紝涓嶈兘涓嬪彂锛�"); + return result; + } + var batchs = await Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.Wo.ORDER_NO).ToListAsync(); + if (batchs.Count > 0 && batchs.Sum(x => x.PLAN_QTY) + input.WoBatch.PLAN_QTY > _wo.PLAN_QTY) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"宸ュ崟涓嬪彂鐨勬暟閲忚秴杩囧伐鍗曡鍒掓暟閲忥紝涓嶈兘涓嬪彂锛�"); + return result; + } + var _batchWos = await Biz.Db.Queryable<V_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WoBatch.ORDER_NO).ToListAsync(); + if (_batchWos.Count > 0) + { + input.WoBatch.BATCH_NO = $"{input.WoBatch.ORDER_NO}-{(_batchWos.Max(x => x.BATCH) + 1).ToString("D2")}"; + } + else + { + input.WoBatch.BATCH_NO = $"{input.WoBatch.ORDER_NO}-01"; + } + + var db = Biz.Db; + var dbTran = db.UseTran(() => + { + var y = db.Storageable(input.Wo) + .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW }) + .ToStorage(); + y.AsInsertable.ExecuteCommand(); + y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); + + db.Insertable(input.WoBatch).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"淇濆瓨鎵规宸ュ崟寮傚父"); + } + } + catch (Exception ex) + { + result.CatchExceptionWithLog(ex, "淇濆瓨鎵规宸ュ崟寮傚父"); + } + return result; + } } } -- Gitblit v1.9.3