diff --git a/src/WMS.Web.Api/Controllers/SerialNumberController.cs b/src/WMS.Web.Api/Controllers/SerialNumberController.cs
new file mode 100644
index 00000000..05d33b8a
--- /dev/null
+++ b/src/WMS.Web.Api/Controllers/SerialNumberController.cs
@@ -0,0 +1,50 @@
+using AutoMapper;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using WMS.Web.Core.Dto.SerialNumbers;
+using WMS.Web.Core.Internal.Results;
+using WMS.Web.Domain.Infrastructure;
+using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Values;
+
+namespace WMS.Web.Api.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class SerialNumberController : ControllerBase
+ {
+ private readonly IMapper _mapper;
+ private readonly ILoginService _loginService;
+ private readonly ISerialNumbersRepositories _serialNumbersRepositories;
+ public SerialNumberController(IMapper mapper, ILoginService loginService, ISerialNumbersRepositories serialNumbersRepositories)
+ {
+ _mapper = mapper;
+ _loginService = loginService;
+ _serialNumbersRepositories = serialNumbersRepositories;
+ }
+
+ ///
+ /// 获取序列号信息
+ ///
+ /// 序列号
+ ///
+ [HttpGet]
+ [Route("Get/{serialNumber}")]
+ public async Task> Get([FromRoute] string serialNumber)
+ {
+ //var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ //if (loginInfo == null || loginInfo.UserInfo == null)
+ // return Result.ReFailure(ResultCodes.Token_Invalid_Error);
+ if (string.IsNullOrEmpty(serialNumber))
+ return Result.ReFailure(ResultCodes.SerialNumbersNoData);
+
+ var serial = await _serialNumbersRepositories.Get(serialNumber);
+ if (serial == null)return Result.ReFailure(ResultCodes.SerialNumbersNoData);
+ return Result.ReSuccess(serial);
+ }
+ }
+}
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index 18297c0d..9b767d07 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -430,6 +430,13 @@
+
+
+ 获取序列号信息
+
+ 序列号
+
+
系统配置
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 33b3daaa..7e18e7bc 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -4241,6 +4241,66 @@
每页条数 不传默认每页10 条
+
+
+ 序列号信息
+
+
+
+
+ 序列号
+
+
+
+
+ 物料名称
+
+
+
+
+ 物料编码
+
+
+
+
+ 物料规格型号
+
+
+
+
+ 完成装箱时间
+
+
+
+
+ 出库单对应销售订单号
+
+
+
+
+ 出库时间
+
+
+
+
+ 生产单号
+
+
+
+
+ 采购单号
+
+
+
+
+ 入库时间
+
+
+
+
+ 收货客户
+
+
ID请求对象
diff --git a/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
new file mode 100644
index 00000000..31e3044f
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.SerialNumbers
+{
+ ///
+ /// 序列号信息
+ ///
+ public class SerialNumbersResponse
+ {
+ ///
+ /// 序列号
+ ///
+ public string SerialNumber { get; set; }
+ ///
+ /// 物料名称
+ ///
+ public string MaterialName { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string MaterialNumber { get; set; }
+ ///
+ /// 物料规格型号
+ ///
+ public string Specifications { get; set; }
+ ///
+ /// 完成装箱时间
+ ///
+ public DateTime? CompleteCartonTime { get; set; }
+ ///
+ /// 出库单对应销售订单号
+ ///
+ public string SalBillNo { get; set; }
+ ///
+ /// 出库时间
+ ///
+ public string OutStockTime { get; set; }
+ ///
+ /// 生产单号
+ ///
+ public string ProduceBillNo { get; set; }
+ ///
+ /// 采购单号
+ ///
+ public string PurchaseBillNo { get; set; }
+ ///
+ /// 入库时间
+ ///
+ public string InStockTime { get; set; }
+ ///
+ /// 收货客户
+ ///
+ public string Customer { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 42ac023b..d9e44233 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
+using WMS.Web.Core.Dto.SerialNumbers;
using WMS.Web.Domain.Entitys;
namespace WMS.Web.Domain.Infrastructure
@@ -21,6 +22,8 @@ namespace WMS.Web.Domain.Infrastructure
Task AddRange(List entitys, bool isTransaction = true);
//根据序列号模糊搜索信息
Task GetSerialNumber(string serialNumber);
+ //根据序列号搜索信息
+ Task Get(string serialNumber);
/// 查询实体集合
Task> GetEntityList(List serialNumbers);
/// 根据箱Id查询集合
diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs
index e06cb916..2213e828 100644
--- a/src/WMS.Web.Domain/Values/ResultCodes.cs
+++ b/src/WMS.Web.Domain/Values/ResultCodes.cs
@@ -66,6 +66,6 @@ namespace WMS.Web.Domain.Values
public static ValueTuple InventoryInOutDetailsWriteError = (800014, "写入物料收发明细失败!");
public static ValueTuple InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
-
+ public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在");
}
}
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index 2d169fdc..da0a01e4 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
+using WMS.Web.Core.Dto.SerialNumbers;
using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
@@ -91,6 +92,42 @@ namespace WMS.Web.Repositories
}
return true;
}
+ ///
+ /// 根据序列号搜索信息
+ ///
+ ///
+ ///
+ public async Task Get(string serialNumber)
+ {
+ var materials_result = await _erpService.BillQueryForMaterial();
+ if (!materials_result.IsSuccess)
+ return null;
+ var materials = materials_result.Data.ToList();
+
+ var customer_result = await _erpService.BillQueryForCustomer();
+ if (!customer_result.IsSuccess)
+ return null;
+ var customers = customer_result.Data.ToList();
+
+ var s = await _context.SerialNumbers
+ .FirstOrDefaultAsync(f => serialNumber.Equals(f.SerialNumber));
+ if (s == null) return null;
+ SerialNumbersResponse respone = new SerialNumbersResponse()
+ {
+ MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId),
+ MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId),
+ Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId),
+ CompleteCartonTime = s.CompleteCartonTime,
+ InStockTime = s.InStockTime.DateToStringSeconds(),
+ OutStockTime = s.OutStockTime.DateToStringSeconds(),
+ PurchaseBillNo = s.PurchaseBillNo,
+ SalBillNo = s.SalBillNo,
+ Customer = _erpBasicDataExtendService.GetCustomerName(customers, s.CustomerId),
+ SerialNumber = s.SerialNumber
+ };
+ return respone;
+ }
+
///
/// 根据序列号查询
///