Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
@@ -46,7 +46,6 @@ namespace WMS.Web.Api.Controllers
|
|||||||
[Route("hj")]
|
[Route("hj")]
|
||||||
public async Task<string> TestHJ()
|
public async Task<string> TestHJ()
|
||||||
{
|
{
|
||||||
await _outStockTaskService.Sync(null);
|
|
||||||
//var t=await _outStockTaskRepositories.Get(1);
|
//var t=await _outStockTaskRepositories.Get(1);
|
||||||
// t.Details[0].Remark = "sdf";
|
// t.Details[0].Remark = "sdf";
|
||||||
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";
|
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";
|
||||||
|
|||||||
@@ -3983,15 +3983,10 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.BeforeQty">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.BeforeQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点前数量(wms系统数量)
|
系统库存
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.AfterQty">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.AfterQty">
|
||||||
<summary>
|
|
||||||
盘点实际数量(实际仓库数量)
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.FinalQty">
|
|
||||||
<summary>
|
<summary>
|
||||||
盘点数量
|
盘点数量
|
||||||
</summary>
|
</summary>
|
||||||
@@ -4053,17 +4048,17 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.BeforeQty">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.BeforeQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点前数量(wms系统数量)
|
系统库存
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.AfterQty">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.AfterQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点实际数量(实际仓库数量)
|
盘点数量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.FinalQty">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.FinalQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点后数量
|
盈亏数量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.ResultType">
|
<member name="P:WMS.Web.Core.Dto.TakeStock.TakeStockQueryInfoResponse.ResultType">
|
||||||
|
|||||||
@@ -1481,23 +1481,23 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.TakeStock.BeforeQty">
|
<member name="P:WMS.Web.Domain.Entitys.TakeStock.BeforeQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点前数量(wms系统数量)
|
系统库存
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.TakeStock.AfterQty">
|
<member name="P:WMS.Web.Domain.Entitys.TakeStock.AfterQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点实际数量(实际仓库数量)
|
盘点数量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.TakeStock.FinalQty">
|
<member name="P:WMS.Web.Domain.Entitys.TakeStock.FinalQty">
|
||||||
<summary>
|
<summary>
|
||||||
盘点数量
|
盈亏数量
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.TakeStock.ResultType">
|
<member name="P:WMS.Web.Domain.Entitys.TakeStock.ResultType">
|
||||||
<summary>
|
<summary>
|
||||||
盘点结果类型:1为盘盈,2位盘亏
|
盘点结果类型:1为盘盈,2位盘亏
|
||||||
实际仓库数量-WMS系统数量 大于0为盘盈 小于0为盘亏
|
盘点数量-系统库存 大于0为盘盈 小于0为盘亏
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.TakeStock.Remark">
|
<member name="P:WMS.Web.Domain.Entitys.TakeStock.Remark">
|
||||||
|
|||||||
@@ -35,20 +35,15 @@ namespace WMS.Web.Core.Dto.TakeStock
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int Erp_SubStockId { get; set; }
|
public int Erp_SubStockId { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点前数量(wms系统数量)
|
/// 系统库存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "盘点前数量不能为空")]
|
[Required(ErrorMessage = "系统库存不能为空")]
|
||||||
public decimal BeforeQty { get; set; }
|
public decimal BeforeQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点实际数量(实际仓库数量)
|
|
||||||
/// </summary>
|
|
||||||
[Required(ErrorMessage = "盘点实际数量不能为空")]
|
|
||||||
public decimal AfterQty { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// 盘点数量
|
/// 盘点数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "盘点数量不能为空")]
|
[Required(ErrorMessage = "盘点数量数量不能为空")]
|
||||||
public decimal FinalQty { get; set; }
|
public decimal AfterQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 备注
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -55,19 +55,19 @@ namespace WMS.Web.Core.Dto.TakeStock
|
|||||||
[Column("子仓库")]
|
[Column("子仓库")]
|
||||||
public string Erp_SubStock { get; set; }
|
public string Erp_SubStock { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点前数量(wms系统数量)
|
/// 系统库存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("WMS系统数量")]
|
[Column("系统库存")]
|
||||||
public decimal BeforeQty { get; set; }
|
public decimal BeforeQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点实际数量(实际仓库数量)
|
/// 盘点数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("实际仓库数量")]
|
[Column("盘点数量")]
|
||||||
public decimal AfterQty { get; set; }
|
public decimal AfterQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点后数量
|
/// 盈亏数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("此次盘点数量")]
|
[Column("盈亏数量")]
|
||||||
public decimal FinalQty { get; set; }
|
public decimal FinalQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点结果类型:1为盘盈,2位盘亏
|
/// 盘点结果类型:1为盘盈,2位盘亏
|
||||||
|
|||||||
@@ -97,8 +97,16 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
this.ReceiptCustomerId = task.ReceiptCustomerId;
|
this.ReceiptCustomerId = task.ReceiptCustomerId;
|
||||||
this.CreatorId = creatorId;
|
this.CreatorId = creatorId;
|
||||||
this.CreateTime = DateTime.Now;
|
this.CreateTime = DateTime.Now;
|
||||||
|
if (task.Type == OutStockType.Sal)
|
||||||
|
{
|
||||||
|
//只有销售出库才需要同步金蝶
|
||||||
this.SuccessSync = false;
|
this.SuccessSync = false;
|
||||||
this.SuccessSyncFail = this.Details.SelectMany(s => s.ErpDetails).GroupBy(g => g.SourceBillNo).Select(s=>s.Key).ToList();
|
this.SuccessSyncFail = this.Details.SelectMany(s => s.ErpDetails).GroupBy(g => g.SourceBillNo).Select(s => s.Key).ToList();
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
this.SuccessSync = true;
|
||||||
|
this.SuccessSyncFail = new List<string>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步金蝶(成功)
|
/// 同步金蝶(成功)
|
||||||
|
|||||||
@@ -66,23 +66,23 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
[Column("Erp_SubStockId")]
|
[Column("Erp_SubStockId")]
|
||||||
public int Erp_SubStockId { get; set; }
|
public int Erp_SubStockId { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点前数量(wms系统数量)
|
/// 系统库存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("BeforeQty")]
|
[Column("BeforeQty")]
|
||||||
public decimal BeforeQty { get; set; }
|
public decimal BeforeQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点实际数量(实际仓库数量)
|
/// 盘点数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("AfterQty")]
|
[Column("AfterQty")]
|
||||||
public decimal AfterQty { get; set; }
|
public decimal AfterQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点数量
|
/// 盈亏数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("FinalQty")]
|
[Column("FinalQty")]
|
||||||
public decimal FinalQty { get; set; }
|
public decimal FinalQty { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 盘点结果类型:1为盘盈,2位盘亏
|
/// 盘点结果类型:1为盘盈,2位盘亏
|
||||||
/// 实际仓库数量-WMS系统数量 大于0为盘盈 小于0为盘亏
|
/// 盘点数量-系统库存 大于0为盘盈 小于0为盘亏
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column("ResultType")]
|
[Column("ResultType")]
|
||||||
public TakeStockType ResultType { get; set; } = TakeStockType.Profit;
|
public TakeStockType ResultType { get; set; } = TakeStockType.Profit;
|
||||||
|
|||||||
@@ -13,9 +13,11 @@ namespace WMS.Web.Domain.Mappers
|
|||||||
public TakeStockMapper()
|
public TakeStockMapper()
|
||||||
{
|
{
|
||||||
CreateMap<SaveTakeStockRequest, TakeStockDetails>()
|
CreateMap<SaveTakeStockRequest, TakeStockDetails>()
|
||||||
.ForMember(x => x.ResultType, ops => ops.MapFrom(x => (x.AfterQty - x.BeforeQty) >0? TakeStockType.Profit: TakeStockType.Loss));
|
.ForMember(x => x.ResultType, ops => ops.MapFrom(x => (x.AfterQty - x.BeforeQty) >0? TakeStockType.Profit: TakeStockType.Loss))
|
||||||
|
.ForMember(x => x.FinalQty, ops => ops.MapFrom(x => Math.Abs(x.AfterQty - x.BeforeQty)));
|
||||||
CreateMap<SaveTakeStockRequest, TakeStock>()
|
CreateMap<SaveTakeStockRequest, TakeStock>()
|
||||||
.ForMember(x => x.ResultType, ops => ops.MapFrom(x => (x.AfterQty - x.BeforeQty) > 0 ? TakeStockType.Profit : TakeStockType.Loss));
|
.ForMember(x => x.ResultType, ops => ops.MapFrom(x => (x.AfterQty - x.BeforeQty) > 0 ? TakeStockType.Profit : TakeStockType.Loss))
|
||||||
|
.ForMember(x => x.FinalQty, ops => ops.MapFrom(x => Math.Abs(x.AfterQty - x.BeforeQty)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using System.Threading.Tasks;
|
|||||||
using WMS.Web.Core.Dto;
|
using WMS.Web.Core.Dto;
|
||||||
using WMS.Web.Core.Dto.Erp;
|
using WMS.Web.Core.Dto.Erp;
|
||||||
using WMS.Web.Core.Dto.Erp.TakeStock;
|
using WMS.Web.Core.Dto.Erp.TakeStock;
|
||||||
|
using WMS.Web.Core.Dto.Inventory;
|
||||||
using WMS.Web.Core.Dto.Login;
|
using WMS.Web.Core.Dto.Login;
|
||||||
using WMS.Web.Core.Dto.TakeStock;
|
using WMS.Web.Core.Dto.TakeStock;
|
||||||
using WMS.Web.Core.Internal.Results;
|
using WMS.Web.Core.Internal.Results;
|
||||||
@@ -36,10 +37,12 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly ISingleDataService _singleDataService;
|
private readonly ISingleDataService _singleDataService;
|
||||||
private readonly IErpService _erpService;
|
private readonly IErpService _erpService;
|
||||||
private readonly ILogger<TakeStockService> _logger;
|
private readonly ILogger<TakeStockService> _logger;
|
||||||
|
private readonly IBoxInventoryService _boxInventoryService;
|
||||||
public TakeStockService(IMapper mapper, ILoginService loginService,
|
public TakeStockService(IMapper mapper, ILoginService loginService,
|
||||||
IBasicsRepositories transactionRepositories,
|
IBasicsRepositories transactionRepositories,
|
||||||
ITakeStockRepositories takeStockRepositories, ILoginRepositories loginRepositories,
|
ITakeStockRepositories takeStockRepositories, ILoginRepositories loginRepositories,
|
||||||
ISingleDataService singleDataService, IErpService erpService, ILogger<TakeStockService> logger)
|
ISingleDataService singleDataService, IErpService erpService, ILogger<TakeStockService> logger,
|
||||||
|
IBoxInventoryService boxInventoryService)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
_loginService = loginService;
|
_loginService = loginService;
|
||||||
@@ -49,6 +52,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
_singleDataService = singleDataService;
|
_singleDataService = singleDataService;
|
||||||
_erpService = erpService;
|
_erpService = erpService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_boxInventoryService = boxInventoryService;
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 保存
|
/// 保存
|
||||||
@@ -62,17 +66,45 @@ namespace WMS.Web.Domain.Services
|
|||||||
foreach (var entity in list)
|
foreach (var entity in list)
|
||||||
entity.Create(loginInfo.UserInfo.StaffId);
|
entity.Create(loginInfo.UserInfo.StaffId);
|
||||||
|
|
||||||
//需要填写序列号
|
#region 组装库存dto
|
||||||
//需要修改库存
|
List<BoxInventoryGenerateDto> inventoryList = new List<BoxInventoryGenerateDto>();
|
||||||
|
foreach (var entity in list)
|
||||||
|
{
|
||||||
|
var inventoryDetail = new List<BoxInventoryGenerateDetailsDto>()
|
||||||
|
{
|
||||||
|
new BoxInventoryGenerateDetailsDto()
|
||||||
|
{
|
||||||
|
MaterialId=entity.MaterialId,
|
||||||
|
Qty=entity.FinalQty
|
||||||
|
}
|
||||||
|
};
|
||||||
|
BoxInventoryGenerateDto inventory = new BoxInventoryGenerateDto()
|
||||||
|
{
|
||||||
|
BoxId = entity.BoxId,
|
||||||
|
InventoryInOutMethod = 2,//盘点单按产品修改库存
|
||||||
|
InventoryInOutType = entity.ResultType == TakeStockType.Profit ? 1 : 2,
|
||||||
|
StockCode = entity.StockCode,
|
||||||
|
SubStockId = entity.SubStockId,
|
||||||
|
Details = inventoryDetail
|
||||||
|
};
|
||||||
|
inventoryList.Add(inventory);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||||
bool isRollback = false;
|
Result res_Rollback = Result.ReSuccess();
|
||||||
bool isSuccess = true;
|
bool isSuccess = true;
|
||||||
|
var res_Inventory = await _boxInventoryService.HandlBoxInventory(inventoryList, false);
|
||||||
|
if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory;
|
||||||
|
if (res_Rollback.IsSuccess)
|
||||||
|
{
|
||||||
isSuccess = await _takeStockRepositories.AddRange(list, false);
|
isSuccess = await _takeStockRepositories.AddRange(list, false);
|
||||||
if (!isSuccess) isRollback = true;
|
if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
|
||||||
//提交事务
|
//提交事务
|
||||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
||||||
|
if (!res_Rollback.IsSuccess) return res_Rollback;
|
||||||
if (!isSuccess)
|
if (!isSuccess)
|
||||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user