diff --git a/src/WMS.Web.Api/Controllers/InStockController.cs b/src/WMS.Web.Api/Controllers/InStockController.cs
index 260f57b4..70bdec6c 100644
--- a/src/WMS.Web.Api/Controllers/InStockController.cs
+++ b/src/WMS.Web.Api/Controllers/InStockController.cs
@@ -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);
}
+ ///
+ /// 通过箱号获取到入库任务单数据
+ ///
+ ///
+ ///
+ [HttpGet]
+ [Route("GetTaskByBox")]
+ public async Task> GetTaskByBox([FromQuery] string boxBillNo)
+ {
+ var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ if (loginInfo == null || loginInfo.UserInfo == null)
+ return Result.ReFailure(ResultCodes.Token_Invalid_Error);
+
+ return await _inStockService.GetInfoByBox(boxBillNo);
+ }
+
///
/// 同步金蝶
///
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index b1da5d49..b75a579d 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -68,6 +68,13 @@
+
+
+ 通过箱号获取到入库任务单数据
+
+
+
+
同步金蝶
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 1255c0d0..9f2af380 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -525,6 +525,31 @@
表单所在的子系统内码,字符串类型(非必录)
+
+
+ 下推
+
+
+
+
+ 业务对象表单Id(必录)
+
+
+
+
+ 业务对象表单Id(必录)
+
+
+
+
+ 分录内码集合,逗号分隔(分录下推时必录) 注(按分录下推时,单据内码和编码不需要填,否则按整单下推)
+
+
+
+
+ 目标单据类型内码
+
+
Erp同步数据时单据头
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 1f5eea7f..69b9c09e 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1399,6 +1399,13 @@
+
+
+ 获取任务单:根据箱号信息
+
+
+
+
保存-出库单
@@ -2001,6 +2008,13 @@
+
+
+ 获取任务单:根据箱号信息
+
+
+
+
保存-出库单
@@ -2119,6 +2133,13 @@
+
+
+ 下推
+
+
+
+
Get方法
diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs
index ff574fde..9feca57d 100644
--- a/src/WMS.Web.Domain/IService/IInStockService.cs
+++ b/src/WMS.Web.Domain/IService/IInStockService.cs
@@ -39,6 +39,13 @@ namespace WMS.Web.Domain.IService
///
Task Shelf(SaveInStockRequest instock, LoginInDto loginInfo);
+ ///
+ /// 获取任务单:根据箱号信息
+ ///
+ ///
+ ///
+ Task> GetInfoByBox(string boxBillNo);
+
///
/// 保存-出库单
///
diff --git a/src/WMS.Web.Domain/Mappers/InStockMapper.cs b/src/WMS.Web.Domain/Mappers/InStockMapper.cs
index f7d1f585..e06bde58 100644
--- a/src/WMS.Web.Domain/Mappers/InStockMapper.cs
+++ b/src/WMS.Web.Domain/Mappers/InStockMapper.cs
@@ -27,6 +27,12 @@ namespace WMS.Web.Domain.Mappers
CreateMap()
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo));
+ CreateMap()
+ .ForMember(x => x.Details, ops => ops.Ignore());
+
+ CreateMap();
+
+
CreateMap()
.ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.FSupplierId))
.ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.FPurchaseOrgId))
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 162f2b17..8256ae26 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -109,18 +109,36 @@ namespace WMS.Web.Domain.Services
return Result.ReSuccess();
}
- public async Task> GetInfoByBox(string boxBillNo)
+ ///
+ /// 获取任务单:根据箱号信息
+ ///
+ ///
+ ///
+ public async Task> GetInfoByBox(string boxBillNo)
{
//1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了
- var isBind= await _inStockTaskRepositories.IsExist(boxBillNo);
- if (!isBind)
- return Result.ReFailure(ResultCodes.Box_NoBind_Task_Data);
+ var tast= await _inStockTaskRepositories.GetBy(boxBillNo);
+ if (tast==null)
+ return Result.ReFailure(ResultCodes.Box_NoBind_Task_Data);
- var boxBillNos=new List();
- boxBillNos.Add(boxBillNo);
//2.找到箱对应的物料信息
- var box= await _boxRepositories.GetBox(boxBillNos);
- return null;
+ var box= await _boxRepositories.GetByNo(boxBillNo);
+ if(box==null)
+ return Result.ReFailure(ResultCodes.BoxNoData);
+
+ //3.组装返回数据
+ var result = _mapper.Map(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(item);
+ result.Details.Add(task_detail);
+ }
+ return Result.ReSuccess(result);
}
///