diff --git a/src/WMS.Web.Api/Controllers/InStockController.cs b/src/WMS.Web.Api/Controllers/InStockController.cs
index 937a76aa..9002e218 100644
--- a/src/WMS.Web.Api/Controllers/InStockController.cs
+++ b/src/WMS.Web.Api/Controllers/InStockController.cs
@@ -139,11 +139,11 @@ namespace WMS.Web.Api.Controllers
///
[HttpGet]
[Route("GetTaskByBox/{boxBillNo}")]
- public async Task> GetTaskByBox([FromRoute] string boxBillNo)
+ public async Task> GetTaskByBox([FromRoute] 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 Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _inStockService.GetInfoByBox(boxBillNo);
}
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 84844a6d..4aa5fdf0 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -1225,6 +1225,81 @@
状态
+
+
+ 扫箱-对应的任务单信息和箱的信息
+
+
+
+
+ 来源单号
+
+
+
+
+ 箱ID
+
+
+
+
+ 单据ID(等同-入库任务单ID)
+
+
+
+
+ 明细
+
+
+
+
+ 箱明细和任务单明细结合
+
+
+
+
+ 供应商Id
+
+
+
+
+ 组织ID
+
+
+
+
+ 物料ID
+
+
+
+
+ 物料名称
+
+
+
+
+ 物料编码
+
+
+
+
+ 物料规格型号
+
+
+
+
+ 应入数量
+
+
+
+
+ 收货数量
+
+
+
+
+ 箱对应物料的数量
+
+
采购订单物料明细和箱物料明细-对比请求对象
diff --git a/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs
new file mode 100644
index 00000000..02173d2b
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs
@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.InStockTask
+{
+ ///
+ /// 扫箱-对应的任务单信息和箱的信息
+ ///
+ public class BoxInStockTaskDto
+ {
+ ///
+ /// 来源单号
+ ///
+ public string SourceBillNo { get; set; }
+
+ ///
+ /// 箱ID
+ ///
+ public int BoxId { get; set; }
+
+ ///
+ /// 单据ID(等同-入库任务单ID)
+ ///
+ public int TaskId { get; set; }
+
+
+ ///
+ /// 明细
+ ///
+ public List Details { get; set; } = new List();
+ }
+
+ ///
+ /// 箱明细和任务单明细结合
+ ///
+ public class BoxDetailsInStockTaskDto
+ {
+ ///
+ /// 供应商Id
+ ///
+ public int SupplierId { get; set; }
+ ///
+ /// 组织ID
+ ///
+ public int OrgId { get; set; }
+
+ ///
+ /// 物料ID
+ ///
+ public int MaterialId { get; set; }
+
+ ///
+ /// 物料名称
+ ///
+ public string MaterialName { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string MaterialNumber { get; set; }
+ ///
+ /// 物料规格型号
+ ///
+ public string Specifications { get; set; }
+
+ ///
+ /// 应入数量
+ ///
+ public decimal AccruedQty { get; set; }
+
+ ///
+ /// 收货数量
+ ///
+ public decimal ReceiveQty { get; set; }
+
+ ///
+ /// 箱对应物料的数量
+ ///
+ public decimal BoxMaterialQty { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/IService/IInStockService.cs b/src/WMS.Web.Domain/IService/IInStockService.cs
index 5a7124fc..54d52eeb 100644
--- a/src/WMS.Web.Domain/IService/IInStockService.cs
+++ b/src/WMS.Web.Domain/IService/IInStockService.cs
@@ -54,7 +54,7 @@ namespace WMS.Web.Domain.IService
///
///
///
- Task> GetInfoByBox(string boxBillNo);
+ Task> GetInfoByBox(string boxBillNo);
///
/// 修改-入库任务信息
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 307ef6c8..174f37fa 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -137,7 +137,7 @@ namespace WMS.Web.Domain.Services
///
///
///
- public async Task> GetInfoByBox(string boxBillNo)
+ public async Task> GetInfoByBox(string boxBillNo)
{
//1.获取物料集合
var materials_result = await _erpService.BillQueryForMaterial();
@@ -148,36 +148,42 @@ namespace WMS.Web.Domain.Services
//1.先判断:箱号已经绑定了入库任务单中;备注:业务说法就是箱是否收货了
var tast = await _inStockTaskRepositories.GetBy(boxBillNo);
if (tast == null)
- return Result.ReFailure(ResultCodes.Box_NoBind_Task_Data);
+ return Result.ReFailure(ResultCodes.Box_NoBind_Task_Data);
//2.找到箱对应的物料信息
var box = await _boxRepositories.GetByNo(boxBillNo);
if (box == null)
- return Result.ReFailure(ResultCodes.BoxNoData);
+ return Result.ReFailure(ResultCodes.BoxNoData);
//2.1判断箱是否上架过了
var isExist = await _inStockRepositories.IsExistBy(box.Id);
if(isExist)
- return Result.ReFailure(ResultCodes.BoxIsTrueShelf);
+ return Result.ReFailure(ResultCodes.BoxIsTrueShelf);
//3.组装返回数据
- var result = _mapper.Map(tast);
+ var result = new BoxInStockTaskDto();
+ result.SourceBillNo = tast.SourceBillNo;
+ result.TaskId = tast.Id;
result.BoxId = box.Id;
- foreach (var item in tast.Details)
+ foreach (var item in box.Details)
{
- //3.1判断当前物料是否相同
- var current_box_det = box.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault();
- if (current_box_det==null)
- continue;
+ var current_task_Det= tast.Details.Where(x => x.MaterialId == item.MaterialId && x.AccruedQty>x.ReceiveQty).FirstOrDefault();
//3.2映射返回明细对象
- var task_detail = _mapper.Map(item);
- task_detail.BoxMaterialQty = current_box_det.Qty;
- task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, task_detail.MaterialId);
- task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, task_detail.MaterialId);
- task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, task_detail.MaterialId);
- result.Details.Add(task_detail);
+ var box_task_detail = new BoxDetailsInStockTaskDto();
+ box_task_detail.SupplierId = current_task_Det == null ? 0 : current_task_Det.SupplierId;
+ box_task_detail.OrgId = current_task_Det == null ? 0 : current_task_Det.OrgId;
+ box_task_detail.ReceiveQty = current_task_Det == null ? 0 : current_task_Det.ReceiveQty;
+ box_task_detail.AccruedQty = current_task_Det == null ? 0 : current_task_Det.AccruedQty;
+
+
+ box_task_detail.MaterialId = item.MaterialId;
+ box_task_detail.BoxMaterialQty = item.Qty;
+ box_task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, item.MaterialId);
+ box_task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, item.MaterialId);
+ box_task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, item.MaterialId);
+ result.Details.Add(box_task_detail);
}
- return Result.ReSuccess(result);
+ return Result.ReSuccess(result);
}
///