接口新增

This commit is contained in:
tongfei
2023-11-03 17:00:20 +08:00
parent edcab72889
commit bd5242f54a
7 changed files with 109 additions and 8 deletions

View File

@@ -6,6 +6,7 @@ using System.Linq;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.InStock;
using WMS.Web.Core.Dto.InStockTask;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService;
@@ -63,6 +64,22 @@ namespace WMS.Web.Api.Controllers
return await _inStockService.Shelf(dto, loginInfo);
}
/// <summary>
/// 通过箱号获取到入库任务单数据
/// </summary>
/// <param name="boxBillNo"></param>
/// <returns></returns>
[HttpGet]
[Route("GetTaskByBox")]
public async Task<Result<InStockTaskInfoDto>> GetTaskByBox([FromQuery] string boxBillNo)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.Token_Invalid_Error);
return await _inStockService.GetInfoByBox(boxBillNo);
}
/// <summary>
/// 同步金蝶
/// </summary>

View File

@@ -68,6 +68,13 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.InStockController.GetTaskByBox(System.String)">
<summary>
通过箱号获取到入库任务单数据
</summary>
<param name="boxBillNo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.InStockController.Sync(WMS.Web.Core.Dto.OperateRequest)">
<summary>
同步金蝶

View File

@@ -525,6 +525,31 @@
表单所在的子系统内码,字符串类型(非必录)
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpPushDto">
<summary>
下推
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpPushDto.FormId">
<summary>
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpPushDto.Numbers">
<summary>
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpPushDto.DetailsId">
<summary>
分录内码集合,逗号分隔(分录下推时必录) 注(按分录下推时,单据内码和编码不需要填,否则按整单下推)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpPushDto.Type">
<summary>
目标单据类型内码
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpSave`1">
<summary>
Erp同步数据时单据头

View File

@@ -1399,6 +1399,13 @@
<param name="loginInfo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.IInStockService.GetInfoByBox(System.String)">
<summary>
获取任务单:根据箱号信息
</summary>
<param name="boxBillNo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.IInStockService.Save(WMS.Web.Core.Dto.InStock.SaveInStockRequest,System.Int32,System.Boolean)">
<summary>
保存-出库单
@@ -2001,6 +2008,13 @@
<param name="loginInfo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.GetInfoByBox(System.String)">
<summary>
获取任务单:根据箱号信息
</summary>
<param name="boxBillNo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.Save(WMS.Web.Core.Dto.InStock.SaveInStockRequest,System.Int32,System.Boolean)">
<summary>
保存-出库单
@@ -2119,6 +2133,13 @@
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Push(WMS.Web.Core.Dto.Erp.ErpPushDto)">
<summary>
下推
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.HttpClientService.GetAsync``1(System.String,System.Int32)">
<summary>
Get方法

View File

@@ -39,6 +39,13 @@ namespace WMS.Web.Domain.IService
/// <returns></returns>
Task<Result> Shelf(SaveInStockRequest instock, LoginInDto loginInfo);
/// <summary>
/// 获取任务单:根据箱号信息
/// </summary>
/// <param name="boxBillNo"></param>
/// <returns></returns>
Task<Result<InStockTaskInfoDto>> GetInfoByBox(string boxBillNo);
/// <summary>
/// 保存-出库单
/// </summary>

View File

@@ -27,6 +27,12 @@ namespace WMS.Web.Domain.Mappers
CreateMap<ErpPurchaseInStockResultDto, InStockTask>()
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo));
CreateMap<InStockTask, InStockTaskInfoDto>()
.ForMember(x => x.Details, ops => ops.Ignore());
CreateMap<InStockTaskDetails, InStockTaskDetailsInfoDto>();
CreateMap<ErpPurchaseInStockResultDto, InStockTaskDetails>()
.ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.FSupplierId))
.ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.FPurchaseOrgId))

View File

@@ -109,18 +109,36 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess();
}
public async Task<Result<InStockTaskDetailsInfoDto>> GetInfoByBox(string boxBillNo)
/// <summary>
/// 获取任务单:根据箱号信息
/// </summary>
/// <param name="boxBillNo"></param>
/// <returns></returns>
public async Task<Result<InStockTaskInfoDto>> GetInfoByBox(string boxBillNo)
{
//1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了
var isBind= await _inStockTaskRepositories.IsExist(boxBillNo);
if (!isBind)
return Result<InStockTaskDetailsInfoDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
var tast= await _inStockTaskRepositories.GetBy(boxBillNo);
if (tast==null)
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.Box_NoBind_Task_Data);
var boxBillNos=new List<string>();
boxBillNos.Add(boxBillNo);
//2.找到箱对应的物料信息
var box= await _boxRepositories.GetBox(boxBillNos);
return null;
var box= await _boxRepositories.GetByNo(boxBillNo);
if(box==null)
return Result<InStockTaskInfoDto>.ReFailure(ResultCodes.BoxNoData);
//3.组装返回数据
var result = _mapper.Map<InStockTaskInfoDto>(tast);
foreach (var item in tast.Details)
{
//3.1判断当前物料是否相同
var isHave = box.Details.Where(x => x.MaterialId == item.MaterialId).Any();
if (!isHave)
continue;
//3.2映射返回明细对象
var task_detail = _mapper.Map<InStockTaskDetailsInfoDto>(item);
result.Details.Add(task_detail);
}
return Result<InStockTaskInfoDto>.ReSuccess(result);
}
/// <summary>