增加接口

This commit is contained in:
18942506660
2023-12-29 10:37:44 +08:00
parent 6c7dfa8ef9
commit 1554afbbf5
11 changed files with 219 additions and 2 deletions

View File

@@ -39,13 +39,14 @@ namespace WMS.Web.Api.Controllers
private readonly IMapper _mapper; private readonly IMapper _mapper;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService; private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
private readonly IOutStockRepositories _outStockRepositories; private readonly IOutStockRepositories _outStockRepositories;
private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories;
private readonly ILogger<SysConfigController> _logger; private readonly ILogger<SysConfigController> _logger;
public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories, public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories,
IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService, IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService,
ISerialNumbersRepositories serialNumbersRepositories, IBoxInventoryRepositories boxInventoryRepositories, ISerialNumbersRepositories serialNumbersRepositories, IBoxInventoryRepositories boxInventoryRepositories,
IMapper mapper, IErpBasicDataExtendService erpBasicDataExtendService, IOutStockRepositories outStockRepositories, IMapper mapper, IErpBasicDataExtendService erpBasicDataExtendService, IOutStockRepositories outStockRepositories,
ILogger<SysConfigController> logger) ILogger<SysConfigController> logger, IMoveBoxRecordRepositories moveBoxRecordRepositories)
{ {
_loginService = loginService; _loginService = loginService;
_basicsRepositories = basicsRepositories; _basicsRepositories = basicsRepositories;
@@ -58,6 +59,7 @@ namespace WMS.Web.Api.Controllers
_erpBasicDataExtendService = erpBasicDataExtendService; _erpBasicDataExtendService = erpBasicDataExtendService;
_outStockRepositories = outStockRepositories; _outStockRepositories = outStockRepositories;
_logger = logger; _logger = logger;
_moveBoxRecordRepositories = moveBoxRecordRepositories;
} }
/// <summary> /// <summary>
@@ -395,6 +397,27 @@ namespace WMS.Web.Api.Controllers
return Result<BoxResponse>.ReSuccess(response); return Result<BoxResponse>.ReSuccess(response);
} }
/// <summary>
/// 根据箱号获取箱对应移箱单信息 最新一条
/// </summary>
/// <param name="boxBillNo">必填</param>
/// <returns></returns>
[HttpGet]
[Route("GetBox_MoveBoxRecord")]
public async Task<Result<BoxResponse>> GetBox_MoveBoxRecord([FromQuery] string boxBillNo)
{
var res = await _boxRepositories.GetBox(new List<string>() { boxBillNo });
if (res.Count() <= 0)
return Result<BoxResponse>.ReFailure("箱号" + boxBillNo + "不存在", 800000);
var response = res[0];
var detail = await _moveBoxRecordRepositories.GetDetailsByBoxId(response.Id);
if (detail.Count() == 0)
return Result<BoxResponse>.ReFailure("箱号" + boxBillNo + "未出库", 800000);
response.Details = detail;
response.TotalQty = detail.Sum(s => s.Qty);
return Result<BoxResponse>.ReSuccess(response);
}
/// <summary> /// <summary>
/// 根据序列号或规格型号,物料编码搜索物料信息-PDA /// 根据序列号或规格型号,物料编码搜索物料信息-PDA
/// </summary> /// </summary>

View File

@@ -532,6 +532,13 @@
<param name="boxBillNo">必填</param> <param name="boxBillNo">必填</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.SysConfigController.GetBox_MoveBoxRecord(System.String)">
<summary>
根据箱号获取箱对应移箱单信息 最新一条
</summary>
<param name="boxBillNo">必填</param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterial(System.String)"> <member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterial(System.String)">
<summary> <summary>
根据序列号或规格型号,物料编码搜索物料信息-PDA 根据序列号或规格型号,物料编码搜索物料信息-PDA

View File

@@ -3867,6 +3867,31 @@
数量 数量
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest.Details">
<summary>
明细信息
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordDetailsRequest">
<summary>
移箱明细
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordDetailsRequest.MaterialId">
<summary>
物料Id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordDetailsRequest.Qty">
<summary>
数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordDetailsRequest.SerialNumbers">
<summary>
序列号
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.OperateRequest"> <member name="T:WMS.Web.Core.Dto.OperateRequest">
<summary> <summary>
操作 Id集合 操作 Id集合

View File

@@ -1155,6 +1155,11 @@
操作时间 操作时间
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecord.Details">
<summary>
明细信息
</summary>
</member>
<member name="M:WMS.Web.Domain.Entitys.MoveBoxRecord.Create(WMS.Web.Domain.Values.MoveBoxType,System.Int32,System.Decimal,System.String,System.String,System.Int32,System.Int32)"> <member name="M:WMS.Web.Domain.Entitys.MoveBoxRecord.Create(WMS.Web.Domain.Values.MoveBoxType,System.Int32,System.Decimal,System.String,System.String,System.Int32,System.Int32)">
<summary> <summary>
创建 创建
@@ -1166,6 +1171,36 @@
生成单据号 生成单据号
</summary> </summary>
</member> </member>
<member name="T:WMS.Web.Domain.Entitys.MoveBoxRecordDetails">
<summary>
移箱明细信息
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecordDetails.Id">
<summary>
主键 订单编号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecordDetails.Fid">
<summary>
单据头Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecordDetails.MaterialId">
<summary>
物料Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecordDetails.Qty">
<summary>
数量
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.MoveBoxRecordDetails.SerialNumbers">
<summary>
序列号
</summary>
</member>
<member name="T:WMS.Web.Domain.Entitys.OutStock"> <member name="T:WMS.Web.Domain.Entitys.OutStock">
<summary> <summary>
wms出库单 wms出库单

View File

@@ -26,5 +26,30 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
[Required(ErrorMessage = "数量不能为空")] [Required(ErrorMessage = "数量不能为空")]
[Range(0.999999999, 10000000000, ErrorMessage = "数量必须大于等于1")] [Range(0.999999999, 10000000000, ErrorMessage = "数量必须大于等于1")]
public decimal Qty { get; set; } public decimal Qty { get; set; }
/// <summary>
/// 明细信息
/// </summary>
public List<SaveMoveBoxRecordDetailsRequest> Details { get; set; } = new List<SaveMoveBoxRecordDetailsRequest>();
}
/// <summary>
/// 移箱明细
/// </summary>
public class SaveMoveBoxRecordDetailsRequest
{
/// <summary>
/// 物料Id
///</summary>
[Required(ErrorMessage = "物料不能为空")]
public int MaterialId { get; set; }
/// <summary>
/// 数量
/// </summary>
[Required(ErrorMessage = "数量不能为空")]
[Range(0.999999999, 10000000000, ErrorMessage = "数量必须大于等于1")]
public decimal Qty { get; set; }
/// <summary>
/// 序列号
/// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>();
} }
} }

View File

@@ -70,6 +70,10 @@ namespace WMS.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("CreateTime")] [Column("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now; public DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 明细信息
/// </summary>
public List<MoveBoxRecordDetails> Details { get; set; } = new List<MoveBoxRecordDetails>();
/// <summary> /// <summary>
/// 创建 /// 创建

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using WMS.Web.Core;
namespace WMS.Web.Domain.Entitys
{
/// <summary>
/// 移箱明细信息
/// </summary>
[Serializable]
[Table("t_wms_movebox_record_details")]
public class MoveBoxRecordDetails: EntityBase
{
public MoveBoxRecordDetails() { }
/// <summary>
/// 主键 订单编号
/// </summary>
[Column("Id")]
public override int Id { get; set; }
/// <summary>
/// 单据头Id
/// </summary>
[Column("Fid")]
public int Fid { get; set; }
/// <summary>
/// 物料Id
///</summary>
[Column("MaterialId")]
public int MaterialId { get; set; }
/// <summary>
/// 数量
/// </summary>
[Column("Qty")]
public decimal Qty { get; set; }
/// <summary>
/// 序列号
/// </summary>
[Column("SerialNumbers")]
public List<string> SerialNumbers { get; set; } = new List<string>();
}
}

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.MoveBoxRecord; using WMS.Web.Core.Dto.MoveBoxRecord;
using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Entitys;
@@ -15,5 +16,7 @@ namespace WMS.Web.Domain.Infrastructure
Task<bool> AddRange(List<MoveBoxRecord> entitys, bool isTransaction = true); Task<bool> AddRange(List<MoveBoxRecord> entitys, bool isTransaction = true);
// 获取列表 // 获取列表
Task<(List<MoveBoxRecordQueryInfoResponse> list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto, int companyId = 0); Task<(List<MoveBoxRecordQueryInfoResponse> list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto, int companyId = 0);
//获取出库单明细
Task<List<BoxDetailResponse>> GetDetailsByBoxId(int boxId);
} }
} }

View File

@@ -260,6 +260,13 @@ namespace WMS.Web.Domain.Services
var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId);
var entity = new MoveBoxRecord(); var entity = new MoveBoxRecord();
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.Qty, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.Qty, subStock?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId);
entity.Details = d.Details.Select(s => new MoveBoxRecordDetails()
{
MaterialId = s.MaterialId,
Qty = s.Qty,
SerialNumbers = s.SerialNumbers
}).ToList();
entityList.Add(entity); entityList.Add(entity);
} }

View File

@@ -50,6 +50,16 @@ namespace WMS.Web.Repositories.Configuration
ent.ToTable("t_wms_movebox_record"); ent.ToTable("t_wms_movebox_record");
ent.HasKey(x => x.Id); ent.HasKey(x => x.Id);
}); });
//移箱明细
builder.Entity<MoveBoxRecordDetails>(ent =>
{
ent.ToTable("t_wms_movebox_record_details");
ent.HasKey(x => x.Id);
ent.Property(f => f.SerialNumbers).HasConversion(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject<List<string>>(v));
});
//序列号 //序列号
builder.Entity<SerialNumbers>(ent => builder.Entity<SerialNumbers>(ent =>

View File

@@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using WMS.Web.Core; using WMS.Web.Core;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.MoveBoxRecord; using WMS.Web.Core.Dto.MoveBoxRecord;
using WMS.Web.Core.Help; using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Entitys;
@@ -26,9 +27,12 @@ namespace WMS.Web.Repositories
private readonly ISingleDataService _singleDataService; private readonly ISingleDataService _singleDataService;
private readonly ILoginRepositories _loginRepositories; private readonly ILoginRepositories _loginRepositories;
private readonly IBasicsRepositories _basicsRepositories; private readonly IBasicsRepositories _basicsRepositories;
private readonly IErpService _erpService;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
public MoveBoxRecordRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider, public MoveBoxRecordRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
ISingleDataService singleDataService, ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories) ISingleDataService singleDataService, ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories,
IErpService erpService, IErpBasicDataExtendService erpBasicDataExtendService)
{ {
_context = context; _context = context;
_mapper = mapper; _mapper = mapper;
@@ -36,6 +40,8 @@ namespace WMS.Web.Repositories
_singleDataService = singleDataService; _singleDataService = singleDataService;
_loginRepositories = loginRepositories; _loginRepositories = loginRepositories;
_basicsRepositories = basicsRepositories; _basicsRepositories = basicsRepositories;
_erpBasicDataExtendService = erpBasicDataExtendService;
_erpService = erpService;
} }
/// <summary> /// <summary>
/// 新增 /// 新增
@@ -103,6 +109,35 @@ namespace WMS.Web.Repositories
} }
} }
public async Task<List<BoxDetailResponse>> GetDetailsByBoxId(int boxId)
{
var res = await _context.MoveBoxRecord
.Include(s => s.Details)
.Where(f => f.BoxId==boxId)
.OrderByDescending(o => o.Id)
.ToListAsync();
List<BoxDetailResponse> details = new List<BoxDetailResponse>();
if (res.Count() == 0) return details;
var materials_result = await _erpService.BillQueryForMaterial();
if (!materials_result.IsSuccess)
return new List<BoxDetailResponse>();
var materials = materials_result.Data.ToList();
foreach (var d in res.First().Details)
{
BoxDetailResponse detail = new BoxDetailResponse();
detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, d.MaterialId);
detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, d.MaterialId);
detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, d.MaterialId);
detail.SerialNumbers = d.SerialNumbers;
detail.MaterialId = d.MaterialId;
detail.Qty = d.Qty;
details.Add(detail);
}
return details;
}
/// <summary> /// <summary>
/// 列表 /// 列表
/// </summary> /// </summary>