111
This commit is contained in:
@@ -202,5 +202,8 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
|
|
||||||
return (sFileName, fullPath);
|
return (sFileName, fullPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Collections.Generic;
|
||||||
using ZR.Admin.WebApi.Extensions;
|
using ZR.Admin.WebApi.Extensions;
|
||||||
using ZR.Admin.WebApi.Filters;
|
using ZR.Admin.WebApi.Filters;
|
||||||
using ZR.Model.MES.wms;
|
using ZR.Model.MES.wms;
|
||||||
@@ -116,6 +117,68 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
return SUCCESS(nowProduction);
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
return SUCCESS(null);
|
return SUCCESS(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
(int, int) data = _WmOutOrderService.DoMaterialOut(doMaterialOut, HttpContext.GetName());
|
(int, int) data = _WmOutOrderService.DoMaterialOut(doMaterialOut, "HttpContext.GetName()");
|
||||||
|
|
||||||
return SUCCESS(data);
|
return SUCCESS(data);
|
||||||
}
|
}
|
||||||
@@ -233,13 +233,13 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
/// <param name="shipment_num">出库单号</param>
|
/// <param name="shipment_num">出库单号</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("checkProductionOut")]
|
[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));
|
return ToResponse(new ApiResult(200, "请选择物料号", false));
|
||||||
}
|
}
|
||||||
string msg = "";
|
string msg = "";
|
||||||
msg = _WmOutOrderService.CheckProductionOut(parnumber,production_packcode, shipment_num);
|
msg = _WmOutOrderService.CheckProductionOut(partnumber, production_packcode, shipment_num);
|
||||||
if(msg !="ok")
|
if(msg !="ok")
|
||||||
{
|
{
|
||||||
return ToResponse(new ApiResult(200, msg, false));
|
return ToResponse(new ApiResult(200, msg, false));
|
||||||
@@ -247,9 +247,7 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
return ToResponse(new ApiResult(200, msg, true));
|
return ToResponse(new ApiResult(200, msg, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xls
Normal file
BIN
ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xls
Normal file
Binary file not shown.
BIN
ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xlsx
Normal file
BIN
ZR.Admin.WebApi/wwwroot/ImportTemplate/物料清单模版.xlsx
Normal file
Binary file not shown.
@@ -448,40 +448,38 @@ namespace ZR.Service.mes.wms
|
|||||||
{
|
{
|
||||||
//TODO 保证 同一出货单下 同一物料下最早批次
|
//TODO 保证 同一出货单下 同一物料下最早批次
|
||||||
// 取出同一出货单下 同一物料下 未满箱的最早批次
|
// 取出同一出货单下 同一物料下 未满箱的最早批次
|
||||||
WmOutOrderPlan plan_item =Context.Queryable<WmOutOrderPlan>()
|
string short_patch = item.Split("_")[0];
|
||||||
|
WmOutOrderPlan plan_item = Context.Queryable<WmOutOrderPlan>()
|
||||||
.Where(it => it.FkOutOrderId == shipnumber)
|
.Where(it => it.FkOutOrderId == shipnumber)
|
||||||
.Where(it => it.Patchcode == item).First();
|
.Where(it => it.Patchcode.Contains(short_patch)).First();
|
||||||
var plan_earliest = Context.Queryable<WmOutOrderPlan>()
|
if (plan_item != null)
|
||||||
|
{
|
||||||
|
var plan_earliest = Context.Queryable<WmOutOrderPlan>()
|
||||||
.Where(it => it.FkOutOrderId == shipnumber)
|
.Where(it => it.FkOutOrderId == shipnumber)
|
||||||
.Where(it=>it.MaterialCode== plan_item.MaterialCode)
|
.Where(it => it.MaterialCode == plan_item.MaterialCode)
|
||||||
.Where(it=>it.PackageNum>it.ReceivedPackNum)
|
.Where(it => it.PackageNum > it.ReceivedPackNum)
|
||||||
.OrderBy(it=>it.Outorder)
|
.OrderBy(it => it.Outorder)
|
||||||
.First();
|
.First();
|
||||||
//已经出库完成,没有可以出库的了
|
//已经出库完成,没有可以出库的了
|
||||||
if(plan_earliest != null)
|
if (plan_earliest == null)
|
||||||
{
|
|
||||||
return (100, 100);
|
|
||||||
}
|
|
||||||
if (plan_earliest.Id == plan_earliest.Id)
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO 每次出库要出库计划累加
|
|
||||||
|
|
||||||
Context.Updateable<WmOutOrderPlan>()
|
|
||||||
.SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1)
|
|
||||||
.Where(it => it.FkOutOrderId == shipnumber)
|
|
||||||
.Where(it => it.Patchcode == item)
|
|
||||||
.ExecuteCommand();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
UseTran2(() =>
|
|
||||||
{
|
{
|
||||||
|
return (100, 100);
|
||||||
|
}
|
||||||
|
if (plan_earliest.Id == plan_earliest.Id)
|
||||||
|
{
|
||||||
|
|
||||||
|
// TODO 每次出库要出库计划累加
|
||||||
|
|
||||||
|
Context.Updateable<WmOutOrderPlan>()
|
||||||
|
.SetColumns(it => it.ReceivedPackNum == it.ReceivedPackNum + 1)
|
||||||
|
.Where(it => it.FkOutOrderId == shipnumber)
|
||||||
|
.Where(it => it.Patchcode == item)
|
||||||
|
.ExecuteCommand();
|
||||||
|
|
||||||
|
|
||||||
WmGoodsOutRecord record = new WmGoodsOutRecord();
|
WmGoodsOutRecord record = new WmGoodsOutRecord();
|
||||||
record.Id = SnowFlakeSingle.Instance.NextId().ToString();
|
record.Id = SnowFlakeSingle.Instance.NextId().ToString();
|
||||||
|
|
||||||
WmGoodsNowProduction nowProduction = Context.Queryable<WmGoodsNowProduction>()
|
WmGoodsNowProduction nowProduction = Context.Queryable<WmGoodsNowProduction>()
|
||||||
.Where(it => it.PackageCodeClient == item).First();
|
.Where(it => it.PackageCodeClient == item).First();
|
||||||
|
|
||||||
@@ -507,13 +505,14 @@ namespace ZR.Service.mes.wms
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 不在最早批次内
|
||||||
|
return (200, 200);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 不在最早批次内
|
|
||||||
return (200, 200);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user