diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 59e906d6..545e4a9f 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -120,11 +120,18 @@ namespace WMS.Web.Domain.Services
//1.添加入库单:(同步金蝶在save方法里面进行)
var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction);
if (!save_result.IsSuccess) isRollback = true;
+
+ //实体
+ var entity = save_result.Data;
+
//提交事务
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
+ //同步金蝶
+ if (entity.Type == InstockType.Purchase)
+ await this.PurchaseInStock(entity, loginInfo);
return Result.ReSuccess();
}
@@ -227,7 +234,7 @@ namespace WMS.Web.Domain.Services
///
///
///
- private async Task ShelfSave(PurchaseShelfRequest dto, InstockType type, LoginInDto loginInfo, bool isTransaction = true)
+ private async Task> ShelfSave(PurchaseShelfRequest dto, InstockType type, LoginInDto loginInfo, bool isTransaction = true)
{
// 组织集合
var orgs = new List();
@@ -272,7 +279,7 @@ namespace WMS.Web.Domain.Services
entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity == null)
- return Result.ReFailure(ResultCodes.DateWriteError);
+ return Result.ReFailure(ResultCodes.DateWriteError);
//处理添加入库汇总明细
var totalDetails = dto.Details.GroupBy(x => new { x.TaskId, x.SourceBillNo, x.SupplierId, x.MaterialId })
@@ -289,7 +296,7 @@ namespace WMS.Web.Domain.Services
var isSuccess = await _inStockRepositories.AddRangeTotalDetails(totalDetails, isTransaction);
if (!isSuccess)
- return Result.ReFailure(ResultCodes.DateWriteError);
+ return Result.ReFailure(ResultCodes.DateWriteError);
//反写任务单的已交数量
var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList();
var tasks = await _inStockTaskRepositories.GetList(taskIds);
@@ -312,24 +319,20 @@ namespace WMS.Web.Domain.Services
isSuccess = await _inStockTaskRepositories.UpdateRange(tasks, isTransaction);
if (!isSuccess)
- return Result.ReFailure(ResultCodes.DateWriteError);
+ return Result.ReFailure(ResultCodes.DateWriteError);
}
//保存成功后:序列号跟踪流程添加
var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction);
if (!serialNumber_result.IsSuccess)
- return serialNumber_result;
+ return Result.ReFailure(serialNumber_result);
//箱库存变动
var boxInventoryResult = await _boxInventoryService.GenerateInStockBox(entity, isTransaction);
if (!boxInventoryResult.IsSuccess)
- return boxInventoryResult;
+ return Result.ReFailure(boxInventoryResult);
- //同步金蝶
- if (entity.Type == InstockType.Purchase)
- await this.PurchaseInStock(entity, loginInfo);
-
- return Result.ReSuccess();
+ return Result.ReSuccess(entity);
}