@@ -31,6 +31,7 @@ namespace WMS.Web.Domain.Services
private readonly IErpService _erpService ;
private readonly ILoginService _loginService ;
private readonly ISerialNumberService _serialNumberService ;
private readonly ISerialNumbersRepositories _serialNumbersRepositories ;
private readonly IChangeMoveBoxService _changeMoveBoxService ;
private readonly IBoxRepositories _boxRepositories ;
private readonly IBoxInventoryService _boxInventoryService ;
@@ -38,7 +39,7 @@ namespace WMS.Web.Domain.Services
private readonly IInStockRepositories _inStockRepositories ;
private readonly IInStockTaskRepositories _inStockTaskRepositories ;
private readonly IErpBasicDataExtendService _erpBasicDataExtendService ;
public InStockService ( IMapper mapper , IErpService erpService , IBoxInventoryService boxInventoryService , ISerialNumberService serialNumberService , ILoginService loginService , IBoxRepositories boxRepositories ,
public InStockService ( IMapper mapper , ISerialNumbersRepositories serialNumbersRepositories , IErpService erpService , IBoxInventoryService boxInventoryService , ISerialNumberService serialNumberService , ILoginService loginService , IBoxRepositories boxRepositories ,
IBasicsRepositories basicsRepositories , IErpBasicDataExtendService erpBasicDataExtendService , IChangeMoveBoxService changeMoveBoxService ,
IInStockRepositories inStockRepositories , IInStockTaskRepositories inStockTaskRepositories )
{
@@ -53,6 +54,7 @@ namespace WMS.Web.Domain.Services
_inStockRepositories = inStockRepositories ;
_inStockTaskRepositories = inStockTaskRepositories ;
_erpBasicDataExtendService = erpBasicDataExtendService ;
_serialNumbersRepositories = serialNumbersRepositories ;
}
/// <summary>
@@ -101,13 +103,6 @@ namespace WMS.Web.Domain.Services
//1.添加入库单: ( 同步金蝶在save方法里面进行)
var save_result = await this . ShelfSave ( instock , InstockType . Purchase , loginInfo , isTransaction ) ;
if ( ! save_result . IsSuccess ) isRollback = true ;
{
//2.修改入库任务单
var ids = instock . Details . GroupBy ( x = > x . TaskId ) . Select ( x = > x . Key ) . ToList ( ) ;
var result = await this . UpdateRange ( ids , loginInfo . UserInfo . StaffId , false , isTransaction ) ;
if ( ! result . IsSuccess ) isRollback = true ;
}
//提交事务
var isSuccess = _basicsRepositories . CommitTransaction ( isRollback , _transaction ) ;
if ( ! isSuccess )
@@ -200,6 +195,20 @@ namespace WMS.Web.Domain.Services
entity . Details = _mapper . Map < List < InStockDetails > > ( dto . Details ) ;
entity . Create ( loginInfo . UserInfo . StaffId ) ;
//序列号集:箱里面的
var serialNumbers = await _serialNumbersRepositories . GetEntityListByBoxIds ( dto . Details . GroupBy ( x = > x . BoxId ) . Select ( x = > x . Key ) . ToList ( ) ) ;
//赋值序列号
entity . Details . ForEach ( x = >
{
var current_box_serNums = serialNumbers . Where ( t = > t . BoxId = = x . BoxId ) . ToList ( ) ;
if ( current_box_serNums ! = null )
{
var current_box_mat_serNums = current_box_serNums . Where ( t = > t . MaterialId = = x . MaterialId ) . Select ( t = > t . SerialNumber ) . ToList ( ) ;
x . SerialNumbers . AddRange ( current_box_mat_serNums ) ;
}
} ) ;
//需要填写序列号
//需要修改库存
//需要同步金蝶
@@ -219,7 +228,8 @@ namespace WMS.Web.Domain.Services
if ( current_dto_det ! = null )
x . DeliveredQty = current_dto_det . Qty ;
} ) ;
task = await _inStockTaskRepositories . Update ( task , isTransaction ) ;
task . Shelf ( loginInfo . UserInfo . S taffId ) ;
task = await _inStockTaskRepositories . Update ( task , isTransaction ) ;
if ( task = = null )
return Result . ReFailure ( ResultCodes . DateWriteError ) ;
}
@@ -439,7 +449,7 @@ namespace WMS.Web.Domain.Services
r_box . BoxBillNo = box . BoxBillNo ;
r_box . BoxId = box . Id ;
r_box . TotalCount = box . Details . Sum ( x = > x . Qty ) ;
r_box . Details = _mapper . Map < List < ContrastBoxDetailsResponse > > ( box . Details ) ;
r_box . Details = _mapper . Map < List < ContrastBoxDetailsResponse > > ( box . Details ) ;
response . Boxs . Add ( r_box ) ;
}
return Result < ContrastMaterialsResponse > . ReSuccess ( response ) ;