From 52d1e37bb116c995b601728bfe81e3816c3944c9 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期五, 27 六月 2025 08:22:33 +0800 Subject: [PATCH] 1.携客云到货单主表新增单据类型字段 2.条码入库前拆分 --- service/Warehouse/MesBarCFManager.cs | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 insertions(+), 0 deletions(-) diff --git a/service/Warehouse/MesBarCFManager.cs b/service/Warehouse/MesBarCFManager.cs index b7e431b..4ef9d12 100644 --- a/service/Warehouse/MesBarCFManager.cs +++ b/service/Warehouse/MesBarCFManager.cs @@ -22,6 +22,27 @@ return barInfo; // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null } + public dynamic GetBarInfoBefore(WarehouseQuery unity) + { + + // 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆 + var sqlParams = new List<SugarParameter> { new("@barcode", unity.barcode) }; + + var sql1 = @"SELECT 1 FROM MES_INV_ITEM_STOCKS WHERE ITEM_BARCODE =@barcode "; + + var KcInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams); + + if(KcInfo.Count > 0) throw new Exception("璇ユ潯鐮佸凡鍏ュ簱涓嶈兘杩涜鍏ュ簱鍓嶆媶鍒嗭紒"); + + var sql2 = @"SELECT ITEM_ID,QUANTITY FROM MES_INV_ITEM_BARCODES WHERE ITEM_BARCODE =@barcode "; + + var barInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); + + if (barInfo is null) throw new Exception("璇ユ潯鐮佷俊鎭笉瀛樺湪锛�"); + + return barInfo; + } + public MesItems GetItemNo(decimal strItemId) { var itemInfo = Db.Queryable<MesItems>() @@ -100,4 +121,73 @@ } } } + + public ProductionPickDto BarCfBefore(WarehouseQuery unity) + { + var _strMsg = ""; + var _intSum = ""; + var _cfBar = "";//鎷嗗垎鍚庢潯鐮� + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + if (unity.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖"); + if (unity.CfNum <= 0) throw new Exception("鎷嗗垎鏁伴噺闇�澶т簬绛変簬0"); + if (unity.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�"); + + using (var cmd = new SqlCommand("[prc_pda_bar_cf_before]", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@outMsg", SqlDbType.NVarChar, 300), + new("@outSum", SqlDbType.NVarChar, 300), + new("@barcode_new", SqlDbType.NVarChar, 300), + new("@c_user", unity.userName), + new("@p_old_barcode", unity.barcode), + new("@p_qty", unity.CfNum), + + }; + parameters[0].Direction = ParameterDirection.Output; + parameters[1].Direction = ParameterDirection.Output; + parameters[2].Direction = ParameterDirection.Output; + + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + cmd.ExecuteNonQuery(); + _strMsg = parameters[0].Value.ToString(); + _intSum = parameters[1].Value.ToString(); + _cfBar = parameters[2].Value.ToString(); + + + var result = Convert.ToInt32(_intSum); + if (result <= 0) throw new Exception(_strMsg); + + var dto = new ProductionPickDto + { + barcode = unity.barcode,//鍘熸潯鐮� + cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮� + }; + return dto; + + //var result = Convert.ToInt32(_intSum); + //if (result <= 0) throw new Exception(_strMsg); + + //return _strMsg; + + //return 0; + + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + finally + { + conn.Close(); + } + } + } + } } \ No newline at end of file -- Gitblit v1.9.3