From 20dda69cad210c3b40d643e52ba1cbccec24b392 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期一, 14 七月 2025 15:23:32 +0800 Subject: [PATCH] 1.携客云获取送货单默认组织写死 2.采购入库优化 --- service/Warehouse/MesItemBlManager.cs | 333 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 204 insertions(+), 129 deletions(-) diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index 1dcfb9a..26f8d2f 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -69,7 +69,7 @@ //return (mesItemBl.Bl001, blDetails); var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, - dbo.F_QX_GETRECODEPOTSE(A.bld012) as RecoKw,D.daa001 + dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 fROM MES_ITEM_BL_DETAIL A LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50)) @@ -323,7 +323,7 @@ ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, - DepotId = stockBarcode.DepotsId.ToString(), + DepotId = stockBarcode.DepotId.ToString(), ItemDabid = blDetail.Id, // Unit = blDetail.Bld009, // DepotId = (int)stockBarcode.DepotsId @@ -487,7 +487,7 @@ /// - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0) /// - blNo: 琛ユ枡鍗曞彿(蹇呭~) /// </remarks> - public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode( + public ProductionPickDto SplitBarcode( WarehouseQuery query) { if (string.IsNullOrEmpty(query.userName)) @@ -543,134 +543,135 @@ // 鎷嗗垎鏉$爜 if (totalQty > query.Num) { - var mesItems = db.Queryable<MesItems>() - .Where(s => s.Id == stockBarcode.ItemId).First(); + newBarcode = BillNo.ExecuteBarcodeSplit(query.userName, query.barcode, query.Num); + //var mesItems = db.Queryable<MesItems>() + // .Where(s => s.Id == stockBarcode.ItemId).First(); - // 鐢熸垚鏂版潯鐮佸彿 - newBarcode = BillNo.GetBillNo("TM(鏉$爜)", mesItems.ItemNo); + //// 鐢熸垚鏂版潯鐮佸彿 + //newBarcode = BillNo.GetBillNo("TM(鏉$爜)", mesItems.ItemNo); - // 鍐欏叆鏂版潯鐮� - executeCommand += db.Insertable(new MesInvItemBarcodes - { - Guid = Guid.NewGuid(), - ItemBarcode = newBarcode, - CustNo = stockBarcode.CustomerNo, - // ProductCode = stockBarcode.ProductCode, - // ItemBarcode2 = stockBarcode.ItemBarcode2, - // ItemCode = stockBarcode.ItemCode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - Quantity = query.Num, - EpFlag = true, - TaskNo = stockBarcode.TaskNo, - CreateBy = query.userName, - CreateDate = DateTime.Now, - LastupdateBy = query.userName, - LastupdateDate = DateTime.Now, - OldItemBarcode = query.barcode, - // Mblnr = stockBarcode.Mblnr, - // Zeile = stockBarcode.Zeile, - // RohInId = stockBarcode.RohInId, - Barcodestatus = false, - Oldqty = query.Num as long?, - // Unit = stockBarcode.Unit, - // WeightUnit = stockBarcode.WeightUnit, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - BillNo = stockBarcode.BillNo, - BoardStyle = stockBarcode.BoardStyle, - // ColorName = stockBarcode.ColorName, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - // MemoBad = stockBarcode.MemoBad, - ComeFlg = 5, - // Memo = stockBarcode.Memo, - SuppId = stockBarcode.SuppId, - SuppNo = stockBarcode.SuppNo, - InsDate = stockBarcode.IndepDate, // Added InsDate - ItemId = stockBarcode.ItemId - // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit - }).IgnoreColumns(true).ExecuteCommand(); + //// 鍐欏叆鏂版潯鐮� + //executeCommand += db.Insertable(new MesInvItemBarcodes + //{ + // Guid = Guid.NewGuid(), + // ItemBarcode = newBarcode, + // CustNo = stockBarcode.CustomerNo, + // // ProductCode = stockBarcode.ProductCode, + // // ItemBarcode2 = stockBarcode.ItemBarcode2, + // // ItemCode = stockBarcode.ItemCode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // Quantity = query.Num, + // EpFlag = true, + // TaskNo = stockBarcode.TaskNo, + // CreateBy = query.userName, + // CreateDate = DateTime.Now, + // LastupdateBy = query.userName, + // LastupdateDate = DateTime.Now, + // OldItemBarcode = query.barcode, + // // Mblnr = stockBarcode.Mblnr, + // // Zeile = stockBarcode.Zeile, + // // RohInId = stockBarcode.RohInId, + // Barcodestatus = false, + // Oldqty = query.Num as long?, + // // Unit = stockBarcode.Unit, + // // WeightUnit = stockBarcode.WeightUnit, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // BillNo = stockBarcode.BillNo, + // BoardStyle = stockBarcode.BoardStyle, + // // ColorName = stockBarcode.ColorName, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // // MemoBad = stockBarcode.MemoBad, + // ComeFlg = 5, + // // Memo = stockBarcode.Memo, + // SuppId = stockBarcode.SuppId, + // SuppNo = stockBarcode.SuppNo, + // InsDate = stockBarcode.IndepDate, // Added InsDate + // ItemId = stockBarcode.ItemId + // // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit + //}).IgnoreColumns(true).ExecuteCommand(); - // 鏇存柊鍘熸潯鐮佹暟閲� - executeCommand += db.Updateable<MesInvItemBarcodes>() - .SetColumns(it => it.Quantity == it.Quantity - query.Num) - .Where(it => it.ItemBarcode == query.barcode) - .ExecuteCommand(); - - // 鏇存柊鍘熸潯鐮佹暟閲� - executeCommand += db.Updateable<MesInvItemStocks>() - .SetColumns(it => it.Quantity == it.Quantity - query.Num) - .Where(it => it.ItemBarcode == query.barcode) - .ExecuteCommand(); - - //// 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰� - //executeCommand += db.Deleteable<MesInvItemStocks>() + //// 鏇存柊鍘熸潯鐮佹暟閲� + //executeCommand += db.Updateable<MesInvItemBarcodes>() + // .SetColumns(it => it.Quantity == it.Quantity - query.Num) // .Where(it => it.ItemBarcode == query.barcode) // .ExecuteCommand(); - // 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍 - executeCommand += db.Insertable(new MesInvItemStocks - { - Guid = Guid.NewGuid(), - TaskNo = stockBarcode.TaskNo, - ItemBarcode = newBarcode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - Quantity = query.Num, - EpFlag = stockBarcode.EpFlag, - CustomerNo = stockBarcode.CustomerNo, - ItemWt = stockBarcode.ItemWt, - DepotsCode = stockBarcode.DepotsCode, - DepotsId = stockBarcode.DepotsId, - DepotSectionsCode = stockBarcode.DepotSectionsCode, - CheckDate = stockBarcode.CheckDate, - ItemType = stockBarcode.ItemType, - IndepDate = stockBarcode.IndepDate, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - IqcStatus = stockBarcode.IqcStatus, - BoardStyle = stockBarcode.BoardStyle, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - SuppNo = stockBarcode.SuppNo, - ItemId = stockBarcode.ItemId - // UnitId = stockBarcode.ItemUnit - }).IgnoreColumns(true).ExecuteCommand(); + //// 鏇存柊鍘熸潯鐮佹暟閲� + //executeCommand += db.Updateable<MesInvItemStocks>() + // .SetColumns(it => it.Quantity == it.Quantity - query.Num) + // .Where(it => it.ItemBarcode == query.barcode) + // .ExecuteCommand(); - // 鍐欏叆鏂版潯鐮佺殑浜ゆ槗璁板綍 - executeCommand += db.Insertable(new MesInvBusiness2 - { - Guid = Guid.NewGuid(), - Status = 1, - BillTypeId = 200, // p_bill_type_id - TransactionCode = "209", // p_transaction_no - BusinessType = 0, - ItemBarcode = newBarcode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - EpFlag = true, - Quantity = query.Num, - FromInvDepotsCode = null, - FromInvDepotSectionsCode = null, - ToInvDepotsCode = stockBarcode.DepotsCode, - ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, - Description = query.Type + "鎷嗗垎鐢熸垚", - CreateBy = query.userName, - CreateDate = DateTime.Now, - LastupdateBy = query.userName, - LastupdateDate = DateTime.Now, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - TaskNo = stockBarcode.TaskNo, - BillNo = stockBarcode.BillNo, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - SuppNo = stockBarcode.SuppNo, - SuppId = stockBarcode.SuppId, - ItemId = stockBarcode.ItemId - // CkDepot = stockBarcode.DepotsId - }).IgnoreColumns(true).ExecuteCommand(); + ////// 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰� + ////executeCommand += db.Deleteable<MesInvItemStocks>() + //// .Where(it => it.ItemBarcode == query.barcode) + //// .ExecuteCommand(); + + //// 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍 + //executeCommand += db.Insertable(new MesInvItemStocks + //{ + // Guid = Guid.NewGuid(), + // TaskNo = stockBarcode.TaskNo, + // ItemBarcode = newBarcode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // Quantity = query.Num, + // EpFlag = stockBarcode.EpFlag, + // CustomerNo = stockBarcode.CustomerNo, + // ItemWt = stockBarcode.ItemWt, + // DepotsCode = stockBarcode.DepotsCode, + // DepotsId = stockBarcode.DepotsId, + // DepotSectionsCode = stockBarcode.DepotSectionsCode, + // CheckDate = stockBarcode.CheckDate, + // ItemType = stockBarcode.ItemType, + // IndepDate = stockBarcode.IndepDate, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // IqcStatus = stockBarcode.IqcStatus, + // BoardStyle = stockBarcode.BoardStyle, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // SuppNo = stockBarcode.SuppNo, + // ItemId = stockBarcode.ItemId + // // UnitId = stockBarcode.ItemUnit + //}).IgnoreColumns(true).ExecuteCommand(); + + //// 鍐欏叆鏂版潯鐮佺殑浜ゆ槗璁板綍 + //executeCommand += db.Insertable(new MesInvBusiness2 + //{ + // Guid = Guid.NewGuid(), + // Status = 1, + // BillTypeId = 200, // p_bill_type_id + // TransactionCode = "209", // p_transaction_no + // BusinessType = 0, + // ItemBarcode = newBarcode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // EpFlag = true, + // Quantity = query.Num, + // FromInvDepotsCode = null, + // FromInvDepotSectionsCode = null, + // ToInvDepotsCode = stockBarcode.DepotsCode, + // ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, + // Description = query.Type + "鎷嗗垎鐢熸垚", + // CreateBy = query.userName, + // CreateDate = DateTime.Now, + // LastupdateBy = query.userName, + // LastupdateDate = DateTime.Now, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // TaskNo = stockBarcode.TaskNo, + // BillNo = stockBarcode.BillNo, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // SuppNo = stockBarcode.SuppNo, + // SuppId = stockBarcode.SuppId, + // ItemId = stockBarcode.ItemId + // // CkDepot = stockBarcode.DepotsId + //}).IgnoreColumns(true).ExecuteCommand(); } else if (totalQty < query.Num) { @@ -847,7 +848,7 @@ { Guid = Guid.NewGuid(), ItemOutId = outId, - ItemBarcode = newBarcode ?? query.barcode, + ItemBarcode = newBarcode , ItemNo = stockBarcode.ItemNo, LotNo = stockBarcode.LotNo, Quantity = query.Num, @@ -870,7 +871,7 @@ PbillNo = query.billNo, ItemId = blDetail.Bld012, Unit = blDetail.Bld009, - DepotId = (int)stockBarcode.DepotsId, + DepotId = (int)stockBarcode.DepotId, Dabid = womdab.Guid, }).IgnoreColumns(true).ExecuteCommand(); @@ -882,7 +883,7 @@ BillTypeId = 200, // p_bill_type_id TransactionCode = "209", // p_transaction_no BusinessType = 1, - ItemBarcode = newBarcode ?? query.barcode, + ItemBarcode = newBarcode , ItemNo = stockBarcode.ItemNo, LotNo = stockBarcode.LotNo, EpFlag = true, @@ -961,7 +962,7 @@ // 鍒涘缓 鎻掑叆鏃ュ織 var logService = new LogService(); - var LogMsg = "[PDA]" + query.Type + "銆傛潯鐮併��" + query.barcode + "銆� 鍑哄簱鍗曞彿銆�" + outNo + "銆�"; + var LogMsg = "[PDA]" + query.Type + "銆傛潯鐮併��" + newBarcode + "銆� 鍑哄簱鍗曞彿銆�" + outNo + "銆�"; logService.CreateLog(db, query.userName, womdaa.Guid.ToString(), "WOMDAA", LogMsg, womdaa.Daa001); @@ -984,7 +985,14 @@ }) .ToList(); - return (success, pendingList); + var dto = new ProductionPickDto + { + daa001 = query.billNo, + barcode = query.barcode,//鍘熸潯鐮� + cfBarcode = newBarcode//鎷嗗垎鍚庢潯鐮� + }; + + return dto; } #endregion @@ -1815,5 +1823,72 @@ return (true, pendingList); } + + /// <summary> + /// 鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁� prc_rf_pda_scan_zout_showbl + /// </summary> + /// <param name="billNo">琛ユ枡鍗曞彿</param> + /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns> + public ProductionPickDto + GetMesItemWWBlDetailByBillNo( + WarehouseQuery query) + { + if (string.IsNullOrEmpty(query.billNo)) + throw new Exception("璇烽�夊崟鎹彿锛�"); + + // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷 + var mesItemBl = Db.Queryable<MesItemBl>() + .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true) + .First(); + + if (mesItemBl == null) + throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�"); + + //if (mesItemBl.Bl019 == true) + // throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�"); + + //// 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁� + //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => + // new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) + // .Where((a, b) => a.BlNo == query.billNo + // && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) + // .Select((a, b) => new MesItemBlDetail + // { + // Bld012 = b.Bld012, + // Bld002 = b.Bld002, + // Bld003 = b.Bld003, + // Bld004 = b.Bld004, + // Bld007 = b.Bld007, + // Bld008 = b.Bld008 + // }) + // .ToList(); + + //return (mesItemBl.Bl001, blDetails); + var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, + dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 +fROM MES_ITEM_BL_DETAIL A + LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID + LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50)) + LEFT JOIN WW_GD D ON B.about_guid = D.ID +WHERE B.bl_no = '{0}'", query.billNo); + + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); + + + var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); + + var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); + + var dto = new ProductionPickDto + { + daa001 = womdabs[0].DAA001, + //PlanNo = womcaa.Caa020, + items = DS_list, + Ysitems = YS_list + }; + + return dto; + } + #endregion } \ No newline at end of file -- Gitblit v1.9.3