From 422ca5b2fb6f9270ae0067a1c0dc9a02b84b9d67 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 19 三月 2025 01:19:39 +0800 Subject: [PATCH] 优化了一些已知问题 --- Tiger.Business.MES/BIZ/BizBasRule.cs | 65 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 25 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BizBasRule.cs b/Tiger.Business.MES/BIZ/BizBasRule.cs index 3306307..d93d1ed 100644 --- a/Tiger.Business.MES/BIZ/BizBasRule.cs +++ b/Tiger.Business.MES/BIZ/BizBasRule.cs @@ -14,6 +14,7 @@ using Tiger.Model.Entitys.MES.BizMesWoBatch; using Tiger.Model.Entitys.MES.BizMesWo; using Tiger.Model.Entitys.MES.BizBasPkgRule; +using Tiger.Model.Entitys.MES.Position; namespace Tiger.Business.MES { @@ -29,18 +30,17 @@ var result = new ApiAction(); try { - if (input.ItemCusts == null || input.ItemCusts.Count == 0) - { - - result.IsSuccessed = false; - result.LocaleMsg = new($"淇濆瓨鐗╂枡鏉$爜瑙勫垯鍑洪敊锛屾病鏈夋暟鎹紶鍏�"); - return result; - } var ItemCustIds = input.ItemCusts.Select(q => q.ID).ToList(); - List<BAS_ITEM_CUST> list = await Biz.Db.Queryable<BAS_ITEM_CUST>().Where(q => !SqlFunc.ContainsArray(ItemCustIds, q.ID) && input.ItemCusts[0].ITEM_ID == q.ITEM_ID).ToListAsync(); + List<BAS_ITEM_CUST> list = ItemCustIds.Count>0? await Biz.Db.Queryable<BAS_ITEM_CUST>() + .Where(q => !SqlFunc.ContainsArray(ItemCustIds, q.ID) && input.ItemCusts[0].ITEM_ID == q.ITEM_ID) + .ToListAsync() : new(); var db = Biz.Db; var dbTran = db.UseTran(() => { + if (input.Item != null) + { + db.Updateable(input.Item).UpdateColumns(q => q.RULE_CODE).ExecuteCommand(); + } var z = db.Storageable(input.ItemCusts) .WhereColumns(t => new { t.ID, t.GHOST_ROW }) .ToStorage(); @@ -72,27 +72,17 @@ var result = new ApiAction(); try { - if (input.PkgProd == null || input.PkgProd.Count == 0) - { - - result.IsSuccessed = false; - result.LocaleMsg = new($"淇濆瓨鍖呰瑙勫垯鍑洪敊锛屾病鏈夋暟鎹紶鍏�"); - return result; - } var pkgProds = input.PkgProd.Select(q => q.ID).ToList(); - List<BAS_PKG_PROD> listPrd = await Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID) && q.PKG_RULE_ID == input.PkgProd[0].PKG_RULE_ID).ToListAsync(); + List<BAS_PKG_PROD> listPrd = pkgProds.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_PROD>() + .Where(q => !SqlFunc.ContainsArray(pkgProds, q.ID) && q.PKG_RULE_ID == input.PkgProd[0].PKG_RULE_ID) + .ToListAsync() : new(); + var pkgDtl = input.PkgDtl.Select(q => q.ID).ToList(); + List<BAS_PKG_DTL> listDtl = pkgDtl.Count > 0 ? await Biz.Db.Queryable<BAS_PKG_DTL>() + .Where(q => !SqlFunc.ContainsArray(pkgDtl, q.ID) && q.PKG_RULE_ID == input.PkgDtl[0].PKG_RULE_ID) + .ToListAsync() : new(); var db = Biz.Db; var dbTran = db.UseTran(() => { - //if (input.PkgRule!=null) - //{ - // var y = db.Storageable(input.PkgRule) - // .WhereColumns(t => new { t.ID, t.GHOST_ROW }) - // .ToStorage(); - // y.AsInsertable.ExecuteCommand(); - // y.AsUpdateable.ExecuteCommand(); - //} - var z = db.Storageable(input.PkgDtl) .WhereColumns(t => new { t.ID, t.GHOST_ROW }) .ToStorage(); @@ -106,6 +96,7 @@ o.AsUpdateable.ExecuteCommand(); db.Deleteable(listPrd).ExecuteCommand(); + db.Deleteable(listDtl).ExecuteCommand(); }); if (!dbTran.IsSuccess) { @@ -119,5 +110,29 @@ } return result; } + + /// <summary> + /// 鑾峰彇绠卞彿 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<ApiAction> GetCardOrBoxCode(GetCodeInput input) + { + var result = new ApiAction(); + try + { + if (input.BatchNo.IsNullOrEmpty()) + { + result.IsSuccessed = false; + result.LocaleMsg = new($"宸ュ崟鎵规鍙蜂笉鑳戒负绌猴紝鏄惁鏈壂鎻忓伐鍗曪紵"); + } + result.Data = input.IsTry == "Y" ? Cache.CodeRule[input.Code]?.TryGenerate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? "" : Cache.CodeRule[input.Code]?.Generate(input.Prefix, $"{input.BatchNo}-{input.Qty}-").Data.ToString() ?? ""; + } + catch (Exception ex) + { + result.CatchExceptionWithLog(ex, "鑾峰彇绠卞彿寮傚父"); + } + return result; + } } } -- Gitblit v1.9.3