From 971e03ccbe5124d4761f56e71025453d1d4742bc Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 17 九月 2025 14:17:08 +0800 Subject: [PATCH] 111 --- service/Warehouse/MesCgthSqManager.cs | 171 +++++++++++++++++++++++++++++++------------------------- 1 files changed, 94 insertions(+), 77 deletions(-) diff --git a/service/Warehouse/MesCgthSqManager.cs b/service/Warehouse/MesCgthSqManager.cs index feadad4..3640c3b 100644 --- a/service/Warehouse/MesCgthSqManager.cs +++ b/service/Warehouse/MesCgthSqManager.cs @@ -5,55 +5,86 @@ using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.entity.Base; -using NewPdaSqlServer.util; using SqlSugar; +using static Microsoft.EntityFrameworkCore.DbLoggerCategory; namespace NewPdaSqlServer.service.Warehouse; public class MesCgthSqManager : Repository<MesCgthSq> { - public List<MesCgthSq> GetMesCgthSq() + public dynamic GetMesCgthSq(dynamic RequestInfo) { - return Db.Queryable<MesCgthSq>() - .Where(s => s.Status == true) - .OrderByDescending(s => s.CreateDate) - .ToList(); + var orgId = RequestInfo.OrgId; + + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); + + // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛� + var parameters = new[] + { + new SugarParameter("@pi_orgId", orgId), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null), + new SugarParameter("@inP4", null) + }; + try + { + // 杩斿洖鍗曞彿瀛楃涓插垪琛� + var blDetails = Db.Ado.SqlQuery<string>( + "EXEC prc_pda_cgth_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); + return blDetails; + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } } - public ProductionPickDto GetSumItem(WarehouseQuery query) + public dynamic GetSumItem(WarehouseQuery query, dynamic RequestInfo) { - if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖"); + if (string.IsNullOrEmpty(query.billNo)) + throw new Exception("璇烽�夊崟鎹彿锛�"); - var mesInvItemOuts = base.GetSingle(it => - it.BillNo == query.billNo && it.Status == true); - if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦ㄦ垨鏈鏍�"); + if (query == null) + throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull"); - var sql = string.Format( - @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty, - dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,A.depot_id,'','') as RecoKw -fROM MES_CGTH_SQ_DETAIL A - LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID - LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id -WHERE B.BILL_NO = '{0}'", query.billNo); + if (string.IsNullOrEmpty(query.billNo?.ToString())) + throw new ArgumentException("鍗曟嵁鍙蜂笉鑳戒负绌�", nameof(query.billNo)); - var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); + var orgId = RequestInfo.OrgId; - if (womdabs.Count < 1) throw new Exception("璇ラ噰璐��璐х敵璇峰崟鏄庣粏涓嶅瓨鍦�"); + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); - - var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); - - var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); - - var dto = new ProductionPickDto + // 鑾峰彇鏈畬鎴愮殑鍙戣揣閫氱煡鍗曟槑缁� + var parameters = new[] +{ + new SugarParameter("@billNo", query.billNo), + new SugarParameter("@pi_orgId",orgId), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null), + new SugarParameter("@inP4", null) + }; + try { - //daa001 = womdaa.Daa001, - //PlanNo = womcaa.Caa020, - items = DS_list, - Ysitems = YS_list - }; - - return dto; + List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>( + "EXEC prc_pda_cgth_detailList @billNo,@pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); + var items = blDetails.Where(x => x.DSQty > 0).ToList(); // 寰呮壂鐗╂枡 + var ysitems = blDetails.Where(x => x.SQty > 0).ToList(); // 宸叉壂鐗╂枡 + return new + { + items = items, + ysitems = ysitems, + allList = blDetails + }; + } + catch (Exception ex) + { + // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫 + throw new Exception($"{ex.Message}"); + } } public List<MesCgthSqDetail> GetItems(WarehouseQuery query) @@ -68,11 +99,11 @@ throw new ApplicationException("GUID杞崲閿欒"); // 濡傛灉杞崲澶辫触锛屽垯鎶涘嚭寮傚父 // 浣跨敤SqlSugar妗嗘灦鏌ヨMesInvItemOutItems鍜孧esItems琛紝鏍规嵁ItemId杩涜鍐呰繛鎺� - var mesInvItemOutItemsList = Db - .Queryable<MesCgthSqDetail, MesItems>((c, s) => new object[] - { - JoinType.Inner, c.ItemId == s.Id // 鍐呰繛鎺ユ潯浠� - }).Where((c, s) => c.Mid == parsedGuid) // 鏍规嵁ItemOutId杩囨护 + var mesInvItemOutItemsList = Db.Queryable<MesCgthSqDetail, MesItems>( + (c, s) => new object[] + { + JoinType.Inner, c.ItemId == s.Id // 鍐呰繛鎺ユ潯浠� + }).Where((c, s) => c.Mid == parsedGuid) // 鏍规嵁ItemOutId杩囨护 .Select<MesCgthSqDetail>((c, s) => new MesCgthSqDetail // 閫夋嫨骞舵槧灏勫埌MesInvItemOutItems瀵硅薄 { @@ -103,8 +134,7 @@ using (var conn = new SqlConnection(DbHelperSQL.strConn)) { if (query.userName.IsNullOrEmpty()) throw new Exception("鐢ㄦ埛鍚嶄笉鍏佽涓虹┖"); - if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�"); - if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�"); + if (query.billNo.IsNullOrEmpty()) throw new Exception("鐢宠鍗曞彿涓嶅厑璁镐负绌�"); if (query.barcode.IsNullOrEmpty()) throw new Exception("鏉$爜涓嶅厑璁镐负绌�"); using (var cmd = new SqlCommand("[prc_pda_CGTH]", conn)) { @@ -172,7 +202,7 @@ var _strMsg = ""; var _intSum = ""; - var _cfBar = ""; //鎷嗗垎鍚庢潯鐮� + var _cfBar = "";//鎷嗗垎鍚庢潯鐮� using (var conn = new SqlConnection(DbHelperSQL.strConn)) { using (var cmd = new SqlCommand("[prc_pda_CGTH_CF]", conn)) @@ -208,8 +238,8 @@ var dto = new ProductionPickDto { daa001 = query.billNo, - barcode = query.barcode, //鍘熸潯鐮� - cfBarcode = _cfBar //鎷嗗垎鍚庢潯鐮� + barcode = query.barcode,//鍘熸潯鐮� + cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮� }; return dto; @@ -228,7 +258,7 @@ /// <summary> - /// 閲囪喘鎵爜楠岄�� + /// 閲囪喘鎵爜楠岄�� /// </summary> /// <param name="query"></param> /// <returns></returns> @@ -237,8 +267,7 @@ /// <exception cref="Exception"></exception> public dynamic ScanCgyt(dynamic query) { - if (query == null) - throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); // 2. 浣跨敤 string.IsNullOrEmpty 鐩存帴鍒ゆ柇瀛楃涓插睘鎬э紙閬垮厤 NullReferenceException锛� if (string.IsNullOrEmpty(query.userName?.ToString())) @@ -254,16 +283,11 @@ cmd.CommandType = CommandType.StoredProcedure; var parameters = new SqlParameter[] { - new("@pi_user", SqlDbType.NVarChar, 100) - { Value = query.userName }, - new("@pi_barcode", SqlDbType.NVarChar, 100) - { Value = query.barcode }, - new("@po_outMsg", SqlDbType.NVarChar, 2000) - { Direction = ParameterDirection.Output }, - new("@po_outSum", SqlDbType.Int) - { Direction = ParameterDirection.Output }, - new("@po_ygdh", SqlDbType.NVarChar, 200) - { Direction = ParameterDirection.Output } + new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, + new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = query.barcode }, + new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }, + new("@po_ygdh", SqlDbType.NVarChar, 200) { Direction = ParameterDirection.Output } }; cmd.Parameters.AddRange(parameters); @@ -273,7 +297,7 @@ var result = new { result = parameters[3].Value.ToString(), - query.barcode, + barcode = query.barcode, ytdh = parameters[4].Value.ToString(), msg = parameters[2].Value.ToString() }; @@ -287,7 +311,7 @@ } /// <summary> - /// 鍒犻櫎楠岄��鍗� + /// 鍒犻櫎楠岄��鍗� /// </summary> /// <param name="query"></param> /// <returns></returns> @@ -296,8 +320,7 @@ /// <exception cref="Exception"></exception> public dynamic deleteCgyt(dynamic query) { - if (query == null) - throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + if (query == null) throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓� null"); // 2. 浣跨敤 string.IsNullOrEmpty 鐩存帴鍒ゆ柇瀛楃涓插睘鎬э紙閬垮厤 NullReferenceException锛� if (string.IsNullOrEmpty(query.userName?.ToString())) @@ -313,14 +336,10 @@ cmd.CommandType = CommandType.StoredProcedure; var parameters = new SqlParameter[] { - new("@pi_user", SqlDbType.NVarChar, 100) - { Value = query.userName }, - new("@pi_ytdh", SqlDbType.NVarChar, 100) - { Value = query.ytdh }, - new("@po_outMsg", SqlDbType.NVarChar, 2000) - { Direction = ParameterDirection.Output }, - new("@po_outSum", SqlDbType.Int) - { Direction = ParameterDirection.Output } + new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userName }, + new("@pi_ytdh", SqlDbType.NVarChar, 100) { Value = query.ytdh }, + new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output } }; cmd.Parameters.AddRange(parameters); @@ -330,7 +349,7 @@ var result = new { result = parameters[3].Value.ToString(), - msg = parameters[2].Value.ToString() + msg = parameters[2].Value.ToString(), }; if (result.result == "-1") @@ -342,19 +361,18 @@ } /// <summary> - /// 鑾峰彇楠岄��鍗曞凡鎵墿鏂欎俊鎭� + /// 鑾峰彇楠岄��鍗曞凡鎵墿鏂欎俊鎭� /// </summary> /// <param name="query"></param> /// <returns></returns> public dynamic getYtItem(string ytdh) { - if (string.IsNullOrEmpty(ytdh)) + if (string.IsNullOrEmpty(ytdh?.ToString())) throw new ArgumentException("楠岄��鍗曞彿涓嶅厑璁镐负绌�", nameof(ytdh)); var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; - var sql1 = - @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity + var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity FROM MES_INV_ITEM_CGYT_ITEMS A LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id @@ -371,19 +389,18 @@ } /// <summary> - /// 鑾峰彇楠岄��鍗曞凡鎵潯鐮佷俊鎭� + /// 鑾峰彇楠岄��鍗曞凡鎵潯鐮佷俊鎭� /// </summary> /// <param name="query"></param> /// <returns></returns> public dynamic getYtBarInfo(string ytdh) { - if (string.IsNullOrEmpty(ytdh)) + if (string.IsNullOrEmpty(ytdh?.ToString())) throw new ArgumentException("楠岄��鍗曞彿涓嶅厑璁镐负绌�", nameof(ytdh)); var sqlParams = new List<SugarParameter> { new("@ytdh", ytdh) }; - var sql1 = - @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE + var sql1 = @"SELECT C.item_id,C.item_no,C.item_name,C.item_model,A.quantity,A.ITEM_BARCODE FROM MES_INV_ITEM_CGYT_C_DETAILS A LEFT JOIN MES_INV_ITEM_CGYT B ON A.item_cgyt_id = B.GUID LEFT JOIN MES_ITEMS C ON A.item_id = C.item_id -- Gitblit v1.9.3