采购入库-变更库存
This commit is contained in:
@@ -1780,11 +1780,6 @@
|
|||||||
采购上架-请求对象
|
采购上架-请求对象
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.PurchaseShelfRequest.BoxIds">
|
|
||||||
<summary>
|
|
||||||
箱IDS
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.PurchaseShelfRequest.Details">
|
<member name="P:WMS.Web.Core.Dto.InStock.PurchaseShelfRequest.Details">
|
||||||
<summary>
|
<summary>
|
||||||
明细
|
明细
|
||||||
@@ -1800,6 +1795,11 @@
|
|||||||
单据ID(等同-入库任务单ID)
|
单据ID(等同-入库任务单ID)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.BoxId">
|
||||||
|
<summary>
|
||||||
|
箱ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.SourceBillNo">
|
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.SourceBillNo">
|
||||||
<summary>
|
<summary>
|
||||||
来源单号
|
来源单号
|
||||||
@@ -1815,11 +1815,6 @@
|
|||||||
组织
|
组织
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.MaterialId">
|
|
||||||
<summary>
|
|
||||||
物料Id
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.StockCode">
|
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.StockCode">
|
||||||
<summary>
|
<summary>
|
||||||
仓库编码
|
仓库编码
|
||||||
@@ -1830,6 +1825,11 @@
|
|||||||
仓位ID
|
仓位ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.MaterialId">
|
||||||
|
<summary>
|
||||||
|
物料Id
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.Qty">
|
<member name="P:WMS.Web.Core.Dto.InStock.SaveInStockDetailsRequest.Qty">
|
||||||
<summary>
|
<summary>
|
||||||
入库数量
|
入库数量
|
||||||
|
|||||||
@@ -530,6 +530,11 @@
|
|||||||
任务单ID
|
任务单ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.InStockDetails.BoxId">
|
||||||
|
<summary>
|
||||||
|
箱ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.InStockDetails.SourceBillNo">
|
<member name="P:WMS.Web.Domain.Entitys.InStockDetails.SourceBillNo">
|
||||||
<summary>
|
<summary>
|
||||||
来源单号
|
来源单号
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace WMS.Web.Core.Dto.InStock
|
namespace WMS.Web.Core.Dto.InStock
|
||||||
@@ -10,10 +11,6 @@ namespace WMS.Web.Core.Dto.InStock
|
|||||||
public class PurchaseShelfRequest
|
public class PurchaseShelfRequest
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 箱IDS
|
|
||||||
/// </summary>
|
|
||||||
public List<int> BoxIds { get; set; } = new List<int>();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 明细
|
/// 明细
|
||||||
|
|||||||
@@ -16,6 +16,12 @@ namespace WMS.Web.Core.Dto.InStock
|
|||||||
[Required(ErrorMessage = "任务单ID不能为空")]
|
[Required(ErrorMessage = "任务单ID不能为空")]
|
||||||
public int TaskId { get; set; }
|
public int TaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱ID
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "箱ID不能为空")]
|
||||||
|
public int BoxId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 来源单号
|
/// 来源单号
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -33,12 +39,6 @@ namespace WMS.Web.Core.Dto.InStock
|
|||||||
[Required(ErrorMessage = "组织不能为空")]
|
[Required(ErrorMessage = "组织不能为空")]
|
||||||
public int OrgId { get; set; }
|
public int OrgId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 物料Id
|
|
||||||
///</summary>
|
|
||||||
[Required(ErrorMessage = "物料不能为空")]
|
|
||||||
public int MaterialId { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 仓库编码
|
/// 仓库编码
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -50,6 +50,12 @@ namespace WMS.Web.Core.Dto.InStock
|
|||||||
[Required(ErrorMessage = " 仓位不能为空")]
|
[Required(ErrorMessage = " 仓位不能为空")]
|
||||||
public int SubStockId { get; set; }
|
public int SubStockId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 物料Id
|
||||||
|
///</summary>
|
||||||
|
[Required(ErrorMessage = "物料不能为空")]
|
||||||
|
public int MaterialId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 入库数量
|
/// 入库数量
|
||||||
///</summary>
|
///</summary>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace WMS.Web.Core.Dto.Inventory
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 明细
|
/// 明细
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<BoxInventoryBackDetailsGenerateDto> Details { get; set; }
|
public List<BoxInventoryBackDetailsGenerateDto> Details { get; set; } = new List<BoxInventoryBackDetailsGenerateDto>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -25,6 +25,11 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int TaskId { get; set; }
|
public int TaskId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱ID
|
||||||
|
/// </summary>
|
||||||
|
public int BoxId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 来源单号
|
/// 来源单号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
using Microsoft.EntityFrameworkCore.Storage;
|
using Microsoft.EntityFrameworkCore.Storage;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using WMS.Web.Core.Dto.BackRecord;
|
using WMS.Web.Core.Dto.BackRecord;
|
||||||
|
using WMS.Web.Core.Dto.Inventory;
|
||||||
using WMS.Web.Core.Dto.Login;
|
using WMS.Web.Core.Dto.Login;
|
||||||
using WMS.Web.Core.Internal.Results;
|
using WMS.Web.Core.Internal.Results;
|
||||||
using WMS.Web.Domain.Entitys;
|
using WMS.Web.Domain.Entitys;
|
||||||
@@ -25,13 +27,16 @@ namespace WMS.Web.Domain.Services
|
|||||||
public readonly IBasicsRepositories _basicsRepositories;
|
public readonly IBasicsRepositories _basicsRepositories;
|
||||||
private readonly ISerialNumberService _serialNumberService;
|
private readonly ISerialNumberService _serialNumberService;
|
||||||
private readonly IBackRecordRepositories _backRecordRepositories;
|
private readonly IBackRecordRepositories _backRecordRepositories;
|
||||||
|
private readonly IBoxInventoryService _boxInventoryService;
|
||||||
public BackRecordService(IMapper mapper, ILoginService loginService,
|
public BackRecordService(IMapper mapper, ILoginService loginService,
|
||||||
IBasicsRepositories basicsRepositories,
|
IBasicsRepositories basicsRepositories,
|
||||||
|
IBoxInventoryService boxInventoryService,
|
||||||
ISerialNumberService serialNumberService,
|
ISerialNumberService serialNumberService,
|
||||||
IBackRecordRepositories backRecordRepositories)
|
IBackRecordRepositories backRecordRepositories)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
|
_boxInventoryService = boxInventoryService;
|
||||||
_basicsRepositories = basicsRepositories;
|
_basicsRepositories = basicsRepositories;
|
||||||
_backRecordRepositories = backRecordRepositories;
|
_backRecordRepositories = backRecordRepositories;
|
||||||
}
|
}
|
||||||
@@ -66,6 +71,32 @@ namespace WMS.Web.Domain.Services
|
|||||||
var serialNumber_result = await _serialNumberService.BackRecord(entity, loginInfo, isTransaction);
|
var serialNumber_result = await _serialNumberService.BackRecord(entity, loginInfo, isTransaction);
|
||||||
if (!serialNumber_result.IsSuccess)
|
if (!serialNumber_result.IsSuccess)
|
||||||
return serialNumber_result;
|
return serialNumber_result;
|
||||||
|
|
||||||
|
//保存成功后:变更库存
|
||||||
|
var boxInventoryBackGenerateDto = dto.Details.GroupBy(x =>new { x.BoxId,x.StockCode,x.SubStockId}).Select(x => new BoxInventoryBackGenerateDto()
|
||||||
|
{
|
||||||
|
BoxId=x.Key.BoxId,
|
||||||
|
StockCode=x.Key.StockCode,
|
||||||
|
SubStockId=x.Key.SubStockId,
|
||||||
|
InventoryInOutType= type== BackRecordType.OutstockOn? (int)InventoryInOutType.In:(int)InventoryInOutType.Out,
|
||||||
|
}).ToList();
|
||||||
|
foreach (var item in dto.Details)
|
||||||
|
{
|
||||||
|
var current= boxInventoryBackGenerateDto.Where(x => x.BoxId == item.BoxId).FirstOrDefault();
|
||||||
|
if (current != null)
|
||||||
|
{
|
||||||
|
var detail = new BoxInventoryBackDetailsGenerateDto();
|
||||||
|
detail.MaterialId = item.MaterialId;
|
||||||
|
detail.Qty = item.Qty;
|
||||||
|
detail.SerialNumbers = item.SerialNumbers;
|
||||||
|
current.Details.Add(detail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var boxInventoryResult= await _boxInventoryService.GenerateBackBox(boxInventoryBackGenerateDto, isTransaction);
|
||||||
|
if (!boxInventoryResult.IsSuccess)
|
||||||
|
return boxInventoryResult;
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using WMS.Web.Core.Dto.ChangeBoxRecord;
|
|||||||
using WMS.Web.Core.Dto.Erp;
|
using WMS.Web.Core.Dto.Erp;
|
||||||
using WMS.Web.Core.Dto.InStock;
|
using WMS.Web.Core.Dto.InStock;
|
||||||
using WMS.Web.Core.Dto.InStockTask;
|
using WMS.Web.Core.Dto.InStockTask;
|
||||||
|
using WMS.Web.Core.Dto.Inventory;
|
||||||
using WMS.Web.Core.Dto.Login;
|
using WMS.Web.Core.Dto.Login;
|
||||||
using WMS.Web.Core.Internal.Results;
|
using WMS.Web.Core.Internal.Results;
|
||||||
using WMS.Web.Domain.Entitys;
|
using WMS.Web.Domain.Entitys;
|
||||||
@@ -32,17 +33,19 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly ISerialNumberService _serialNumberService;
|
private readonly ISerialNumberService _serialNumberService;
|
||||||
private readonly IChangeMoveBoxService _changeMoveBoxService;
|
private readonly IChangeMoveBoxService _changeMoveBoxService;
|
||||||
private readonly IBoxRepositories _boxRepositories;
|
private readonly IBoxRepositories _boxRepositories;
|
||||||
|
private readonly IBoxInventoryService _boxInventoryService;
|
||||||
private readonly IBasicsRepositories _basicsRepositories;
|
private readonly IBasicsRepositories _basicsRepositories;
|
||||||
private readonly IInStockRepositories _inStockRepositories;
|
private readonly IInStockRepositories _inStockRepositories;
|
||||||
private readonly IInStockTaskRepositories _inStockTaskRepositories;
|
private readonly IInStockTaskRepositories _inStockTaskRepositories;
|
||||||
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
|
private readonly IErpBasicDataExtendService _erpBasicDataExtendService;
|
||||||
public InStockService(IMapper mapper, IErpService erpService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
|
public InStockService(IMapper mapper, IErpService erpService, IBoxInventoryService boxInventoryService,ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories,
|
||||||
IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService,
|
IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService,
|
||||||
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
|
IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_erpService = erpService;
|
_erpService = erpService;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
|
_boxInventoryService = boxInventoryService;
|
||||||
_serialNumberService = serialNumberService;
|
_serialNumberService = serialNumberService;
|
||||||
_boxRepositories = boxRepositories;
|
_boxRepositories = boxRepositories;
|
||||||
_changeMoveBoxService = changeMoveBoxService;
|
_changeMoveBoxService = changeMoveBoxService;
|
||||||
@@ -202,6 +205,33 @@ namespace WMS.Web.Domain.Services
|
|||||||
var serialNumber_result= await _serialNumberService.InStock(entity, loginInfo, isTransaction);
|
var serialNumber_result= await _serialNumberService.InStock(entity, loginInfo, isTransaction);
|
||||||
if (!serialNumber_result.IsSuccess)
|
if (!serialNumber_result.IsSuccess)
|
||||||
return serialNumber_result;
|
return serialNumber_result;
|
||||||
|
|
||||||
|
//保存成功后:变更箱库存
|
||||||
|
var boxInventoryGenerateDto = entity.Details.GroupBy(x => new { x.BoxId, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryGenerateDto()
|
||||||
|
{
|
||||||
|
InventoryInOutMethod= (int)InventoryInOutMethod.Box,
|
||||||
|
InventoryInOutType=(int)InventoryInOutType.In,
|
||||||
|
BoxId=x.Key.BoxId,
|
||||||
|
StockCode=x.Key.StockCode,
|
||||||
|
SubStockId=x.Key.SubStockId
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
foreach (var item in dto.Details)
|
||||||
|
{
|
||||||
|
var current = boxInventoryGenerateDto.Where(x => x.BoxId == item.BoxId).FirstOrDefault();
|
||||||
|
if (current != null)
|
||||||
|
{
|
||||||
|
var detail = new BoxInventoryGenerateDetailsDto();
|
||||||
|
detail.MaterialId = item.MaterialId;
|
||||||
|
detail.Qty = item.Qty;
|
||||||
|
detail.SerialNumbers = item.SerialNumbers;
|
||||||
|
current.Details.Add(detail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var boxInventoryResult = await _boxInventoryService.HandlBoxInventory(boxInventoryGenerateDto, isTransaction);
|
||||||
|
if (!boxInventoryResult.IsSuccess)
|
||||||
|
return boxInventoryResult;
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -340,7 +370,10 @@ namespace WMS.Web.Domain.Services
|
|||||||
}
|
}
|
||||||
var isSuccess = await _inStockTaskRepositories.UpdateRange(entitys, isTransaction);
|
var isSuccess = await _inStockTaskRepositories.UpdateRange(entitys, isTransaction);
|
||||||
if (isSuccess)
|
if (isSuccess)
|
||||||
|
{
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user