From 86e443e42c4bee972c5b795def4917e02f98ce40 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 11 七月 2025 16:45:08 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 89 ++++++++++++++++++++++---------------------- 1 files changed, 45 insertions(+), 44 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 880f59b..715a0b7 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -1,5 +1,6 @@ 锘縰sing Model.InterFaceModel; using Model.ModelDto; +using Model.ModelDto.BllAsnDto; using Model.ModelDto.SysDto; using Model.ModelVm; using Model.ModelVm.SysVm; @@ -138,7 +139,7 @@ } //鑾峰彇鍏ュ簱鍗曟槑缁嗗墿浣欐墦鍗版暟閲� - public string GetAsnDetailQtyList(int id) + public LabelPrintInfoDto GetAsnDetailQtyList(int id) { try { @@ -147,7 +148,11 @@ { throw new Exception("鏈煡璇㈠埌鍏ュ簱鍗曟槑缁�"); } + var data = new LabelPrintInfoDto(); + data.ProductionTime = string.IsNullOrEmpty(detail.Lot1) ? "" : Convert.ToDateTime(detail.Lot1).ToString("yyyy-MM-dd"); + data.ExpirationTime = string.IsNullOrEmpty(detail.Lot2) ? "" : Convert.ToDateTime(detail.Lot2).ToString("yyyy-MM-dd"); + data.SupplierLot = detail.SupplierLot; var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m => m.Qty + (m.SamplingQty == null? 0: m.SamplingQty)); if (labelQty == null) { @@ -158,7 +163,8 @@ { qty = 0; } - return qty.ToString(); + data.Qty = qty.ToString(); + return data; } catch (Exception e) { @@ -364,7 +370,9 @@ if (string.IsNullOrWhiteSpace(detailModel.LotNo)) { string toDayTime = DateTime.Now.ToString("yyyyMM"); - var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") && m.CreateTime.ToString("yyyyMMdd") == DateTime.Now.ToString("yyyyMMdd")).Max(m => m.BoxCodeStr); + var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>() + .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") + && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr); if(string.IsNullOrWhiteSpace(maxBoxCodeStr)) { maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001"; @@ -399,18 +407,18 @@ } string lot1 = detailModel.Lot1; string lot2 = detailModel.Lot2; - if (sku.IsPasteCode == "0") + if (sku.IsInspect == "0")//鏄惁鍏嶆锛�0锛氬惁 1锛氭槸 { - //涓嶈创鏍囩墿鏂� 鐢熶骇鏃ユ湡銆佹湁鏁堟湡涓嶈兘涓虹┖ + //涓嶅厤妫�鐗╂枡 鐢熶骇鏃ユ湡銆佹湁鏁堟湡涓嶈兘涓虹┖ DateTime lot12; DateTime lot22; if (!DateTime.TryParse(detailModel.Lot1, out lot12)) { - throw new Exception("闈炶创鏍囩墿鏂欑敓浜ф棩鏈熻浆鎹㈠け璐�"); + throw new Exception("涓嶅厤妫�鐗╂枡鐢熶骇鏃ユ湡杞崲澶辫触"); } if (!DateTime.TryParse(detailModel.Lot2, out lot22)) { - throw new Exception("闈炶创鏍囩墿鏂欒繃鏈熸棩鏈熻浆鎹㈠け璐�"); + throw new Exception("涓嶅厤妫�鐗╂枡杩囨湡鏃ユ湡杞崲澶辫触"); } lot1 = lot12.ToString(); lot2 = lot22.ToString(); @@ -628,7 +636,9 @@ // } //} //detailModel.LotNo = maxLotNo; - var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") && m.CreateTime.ToString("yyyyMMdd") == DateTime.Now.ToString("yyyyMMdd")).Max(m => m.BoxCodeStr); + var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>() + .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") + && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr); if (string.IsNullOrWhiteSpace(maxBoxCodeStr)) { maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001"; @@ -695,6 +705,7 @@ && it.IsBelt == detailModel.IsBelt && it.Lot1 == detailModel.Lot1 // 鐢熶骇鏃ユ湡 && it.Lot2 == detailModel.Lot2 // 杩囨湡鏃ユ湡 + && it.BoxCodeStr == detailModel.BoxCodeStr && it.UDF1 == detailModel.UDF1 && it.UDF2 == detailModel.UDF2 && it.UDF3 == detailModel.UDF3 @@ -729,6 +740,7 @@ dbDetail.IsBale = detailModel.IsBale; dbDetail.Lot1 = detailModel.Lot1; dbDetail.Lot2 = detailModel.Lot2; + dbDetail.BoxCodeStr = detailModel.BoxCodeStr; dbDetail.UDF1 = detailModel.UDF1; dbDetail.UDF2 = detailModel.UDF2; dbDetail.UDF3 = detailModel.UDF3; @@ -1244,77 +1256,64 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - public ErpModel CreateAsn(AsnInfo model) + public ErpModel CreateAsn(SendAsnVm model,string userName) { try { var resultModel = new ErpModel() { Success = -1, Message = "" }; - if (string.IsNullOrEmpty(model.AsnType)) + if (string.IsNullOrEmpty(model.billType.ToString())) { resultModel.Message = "鍗曟嵁绫诲瀷涓嶅彲涓虹┖!"; return resultModel; } - if (string.IsNullOrEmpty(model.Customer)) - { - resultModel.Message = "瀹㈡埛涓嶅彲涓虹┖!"; - return resultModel; - } - if (string.IsNullOrEmpty(model.OrderCode)) + + if (string.IsNullOrEmpty(model.orderNo.ToString())) { resultModel.Message = "涓婃父绯荤粺鍗曞彿涓嶅彲涓虹┖!"; return resultModel; } - if (model.AsnDetails.Count <= 0) + if (model.orderDCmdList.Count <= 0) { resultModel.Message = "鍏ュ簱鍗曟槑缁嗕笉鍙负绌�!"; return resultModel; } - - // 鏍规嵁瀹㈡埛缂栧彿鑾峰彇瀹㈡埛鍚嶇О - var CustomerModel = Db.Queryable<SysCustomer>().First(it => it.CustomerNo == model.Customer && it.IsDel == "0"); - if (CustomerModel == null) - { - resultModel.Message = "瀹㈡埛缂栧彿涓嶅瓨鍦�!"; - return resultModel; - } - // 鍏ュ簱鎬昏〃淇℃伅 string asnNo = new Common().GetMaxNo("ASN"); var asnModel = new BllArrivalNotice() { ASNNo = asnNo, Status = "0",//绛夊緟鎵ц - Type = model.AsnType, - Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin, - CustomerNo = model.Customer, - CustomerName = CustomerModel.CustomerName, - OrderCode = model.OrderCode, - UserName = model.Username + Type = model.billType.ToString(), + Origin = "SAP", + CustomerNo = model.vendorNo, + CustomerName = model.vendorName, + OrderCode = model.orderNo.ToString(), + UserName = userName }; // 鍏ュ簱鏄庣粏琛ㄤ俊鎭� List<BllArrivalNoticeDetail> detailModels = new List<BllArrivalNoticeDetail>(); - foreach (AsnDetail asnDetailModel in model.AsnDetails) + foreach (var asnDetailModel in model.orderDCmdList) { - if (string.IsNullOrEmpty(asnDetailModel.SkuNo)) + if (string.IsNullOrEmpty(asnDetailModel.skuNo.ToString())) { resultModel.Message = "鐗╂枡缂栫爜涓嶅彲涓虹┖!"; return resultModel; } - if (asnDetailModel.Qty <= 0) + if (Convert.ToDecimal(asnDetailModel.expectedQty) <= 0) { - resultModel.Message = "鏁伴噺搴斾负姝f暣鏁�!"; + resultModel.Message = "搴旀敹鐗╂枡鏁伴噺搴斿ぇ浜�0!"; return resultModel; } - if (string.IsNullOrEmpty(asnDetailModel.LotNo)) + if (string.IsNullOrEmpty(asnDetailModel.lotNo.ToString())) { resultModel.Message = "鎵规鍙蜂笉鍙负绌�!"; return resultModel; } // 鑾峰彇鐗╂枡璇︾粏淇℃伅 - var skuModel = Db.Queryable<SysMaterials>().First(it => it.SkuNo == asnDetailModel.SkuNo && it.IsDel == "0"); + var skuModel = Db.Queryable<SysMaterials>().First(it => it.SkuNo == asnDetailModel.skuNo.ToString() && it.IsDel == "0"); if (skuModel == null) { resultModel.Message = "涓嶅瓨鍦ㄥ綋鍓嶇墿鏂欎俊鎭�!"; @@ -1326,16 +1325,18 @@ var detailModel = new BllArrivalNoticeDetail() { ASNNo = asnNo, - SkuNo = asnDetailModel.SkuNo, + SkuNo = asnDetailModel.skuNo.ToString(), SkuName = skuModel.SkuName, Standard = skuModel.Standard, - LotNo = asnDetailModel.LotNo, + LotNo = asnDetailModel.lotNo.ToString(), LotText = "", - Qty = (decimal)asnDetailModel.Qty, - FactQty=0, - CompleteQty=0, + Qty = Convert.ToDecimal(asnDetailModel.expectedQty), + FactQty = 0, + CompleteQty = 0, PackagNo = skuModel.PackagNo, - SupplierLot = asnDetailModel.SupplierLot, + SupplierLot = asnDetailModel.supplyBatch,//鐢熶骇鏃ユ湡 + Lot1 = asnDetailModel.productionDate,//杩囨湡鏃ユ湡 + Lot2 = asnDetailModel.expireDate, Status = "0", IsSampling = "0", InspectStatus = "0", -- Gitblit v1.8.0