From 1d976f52878c9f776146502037377310921e5a21 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 04 九月 2025 08:23:13 +0800 Subject: [PATCH] 1.携客云获取送货单优化 --- service/Warehouse/MesItemQtrkManager.cs | 116 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 64 insertions(+), 52 deletions(-) diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs index 2ef12c8..9443399 100644 --- a/service/Warehouse/MesItemQtrkManager.cs +++ b/service/Warehouse/MesItemQtrkManager.cs @@ -10,59 +10,68 @@ public class MesItemQtrkManager : Repository<MesItemQtrk> { - public List<string> GetQtckList() + public dynamic GetQtckList(dynamic RequestInfo) { - //return Db.Queryable<MesItemQtrk>() - // .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) - // .Select(x => x.Qtck) - // .ToList(); + var orgId = RequestInfo.OrgId; - const string sql = @"SELECT qtck - FROM MES_ITEM_QTRK - WHERE QT015 = 1 AND QT028 = 1 AND QT032 = 1 - AND QT014 = 0 "; + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); - return Db.Ado.SqlQuery<string>(sql); + // 鑾峰彇鏈畬鎴愮殑閫�鏂欏崟鍙峰垪琛� + 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_qtrk_list @pi_orgId,@inP1,@inP2,@inP3,@inP4", parameters); + return blDetails; + } + catch (Exception ex) + { + throw new Exception($"{ex.Message}"); + } } - public ProductionPickDto GetQtckDetailList(WarehouseQuery query) + public dynamic GetQtckDetailList(dynamic query, dynamic RequestInfo) { - // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛� - if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖"); + var orgId = RequestInfo.OrgId; - var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo); - if (mesInvItemOuts == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪"); + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); - var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, - ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty - FROM MES_ITEM_QTRR_DETAIL A - LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid - LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id - WHERE B.qtck = @billNo AND QT015 = 1 AND QT028 = 1 AND QT032 = 1 "; - //AND QT014 = 0 - - var sqlParams = new List<SugarParameter> { - new("@billNo", query.billNo) + 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) }; - - var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams); - - if (womdabs.Count < 1) - throw new Exception($"璇ュ叾浠栧叆搴撶敵璇峰崟 {query.billNo} 鏈叏閮ㄥ鏍告垨宸插畬缁擄紝璇风‘璁わ紒"); - - var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); - - var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); - - var dto = new ProductionPickDto + 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_qtrk_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 + }; + } + catch (Exception ex) + { + // 淇濈暀鍘熸湁寮傚父澶勭悊閫昏緫 + throw new Exception($"{ex.Message}"); + } } public dynamic ScanInDepotsQT(WarehouseQuery query) @@ -124,17 +133,16 @@ var sqlParams = new List<SugarParameter> { new("@barcode", p_item_barcode), new("@billNo", p_bill_no) }; - var sql1 = @" SELECT TOP 1 A.rkCkId -FROM MES_QA_ITEMS_DETECT_01 A - LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_id = B.ITEM_ID -WHERE order_type = '鍏跺畠鍏ュ簱妫�' - AND A.lot_no = @billNo - AND ITEM_BARCODE = @barcode "; +// var sql1 = @" SELECT TOP 1 A.rkCkId +//FROM MES_QA_ITEMS_DETECT_01 A +// LEFT JOIN MES_INV_ITEM_BARCODES B ON A.item_id = B.ITEM_ID +//WHERE order_type = '鍏跺畠鍏ュ簱妫�' +// AND A.lot_no = @billNo +// AND ITEM_BARCODE = @barcode "; - var appDepotInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams).First(); +// var appDepotInfo = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams).First(); - if(appDepotInfo.rkCkId != c_depot_id) - throw new Exception($"璇� {p_section_code} 瀵瑰簲鐨勪粨搴� 涓� 妫�楠屽垽瀹氱殑鍏ュ簱浠撳簱涓嶄竴鑷达紝璇风‘璁わ紒"); + var mesDepost = Db.Queryable<MesDepots>() @@ -173,6 +181,10 @@ if (qtrk == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪锛�"); + + if (qtrk.Qt008 != c_depot_id.ToString()) + throw new Exception($"璇� {p_section_code} 瀵瑰簲鐨勪粨搴� 涓� 妫�楠屽垽瀹氱殑鍏ュ簱浠撳簱涓嶄竴鑷达紝璇风‘璁わ紒"); + var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty FROM MES_ITEM_QTRR_DETAIL A -- Gitblit v1.9.3