From a12a74003597af2d6a7fd37e54509909bd4b23bb Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期五, 04 七月 2025 10:20:38 +0800 Subject: [PATCH] 1.其他入库优化 2.条码入库前拆分优化 3.携客云送货单签收显示优化 --- service/Warehouse/MesXkyShdManager.cs | 2 service/Warehouse/MesBarCFManager.cs | 2 Controllers/Warehouse/MesItemQtrkController.cs | 2 service/Warehouse/MesItemQtrkManager.cs | 58 ++++++++++++++++------------ 4 files changed, 36 insertions(+), 28 deletions(-) diff --git a/Controllers/Warehouse/MesItemQtrkController.cs b/Controllers/Warehouse/MesItemQtrkController.cs index d881817..5cfd959 100644 --- a/Controllers/Warehouse/MesItemQtrkController.cs +++ b/Controllers/Warehouse/MesItemQtrkController.cs @@ -181,7 +181,7 @@ try { dynamic resultInfos = new ExpandoObject(); - resultInfos.message = _manager.ScanInDepotsQT(query); + resultInfos = _manager.ScanInDepotsQT(query); return new ResponseResult { status = 0, diff --git a/service/Warehouse/MesBarCFManager.cs b/service/Warehouse/MesBarCFManager.cs index 4ef9d12..01f0ebd 100644 --- a/service/Warehouse/MesBarCFManager.cs +++ b/service/Warehouse/MesBarCFManager.cs @@ -36,7 +36,7 @@ var sql2 = @"SELECT ITEM_ID,QUANTITY FROM MES_INV_ITEM_BARCODES WHERE ITEM_BARCODE =@barcode "; - var barInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); + var barInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).FirstOrDefault(); if (barInfo is null) throw new Exception("璇ユ潯鐮佷俊鎭笉瀛樺湪锛�"); diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs index 9eb138c..ed9bae9 100644 --- a/service/Warehouse/MesItemQtrkManager.cs +++ b/service/Warehouse/MesItemQtrkManager.cs @@ -64,7 +64,7 @@ return dto; } - public string ScanInDepotsQT(WarehouseQuery query) + public dynamic ScanInDepotsQT(WarehouseQuery query) { var sectionCode = query.sectionCode; var billNo = query.billNo; @@ -72,31 +72,24 @@ // 1. 楠岃瘉搴撲綅鏉$爜鏄惁涓虹┖ if (string.IsNullOrEmpty(sectionCode)) throw new Exception("璇锋壂搴撲綅鏉$爜锛�"); - // 2. 鏌ヨ搴撲綅瀵瑰簲鐨勪粨搴撶紪鐮� - var depotId = Db.Queryable<MesDepotSections, MesDepots>( - (a, b) => new JoinQueryInfos( - JoinType.Inner, a.DepotGuid == b.Guid)) - .Where((a, b) => a.DepotSectionCode == sectionCode) - .Select((a, b) => b.DepotId) - .First(); + var sqlParams = new List<SugarParameter> { new("@sectionCode", sectionCode) }; - if (depotId == null) + var sql2 = @" SELECT TOP 1 b.depot_code, + b.depot_id, + B.FSubsidiary, + B.depot_name + FROM MES_DEPOT_SECTIONS a + INNER JOIN + MES_DEPOTS b ON a.depot_guid = b.Guid + WHERE a.depot_section_code = @sectionCode;"; + + var depotInfo = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams).First(); + + if (depotInfo is null) throw new Exception($"搴撲綅缂栫爜 {sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒"); - // 3. 鏌ヨ鐢宠鍗曞搴旂殑浠撳簱 - var qtrk = Db.Queryable<MesItemQtrk>() - .Where(x => x.Qtck == billNo) - .Select(x => x.Qt008) - .First(); - - if (qtrk == null) throw new Exception($"搴撲綅缂栫爜 {sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒"); - - // 4. 楠岃瘉搴撲綅鏄惁灞炰簬鐢宠浠撳簱 - if (depotId != Convert.ToInt32(qtrk)) - throw new Exception($"鎵爜搴撲綅 {sectionCode} 涓嶅睘浜庣敵璇蜂粨搴�!"); - // 5. 杩斿洖鎴愬姛淇℃伅 - return $"浠撳簱锛歿qtrk} 搴撲綅锛歿sectionCode}"; + return depotInfo; } public (WarehouseQuery form, List<MesItemQtrrDetail> item) @@ -127,6 +120,21 @@ var c_depot_code = depotInfo.DepotCode; var c_depot_id = depotInfo.DepotId; + + 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 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>() .Where(s => s.DepotId == c_depot_id).First(); @@ -164,9 +172,9 @@ if (qtrk == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪锛�"); - // 楠岃瘉搴撲綅鏄惁灞炰簬鐢宠浠撳簱 - if (c_depot_id != Convert.ToInt32(qtrk.Qt008)) - throw new Exception($"鎵爜搴撲綅 {p_section_code} 涓嶅睘浜庣敵璇蜂粨搴�!"); + //// 楠岃瘉搴撲綅鏄惁灞炰簬鐢宠浠撳簱 + //if (c_depot_id != Convert.ToInt32(qtrk.Qt008)) + // throw new Exception($"鎵爜搴撲綅 {p_section_code} 涓嶅睘浜庣敵璇蜂粨搴�!"); // 6. 鏌ヨ鐢宠鍗曟槑缁� var detail = Db.Queryable<MesItemQtrrDetail>() diff --git a/service/Warehouse/MesXkyShdManager.cs b/service/Warehouse/MesXkyShdManager.cs index 3ab65b1..4a6c7e4 100644 --- a/service/Warehouse/MesXkyShdManager.cs +++ b/service/Warehouse/MesXkyShdManager.cs @@ -44,7 +44,7 @@ LEFT JOIN dbo.MES_INV_ITEM_ARN B on B.paper_bill_no = A.delivery_no LEFT JOIN MES_ROH_IN_DATA C ON A.po_line_no = C.EBELN_K3ID LEFT JOIN MES_ITEMS D ON C.ITEM_ID = D.item_id - LEFT JOIN dbo.MES_INV_ITEM_ARN_DETAIL E on E.parent_Guid = B.guid AND E.line_k3id = A.po_line_no + RIGHT JOIN dbo.MES_INV_ITEM_ARN_DETAIL E on E.parent_Guid = B.guid AND E.line_k3id = A.po_line_no WHERE A.delivery_no = @shdh"; var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams); -- Gitblit v1.9.3