From 38748f8fbe700cc65721fc2d9b74306ca5590e01 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期二, 09 九月 2025 00:21:08 +0800 Subject: [PATCH] 1.PDA条码重打 --- service/Warehouse/MesXsckManager.cs | 98 +++++++++++++++++++++++++++++++------------------ 1 files changed, 62 insertions(+), 36 deletions(-) diff --git a/service/Warehouse/MesXsckManager.cs b/service/Warehouse/MesXsckManager.cs index 446cbb7..df9f864 100644 --- a/service/Warehouse/MesXsckManager.cs +++ b/service/Warehouse/MesXsckManager.cs @@ -3,6 +3,7 @@ using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; +using NewPdaSqlServer.entity.Base; using NewPdaSqlServer.util; using SqlSugar; using SqlSugar.Extensions; @@ -19,57 +20,82 @@ /// 鑾峰彇鐢熶骇鍙戣揣閫氱煡鍗曞彿鍒楄〃 /// </summary> /// <returns>鍙戣揣閫氱煡鍗曞彿鍒楄〃</returns> - public List<string> GetFHTZBillNo(WarehouseQuery query) + public dynamic GetFHTZBillNo(dynamic query, dynamic RequestInfo) { - var list = Db.Queryable<SalesDeliver>() - .Where(s => (s.FApproverStatus ?? false) == true) - .Select(s => s.BillNo) - .ToList(); - return list; + 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 + { + // 杩斿洖鍗曞彿瀛楃涓插垪琛℅et_Qt_ck_List + var blDetails = Db.Ado.SqlQuery<string>( + "EXEC prc_pda_xsck_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); + return blDetails; + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } } /// <summary> /// 鏍规嵁鍙戣揣閫氱煡鍗曡幏鍙栧搴斾唬鍙戣揣鏄庣粏 prc_rf_pda_scan_zout_showbl /// </summary> /// <returns>鍙戣揣閫氱煡鍗曟槑缁嗗垪琛�</returns> - public List<ItemDetailModel> GetMesItemFHTZetailByBillNo( - WarehouseQuery query) + public dynamic GetMesItemFHTZetailByBillNo(dynamic query, dynamic RequestInfo) { if (string.IsNullOrEmpty(query.billNo)) throw new Exception("璇烽�夊崟鎹彿锛�"); - // 妫�鏌ュ彂璐ч�氱煡鍗曟槸鍚﹀瓨鍦ㄤ笖瀹℃牳 - var mesItem = Db.Queryable<SalesDeliver>() - .Where(a => a.BillNo == query.billNo && a.FApproverStatus == true) - .First(); + if (query == null) + throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull"); - if (mesItem == null) - throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�"); + if (string.IsNullOrEmpty(query.billNo?.ToString())) + throw new ArgumentException("鍗曟嵁鍙蜂笉鑳戒负绌�", nameof(query.billNo)); - if (mesItem.FinishStatus == true) - throw new Exception("鍗曟嵁鍙峰凡瀹岀粨锛�"); + var orgId = RequestInfo.OrgId; + + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); // 鑾峰彇鏈畬鎴愮殑鍙戣揣閫氱煡鍗曟槑缁� - var blDetails = Db.Queryable<SalesDeliver, SalesDeliverDetail, SalesOrderDetail,MesItems>((a, b, c, d) => - new JoinQueryInfos(JoinType.Left, a.Id == b.Pid, - JoinType.Left, b.SalesDetailId == c.Id, - JoinType.Left, c.MaterialId == d.ItemId.ToString())) - .Where((a, b) => a.BillNo == query.billNo - && (b.FMustQty ?? 0) - (b.FRealQty ?? 0) > 0) - .Select((a, b, c, d) => new ItemDetailModel + 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 + { + List<dynamic>? blDetails = Db.Ado.SqlQuery<dynamic>( + "EXEC prc_pda_xsck_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 { - ItemNo = d.ItemNo, - ItemName = d.ItemName, - ItemModel = d.ItemModel, - FQty = b.FMustQty, - SQty = b.FRealQty, - FMaterialId = d.ItemId.ToString(), - Id = b.Id.ToString() - - }) - .ToList(); - - return blDetails; + items = items, + ysitems = ysitems + }; + } + catch (Exception ex) + { + // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫 + throw new Exception($"{ex.Message}"); + } } /// <summary> @@ -590,7 +616,7 @@ Dab020 = (it.Dab020 ?? 0) + query.Num, // 宸插彂鏂欐暟閲� Dab021 = (it.Dab021 ?? 0) + query.Num // 宸插彂鏂欐暟閲� }) - .Where(it => it.Id == womdab.Id && it.Dab003 == womdab.Dab003) + .Where(it => it.Guid == womdab.Guid && it.Dab003 == womdab.Dab003) .ExecuteCommand(); // 鏇存柊鍙戣揣閫氱煡鍗曟槑缁嗗凡琛ユ暟閲� -- Gitblit v1.9.3