任务详情
This commit is contained in:
@@ -951,6 +951,11 @@
|
||||
单据类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInStockResultDto.SaleBillNo">
|
||||
<summary>
|
||||
销售订单
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpInventoryDto.MaterialNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
@@ -1837,6 +1842,77 @@
|
||||
仓库编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto">
|
||||
<summary>
|
||||
任务箱信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.BoxId">
|
||||
<summary>
|
||||
箱ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.BoxBillNo">
|
||||
<summary>
|
||||
箱编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.MaterialNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.Specifications">
|
||||
<summary>
|
||||
物料规格型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.ReceiveTime">
|
||||
<summary>
|
||||
收货时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.Receiver">
|
||||
<summary>
|
||||
收货人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.Shelfer">
|
||||
<summary>
|
||||
上架人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.MethodForInt">
|
||||
<summary>
|
||||
入库方式:内部用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.Method">
|
||||
<summary>
|
||||
入库方式:1按箱,2按产品
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.ShelfTime">
|
||||
<summary>
|
||||
入库时间(上架时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.Qty">
|
||||
<summary>
|
||||
箱数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.ReceiveQty">
|
||||
<summary>
|
||||
收货数量
|
||||
</summary>
|
||||
</member>
|
||||
<!-- Badly formed XML comment ignored for member "P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.RealityQty" -->
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskBoxInfoDto.SerialNumbers">
|
||||
<summary>
|
||||
序列号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.InStockTaskDetailsInfoDto">
|
||||
<summary>
|
||||
入库任务单明细详情
|
||||
@@ -1907,14 +1983,39 @@
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.BoxId">
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.SaleBillNo">
|
||||
<summary>
|
||||
箱ID
|
||||
销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Details">
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Supplier">
|
||||
<summary>
|
||||
明细
|
||||
供应商
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Org">
|
||||
<summary>
|
||||
组织
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Status">
|
||||
<summary>
|
||||
入库状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Type">
|
||||
<summary>
|
||||
入库类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.CreateTime">
|
||||
<summary>
|
||||
创建时间(erp那边的创建时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.InStockTask.InStockTaskInfoDto.Boxs">
|
||||
<summary>
|
||||
箱信息
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.InStockTask.ReceiveBoxResponse">
|
||||
|
||||
@@ -913,6 +913,11 @@
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.SaleBillNo">
|
||||
<summary>
|
||||
销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.Status">
|
||||
<summary>
|
||||
入库状态
|
||||
@@ -958,6 +963,16 @@
|
||||
作废时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.SupplierId">
|
||||
<summary>
|
||||
供应商Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.OrgCode">
|
||||
<summary>
|
||||
组织编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTask.Details">
|
||||
<summary>
|
||||
明细
|
||||
@@ -1031,11 +1046,22 @@
|
||||
收货时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTaskBox.ReceiverId">
|
||||
<summary>
|
||||
收货人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.InStockTaskBox.Details">
|
||||
<summary>
|
||||
明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.InStockTaskBox.Receiver(System.Int32)">
|
||||
<summary>
|
||||
收货
|
||||
</summary>
|
||||
<param name="staffId"></param>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.InStockTaskBoxDetails">
|
||||
<summary>
|
||||
erp入库任务单的对应box箱信息表的明细表
|
||||
@@ -2680,6 +2706,14 @@
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IInStockTaskRepositories.GetInfo(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
详情
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="companyId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Infrastructure.IInStockTaskRepositories.GetBySource(System.String)">
|
||||
<summary>
|
||||
实体:根据来源单号
|
||||
|
||||
@@ -78,5 +78,10 @@ namespace WMS.Web.Core.Dto.Erp
|
||||
/// 单据类型
|
||||
/// </summary>
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售订单
|
||||
/// </summary>
|
||||
public string SaleBillNo { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
82
src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs
Normal file
82
src/WMS.Web.Core/Dto/InStockTask/InStockTaskBoxInfoDto.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WMS.Web.Core.Dto.InStockTask
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务箱信息
|
||||
/// </summary>
|
||||
public class InStockTaskBoxInfoDto
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 箱ID
|
||||
/// </summary>
|
||||
public int BoxId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱编码
|
||||
/// </summary>
|
||||
public string BoxBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
public string MaterialNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料规格型号
|
||||
/// </summary>
|
||||
public string Specifications { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间
|
||||
/// </summary>
|
||||
public string ReceiveTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货人
|
||||
/// </summary>
|
||||
public string Receiver { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上架人
|
||||
/// </summary>
|
||||
public string Shelfer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库方式:内部用
|
||||
/// </summary>
|
||||
public int MethodForInt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库方式:1按箱,2按产品
|
||||
/// </summary>
|
||||
public string Method { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库时间(上架时间)
|
||||
/// </summary>
|
||||
public string ShelfTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱数量
|
||||
/// </summary>
|
||||
public decimal Qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货数量
|
||||
/// </summary>
|
||||
public decimal ReceiveQty { get; set; }
|
||||
|
||||
/// 入库数量
|
||||
/// </summary>
|
||||
public decimal RealityQty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 序列号
|
||||
/// </summary>
|
||||
public string SerialNumbers { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,14 +23,37 @@ namespace WMS.Web.Core.Dto.InStockTask
|
||||
public string SourceBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱ID
|
||||
/// 销售订单号
|
||||
/// </summary>
|
||||
public int BoxId { get; set; }
|
||||
|
||||
public string SaleBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// 供应商
|
||||
/// </summary>
|
||||
public List<InStockTaskDetailsInfoDto> Details { get; set; } = new List<InStockTaskDetailsInfoDto>();
|
||||
public string Supplier { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组织
|
||||
/// </summary>
|
||||
public string Org { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库状态
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
/// <summary>
|
||||
/// 入库类型
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间(erp那边的创建时间)
|
||||
/// </summary>
|
||||
public string CreateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 箱信息
|
||||
/// </summary>
|
||||
public List<InStockTaskBoxInfoDto> Boxs { get; set; } = new List<InStockTaskBoxInfoDto>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,9 +39,24 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
public DateTime? CreateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 收货人
|
||||
/// </summary>
|
||||
public int? ReceiverId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
public List<InStockTaskBoxDetails> Details { get; set; } = new List<InStockTaskBoxDetails>();
|
||||
|
||||
/// <summary>
|
||||
/// 收货
|
||||
/// </summary>
|
||||
/// <param name="staffId"></param>
|
||||
public void Receiver(int staffId)
|
||||
{
|
||||
this.ReceiverId = staffId;
|
||||
this.CreateTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 来源单号
|
||||
/// </summary>
|
||||
public string SourceBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
/// </summary>
|
||||
public string SaleBillNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库状态
|
||||
/// </summary>
|
||||
@@ -68,6 +74,16 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
public DateTime? RepealTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 供应商Id
|
||||
/// </summary>
|
||||
public int SupplierId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组织编码
|
||||
/// </summary>
|
||||
public string OrgCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细
|
||||
/// </summary>
|
||||
|
||||
@@ -29,6 +29,14 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
/// <returns></returns>
|
||||
Task<InStockTask> Get(int id);
|
||||
|
||||
/// <summary>
|
||||
/// 详情
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="companyId"></param>
|
||||
/// <returns></returns>
|
||||
Task<InStockTaskInfoDto> GetInfo(int id, int companyId);
|
||||
|
||||
/// <summary>
|
||||
/// 实体:根据来源单号
|
||||
/// </summary>
|
||||
|
||||
@@ -45,8 +45,8 @@ namespace WMS.Web.Domain.Mappers
|
||||
CreateMap<NoPurchaseShelfDetailsRequest, BoxInventoryGenerateDetailsDto>();
|
||||
|
||||
|
||||
CreateMap<InStockTask, InStockTaskInfoDto>()
|
||||
.ForMember(x => x.Details, ops => ops.Ignore());
|
||||
//CreateMap<InStockTask, InStockTaskInfoDto>()
|
||||
// .ForMember(x => x.Details, ops => ops.Ignore());
|
||||
CreateMap<InStockTaskDetails, InStockTaskDetailsInfoDto>();
|
||||
|
||||
|
||||
@@ -58,6 +58,9 @@ namespace WMS.Web.Domain.Mappers
|
||||
//ERP-同步结果对象统一映射
|
||||
CreateMap<ErpInStockResultDto, InStockTask>()
|
||||
.ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.BillNo))
|
||||
.ForMember(x => x.SaleBillNo, ops => ops.MapFrom(x => x.SaleBillNo))
|
||||
.ForMember(x => x.OrgCode, ops => ops.MapFrom(x => x.OrgCode))
|
||||
.ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.SupplierId))
|
||||
.ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.CreateTime));
|
||||
|
||||
CreateMap<ErpInStockResultDto, InStockTaskDetails>()
|
||||
|
||||
@@ -557,6 +557,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
var taskBox = _mapper.Map<InStockTaskBox>(item);
|
||||
taskBox.TaskId = entity.Id;
|
||||
taskBox.Receiver(staffId);
|
||||
var current_dto_box_dets = boxEntitys.Where(x => x.Id == item.BoxId).SelectMany(x => x.Details).ToList();
|
||||
taskBox.Details = _mapper.Map<List<InStockTaskBoxDetails>>(current_dto_box_dets);
|
||||
taskBox.Details.ForEach(x => { x.ErpDetailId = item.ErpDetailId; });
|
||||
|
||||
@@ -115,6 +115,167 @@ namespace WMS.Web.Repositories
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取详情
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<InStockTaskInfoDto> GetInfo(int id, int companyId)
|
||||
{
|
||||
|
||||
//1.获取物料集合和组织集合和供应商的集合
|
||||
var materials = new List<ErpMaterialDto>();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
if (materials_result.IsSuccess)
|
||||
materials = materials_result.Data.ToList();
|
||||
|
||||
//组织集合
|
||||
var orgs = new List<ErpOrgDto>();
|
||||
var orgs_result = await _erpService.BillQueryForOrg();
|
||||
if (orgs_result.IsSuccess)
|
||||
orgs = orgs_result.Data.ToList();
|
||||
|
||||
//供应商集合
|
||||
var suppliers = new List<ErpSupplierDto>();
|
||||
var suppliers_result = await _erpService.BillQueryForSupplier();
|
||||
if (suppliers_result.IsSuccess)
|
||||
suppliers = suppliers_result.Data.ToList();
|
||||
|
||||
var entity = await _context.InStockTask.Where(x => x.Id == id).FirstOrDefaultAsync();
|
||||
|
||||
if (entity != null)
|
||||
{
|
||||
var response = new InStockTaskInfoDto()
|
||||
{
|
||||
Id = entity.Id,
|
||||
BillNo = entity.BillNo,
|
||||
SourceBillNo = entity.SourceBillNo,
|
||||
SaleBillNo = entity.SaleBillNo,
|
||||
Status = entity.Status.GetRemark(),
|
||||
Type = entity.Type.GetRemark(),
|
||||
Supplier = _erpBasicDataExtendService.GetSupplierName(suppliers, entity.SupplierId),
|
||||
Org = _erpBasicDataExtendService.GetOrgName(orgs, entity.OrgCode),
|
||||
CreateTime = entity.CreateTime.ToString("yyyy-MM-dd HH:mm:ss")
|
||||
};
|
||||
if (entity.Type == InstockType.Purchase)
|
||||
{
|
||||
//采购任务的箱明细
|
||||
var boxList = await _context.InStockTaskBoxDetails
|
||||
.GroupJoin(_context.InstockTaskBox, boxde => boxde.Fid, ts => ts.Id, (detail, ts) => new { detail, ts })
|
||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, box })
|
||||
.Where(x => x.box.TaskId == entity.Id).Select(x => new InStockTaskBoxInfoDto()
|
||||
{
|
||||
BoxId=x.box.BoxId,
|
||||
BoxBillNo = x.box.BoxBillNo,
|
||||
MaterialNumber = x.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, x.detail.MaterialNumber),
|
||||
ReceiveTime = x.box.CreateTime.HasValue ? "" : x.box.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
Receiver = x.box.ReceiverId.HasValue ? _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.box.ReceiverId.Value) : "",
|
||||
Qty = x.detail.ReceiveQty,
|
||||
ReceiveQty=x.detail.ReceiveQty
|
||||
}).ToListAsync();
|
||||
|
||||
if (boxList != null && boxList.Count != 0)
|
||||
{
|
||||
//采购入库明细
|
||||
var boxInstockList_details = await _context.InStockDetails.Where(x => x.TaskId == entity.Id).ToListAsync();
|
||||
|
||||
if (boxInstockList_details != null && boxInstockList_details.Count != 0)
|
||||
{
|
||||
var instockOrder_ids= boxInstockList_details.GroupBy(x => x.Fid).Select(x => x.Key).ToList();
|
||||
var instockOrder=await _context.Instock.Where(x => instockOrder_ids.Contains(x.Id)).ToListAsync();
|
||||
//var boxInstockList = boxInstockList_details.GroupBy(x => new { BoxId = x.BoxId, MaterialNumber = x.MaterialNumber }).
|
||||
// Select(x => new { BoxId = x.Key.BoxId, MaterialNumber = x.Key.MaterialNumber, RealityQty = x.Sum(t => t.Qty) }).ToList();
|
||||
|
||||
boxList.ForEach(x =>
|
||||
{
|
||||
var currentInstock= boxInstockList_details.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).FirstOrDefault();
|
||||
if (currentInstock != null) {
|
||||
var order= instockOrder.Where(o => o.Id == currentInstock.Fid).FirstOrDefault();
|
||||
x.RealityQty = currentInstock.Qty;
|
||||
x.Shelfer = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, (order == null ? 0 : order.CreatorId));
|
||||
x.ShelfTime= order == null ? "" : order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//序列号
|
||||
var materNumbs = boxList.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList();
|
||||
var serialNumbList = _context.SerialNumbers.Where(x => materNumbs.Contains(x.MaterialNumber)).ToList();
|
||||
|
||||
boxList.ForEach(x =>
|
||||
{
|
||||
x.SerialNumbers = (string.Join(",", serialNumbList.Where(x => x.MaterialNumber == x.MaterialNumber).Select(x => x.SerialNumber).ToList())).TrimEnd(',');
|
||||
});
|
||||
}
|
||||
response.Boxs = boxList;
|
||||
}
|
||||
else
|
||||
{
|
||||
var boxList= await _context.InStockDetails
|
||||
.GroupJoin(_context.Instock, det => det.Fid, ts => ts.Id, (detail, ts) => new { detail, ts })
|
||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, order) => new { p.detail, order })
|
||||
.GroupJoin(_context.Box, p => p.detail.BoxId, ts => ts.Id, (p, ts) => new { p.detail,p.order, ts })
|
||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, p.order,box })
|
||||
.Where(x => x.detail.TaskId == entity.Id).Select(x => new InStockTaskBoxInfoDto()
|
||||
{
|
||||
BoxId=x.box.Id,
|
||||
BoxBillNo = x.box.BoxBillNo,
|
||||
Method=x.order.Method.GetRemark(),
|
||||
MethodForInt=(int)x.order.Method,
|
||||
MaterialNumber = x.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, x.detail.MaterialNumber),
|
||||
|
||||
Qty=0,
|
||||
RealityQty = x.detail.Qty,
|
||||
ShelfTime = x.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
Shelfer =_singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.order.CreatorId),
|
||||
|
||||
ReceiveQty=x.detail.Qty,
|
||||
Receiver= _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.order.CreatorId),
|
||||
ReceiveTime = x.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
|
||||
SerialNumbers= (string.Join(",", x.detail.SerialNumbers).TrimEnd(','))
|
||||
|
||||
}).ToListAsync();
|
||||
|
||||
if (boxList != null && boxList.Count != 0)
|
||||
{
|
||||
var boxIds= boxList.GroupBy(x => x.BoxId).Select(x => x.Key).ToList();
|
||||
|
||||
var boxdetails= await _context.BoxDetails
|
||||
.GroupJoin(_context.Box, det => det.Fid, ts => ts.Id, (detail, ts) => new { detail, ts })
|
||||
.SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, box })
|
||||
.Where(x => boxIds.Contains(x.box.Id)).Select(x=>new
|
||||
{
|
||||
BoxId=x.box.Id,
|
||||
MaterialNumber=x.detail.MaterialNumber,
|
||||
Qty=x.detail.Qty
|
||||
}).ToListAsync();
|
||||
|
||||
if (boxdetails != null && boxdetails.Count != 0)
|
||||
{
|
||||
boxList.ForEach(x =>
|
||||
{
|
||||
var method = (InventoryInOutMethod)x.MethodForInt;
|
||||
if (method == InventoryInOutMethod.Box) {
|
||||
var currentBoxDet = boxdetails.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).FirstOrDefault();
|
||||
if (currentBoxDet != null)
|
||||
{
|
||||
x.Qty = currentBoxDet.Qty;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
response.Boxs = boxList;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 列表-根据明细中的来源单号
|
||||
|
||||
Reference in New Issue
Block a user