Wms/Model/InterFaceModel/HttpModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Wms/Wms/Controllers/UpApiController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Wms/Model/InterFaceModel/HttpModel.cs
@@ -586,5 +586,77 @@ /// </summary> public string contactMobile { get; set; } } public class SapAsnVm { /// <summary> /// 操作人 /// </summary> public string @operator{ get; set; } public SendAsnVm data { get; set; } } public class SendAsnVm { /// <summary> /// 入库单号 /// </summary> public long orderNo { get; set; } /// <summary> /// 入库单类型 /// 0:成品入库 1:采购入库 3:退货入库 (销售退货)4:余料退回入库 8 :生产退料入库 /// </summary> public int billType { get; set; } /// <summary> /// 供应商编号 /// </summary> public string vendorNo { get; set; } /// <summary> /// 供应商名称 /// </summary> public string vendorName { get; set; } /// <summary> /// 入库单明细列表 /// </summary> public List<SendAsnDetail> orderDCmdList { get; set; } } public class SendAsnDetail { /// <summary> /// 入库单行号 /// </summary> public string lineNo { get; set; } /// <summary> /// 物料编码 /// </summary> public long skuNo { get; set; } /// <summary> /// 物料名称 /// </summary> public string skuName { get; set; } /// <summary> /// 应收物料数量 /// </summary> public string expectedQty { get; set; } /// <summary> /// 批号 /// </summary> public long lotNo { get; set; } /// <summary> /// 生产日期 /// </summary> public string productionDate { get; set; } /// <summary> /// 到期日期 /// </summary> public string expireDate { get; set; } /// <summary> /// 复检日期 /// </summary> public string retestDate { get; set; } /// <summary> /// 供应商批号 /// </summary> public string supplyBatch { get; set; } } #endregion } Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -1256,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 = "数量应为正整数!"; 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 = "不存在当前物料信息!"; @@ -1338,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", Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs
@@ -96,7 +96,7 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> ErpModel CreateAsn(AsnInfo model); ErpModel CreateAsn(SendAsnVm model, string userName); /// <summary> /// 订单回传上游系统 /// </summary> Wms/Wms/Controllers/UpApiController.cs
@@ -29,6 +29,7 @@ using ZXing.QrCode.Internal; using System.Xml.Linq; using WMS.IBLL.ISysServer; using ZXing; namespace Wms.Controllers { @@ -122,11 +123,16 @@ if (!str.Contains("0")) { list = new { Success = -1, Message = str }; LogFile.SaveLogToFile($"客户供应商主数据同步:( {JsonConvert.SerializeObject(list)} ),", logStr); return Ok(new { result = false, code = "400", message = str }); } else { LogFile.SaveLogToFile($"客户供应商主数据同步:( {JsonConvert.SerializeObject(list)} ),", logStr); LogFile.SaveLogToFile($"客户供应商主数据同步:( {JsonConvert.SerializeObject(list)} ),", logStr); return Ok(new { result = true, code = "1", message = "success" }); return Ok(new { result = true, code = "1", message = "success" }); } } catch (Exception e) { @@ -142,13 +148,29 @@ /// <returns></returns> [AllowAnonymous] [HttpPost] public IActionResult CreateAsn(object model) public IActionResult CreateAsn(SapAsnVm model) { var logStr = $@".\log\SAP\入库单下发" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; try { LogFile.SaveLogToFile($"Sap入库单下发:( {model} ),", logStr); return Ok(new { result = true, code = "1", message = "success" }); var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"Sap入库单下发:( {jsonData} ),", logStr); var _result = _arrivalNoticeSvc.CreateAsn(model.data, model.@operator); var list = new { Success = 0, Message = "下发成功" }; if (_result.Success == 0) { LogFile.SaveLogToFile($"客户供应商主数据同步:( {JsonConvert.SerializeObject(list)} ),", logStr); return Ok(new { result = true, code = "1", message = "success" }); } else { list = new { Success = -1, Message = _result.Message }; LogFile.SaveLogToFile($"客户供应商主数据同步:( {JsonConvert.SerializeObject(list)} ),", logStr); return Ok(new { result = false, code = "400", message = _result.Message }); } } catch (Exception e) {