From e2988c27cb7e250d8834e3097b4821c7dbff6b64 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期二, 31 十二月 2024 13:01:20 +0800 Subject: [PATCH] 1 --- service/Warehouse/MesItemTblManager.cs | 66 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 13 deletions(-) diff --git a/service/Warehouse/MesItemTblManager.cs b/service/Warehouse/MesItemTblManager.cs index d0284e4..5bbbd4d 100644 --- a/service/Warehouse/MesItemTblManager.cs +++ b/service/Warehouse/MesItemTblManager.cs @@ -7,21 +7,34 @@ namespace NewPdaSqlServer.service.Warehouse; +/// <summary> +/// MES鐗╂枡琛ㄧ鐞嗙被 +/// </summary> public class MesItemTblManager : Repository<MesItemTbl> { + /// <summary> + /// 鑾峰彇鐢熶骇閫�鏂欏崟鍙峰垪琛� + /// </summary> + /// <returns>閫�鏂欏崟鍙峰垪琛�</returns> public List<string> GetSCTLBillNo() { var list = Db.Queryable<MesItemTbl>() - .Where(s => (s.Tbl013 ?? 0) == 1 - && (s.Tbl020 ?? 0) == 0) + .Where(s => (s.Tbl013 ?? 0) == 1 // 瀹℃牳閫氳繃 + && (s.Tbl020 ?? 0) == 0) // 鏈畬鎴� .Select(s => s.BillNo).ToList(); return list; } + /// <summary> + /// 鏍规嵁鍗曞彿鑾峰彇MES鐗╂枡琛ㄦ槑缁� + /// </summary> + /// <param name="query">浠撳簱鏌ヨ鍙傛暟</param> + /// <returns>鐗╂枡鏄庣粏鍒楄〃</returns> public List<MesItemTblDetail> GetMesItemTblDetailByBillNo( WarehouseQuery query) { + // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛� var mesItemTblDetails = Db .Queryable<MesItemTbl, MesItemTblDetail, MesItems>( (a, b, c) => new JoinQueryInfos( @@ -35,25 +48,32 @@ BillNo = a.BillNo, Tlid = b.Tlid, Tlmid = b.Tlmid, - Tld005 = b.Tld005 ?? 0, - Tld006 = b.Tld006 ?? 0, + Tld005 = b.Tld005 ?? 0, // 寰呴��鏁伴噺 + Tld006 = b.Tld006 ?? 0, // 宸查��鏁伴噺 Tld009 = b.Tld009, - ItemNo = c.ItemNo, - ItemName = c.ItemName, - ItemModel = c.ItemModel + ItemNo = c.ItemNo, // 鐗╂枡缂栧彿 + ItemName = c.ItemName, // 鐗╂枡鍚嶇О + ItemModel = c.ItemModel // 鐗╂枡鍨嬪彿 }).ToList(); + // 绛涢�夊嚭寰呴��鏁伴噺澶т簬宸查��鏁伴噺鐨勮褰� var itemTblDetails = mesItemTblDetails .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList(); return itemTblDetails; } + /// <summary> + /// 鐢熶骇閫�鏂欐壂鎻忓簱浣� + /// </summary> + /// <param name="query">浠撳簱鏌ヨ鍙傛暟</param> + /// <returns>搴撲綅淇℃伅</returns> public WarehouseQuery SctlScanDepots(WarehouseQuery query) { if (query.DepotCode.IsNullOrEmpty()) throw new NullReferenceException("璇锋壂搴撲綅鏉$爜"); + // 鍏宠仈鏌ヨ搴撲綅鍒嗗尯鍜屽簱浣嶄俊鎭� var warehouseQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == query.DepotCode) @@ -70,18 +90,25 @@ return warehouseQuery; } + /// <summary> + /// 鐢熶骇閫�鏂欐壂鎻忔潯鐮� + /// </summary> + /// <param name="query">浠撳簱鏌ヨ鍙傛暟</param> + /// <returns>澶勭悊缁撴灉</returns> public WarehouseQuery SctlScanBarcode(WarehouseQuery query) { - var p_item_barcode = query.barcode; - var p_bill_no = query.billNo; - var p_section_code = query.DepotCode; - var c_user = query.userName; + var p_item_barcode = query.barcode; // 鐗╂枡鏉$爜 + var p_bill_no = query.billNo; // 鍗曟嵁鍙� + var p_section_code = query.DepotCode; // 搴撲綅缂栫爜 + var c_user = query.userName; // 鐢ㄦ埛鍚� - var p_bill_type_id = 100; - var p_transction_no = 104; + var p_bill_type_id = 100; // 鍗曟嵁绫诲瀷ID + var p_transction_no = 104; // 浜ゆ槗缂栧彿 + // 楠岃瘉搴撲綅鏉$爜 if (p_section_code.IsNullOrEmpty()) throw new Exception("璇锋壂搴撲綅鏉$爜锛�"); + // 鑾峰彇搴撲綅淇℃伅 var c_depot_code = Db.Queryable<MesDepotSections, MesDepots>((a, b) => new JoinQueryInfos(JoinType.Inner, a.DepotGuid == b.Guid)) .Where((a, b) => a.DepotSectionCode == p_section_code) @@ -90,18 +117,21 @@ if (!c_depot_code.HasValue) throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒"); + // 鑾峰彇搴撲綅鍒嗗尯淇℃伅 var mesDepotSections = Db.Queryable<MesDepotSections>() .Where(a => a.DepotSectionCode == p_section_code).First(); if (mesDepotSections == null) throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒"); + // 鑾峰彇搴撲綅鍩虹淇℃伅 var c_mes_depots = Db.Queryable<MesDepots>() .Where(b => b.Guid == mesDepotSections.DepotGuid).First(); if (c_mes_depots == null) throw new Exception("搴撲綅缂栫爜" + p_section_code + " 涓嶅瓨鍦紝璇风‘璁わ紒"); + // 妫�鏌ユ潯鐮佹槸鍚﹀凡鍏ュ簱 var c_num = Db.Queryable<MesInvItemIns, MesInvItemInCDetails>((a, b) => new JoinQueryInfos(JoinType.Inner, a.Guid == b.ItemInId)) .Where((a, b) => b.ItemBarcode == p_item_barcode @@ -116,6 +146,7 @@ if (c_num > 0) throw new Exception("姝ゆ潯鐮佸凡鎵叆搴擄紝鍕块噸澶嶆壂鎻忥紒"); + // 鑾峰彇鏉$爜淇℃伅 var c_mes_inv_item_barcodes = Db.Queryable<MesInvItemBarcodes>() .Where(t => t.ItemBarcode == p_item_barcode).First(); @@ -125,6 +156,7 @@ if (c_mes_inv_item_barcodes.Memo != "鐢熶骇閫�鏂�") throw new Exception("姝ゆ潯鐮佷笉鏄敓浜ч��鏂欐潯鐮侊紝涓嶅彲浣跨敤鐢熶骇閫�鏂欐ā鍧楋紒"); + // 鑾峰彇閫�鏂欏崟淇℃伅 var C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>() .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo && (a.Tbl013 ?? 0) == 1).First(); @@ -133,6 +165,7 @@ if (C_MES_ITEM_TBL.Tbl020 == 1) throw new Exception("鎵爜瀹屾垚,鐢宠鍗曞凡瀹岀粨!"); + // 鑾峰彇閫�鏂欏崟鏄庣粏 var C_MES_ITEM_TBL_DETAIL = Db.Queryable<MesItemTblDetail>() .Where(a => a.Tlmid == C_MES_ITEM_TBL.Id && a.Tld010 == c_mes_inv_item_barcodes.WorkLine) @@ -146,8 +179,10 @@ var c_bill_no = ""; var c_id = Guid.Empty; + // 浣跨敤浜嬪姟澶勭悊鏁版嵁鏇存柊 UseTransaction(db => { + // 鏌ヨ鍏ュ簱鍗� var mesInvItemIns = db.Queryable<MesInvItemIns>() .Where(d => d.Status == 0 && d.TransctionNo == @@ -159,6 +194,7 @@ var totalResult = 0; + // 濡傛灉鍏ュ簱鍗曚笉瀛樺湪鍒欏垱寤烘柊鐨勫叆搴撳崟 if (mesInvItemIns == null) { c_bill_no = BillNo.GetBillNo("IN(鍏ュ簱鍗�)"); @@ -191,9 +227,11 @@ c_bill_no = mesInvItemIns.BillNo; } + // 妫�鏌ユ槸鍚︿负鍚堝苟鎵撳嵃鏉$爜 var hbdy = c_mes_inv_item_barcodes.Hbdy ?? 0; if (hbdy == 1) throw new Exception("涓嶆敮鎸佸悎骞舵墦鍗扮殑鏉$爜:" + p_item_barcode); + // 鎻掑叆鍏ュ簱鍗曟槑缁� totalResult += db.Insertable(new MesInvItemInCDetails { Guid = Guid.NewGuid(), @@ -230,6 +268,7 @@ RbillNo = C_MES_ITEM_TBL.Tbl002 }).IgnoreColumns(true).ExecuteCommand(); + // 鎻掑叆涓氬姟璁板綍 totalResult += db.Insertable(new MesInvBusiness2 { Guid = Guid.NewGuid(), @@ -259,6 +298,7 @@ ItemId = c_mes_inv_item_barcodes.ItemId }).IgnoreColumns(true).ExecuteCommand(); + // 鎻掑叆搴撳瓨璁板綍 totalResult += db.Insertable(new MesInvItemStocks { Guid = Guid.NewGuid(), -- Gitblit v1.9.3