From 0f4ea6c5ba2f038baa1fdfa541086aa20e185a17 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 15 Apr 2024 11:36:08 +0800 Subject: [PATCH] 111 --- ZR.Admin.WebApi/Controllers/BaseController.cs | 3 + .../mes/wms/WmMaterialController.cs | 63 ++++++++++++++++ .../mes/wms/WmOutOrderController.cs | 12 ++-- .../wwwroot/ImportTemplate/物料清单模版.xls | Bin 0 -> 26624 bytes .../wwwroot/ImportTemplate/物料清单模版.xlsx | Bin 0 -> 9637 bytes ZR.Service/mes/wms/WmOutOrderService.cs | 67 +++++++++--------- 6 files changed, 104 insertions(+), 41 deletions(-) create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xls create mode 100644 ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xlsx diff --git a/ZR.Admin.WebApi/Controllers/BaseController.cs b/ZR.Admin.WebApi/Controllers/BaseController.cs index e202e809..5aa0e5f6 100644 --- a/ZR.Admin.WebApi/Controllers/BaseController.cs +++ b/ZR.Admin.WebApi/Controllers/BaseController.cs @@ -202,5 +202,8 @@ namespace ZR.Admin.WebApi.Controllers return (sFileName, fullPath); } + + + } } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs index 5f9e3545..6cab4e03 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model.MES.wms; @@ -116,6 +117,68 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(nowProduction); } + [HttpGet("download_template")] + [Log(Title = "下载物料清单模版", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)] + [AllowAnonymous] //不需要授权 就可以访问 + public IActionResult DownloadTemplate() + { + (string, string) result = DownloadImportTemplate("物料清单模版");//返回文件名和路径 + return ExportExcel(result.Item2, result.Item1); + } + + + [HttpGet("importData")] + [Log(Title = "物料清单批量导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)] + [AllowAnonymous] //不需要授权 就可以访问 + public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile, bool updateSupport) + { + + //1.0 读取excel 文件 保存在指定位置 + IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment)); + string sFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + formFile.FileName; + string target = Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial", sFileName); + if (!Directory.Exists(Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial"))) + { + // 如果目录不存在就创建 + Directory.CreateDirectory(Path.Combine(webHostEnvironment.WebRootPath, "wmmaterial")); + + } + //2.0 解析 excel + + + using (var stream = formFile.OpenReadStream()) + { + FileStream targetFileStream = new FileStream(target, FileMode.Create, FileAccess.Write); + + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0) + { + targetFileStream.Write(buffer, 0, bytesRead); + } + + + //IWorkbook workbook = new XSSFWorkbook(stream); + //ISheet sheet = workbook.GetSheetAt(0); // 读取第一个工作表 + + //for (int i = 0; i <= sheet.LastRowNum; i++) + //{ + // IRow row = sheet.GetRow(i); + // if (row != null) + // { + // for (int j = 0; j < row.LastCellNum; j++) + // { + // Console.Write(row.GetCell(j) + "\t"); + // } + // Console.WriteLine(); + // } + //} + + } + + + return null; + } diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs index a2fd9413..d6e8284e 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs @@ -203,7 +203,7 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(null); } - (int, int) data = _WmOutOrderService.DoMaterialOut(doMaterialOut, HttpContext.GetName()); + (int, int) data = _WmOutOrderService.DoMaterialOut(doMaterialOut, "HttpContext.GetName()"); return SUCCESS(data); } @@ -233,13 +233,13 @@ namespace ZR.Admin.WebApi.Controllers /// 出库单号 /// [HttpGet("checkProductionOut")] - public IActionResult CheckProductionOut( string parnumber,string production_packcode = "", string shipment_num = "") + public IActionResult CheckProductionOut( string partnumber,string production_packcode = "", string shipment_num = "") { - if(string.IsNullOrEmpty(parnumber)) { + if(string.IsNullOrEmpty(partnumber)) { return ToResponse(new ApiResult(200, "请选择物料号", false)); } string msg = ""; - msg = _WmOutOrderService.CheckProductionOut(parnumber,production_packcode, shipment_num); + msg = _WmOutOrderService.CheckProductionOut(partnumber, production_packcode, shipment_num); if(msg !="ok") { return ToResponse(new ApiResult(200, msg, false)); @@ -247,9 +247,7 @@ namespace ZR.Admin.WebApi.Controllers else { return ToResponse(new ApiResult(200, msg, true)); - } - - + } } } diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xls b/ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xls new file mode 100644 index 0000000000000000000000000000000000000000..8fa7b1c35d8e0f36e3452b87aa5b0baef3aec8f4 GIT binary patch literal 26624 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 + string short_patch = item.Split("_")[0]; + WmOutOrderPlan plan_item = Context.Queryable() .Where(it => it.FkOutOrderId == shipnumber) - .Where(it => it.Patchcode == item).First(); - var plan_earliest = Context.Queryable() + .Where(it => it.Patchcode.Contains(short_patch)).First(); + if (plan_item != null) + { + var plan_earliest = Context.Queryable() .Where(it => it.FkOutOrderId == shipnumber) - .Where(it=>it.MaterialCode== plan_item.MaterialCode) - .Where(it=>it.PackageNum>it.ReceivedPackNum) - .OrderBy(it=>it.Outorder) + .Where(it => it.MaterialCode == plan_item.MaterialCode) + .Where(it => it.PackageNum > it.ReceivedPackNum) + .OrderBy(it => it.Outorder) .First(); - //已经出库完成,没有可以出库的了 - if(plan_earliest != null) - { - return (100, 100); - } - if (plan_earliest.Id == plan_earliest.Id) - { - - // TODO 每次出库要出库计划累加 - - Context.Updateable() - .SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1) - .Where(it => it.FkOutOrderId == shipnumber) - .Where(it => it.Patchcode == item) - .ExecuteCommand(); - - - - - - - UseTran2(() => + //已经出库完成,没有可以出库的了 + if (plan_earliest == null) { + return (100, 100); + } + if (plan_earliest.Id == plan_earliest.Id) + { + + // TODO 每次出库要出库计划累加 + + Context.Updateable() + .SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1) + .Where(it => it.FkOutOrderId == shipnumber) + .Where(it => it.Patchcode == item) + .ExecuteCommand(); + + WmGoodsOutRecord record = new WmGoodsOutRecord(); record.Id = SnowFlakeSingle.Instance.NextId().ToString(); + WmGoodsNowProduction nowProduction = Context.Queryable() .Where(it => it.PackageCodeClient == item).First(); @@ -507,13 +505,14 @@ namespace ZR.Service.mes.wms } - }); + } + else + { + // 不在最早批次内 + return (200, 200); + + } - } - else - { - // 不在最早批次内 - return (200, 200); }