|
@@ -19,6 +19,8 @@ using Aliyun.OSS;
|
|
|
using ZR.Model.Dto.InStore;
|
|
|
using ZR.Model.Models.InStore;
|
|
|
using NLog;
|
|
|
+using ZR.Model.System;
|
|
|
+using ZR.Service.System.IService;
|
|
|
|
|
|
namespace ZR.Admin.WebApi.Controllers.OutStore
|
|
|
{
|
|
@@ -40,14 +42,20 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
|
|
|
private readonly IOutAssembleRecordService _OutAssembleRecordService;
|
|
|
private readonly IStkBalanceDtlService _StkBalanceDtlService;
|
|
|
private readonly ISapBomRecordService _SapBomRecordService;
|
|
|
+ private readonly ISysFileService FileService;
|
|
|
+ private IWebHostEnvironment _HostEnvironment;
|
|
|
|
|
|
public OutAssembleRecordController(IOutAssembleRecordService OutAssembleRecordService,
|
|
|
IStkBalanceDtlService StkBalanceDtlService,
|
|
|
- ISapBomRecordService SapBomRecordService)
|
|
|
+ ISapBomRecordService SapBomRecordService,
|
|
|
+ ISysFileService sysFileService,
|
|
|
+ IWebHostEnvironment hostEnvironment)
|
|
|
{
|
|
|
_OutAssembleRecordService = OutAssembleRecordService;
|
|
|
_StkBalanceDtlService = StkBalanceDtlService;
|
|
|
_SapBomRecordService = SapBomRecordService;
|
|
|
+ FileService = sysFileService;
|
|
|
+ _HostEnvironment = hostEnvironment;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -61,7 +69,7 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
|
|
|
{
|
|
|
bool isPDA = false;
|
|
|
ClientInfo clientInfo = HttpContext.GetClientInfo();
|
|
|
- if (clientInfo.OS.ToString().Contains("Android 10"))
|
|
|
+ if (clientInfo.OS.ToString().Contains("Android 10") || clientInfo.OS.ToString().Contains("Android 9"))
|
|
|
{
|
|
|
isPDA = true;
|
|
|
}
|
|
@@ -181,13 +189,19 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
|
|
|
}
|
|
|
|
|
|
#region 2023 0524 孙亚龙 新增
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="assembleDataDto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ /// <exception cref="CustomException"></exception>
|
|
|
[HttpPost("AddOutAssembleRecordForFile")]
|
|
|
[ActionPermissionFilter(Permission = "AddOutAssembleRecordForFile")]
|
|
|
- public IActionResult AddOutAssembleRecordForFile([FromForm] SapBomRecordAssembleExtDto assembleDataDto)
|
|
|
+ public async Task<IActionResult> AddOutAssembleRecordForFile([FromForm] SapBomRecordAssembleExtDto assembleDataDto)
|
|
|
{
|
|
|
IFormFile? formFile;
|
|
|
ClientInfo clientInfo = HttpContext.GetClientInfo();
|
|
|
- if (clientInfo.OS.ToString().Contains("Android 10"))
|
|
|
+ if (clientInfo.OS.ToString().Contains("Android 10") || clientInfo.OS.ToString().Contains("Android 9"))
|
|
|
{
|
|
|
var file11 = HttpContext.Request.Form.Files[0];
|
|
|
formFile = file11;
|
|
@@ -207,10 +221,15 @@ namespace ZR.Admin.WebApi.Controllers.OutStore
|
|
|
sapBomRecordMd.Result = 99;
|
|
|
}
|
|
|
OutAssembleRecord assembleRecordMd = assembleDataDto.Adapt<OutAssembleRecord>();
|
|
|
- using var stream = formFile.OpenReadStream();
|
|
|
- BinaryReader br = new(stream);
|
|
|
- byte[] byData = br.ReadBytes((int)stream.Length);
|
|
|
- assembleRecordMd.Picture = byData;
|
|
|
+ // 把图片转换为二进制数据
|
|
|
+ //using var stream = formFile.OpenReadStream();
|
|
|
+ //BinaryReader br = new(stream);
|
|
|
+ //byte[] byData = br.ReadBytes((int)stream.Length);
|
|
|
+
|
|
|
+ // 20240131 孙亚龙修改 装配的实物图片直接存储在服务器固定路径的文件夹里,不再使用数据库存储。
|
|
|
+ SysFile file = await FileService.SaveFileToLocal(_HostEnvironment.WebRootPath, $"{assembleDataDto.MaterialSpec}__{assembleDataDto.BnSnCode}", "OutAssemblePicture", HttpContext.GetName(), formFile);
|
|
|
+ assembleRecordMd.FileId = file.Id;
|
|
|
+ assembleRecordMd.Picture = file.AccessUrl;
|
|
|
assembleRecordMd.BnSnCode = assembleDataDto.BnSnCode;
|
|
|
assembleRecordMd.AssembleQty = assembleDataDto.AssembleNum;
|
|
|
assembleRecordMd.CreateBy = HttpContext.GetName();
|