From 834eb24341e32855a731cfaa48851d3f0a650dc5 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期五, 20 十二月 2024 15:49:31 +0800 Subject: [PATCH] 重构Barcode到WMS Business --- Tiger.Business.MES/BIZ/BIZ_MES_WO.cs | 68 ++++++++++++++++++++++----------- 1 files changed, 45 insertions(+), 23 deletions(-) diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs index 9f85d43..11911d5 100644 --- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs +++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs @@ -182,18 +182,18 @@ { try { - //SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" }); - //pars[1].Direction = System.Data.ParameterDirection.Output; - //pars[2].Direction = System.Data.ParameterDirection.Output; - //Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars); - //if (pars[1].Value.ToInt32() == 0) - //{ - // Logger.Default.Info($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾夸腑锛寋pars[2].Value.ToString()}"); - //} - //else - //{ - // Logger.Default.Error($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾垮嚭閿欙紝{pars[2].Value.ToString()}"); - //} + SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" }); + pars[1].Direction = System.Data.ParameterDirection.Output; + pars[2].Direction = System.Data.ParameterDirection.Output; + Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars); + if (pars[1].Value.ToInt32() == 0) + { + Logger.Default.Info($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾夸腑锛寋pars[2].Value.ToString()}"); + } + else + { + Logger.Default.Error($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾垮嚭閿欙紝{pars[2].Value.ToString()}"); + } } catch (Exception ex) { @@ -292,6 +292,9 @@ _woBatch.CHANGE_USER = input.UserId; _woBatch.CHANGE_TIME = DateTime.Now; } + if (!Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WorkOrder && x.STATUS> BIZ_MES_WO_BATCH.STATUSs.Init.GetValue()).Any()) { + _wo.STATUS = BIZ_MES_WO.STATUSs.Init.GetValue(); + } } else { @@ -311,6 +314,10 @@ else { db.Updateable(_woBatch, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME, x.CHANGE_USER, x.CHANGE_TIME }).ExecuteCommand(); + } + if (!_wo.IsNullOrEmpty() && _wo.STATUS == BIZ_MES_WO.STATUSs.Init.GetValue()) + { + db.Updateable(_wo, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME }).ExecuteCommand(); } }); if (!dbTran.IsSuccess) @@ -710,7 +717,7 @@ result.LocaleMsg = new($"鏉$爜涓嶅瓨鍦紒"); return result; } - var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().FirstAsync(); + var wo = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == woSns[0].WORK_ORDER ).IncludesAllFirstLayer().IncludesAllSecondLayer(q => q._ItemInfos).FirstAsync(); if (wo == null) { result.IsSuccessed = false; @@ -724,20 +731,12 @@ ErpProdInBth= new() { WORK_ORDER = wo.ORDER_NO, BATCH_NO = woSns[0].BATCH_NO, - ITEM_CODE = wo.ITEM_CODE, - ITEM_NAME = wo.ItemInfo?.ITEM_DESC, - SCAN_QTY = woSns.Count - }, - ProdInBatch = new() - { - WORK_ORDER = wo.ORDER_NO, SALES_ORDER = wo.SALES_ORDER, - BATCH_NO = woSns[0].BATCH_NO, ITEM_CODE = wo.ITEM_CODE, ITEM_NAME = wo.ItemInfo?.ITEM_DESC, - PLAN_QTY = wo.PLAN_QTY, + SapCode = wo.ItemInfo?.ExtInfo?.SapCode, SCAN_QTY = woSns.Count, - STATUS = "N" //Y-宸茬敓鎴愶紝N-鏈敓鎴愶紝F-澶辫触 + IS_HANDLED = "N" //Y-宸茬敓鎴愶紝N-鏈敓鎴愶紝F-澶辫触 }, InStoreScanInfo = new() { SN = cartonSn, @@ -756,5 +755,28 @@ } return result; } + + #region 鎻愪氦鍓嶉�氱敤鏂规硶 + /// <summary> + /// 鎻愪氦鍓嶆鏌ユ槸鍚﹀矖浣嶃�佸伐鍗曞拰涓嶈壇浠g爜 + /// </summary> + /// <param name="code"></param> + /// <returns></returns> + public async Task<ApiAction<CheckCodeOutput>> CheckCode(string code) + { + var action = new ApiAction<CheckCodeOutput>($"妫�鏌ユ潯鐮亄code}鎴愬姛", new CheckCodeOutput()); + try + { + action.Data.Position = DbCache.Cache.Position[code]; + action.Data.WorkOrder = await Biz.Db.Queryable<BIZ_MES_WO>().Where(q => q.ORDER_NO == code).FirstAsync(); + action.Data.Defect = DbCache.Cache.Defect[code]; + } + catch (Exception ex) + { + action.CatchExceptionWithLog(ex, $"妫�鏌ユ潯鐮亄code}寮傚父"); + } + return action; + } + #endregion } } -- Gitblit v1.9.3