From eda0c8f74ce453b6e43f88fc92b1e651ce5b6095 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 13 二月 2025 13:46:33 +0800 Subject: [PATCH] 1.条码表实体类型调整 2.条码库存表实体新增基础字段 3.期初入库新增入库人 --- service/Warehouse/MesInvItemInCDetailsManager.cs | 205 ++++++++++++++++++++++++-------------------------- 1 files changed, 98 insertions(+), 107 deletions(-) diff --git a/service/Warehouse/MesInvItemInCDetailsManager.cs b/service/Warehouse/MesInvItemInCDetailsManager.cs index 6f65aea..13296d4 100644 --- a/service/Warehouse/MesInvItemInCDetailsManager.cs +++ b/service/Warehouse/MesInvItemInCDetailsManager.cs @@ -17,9 +17,9 @@ string user = entity.userName, sectionCode = entity.sectionCode, itemBarcode = entity.barcode; - string transactionNo = "101"; + var transactionNo = "101"; int? billTypeId = 100, num = 0, num2 = 0; - int freeze = 0; + var freeze = 0; decimal cSyQty = 0; if (string.IsNullOrEmpty(sectionCode)) @@ -32,7 +32,7 @@ if (itemBarcodeDetails == null) throw new Exception("鏉$爜涓嶅瓨鍦紝璇锋牳瀵癸紒"); - if (!itemBarcodeDetails.ComeFlg.Value) + if (itemBarcodeDetails.ComeFlg == 0) throw new Exception("姝ゆ潯鐮佷笉灞炰簬鍒拌揣鏉$爜锛屾棤娉曠敤閲囪喘鍏ュ簱锛�"); var inventory = Db.Queryable<MesInvItemArn>() @@ -42,11 +42,15 @@ if (inventory == null) throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曪紒"); + // var inventoryDetails = Db.Queryable<MesInvItemArnDetail>() + // .Where(it => it.ParentGuid == inventory.Guid + // && it.ItemId == itemBarcodeDetails.ItemId + // && it.EbelnLine == itemBarcodeDetails.WorkLine + // && it.Ebeln == itemBarcodeDetails.WorkNo) + // .First(); + var inventoryDetails = Db.Queryable<MesInvItemArnDetail>() - .Where(it => it.ParentGuid == inventory.Guid - && it.ItemId == itemBarcodeDetails.ItemId - && it.EbelnLine == itemBarcodeDetails.WorkLine - && it.Ebeln == itemBarcodeDetails.WorkNo) + .Where(it => it.Guid == itemBarcodeDetails.AboutGuid) .First(); if (inventoryDetails == null) @@ -70,8 +74,8 @@ mesDepost = Db.Queryable<MesDepots>() .Where(s => s.DepotId.ToString() == depotCode2).First(); - if (depotCode != mesDepost.Guid) - throw new Exception("鎵弿搴撲綅涓庨噰璐叆搴撳簱浣嶄笉涓�鑷达紒"); + // if (depotCode != mesDepost.Guid) + // throw new Exception("鎵弿搴撲綅涓庨噰璐叆搴撳簱浣嶄笉涓�鑷达紒"); } else { @@ -117,12 +121,12 @@ throw new Exception("鍏ュ簱澶辫触,鍒拌揣鍗曟嵁鏈夐棶棰橈紒"); } - PurchaseInventory result = new PurchaseInventory(); + var result = new PurchaseInventory(); UseTransaction(db => { var existingRecord = db.Queryable<MesInvItemIns>() - .Where(it => it.InsDate.Value.Date == DateTime.Now.Date + .Where(it => it.InsDate.Value.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") && it.Status == 0 && it.TransctionNo == transactionNo && it.BillNo == itemBarcodeDetails.BillNo @@ -134,7 +138,7 @@ }) .First(); - Guid cId = Guid.Empty; + var cId = Guid.Empty; string cBillNo = null; if (existingRecord != null) @@ -149,8 +153,7 @@ cBillNo = BillNo.GetBillNo("IN(鍏ュ簱鍗�)"); var suppNo = db.Queryable<MesSupplier>() - .Where(s => s.Id.ToString() == inventory.SuppId) - .Select(s => s.SuppNo).First(); + .Where(s => s.Id.ToString() == inventory.SuppId).First(); db.Insertable(new MesInvItemIns { @@ -158,17 +161,22 @@ BillNo = cBillNo, BillTypeId = billTypeId, InsDate = DateTime.Now, + DepotsId = mesDepost.DepotId, DepotsCode = mesDepost.DepotCode, TransctionNo = transactionNo, - SuppNo = suppNo, + SuppId = suppNo.Id.ToString(), + SuppNo = suppNo.SuppNo, CreateBy = user, CreateDate = DateTime.Now, LastupdateBy = user, LastupdateDate = DateTime.Now, - UrgentFlag = itemBarcodeDetails.UrgentFlag.Value ? 1 : 0, + UrgentFlag = itemBarcodeDetails.UrgentFlag.Value + ? "1" + : "0", CbillNo = itemBarcodeDetails.BillNo, Fstatus = 0, - Status = 0 + Status = 0, + ReceiveOrgId = inventory.ReceiveOrgId }).IgnoreColumns(true).ExecuteCommand(); } @@ -204,7 +212,7 @@ IsdepsIn = true }) .Where(d => d.Guid == detail.Guid) - .IgnoreColumns(ignoreAllNullColumns: true) + .IgnoreColumns(true) .ExecuteCommand(); // Check if already inserted @@ -219,7 +227,6 @@ cSyQty -= remainingQty.Value; if (count == 0) - { // Insert new item into MES_INV_ITEM_IN_C_ITEMS db.Insertable(new MesInvItemInCItems { @@ -231,19 +238,18 @@ DepotCode = mesDepost.DepotCode, ItemSname = itemBarcodeDetails.ItemSname, Unit = itemBarcodeDetails.Unit, - Ebeln = detail.WorkNo, + Ebeln = detail.Ebeln, BillNo = cBillNo, WorkNo = detail.WorkNo, CbillNo = detail.CbillNo, WorkLine = detail.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, Remark = itemBarcodeDetails.Memo, EbelnK3id = detail.EbelnK3id, LineK3id = detail.LineK3id }).IgnoreColumns(true).ExecuteCommand(); - } else - { db.Updateable<MesInvItemInCItems>() .SetColumns(it => it.Quantity == it.Quantity + remainingQty) @@ -252,9 +258,8 @@ it.ItemId == detail.ItemId && it.WorkNo == detail.WorkNo && it.WorkLine == detail.WorkLine) - .IgnoreColumns(ignoreAllNullColumns: true) + .IgnoreColumns(true) .ExecuteCommand(); - } // Insert new detail into MES_INV_ITEM_IN_C_DETAILS db.Insertable(new MesInvItemInCDetails @@ -267,6 +272,7 @@ EpFlag = true, WorkType = 1, ItemNo = detail.ItemNo, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, DepotCode = mesDepost.DepotCode, DepotSectionCode = sectionCode, @@ -286,7 +292,8 @@ TaskNo = detail.WorkNo, EbelnK3id = detail.EbelnK3id, LineK3id = detail.LineK3id, - ItemId = detail.ItemId + ItemId = detail.ItemId, + ReceiveOrgId = inventory.ReceiveOrgId }).IgnoreColumns(true).ExecuteCommand(); } else @@ -298,7 +305,7 @@ OkRkqty = (int)((d.OkRkqty ?? 0) + cSyQty) }) .Where(d => d.Guid == detail.Guid) - .IgnoreColumns(ignoreAllNullColumns: true) + .IgnoreColumns(true) .ExecuteCommand(); var count = db.Queryable<MesInvItemInCItems>() @@ -310,7 +317,6 @@ .Count(); if (count == 0) - { db.Insertable(new MesInvItemInCItems { ItemInId = cId, @@ -327,15 +333,14 @@ EbelnLineNo = detail.EbelnLine, CbillNo = detail.CbillNo, WorkLine = detail.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, Remark = itemBarcodeDetails.Memo, EbelnK3id = detail.EbelnK3id, LineK3id = detail.LineK3id, ItemId = detail.ItemId }).IgnoreColumns(true).ExecuteCommand(); - } else - { db.Updateable<MesInvItemInCItems>() .SetColumns(it => it.Quantity == it.Quantity + cSyQty) @@ -344,9 +349,8 @@ it.ItemId == detail.ItemId && it.WorkNo == detail.WorkNo && it.WorkLine == detail.WorkLine) - .IgnoreColumns(ignoreAllNullColumns: true) + .IgnoreColumns(true) .ExecuteCommand(); - } db.Insertable(new MesInvItemInCDetails { @@ -358,6 +362,7 @@ EpFlag = true, WorkType = 1, ItemNo = detail.ItemNo, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, DepotCode = mesDepost.DepotCode, DepotSectionCode = sectionCode, @@ -378,7 +383,8 @@ TaskNo = detail.WorkNo, EbelnK3id = detail.EbelnK3id, LineK3id = detail.LineK3id, - ItemId = detail.ItemId + ItemId = detail.ItemId, + ReceiveOrgId = inventory.ReceiveOrgId }).IgnoreColumns(true).ExecuteCommand(); cSyQty = 0; // Remaining quantity fulfilled @@ -407,6 +413,7 @@ BillNo = cBillNo, WorkNo = itemBarcodeDetails.WorkNo, WorkLine = itemBarcodeDetails.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, EbelnK3id = itemBarcodeDetails.EbelnK3id, LineK3id = itemBarcodeDetails.LineK3id, @@ -426,7 +433,6 @@ .Count(); if (existingCount == 0) - { // 涓嶅瓨鍦ㄦ椂鎻掑叆鏂拌褰� db.Insertable(new MesInvItemInCItems { @@ -444,15 +450,14 @@ EbelnLineNo = itemBarcodeDetails.WorkLine, CbillNo = itemBarcodeDetails.BillNo, WorkLine = itemBarcodeDetails.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, Remark = itemBarcodeDetails.Memo, EbelnK3id = itemBarcodeDetails.EbelnK3id, LineK3id = itemBarcodeDetails.LineK3id, ItemId = itemBarcodeDetails.ItemId }).IgnoreColumns(true).ExecuteCommand(); - } else - { // 瀛樺湪鏃舵洿鏂版暟閲� db.Updateable<MesInvItemInCItems>() .SetColumns(it => @@ -462,9 +467,8 @@ it.ItemId == itemBarcodeDetails.ItemId && it.WorkNo == itemBarcodeDetails.WorkNo && it.WorkLine == itemBarcodeDetails.WorkLine) - .IgnoreColumns(ignoreAllNullColumns: true) + .IgnoreColumns(true) .ExecuteCommand(); - } // 鎻掑叆 mes_inv_item_in_c_details 琛� db.Insertable(new MesInvItemInCDetails @@ -478,6 +482,7 @@ WorkType = 1, ItemNo = itemBarcodeDetails.ItemNo, LotNo = itemBarcodeDetails.LotNo, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, DepotCode = mesDepost.DepotCode, DepotSectionCode = sectionCode, @@ -502,7 +507,8 @@ Ischeck = true, CheckDate = inventoryDetails.CheckDate, CheckRes = inventoryDetails.CheckRes, - CheckStates = inventoryDetails.CheckStates + CheckStates = inventoryDetails.CheckStates, + ReceiveOrgId = inventory.ReceiveOrgId }).IgnoreColumns(true).ExecuteCommand(); // 鎻掑叆 mes_inv_business2 琛� @@ -530,6 +536,7 @@ BillNo = cBillNo, WorkNo = itemBarcodeDetails.WorkNo, WorkLine = itemBarcodeDetails.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, EbelnK3id = itemBarcodeDetails.EbelnK3id, LineK3id = itemBarcodeDetails.LineK3id, @@ -554,11 +561,13 @@ BoardStyle = itemBarcodeDetails.BoardStyle, WorkNo = itemBarcodeDetails.WorkNo, WorkLine = itemBarcodeDetails.WorkLine, + SuppId = itemBarcodeDetails.SuppId, SuppNo = itemBarcodeDetails.SuppNo, EbelnK3id = itemBarcodeDetails.EbelnK3id, LineK3id = itemBarcodeDetails.LineK3id, ItemId = itemBarcodeDetails.ItemId, - BillNo = itemBarcodeDetails.BillNo + BillNo = itemBarcodeDetails.BillNo, + DepotId = Convert.ToInt32(depotCode2) }).IgnoreColumns(true).ExecuteCommand(); itemBarcodeDetails.Hbdy ??= 0; @@ -589,12 +598,10 @@ var TotalOkRkQty = first.TotalOkRkQty ?? 0; if (TotalQuantity == TotalOkRkQty) - { db.Updateable<MesInvItemArnDetail>() .SetColumns(s => s.IsdepsIn == true) .Where(s => s.Guid == inventoryDetails.Guid) .ExecuteCommand(); - } var totalSummary = db.Queryable<MesInvItemArnDetail>() @@ -610,12 +617,10 @@ if ((totalSummary.TotalQuantity ?? 0) == (totalSummary.TotalOkRkQty ?? 0)) - { db.Updateable<MesInvItemArn>() .SetColumns(it => it.Status == 1) .Where(it => it.BillNo == itemBarcodeDetails.BillNo) .ExecuteCommand(); - } var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>() .Where(it => it.WorkLine == itemBarcodeDetails.WorkLine && @@ -637,9 +642,7 @@ var diffQty = comeQty - invQty; if (detailSummary == null) - { throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒"); - } var mesItems = db.Queryable<MesItems>() .Where(s => s.Id == itemBarcodeDetails.ItemId).First(); @@ -669,12 +672,10 @@ if ((totalSummary.TotalQuantity ?? 0) == (totalSummary.TotalOkRkQty ?? 0)) - { db.Updateable<MesInvItemArn>() .SetColumns(it => it.Status == 1) .Where(it => it.BillNo == itemBarcodeDetails.BillNo) .ExecuteCommand(); - } // Step 2: Calculate total sum from `mes_inv_item_in_c_details` var totalCDetailsQuantity = db.Queryable<MesInvItemInCDetails>() @@ -694,9 +695,7 @@ .First(); if (detailSummary == null) - { throw new Exception("姝ゆ潯鐮佹壘涓嶅埌瀵瑰簲鏀惰揣鍗曟槑缁嗭紒"); - } var comeQty = detailSummary.TotalComeQty ?? 0; var invQty = detailSummary.TotalInvQty ?? 0; @@ -746,21 +745,19 @@ WarehouseQuery query) { var parsedGuid = Guid.Empty; - if (string.IsNullOrEmpty(query.id)) + if (!string.IsNullOrEmpty(query.id)) { - return ([], 0); + var isValid = Guid.TryParse(query.id, out parsedGuid); + if (!isValid) + throw new ApplicationException("GUID杞崲閿欒"); } - - bool isValid = Guid.TryParse(query.id, out parsedGuid); - if (!isValid) - throw new ApplicationException("GUID杞崲閿欒"); var totalCount = 0; var result = Db.Queryable<MesInvItemIns, MesDepots, MesSupplier>( (a, b, c) => new JoinQueryInfos(JoinType.Left, - a.DepotsCode == b.DepotCode, - JoinType.Left, a.SuppNo == c.SuppNo)) + a.DepotsId == b.DepotId, + JoinType.Left, a.SuppId == c.Id.ToString())) .WhereIF(UtilityHelper.CheckGuid(parsedGuid), (a, b, c) => a.Guid == parsedGuid) .Select((a, b, c) => new MesInvItemIns @@ -786,31 +783,28 @@ { //string杞琯uid var parsedGuid = Guid.Empty; - if (string.IsNullOrEmpty(pid)) - { - return ( []); - } + if (string.IsNullOrEmpty(pid)) return []; - bool isValid = Guid.TryParse(pid, out parsedGuid); + var isValid = Guid.TryParse(pid, out parsedGuid); if (!isValid) throw new ApplicationException("GUID杞崲閿欒"); var result = Db.Queryable<MesInvItemInCDetails, MesItems, MesUnit>( - (g, c,d) => new JoinQueryInfos( - JoinType.Left,g.ItemId == c.Id, - JoinType.Inner,d.Id == Convert.ToDecimal(g.Unit) - ) - ).WhereIF(UtilityHelper.CheckGuid(parsedGuid), - (g, c,d) => g.ItemInId == parsedGuid) - .Select((g, c,d)=> new MesInvItemInCItems - { - Guid = g.Guid, - WorkNo = g.WorkNo, - ItemNo = c.ItemNo, - ItemSname = g.ItemSname, - Quantity = g.Quantity, - Unit = d.Fname, - }) + (g, c, d) => new JoinQueryInfos( + JoinType.Left, g.ItemId == c.Id, + JoinType.Inner, d.Id == Convert.ToDecimal(g.Unit) + ) + ).WhereIF(UtilityHelper.CheckGuid(parsedGuid), + (g, c, d) => g.ItemInId == parsedGuid) + .Select((g, c, d) => new MesInvItemInCItems + { + Guid = g.Guid, + WorkNo = g.WorkNo, + ItemNo = c.ItemNo, + ItemSname = g.ItemSname, + Quantity = g.Quantity, + Unit = d.Fname + }) .ToList(); return result; @@ -820,12 +814,9 @@ { //string杞琯uid var parsedGuid = Guid.Empty; - if (string.IsNullOrEmpty(pid)) - { - return ( []); - } + if (string.IsNullOrEmpty(pid)) return []; - bool isValid = Guid.TryParse(pid, out parsedGuid); + var isValid = Guid.TryParse(pid, out parsedGuid); if (!isValid) throw new ApplicationException("GUID杞崲閿欒"); @@ -833,7 +824,7 @@ (g, c, d) => new JoinQueryInfos( JoinType.Left, g.ItemId == c.Id, JoinType.Inner, - d.Id == Convert.ToDecimal(c.ItemUnit) + d.Id.ToString() == c.Fpurchaseunitid ) ).WhereIF(UtilityHelper.CheckGuid(parsedGuid), (g, c, d) => g.ItemInId == parsedGuid) @@ -874,8 +865,12 @@ } var ErpUrl = AppsettingsUtility.Settings.ProductionErpUrl; + + var newGuid = Guid.NewGuid(); var message = new MessageCenter { + Guid = newGuid, + //Pid = newGuid, TableName = tableName, Url = ErpUrl, Status = 1, @@ -899,11 +894,10 @@ var message = MesToErpParam(query); var executeReturnIdentity = - Db.Insertable(message).ExecuteReturnIdentity(); + Db.Insertable(message).ExecuteCommand(); if (executeReturnIdentity > 0) { - //message.Guid = executeReturnIdentity; - message.Pid = executeReturnIdentity; + message.Pid = message.Guid; return message; } @@ -931,7 +925,7 @@ .SetColumns(x => x.Status == entity.status) .SetColumns(x => x.InsDate == entity.date) .Where(x => x.BillNo == entity.billNo) - .IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() > 0; + .IgnoreColumns(true).ExecuteCommand() > 0; } private string GetErpParameters(string? billNo) @@ -947,24 +941,20 @@ MesInvItemArnDetail>( (g, c, d, a) => new JoinQueryInfos( JoinType.Left, - g.ItemNo == c.ItemNo && g.Company == c.Company && - g.Factory == c.Factory, JoinType.Inner, - d.Id == Convert.ToDecimal(c.ItemUnit), - JoinType.Inner, - a.Ebeln == g.WorkNo && a.WorkLine == g.EbelnLineNo - && g.CbillNo == a.CbillNo + g.ItemId == c.Id, JoinType.Inner, + d.Id.ToString() == c.Fpurchaseunitid, + JoinType.Inner, a.Ebeln == g.WorkNo && g.CbillNo == a.CbillNo ) ).Where((g, c, d, a) => g.BillNo == billNo).Select<Material>( (g, c, d, a) => new Material { - // FstockId = g.DepotCode, - // FuintId = d.Fnumber, - // FsrcEntryId = a.Id, - // FmesEntryId = g.Id, - // FmaterialId = a.ItemNo, - // DepotSectionCode = g.DepotSectionCode, - // WorkNo = g.WorkNo, - // Frealqty = g.Quantity + FMaterialId = c.ItemNo, + FRealQty = g.Quantity.ToString(), + FStockId = g.DepotCode, + FLot = a.CbillNo, + FUnitID = d.Fnumber, + FsrcEntryId = a.Guid.ToString(), + FMesEntryid = g.Guid.ToString() }).ToList(); @@ -974,12 +964,13 @@ var jsonEntries = materials.Select(d => new { - // FMaterialId = d.FmaterialId, - // FUintId = d.FuintId, - // FRealQty = d.Frealqty, - // FStockId = d.FstockId, - // FSRCENTRYID = d.FsrcEntryId.ToString(), - // F_MES_ENTRYID = d.FmesEntryId.ToString() + d.FMaterialId, + d.FRealQty, + d.FStockId, + d.FLot, + FUintId = d.FUnitID, + FSRCENTRYID = d.FsrcEntryId, + F_MES_ENTRYID = d.FMesEntryid }).ToList(); var fdate = DateTime.Now.ToString("yyyy-MM-dd"); -- Gitblit v1.9.3