diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs
index d9a4086f..fb8a2235 100644
--- a/src/WMS.Web.Api/Controllers/SysConfigController.cs
+++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs
@@ -32,14 +32,17 @@ namespace WMS.Web.Api.Controllers
private readonly IBoxRepositories _boxRepositories;
private readonly IErpService _erpService;
private readonly ISingleDataService _singleDataService;
+ private readonly ISerialNumbersRepositories _serialNumbersRepositories;
public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories,
- IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService)
+ IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService,
+ ISerialNumbersRepositories serialNumbersRepositories)
{
_loginService = loginService;
_basicsRepositories = basicsRepositories;
_boxRepositories = boxRepositories;
_erpService = erpService;
_singleDataService = singleDataService;
+ _serialNumbersRepositories = serialNumbersRepositories;
}
///
@@ -254,5 +257,23 @@ namespace WMS.Web.Api.Controllers
return ResultList.ReSuccess(res);
}
+
+ ///
+ /// 根据序列号搜索信息-PDA
+ ///
+ /// 必填
+ ///
+ [HttpGet]
+ [Route("GetSerialNumber/{serialNumber}")]
+ public async Task> GetSerialNumbers([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);
+
+ var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber);
+
+ return Result.ReSuccess(res);
+ }
}
}
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index f48ca27e..a6143f36 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -366,6 +366,13 @@
必填
+
+
+ 根据序列号搜索信息-PDA
+
+ 必填
+
+
盘点单
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 10091524..4bb85e65 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -2665,17 +2665,17 @@
明细
-
+
序列号
-
+
序列号生成时间
-
+
序列号生成用户
@@ -3120,6 +3120,36 @@
每页条数 不传默认每页10 条
+
+
+ 序列号信息
+
+
+
+
+ 序列号
+
+
+
+
+ 物料ID
+
+
+
+
+ 物料名称
+
+
+
+
+ 物料编码
+
+
+
+
+ 物料规格型号
+
+
名称请求对象
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 5adfb75d..587af63c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1087,6 +1087,16 @@
创建时间(老ops过来)
+
+
+ 出库单号
+
+
+
+
+ 入库单号/采购单号
+
+
wms盘点单
@@ -1589,6 +1599,12 @@
+
+ 查询实体集合
+
+
+ 修改实体集合
+
批量添加
diff --git a/src/WMS.Web.Core/Dto/OpsBoxResponse.cs b/src/WMS.Web.Core/Dto/OpsBoxResponse.cs
index 6b61d1e2..106d7d77 100644
--- a/src/WMS.Web.Core/Dto/OpsBoxResponse.cs
+++ b/src/WMS.Web.Core/Dto/OpsBoxResponse.cs
@@ -51,7 +51,7 @@ namespace WMS.Web.Core.Dto
[JsonProperty("BoxReturnDetails")]
public List Details { get; set; } = new List();
}
- public class SerialNumbersResponse
+ public class OpsSerialNumbersResponse
{
///
/// 序列号
@@ -85,6 +85,6 @@ namespace WMS.Web.Core.Dto
/// 序列号集
///
[JsonProperty("SerialNumbers")]
- public List SerialNumbers { get; set; } = new List();
+ public List SerialNumbers { get; set; } = new List();
}
}
diff --git a/src/WMS.Web.Core/Dto/SerialNumbersResponse.cs b/src/WMS.Web.Core/Dto/SerialNumbersResponse.cs
new file mode 100644
index 00000000..b16a76af
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/SerialNumbersResponse.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto
+{
+ ///
+ /// 序列号信息
+ ///
+ public class SerialNumbersResponse
+ {
+ ///
+ /// 序列号
+ ///
+ public string SerialNumber { get; set; }
+ ///
+ /// 物料ID
+ ///
+ public int MaterialId { get; set; }
+ ///
+ /// 物料名称
+ ///
+ public string MaterialName { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string MaterialNumber { get; set; }
+ ///
+ /// 物料规格型号
+ ///
+ public string Specifications { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
index ea55eecf..cedf8169 100644
--- a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
+++ b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
@@ -58,5 +58,15 @@ namespace WMS.Web.Domain.Entitys
///
[Column("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now;
+ ///
+ /// 出库单号
+ ///
+ [Column("OutStockBillNo")]
+ public string OutStockBillNo { get; set; }
+ ///
+ /// 入库单号/采购单号
+ ///
+ [Column("InStockBillNo")]
+ public string InStockBillNo { get; set; }
}
}
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 201841ca..7ede98ee 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
+using WMS.Web.Core.Dto;
using WMS.Web.Domain.Entitys;
namespace WMS.Web.Domain.Infrastructure
@@ -18,5 +19,11 @@ namespace WMS.Web.Domain.Infrastructure
///
///
Task AddRange(List entitys, bool isTransaction = true);
+ //根据序列号模糊搜索信息
+ Task GetSerialNumber(string serialNumber);
+ /// 查询实体集合
+ Task> GetEntityList(List serialNumbers);
+ /// 修改实体集合
+ Task EditEntityList(List entitys, bool isTransaction = true);
}
}
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index b9c5cf21..a0e97928 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -1,11 +1,17 @@
using AutoMapper;
+using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WMS.Web.Core.Dto;
+using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
+using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Mappers;
using WMS.Web.Repositories.Configuration;
namespace WMS.Web.Repositories
@@ -13,17 +19,22 @@ namespace WMS.Web.Repositories
///
/// 序列号
///
- public class SerialNumbersRepositories: ISerialNumbersRepositories
+ public class SerialNumbersRepositories : ISerialNumbersRepositories
{
private readonly IMapper _mapper;
private readonly IServiceProvider _serviceProvider;
private readonly RepositoryDbContext _context;
+ private readonly IErpService _erpService;
+ private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
- public SerialNumbersRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider)
+ public SerialNumbersRepositories(RepositoryDbContext context, IMapper mapper,
+ IServiceProvider serviceProvider, IErpService erpService, IErpBasicDataExtendService erpBasicDataExtendService)
{
_context = context;
_mapper = mapper;
_serviceProvider = serviceProvider;
+ _erpService = erpService;
+ _erpBasicDataExtendService = erpBasicDataExtendService;
}
public async Task AddRange(List entitys, bool isTransaction = true)
@@ -49,5 +60,72 @@ namespace WMS.Web.Repositories
return false;
}
}
+ ///
+ /// 批量修改
+ ///
+ ///
+ ///
+ ///
+ public async Task EditEntityList(List entitys, bool isTransaction = true)
+ {
+ IDbContextTransaction _transaction = null;
+ if (isTransaction)
+ _transaction = _context.Database.BeginTransaction();
+ try
+ {
+ List list = entitys.Select(s => s.Id).ToList();
+
+ var res = await _context.SerialNumbers
+ .Where(f => list.Contains(f.Id)).ToListAsync();
+
+ _mapper.ToMapList(entitys, res);
+
+ await _context.SaveChangesAsync();
+ if (_transaction != null)
+ _transaction.Commit();
+ }
+ catch (Exception ex)
+ {
+ if (_transaction != null)
+ _transaction.Rollback();
+ return false;
+ }
+ return true;
+ }
+ ///
+ /// 根据序列号查询
+ ///
+ ///
+ ///
+ public async Task> GetEntityList(List serialNumbers)
+ {
+ var res = await _context.SerialNumbers
+ .Where(f => serialNumbers.Contains(f.SerialNumber))
+ .ToListAsync();
+
+ return res.Clone();
+ }
+
+ ///
+ /// 根据序列号
+ ///
+ ///
+ ///
+ public async Task GetSerialNumber(string serialNumber)
+ {
+ SerialNumbersResponse response = new SerialNumbersResponse();
+ var materials_result = await _erpService.BillQueryForMaterial();
+ if (!materials_result.IsSuccess)
+ return response;
+ var materials = materials_result.Data.ToList();
+
+ var entity = await _context.SerialNumbers.FirstOrDefaultAsync(w => serialNumber.Equals(w.SerialNumber));
+ response.SerialNumber = entity.SerialNumber;
+ response.MaterialId = entity.MaterialId;
+ response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialId);
+ response.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, entity.MaterialId);
+ response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.MaterialId);
+ return new SerialNumbersResponse();
+ }
}
}