调整同步接口
This commit is contained in:
@@ -1823,7 +1823,7 @@
|
||||
出库任务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.Public.IOutStockTaskService.SsynDeliveryNoticeOutStock(System.Boolean,System.Collections.Generic.List{System.String})">
|
||||
<member name="M:WMS.Web.Domain.IService.Public.IOutStockTaskService.BillQueryForDeliveryNoticeOutStock(System.Boolean,System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
采购发货通知单
|
||||
</summary>
|
||||
@@ -1854,6 +1854,13 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.IService.Public.IOutStockTaskService.Ssyn(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
同步金蝶数据 不传源订单号则更新所有
|
||||
</summary>
|
||||
<param name="sourceBillNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.IService.Public.ISingleDataService">
|
||||
<summary>
|
||||
单点数据返回服务接口
|
||||
@@ -2438,7 +2445,7 @@
|
||||
<param name="isTransaction"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.OutStockTaskService.SsynDeliveryNoticeOutStock(System.Boolean,System.Collections.Generic.List{System.String})">
|
||||
<member name="M:WMS.Web.Domain.Services.OutStockTaskService.BillQueryForDeliveryNoticeOutStock(System.Boolean,System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
发货通知单同步数据
|
||||
</summary>
|
||||
@@ -2477,6 +2484,13 @@
|
||||
<param name="sourceBillNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Services.OutStockTaskService.Ssyn(System.Collections.Generic.List{System.String})">
|
||||
<summary>
|
||||
同步金蝶数据 不传源订单号则更新所有
|
||||
</summary>
|
||||
<param name="sourceBillNos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService">
|
||||
<summary>
|
||||
erp基础数据:扩展服务
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace WMS.Web.Domain.IService.Public
|
||||
/// </summary>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> SsynDeliveryNoticeOutStock(bool isTransaction,List<string> sourceBillNos = null);
|
||||
Task<Result> BillQueryForDeliveryNoticeOutStock(bool isTransaction,List<string> sourceBillNos = null);
|
||||
/// <summary>
|
||||
/// erp:单据查询-直接调拨出库
|
||||
/// </summary>
|
||||
@@ -44,5 +44,11 @@ namespace WMS.Web.Domain.IService.Public
|
||||
Task<Result> Repeal(OperateRequest dto, LoginInDto loginInfo);
|
||||
//出库任务作废
|
||||
Task<Result> merge(OperateRequest dto, LoginInDto loginInfo);
|
||||
/// <summary>
|
||||
/// 同步金蝶数据 不传源订单号则更新所有
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
Task<Result> Ssyn(List<string> sourceBillNos = null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ using WMS.Web.Domain.Options;
|
||||
|
||||
namespace WMS.Web.Domain.QuartzJob
|
||||
{
|
||||
public class OutStockOrderQuartzJob : IJob
|
||||
public class OutStockOrderQuartzJob : IJob
|
||||
{
|
||||
private readonly ILogger<OutStockOrderQuartzJob> _logger;
|
||||
private readonly IServiceScopeFactory _serviceScopeFactory;
|
||||
@@ -44,28 +44,11 @@ namespace WMS.Web.Domain.QuartzJob
|
||||
{
|
||||
try
|
||||
{
|
||||
//1.事务
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isTransaction = false;
|
||||
//2.记录:开始时间
|
||||
var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"出库单-同步金蝶入库单数据:执行开始时间->{begindatetime}");
|
||||
//3.同步数据
|
||||
var result = await _outStockTaskService.SsynDeliveryNoticeOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForTransferDirectOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForTransferOutOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForMisDeliveryOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await _outStockTaskService.BillQueryForAssembledAppOutStock(isTransaction);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
|
||||
//4.提交事务
|
||||
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
|
||||
var result = await _outStockTaskService.Ssyn(null);
|
||||
//5.记录:结束时间
|
||||
var enddatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"出库单-同步金蝶入库单数据:执行结束时间->{begindatetime}");
|
||||
|
||||
@@ -28,15 +28,17 @@ namespace WMS.Web.Domain.Services
|
||||
public readonly IBasicsRepositories _transactionRepositories;
|
||||
private readonly IOutStockRepositories _outStockRepositories;
|
||||
private readonly IOutStockTaskRepositories _outStockTaskRepositories;
|
||||
private readonly IOutStockTaskService _outStockTaskService;
|
||||
public OutStockService(IMapper mapper, ILoginService loginService,
|
||||
IBasicsRepositories transactionRepositories,
|
||||
IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories)
|
||||
IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService)
|
||||
{
|
||||
_mapper = mapper;
|
||||
_loginService = loginService;
|
||||
_transactionRepositories = transactionRepositories;
|
||||
_outStockRepositories = outStockRepositories;
|
||||
_outStockTaskRepositories = outStockTaskRepositories;
|
||||
_outStockTaskService = outStockTaskService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 出库单
|
||||
@@ -48,6 +50,11 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
var outStockTask = await _outStockTaskRepositories.Get(dto.TaskId);
|
||||
//OutStock entity = await _outStockRepositories.GetByTaskId(dto.TaskId);
|
||||
//同步该订单最新数据到wms系统
|
||||
List<string> nos = new List<string>();
|
||||
nos.Add(outStockTask.SourceBillNo);
|
||||
var res = await _outStockTaskService.Ssyn(nos);
|
||||
if (!res.IsSuccess) return Result.ReSuccess();
|
||||
|
||||
OutStock entity = new OutStock();
|
||||
entity.Create(loginInfo.UserInfo.StaffId, outStockTask);
|
||||
@@ -56,7 +63,7 @@ namespace WMS.Web.Domain.Services
|
||||
//任务单明细
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == d.MaterialId);
|
||||
if (tDetail == null) continue;
|
||||
var res = outStockTask.OutStock(d.MaterialId, d.Qty);
|
||||
res = outStockTask.OutStock(d.MaterialId, d.Qty);
|
||||
if (!res.IsSuccess) return res;
|
||||
|
||||
var outd = _mapper.Map<OutStockDetails>(tDetail);
|
||||
|
||||
@@ -158,7 +158,7 @@ namespace WMS.Web.Domain.Services
|
||||
/// </summary>
|
||||
/// <param name="isTransaction"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> SsynDeliveryNoticeOutStock(bool isTransaction, List<string> sourceBillNos = null)
|
||||
public async Task<Result> BillQueryForDeliveryNoticeOutStock(bool isTransaction, List<string> sourceBillNos = null)
|
||||
{
|
||||
//1.获取金蝶数据:采购订单数据
|
||||
var erp_result = await _erpService.BillQueryForDeliveryNoticeOutStock(sourceBillNos);
|
||||
@@ -204,7 +204,7 @@ namespace WMS.Web.Domain.Services
|
||||
public async Task<Result> BillQueryForAssembledAppOutStock(bool isTransaction, List<string> sourceBillNos = null)
|
||||
{
|
||||
List<ErpDeliveryNoticeOutStockResultDto> list = new List<ErpDeliveryNoticeOutStockResultDto>();
|
||||
|
||||
|
||||
var erp_result = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(sourceBillNos);
|
||||
if (!erp_result.IsSuccess)
|
||||
return Result.ReFailure(erp_result.Message, erp_result.Status);
|
||||
@@ -231,5 +231,99 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
return await this.SsynDate(erp_result.Data.ToList(), isTransaction);
|
||||
}
|
||||
/// <summary>
|
||||
/// 同步金蝶数据 不传源订单号则更新所有
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<Result> Ssyn(List<string> sourceBillNos = null)
|
||||
{
|
||||
//1.事务
|
||||
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
|
||||
bool isRollback = false;
|
||||
bool isSuccess = true;
|
||||
Result result;
|
||||
//定时任务更新
|
||||
if (sourceBillNos == null)
|
||||
{
|
||||
|
||||
//更新时间范围内所有
|
||||
result= await BillQueryForDeliveryNoticeOutStock(false, null);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await BillQueryForTransferDirectOutStock(false, null);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await BillQueryForTransferOutOutStock(false, null);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await BillQueryForAssembledAppOutStock(false, null);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
result = await BillQueryForMisDeliveryOutStock(false, null);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
|
||||
//同步成功后 更新定时开始时间
|
||||
if (!isRollback)
|
||||
{
|
||||
}
|
||||
|
||||
//4.提交事务
|
||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
|
||||
//根据指定单号更新
|
||||
List<string> DeliveryNotice_Nos = new List<string>();
|
||||
List<string> TransferDirect_Nos = new List<string>();
|
||||
List<string> TransferOut_Nos = new List<string>();
|
||||
List<string> AssembledApp_Nos = new List<string>();
|
||||
List<string> MisDeliveryOut_Nos = new List<string>();
|
||||
var taskList = await _outStockTaskRepositories.GetListBySourceBillNo(sourceBillNos);
|
||||
foreach (var entity in taskList)
|
||||
{
|
||||
if (entity.Type == OutStockType.Sal)
|
||||
DeliveryNotice_Nos.Add(entity.SourceBillNo);
|
||||
else if (entity.Type == OutStockType.Stkdirecttransfers)
|
||||
TransferDirect_Nos.Add(entity.SourceBillNo);
|
||||
else if (entity.Type == OutStockType.StktransferInst)
|
||||
TransferOut_Nos.Add(entity.SourceBillNo);
|
||||
else if (entity.Type == OutStockType.Assembled)
|
||||
AssembledApp_Nos.Add(entity.SourceBillNo);
|
||||
else if (entity.Type == OutStockType.Miscellaneous)
|
||||
MisDeliveryOut_Nos.Add(entity.SourceBillNo);
|
||||
}
|
||||
|
||||
if (DeliveryNotice_Nos.Count() > 0)
|
||||
{
|
||||
result= await BillQueryForDeliveryNoticeOutStock(false, DeliveryNotice_Nos);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
if (TransferDirect_Nos.Count() > 0)
|
||||
{
|
||||
result = await BillQueryForDeliveryNoticeOutStock(false, TransferDirect_Nos);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
if (TransferOut_Nos.Count() > 0)
|
||||
{
|
||||
result = await BillQueryForDeliveryNoticeOutStock(false, TransferOut_Nos);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
if (AssembledApp_Nos.Count() > 0)
|
||||
{
|
||||
result = await BillQueryForDeliveryNoticeOutStock(false, AssembledApp_Nos);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
if (MisDeliveryOut_Nos.Count() > 0)
|
||||
{
|
||||
result = await BillQueryForDeliveryNoticeOutStock(false, MisDeliveryOut_Nos);
|
||||
if (!result.IsSuccess) isRollback = true;
|
||||
}
|
||||
|
||||
//4.提交事务
|
||||
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||
if (!isSuccess)
|
||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user