Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
50
src/WMS.Web.Api/Controllers/SerialNumberController.cs
Normal file
50
src/WMS.Web.Api/Controllers/SerialNumberController.cs
Normal file
@@ -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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取序列号信息
|
||||
/// </summary>
|
||||
/// <param name="serialNumber">序列号</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("Get/{serialNumber}")]
|
||||
public async Task<Result<SerialNumbersResponse>> Get([FromRoute] string serialNumber)
|
||||
{
|
||||
//var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||
//if (loginInfo == null || loginInfo.UserInfo == null)
|
||||
// return Result<SerialNumbersResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
|
||||
if (string.IsNullOrEmpty(serialNumber))
|
||||
return Result<SerialNumbersResponse>.ReFailure(ResultCodes.SerialNumbersNoData);
|
||||
|
||||
var serial = await _serialNumbersRepositories.Get(serialNumber);
|
||||
if (serial == null)return Result<SerialNumbersResponse>.ReFailure(ResultCodes.SerialNumbersNoData);
|
||||
return Result<SerialNumbersResponse>.ReSuccess(serial);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -430,6 +430,13 @@
|
||||
<param name="dto"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Api.Controllers.SerialNumberController.Get(System.String)">
|
||||
<summary>
|
||||
获取序列号信息
|
||||
</summary>
|
||||
<param name="serialNumber">序列号</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Api.Controllers.SysConfigController">
|
||||
<summary>
|
||||
系统配置
|
||||
|
||||
@@ -4241,6 +4241,66 @@
|
||||
每页条数 不传默认每页10 条
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse">
|
||||
<summary>
|
||||
序列号信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.SerialNumber">
|
||||
<summary>
|
||||
序列号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.MaterialName">
|
||||
<summary>
|
||||
物料名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.MaterialNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.Specifications">
|
||||
<summary>
|
||||
物料规格型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.CompleteCartonTime">
|
||||
<summary>
|
||||
完成装箱时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.SalBillNo">
|
||||
<summary>
|
||||
出库单对应销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.OutStockTime">
|
||||
<summary>
|
||||
出库时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.ProduceBillNo">
|
||||
<summary>
|
||||
生产单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.PurchaseBillNo">
|
||||
<summary>
|
||||
采购单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.InStockTime">
|
||||
<summary>
|
||||
入库时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.SerialNumbers.SerialNumbersResponse.Customer">
|
||||
<summary>
|
||||
收货客户
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.SingleData.IdRequest">
|
||||
<summary>
|
||||
ID请求对象
|
||||
|
||||
@@ -1566,17 +1566,37 @@
|
||||
创建时间(老ops过来)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.OutStockBillNo">
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.CompleteCartonTime">
|
||||
<summary>
|
||||
出库单号
|
||||
完成装箱时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.InStockBillNo">
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.SalBillNo">
|
||||
<summary>
|
||||
出库单对应销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.OutStockTime">
|
||||
<summary>
|
||||
出库时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.PurchaseBillNo">
|
||||
<summary>
|
||||
入库单号/采购单号
|
||||
采购单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.Bind(System.Int32)">
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.InStockTime">
|
||||
<summary>
|
||||
入库时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.SerialNumbers.CustomerId">
|
||||
<summary>
|
||||
收货客户
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.Bind(System.Int32,System.DateTime)">
|
||||
<summary>
|
||||
操作(绑定箱信息)
|
||||
</summary>
|
||||
@@ -1587,7 +1607,7 @@
|
||||
解绑
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.OutStock(System.String,WMS.Web.Domain.Values.OutStockType)">
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.OutStock(System.String,WMS.Web.Domain.Values.OutStockType,System.Int32)">
|
||||
<summary>
|
||||
出库
|
||||
</summary>
|
||||
|
||||
57
src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
Normal file
57
src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.SerialNumbers
|
||||
{
|
||||
/// <summary>
|
||||
/// 序列号信息
|
||||
/// </summary>
|
||||
public class SerialNumbersResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 序列号
|
||||
/// </summary>
|
||||
public string SerialNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
public string MaterialName { get; set; }
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public string MaterialNumber { get; set; }
|
||||
/// <summary>
|
||||
/// 物料规格型号
|
||||
/// </summary>
|
||||
public string Specifications { get; set; }
|
||||
/// <summary>
|
||||
/// 完成装箱时间
|
||||
/// </summary>
|
||||
public DateTime? CompleteCartonTime { get; set; }
|
||||
/// <summary>
|
||||
/// 出库单对应销售订单号
|
||||
/// </summary>
|
||||
public string SalBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 出库时间
|
||||
/// </summary>
|
||||
public string OutStockTime { get; set; }
|
||||
/// <summary>
|
||||
/// 生产单号
|
||||
///</summary>
|
||||
public string ProduceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 采购单号
|
||||
///</summary>
|
||||
public string PurchaseBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 入库时间
|
||||
/// </summary>
|
||||
public string InStockTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货客户
|
||||
///</summary>
|
||||
public string Customer { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
public class SerialNumbers : EntityBase
|
||||
{
|
||||
public SerialNumbers() { }
|
||||
public SerialNumbers(string serialNumber, int materialId, int boxId, int opsBoxId, string creator, DateTime? createTime)
|
||||
public SerialNumbers(string serialNumber, int materialId, int boxId, int opsBoxId, string creator, DateTime? createTime,DateTime? completeCartonTime)
|
||||
{
|
||||
this.SerialNumber = serialNumber;
|
||||
this.MaterialId = materialId;
|
||||
@@ -23,6 +23,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
this.OpsBoxId = opsBoxId;
|
||||
this.Creator = creator;
|
||||
this.CreateTime = createTime == null ? DateTime.Now : (DateTime)createTime;
|
||||
this.CompleteCartonTime = completeCartonTime;
|
||||
}
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
@@ -60,23 +61,44 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("CreateTime")]
|
||||
public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||
/// <summary>
|
||||
/// 出库单号
|
||||
/// 完成装箱时间
|
||||
/// </summary>
|
||||
[Column("OutStockBillNo")]
|
||||
public string OutStockBillNo { get; set; }
|
||||
[Column("CompleteCartonTime")]
|
||||
public DateTime? CompleteCartonTime { get; set; }
|
||||
/// <summary>
|
||||
/// 入库单号/采购单号
|
||||
/// 出库单对应销售订单号
|
||||
/// </summary>
|
||||
[Column("SalBillNo")]
|
||||
public string SalBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 出库时间
|
||||
/// </summary>
|
||||
[Column("OutStockTime")]
|
||||
public DateTime? OutStockTime { get; set; }
|
||||
/// <summary>
|
||||
/// 采购单号
|
||||
///</summary>
|
||||
[Column("InStockBillNo")]
|
||||
public string InStockBillNo { get; set; }
|
||||
[Column("PurchaseBillNo")]
|
||||
public string PurchaseBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 入库时间
|
||||
/// </summary>
|
||||
[Column("InStockTime")]
|
||||
public DateTime? InStockTime { get; set; }
|
||||
/// <summary>
|
||||
/// 收货客户
|
||||
///</summary>
|
||||
[Column("CustomerId")]
|
||||
public int CustomerId { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 操作(绑定箱信息)
|
||||
/// </summary>
|
||||
/// <param name="destBoxId">目标箱号</param>
|
||||
public void Bind(int destBoxId)
|
||||
public void Bind(int destBoxId,DateTime completeCartonTime)
|
||||
{
|
||||
this.BoxId = destBoxId;
|
||||
this.CompleteCartonTime = completeCartonTime;
|
||||
}
|
||||
/// <summary>
|
||||
/// 解绑
|
||||
@@ -89,11 +111,15 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 出库
|
||||
/// </summary>
|
||||
/// <param name="outStockBillNo">出库单号</param>
|
||||
public void OutStock(string outStockBillNo, OutStockType type)
|
||||
public void OutStock(string outStockBillNo, OutStockType type,int customerId)
|
||||
{
|
||||
this.BoxId = 0;
|
||||
if (type == OutStockType.Sal)
|
||||
this.OutStockBillNo = outStockBillNo;
|
||||
{
|
||||
this.SalBillNo = outStockBillNo;
|
||||
this.CustomerId = customerId;
|
||||
this.OutStockTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 入库
|
||||
@@ -102,7 +128,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
public void InStock(string inStockBillNo, InstockType type)
|
||||
{
|
||||
if (type == InstockType.Purchase)
|
||||
this.InStockBillNo = inStockBillNo;
|
||||
{
|
||||
this.PurchaseBillNo = inStockBillNo;
|
||||
this.InStockTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<bool> AddRange(List<SerialNumbers> entitys, bool isTransaction = true);
|
||||
//根据序列号模糊搜索信息
|
||||
Task<MaterialResponse> GetSerialNumber(string serialNumber);
|
||||
//根据序列号搜索信息
|
||||
Task<SerialNumbersResponse> Get(string serialNumber);
|
||||
/// 查询实体集合
|
||||
Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers);
|
||||
/// 根据箱Id查询集合
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace WMS.Web.Domain.Services
|
||||
.SelectMany(s => s.SerialNumbers)
|
||||
.FirstOrDefault(s => s.SerialNumber.Equals(sn.SerialNumber));
|
||||
//序列号
|
||||
SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialId, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime);
|
||||
SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialId, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime, b.CompleteCartonTime);
|
||||
sList.Add(s);
|
||||
//序列号记录(序列号生成)
|
||||
SerialNumberOperate so = new SerialNumberOperate(sn.SerialNumber, SerialNumberOperateType.Generate, detail.MaterialId, opsSerial.BarCereateUser, "", b.SupplierId, b.OrgId, null, opsSerial.BarCreateTime);
|
||||
|
||||
@@ -60,10 +60,11 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var entity in entityList)
|
||||
{
|
||||
var destBox = changeBoxRecords.FirstOrDefault(f => f.SerialNumbers.Contains(entity.SerialNumber));
|
||||
//修改序列号和箱绑定关系
|
||||
entity.Bind(destBox.DestBoxId);
|
||||
|
||||
var box = boxList.FirstOrDefault(f => f.Id == destBox.DestBoxId);
|
||||
//修改序列号和箱绑定关系
|
||||
entity.Bind(destBox.DestBoxId, box.CompleteCartonTime);
|
||||
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
@@ -193,7 +194,7 @@ namespace WMS.Web.Domain.Services
|
||||
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
if (outstockDetail == null) continue;
|
||||
//修改序列号和箱绑定关系
|
||||
entity.OutStock(outStock.BillNo, outStock.Type);
|
||||
entity.OutStock(outStock.BillNo, outStock.Type, outStock.ReceiptCustomerId);
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
@@ -321,7 +322,7 @@ namespace WMS.Web.Domain.Services
|
||||
var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var subStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, instockDetail.SubStockId);
|
||||
//修改序列号和箱绑定关系
|
||||
entity.InStock(inStock.BillNo, inStock.Type);
|
||||
entity.InStock(instockDetail.SourceBillNo, inStock.Type);
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
@@ -386,7 +387,7 @@ namespace WMS.Web.Domain.Services
|
||||
//if (backRecord.Type == BackRecordType.InstockOff)
|
||||
// entity.UnBind();
|
||||
if (backRecord.Type == BackRecordType.OutstockOn)
|
||||
entity.Bind(detail.BoxId);
|
||||
entity.Bind(detail.BoxId,box.CompleteCartonTime);
|
||||
|
||||
|
||||
//记录序列号操作日志
|
||||
|
||||
@@ -66,6 +66,6 @@ namespace WMS.Web.Domain.Values
|
||||
public static ValueTuple<int, string> InventoryInOutDetailsWriteError = (800014, "写入物料收发明细失败!");
|
||||
public static ValueTuple<int, string> InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
|
||||
|
||||
|
||||
public static ValueTuple<int, string> SerialNumbersNoData = (610000, "序列号不存在");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据序列号搜索信息
|
||||
/// </summary>
|
||||
/// <param name="serialNumber"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<SerialNumbersResponse> 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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号查询
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user