From 9f1c20b47db5ca023ab864def323e99fe1267f08 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 20 二月 2025 14:49:09 +0800 Subject: [PATCH] 1.期初入库新增库存组织。 2.委外领料完成 3.委外补料正常领料完成,拆分还未测试. --- service/Wom/WwGdManager.cs | 69 ++++++++++++++++++++++++---------- service/Warehouse/InventoryManager.cs | 11 +++-- Controllers/Wom/WwGdController.cs | 11 +++++ entity/WwGdDetail.cs | 20 +++++----- 4 files changed, 76 insertions(+), 35 deletions(-) diff --git a/Controllers/Wom/WwGdController.cs b/Controllers/Wom/WwGdController.cs index e643409..fc2baf2 100644 --- a/Controllers/Wom/WwGdController.cs +++ b/Controllers/Wom/WwGdController.cs @@ -20,7 +20,7 @@ /// <returns>ResponseResult瀵硅薄锛屽寘鍚姸鎬併�佹秷鎭拰鏁版嵁</returns> /// // Demo Request: // POST /api/WwGd/ScanCode - // Body: + // BodyGetItemsByDaa001 // { // "query": { // "Code": "SampleCode", @@ -35,6 +35,15 @@ // 璋冪敤WwGdManager鐨凷canCode鏂规硶杩涜鎵爜鎿嶄綔 dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.ScanCode(query); + if (resultInfos.tbBillList.result == "2") + { + return new ResponseResult + { + status = Convert.ToInt32(resultInfos.tbBillList.result), + message = resultInfos.tbBillList.strMsg, + data = resultInfos + }; + } return new ResponseResult { status = 0, diff --git a/entity/WwGdDetail.cs b/entity/WwGdDetail.cs index 5410d89..81053bc 100644 --- a/entity/WwGdDetail.cs +++ b/entity/WwGdDetail.cs @@ -39,14 +39,14 @@ /// 闇�棰� /// </summary> [SugarColumn(ColumnName = "dab006")] - public int? Dab006 { get; set; } + public decimal? Dab006 { get; set; } /// <summary> /// 宸查 /// 榛樿鍊�: ((0)) /// </summary> [SugarColumn(ColumnName = "dab007")] - public int? Dab007 { get; set; } + public decimal? Dab007 { get; set; } /// <summary> /// 鍗曚綅 @@ -59,46 +59,46 @@ /// 榛樿鍊�: ((0)) /// </summary> [SugarColumn(ColumnName = "dab020")] - public int? Dab020 { get; set; } + public decimal? Dab020 { get; set; } /// <summary> /// 琛ラ鏁伴噺 /// 榛樿鍊�: ((0)) /// </summary> [SugarColumn(ColumnName = "dab021")] - public int? Dab021 { get; set; } + public decimal? Dab021 { get; set; } /// <summary> /// 閫�鏂欐暟閲� /// 榛樿鍊�: ((0)) /// </summary> [SugarColumn(ColumnName = "dab022")] - public int? Dab022 { get; set; } + public decimal? Dab022 { get; set; } /// <summary> /// 瓒呴鏁伴噺 /// 榛樿鍊�: ((0)) /// </summary> [SugarColumn(ColumnName = "dab023")] - public int? Dab023 { get; set; } + public decimal? Dab023 { get; set; } /// <summary> /// 鑹搧閫�鏂� /// </summary> [SugarColumn(ColumnName = "lp_tl")] - public int? LpTl { get; set; } + public decimal? LpTl { get; set; } /// <summary> /// 鏉ユ枡涓嶈壇 /// </summary> [SugarColumn(ColumnName = "ll_bl")] - public int? LlBl { get; set; } + public decimal? LlBl { get; set; } /// <summary> /// 浣滀笟涓嶈壇 /// </summary> [SugarColumn(ColumnName = "zy_bl")] - public int? ZyBl { get; set; } + public decimal? ZyBl { get; set; } /// <summary> /// 浠撳簱id @@ -122,7 +122,7 @@ /// 缁勬垚鐢ㄩ噺 /// </summary> [SugarColumn(ColumnName = "dab012")] - public int? Dab012 { get; set; } + public decimal? Dab012 { get; set; } /// <summary> /// 搴忓彿 diff --git a/service/Warehouse/InventoryManager.cs b/service/Warehouse/InventoryManager.cs index 68195fe..c3ccba8 100644 --- a/service/Warehouse/InventoryManager.cs +++ b/service/Warehouse/InventoryManager.cs @@ -57,7 +57,7 @@ )) .Where((a, b) => a.DepotSectionCode == p_section_code) .Select((a, b) => new - { a.DepotSectionName, b.DepotCode, b.DepotName, b.DepotId }) + { a.DepotSectionName, b.DepotCode, b.DepotName, b.DepotId,b.FSubsidiary }) .Single(); // 濡傛灉搴撲綅浠g爜涓嶅瓨鍦紝鍒欒繑鍥為敊璇俊鎭� @@ -133,7 +133,8 @@ ? "1" : "0", CbillNo = c_mes_inv_item_barcodes.BillNo, - Fstatus = 0 + Fstatus = 0, + ReceiveOrgId = depotSection.FSubsidiary, }; db.Insertable(newMesInvItemIns) .IgnoreColumns(true) @@ -173,7 +174,8 @@ UrgentFlag = c_mes_inv_item_barcodes.UrgentFlag, BoardStyle = c_mes_inv_item_barcodes.BoardStyle, TaskNo = c_mes_inv_item_barcodes.TaskNo, - ItemId = c_mes_inv_item_barcodes.ItemId + ItemId = c_mes_inv_item_barcodes.ItemId, + ReceiveOrgId = depotSection.FSubsidiary, }).IgnoreColumns(true).ExecuteCommand(); @@ -228,7 +230,8 @@ // ItemUnit = c_mes_inv_item_barcodes.Unit, SuppNo = c_mes_inv_item_barcodes.SuppNo, ItemId = c_mes_inv_item_barcodes.ItemId, - IndepUserCode = c_user + IndepUserCode = c_user, + StockOrgId = depotSection.FSubsidiary, // Fsubsidiary = c_organize }).IgnoreColumns(true).ExecuteCommand(); diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs index 2254eb1..1552913 100644 --- a/service/Wom/WwGdManager.cs +++ b/service/Wom/WwGdManager.cs @@ -58,7 +58,9 @@ daa001 = query.daa001, barcodeNum = barcodeNum, splitNum = splitNum, - barcode = query.barcode + barcode = query.barcode, + strMsg = _strMsg, + result = _intSum }; return dto; @@ -147,7 +149,7 @@ var wwgd = Db.Queryable<WwGd, MesItems>((a, i) => new JoinQueryInfos(JoinType.Left, a.Daa003 == i.ItemId)) - .Where((a, i) => a.Daa001 == query.daa001) + .Where((a, i) => a.Daa001 == query.daa001 && (a.PcSh ?? 0) == 1) .Select((a, i) => new { a.Daa001, a.RwdGuid @@ -162,8 +164,7 @@ JoinType.Left, a.Id == b.Pid, JoinType.Inner, - c.Id == - b.Dab003, + c.Id == b.Dab003, JoinType.Inner, b.Erpid.ToString() == d.ErpId )) .Where((a, b, c, d) => @@ -668,6 +669,11 @@ .Where(a => a.Daa001 == query.billNo) .First(); + // 妫�鏌ュ伐鍗曚俊鎭� + var WWRWD = Db.Queryable<ProductionOrder>() + .Where(a => a.OrderNo == wwgd.Daa014) + .First(); + if (wwgd == null) throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒"); @@ -678,6 +684,11 @@ if (womdab == null) throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒"); + + + var depots = Db.Queryable<MesDepots>() + .Where(t => t.DepotId == stockBarcode.DepotId) + .First(); if (stockBarcode.Quantity > quantity) { @@ -707,13 +718,24 @@ // 寮�鍚簨鍔″鐞� var success = UseTransaction(db => { + query.Type = "濮斿琛ユ枡"; + var outNoType = "WWBL(濮斿琛ユ枡)"; + if (query.Type == "鐢熶骇琛ユ枡") + { + outNoType = "SCBL(鐢熶骇琛ユ枡)"; + } + else + { + outNoType = "SCCL(鐢熶骇瓒呴)"; + } + outNoType = "WWBL(濮斿琛ユ枡)"; // 鑾峰彇鎴栧垱寤哄嚭搴撳崟 var outId = Guid.NewGuid(); - var outNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)"); + var outNo = BillNo.GetBillNo(outNoType); var existingOut = db.Queryable<MesInvItemOuts>() - .Where(a => a.BbillNo == query.blNo - && a.DepotCode == womdab.Dab017 + .Where(a => a.TaskNo == query.blNo + && a.DepotId == stockBarcode.DepotId && a.OutDate.Value.Date.ToString("yyyy-MM-dd") == DateTime.Now.Date.ToString("yyyy-MM-dd") && a.BillTypeId == 200 @@ -741,33 +763,36 @@ BillTypeId = 200, TransactionNo = 209, Remark = mesItemBl.Bl007, - DepotCode = womdab.Dab017, - OutPart = wwgd.Daa013.ToString(), + DepotCode = depots.DepotCode, + OutPart = wwgd.DepartId.ToString(), + OutType = query.Type, FType = 0, Factory = stockBarcode.Factory, Company = stockBarcode.Company, - // WorkNo = wwgd.Daa021, - // BoardItem = wwgd.Daa002, + WorkNo = WWRWD.ErpProductionOrderNo, + BoardItem = wwgd.Daa003.ToString(), PbillNo = wwgd.Daa001, OutDate = DateTime.Now, Status = 0, - BbillNo = query.blNo + DepotId = stockBarcode.DepotId, + THORGID = stockBarcode.StockOrgId, + //BbillNo = query.billNo }).IgnoreColumns(true).ExecuteCommand(); } // 妫�鏌ュ苟鏇存柊鍑哄簱鍗曠墿鏂欐槑缁� var itemCount = db.Queryable<MesInvItemOutItems>() .Where(i => - i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId) + i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId && i.ItemOutId == outId && i.DepotId == stockBarcode.DepotsId.ToString()) .Count(); if (itemCount > 0) // 鏇存柊宸插瓨鍦ㄧ殑鐗╂枡鏄庣粏鏁伴噺 db.Updateable<MesInvItemOutItems>() .SetColumns(i => - i.Quantity == i.Quantity + stockBarcode.Quantity) + i.TlQty == i.TlQty + stockBarcode.Quantity) .Where(i => - i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId) + i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId && i.ItemOutId == outId && i.DepotId == stockBarcode.DepotsId.ToString()) .ExecuteCommand(); else // 鎻掑叆鏂扮殑鐗╂枡鏄庣粏璁板綍 @@ -777,21 +802,24 @@ ItemOutId = outId, ItemNo = blDetail.Bld002, Quantity = stockBarcode.Quantity, + TlQty = stockBarcode.Quantity, CreateBy = query.userName, CreateDate = DateTime.Now, LastupdateBy = query.userName, LastupdateDate = DateTime.Now, Factory = stockBarcode.Factory, Company = stockBarcode.Company, - DepotCode = womdab.Dab017, + DepotCode = depots.DepotCode, TaskNo = query.blNo, - // WorkNo = wwgd.Daa021, + WorkNo = WWRWD.ErpProductionOrderNo, WorkLine = blDetail.Bld013, ErpItemNo = womdab.Dab003.ToString(), ErpId = womdab.Eid, ErpAutoid = womdab.Erpid, PbillNo = query.billNo, - ItemId = blDetail.Bld012 + ItemId = blDetail.Bld012, + DepotId = stockBarcode.DepotsId.ToString(), + ItemDabid = womdab.Id, // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); @@ -810,7 +838,7 @@ CreateDate = DateTime.Now, LastupdateBy = query.userName, LastupdateDate = DateTime.Now, - DepotCode = stockBarcode.DepotsCode, + DepotCode = depots.DepotCode, DepotSectionCode = stockBarcode.DepotSectionsCode, Remark = blDetail.Bld010, Factory = stockBarcode.Factory, @@ -835,7 +863,7 @@ Guid = Guid.NewGuid(), Status = 1, BillTypeId = 200, // p_bill_type_id - TransactionCode = "210", // p_transaction_no + TransactionCode = "209", // p_transaction_no BusinessType = -1, ItemBarcode = stockBarcode.ItemBarcode, ItemNo = stockBarcode.ItemNo, @@ -871,6 +899,7 @@ .Where(it => it.Id == womdab.Id && it.Dab003 == womdab.Dab003) .ExecuteCommand(); + // 鏇存柊琛ユ枡鍗曟槑缁嗗凡琛ユ暟閲� db.Updateable<MesItemBlDetail>() .SetColumns(it => new MesItemBlDetail -- Gitblit v1.9.3