This commit is contained in:
tongfei
2023-11-21 10:48:27 +08:00
6 changed files with 64 additions and 63 deletions

View File

@@ -46,6 +46,7 @@ namespace WMS.Web.Api.Controllers
[Route("hj")]
public async Task<string> TestHJ()
{
var result = await this._outStockTaskService.Sync(null);
//var t=await _outStockTaskRepositories.Get(1);
// t.Details[0].Remark = "sdf";
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";

View File

@@ -999,7 +999,7 @@
备注
</summary>
</member>
<member name="F:WMS.Web.Domain.Entitys.OutStock.Details">
<member name="P:WMS.Web.Domain.Entitys.OutStock.Details">
<summary>
明细
</summary>

View File

@@ -84,7 +84,7 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 明细
/// </summary>
public List<OutStockDetails> Details = new List<OutStockDetails>();
public List<OutStockDetails> Details { get; set; } = new List<OutStockDetails>();
/// <summary>
/// 创建(需要在明细都生成后最后调用)
/// </summary>

View File

@@ -139,44 +139,43 @@ namespace WMS.Web.Domain.Services
}
}
//2.2.提交修改
var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction);
}
//2.2.提交修改
var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
//2.3剔除:已修改的单据
foreach (var item in erp_removeList)
erp_list.Remove(item);
//3.wms任务单的来源单据编号不存在于erp中那么就新增
if (erp_list.Count != 0)
{
var add_entitys = new List<OutStockTask>();
var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
foreach (var item in billNos)
{
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
var entity = new OutStockTask();
entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
//找到当前对应来源单据编号的集合数据
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
//给到dto的实体明细中
foreach (var erp in current_erp_details)
{
var detail = _mapper.Map<OutStockTaskDetails>(erp);
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
detail.ErpDetails.Add(erpDetail);
entity.Details.Add(detail);
}
add_entitys.Add(entity);
}
//3.1提交新增
isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
//2.3剔除:已修改的单据
foreach (var item in erp_removeList)
erp_list.Remove(item);
//3.wms任务单的来源单据编号不存在于erp中那么就新增
if (erp_list.Count != 0)
{
var add_entitys = new List<OutStockTask>();
var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
foreach (var item in billNos)
{
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
var entity = new OutStockTask();
entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
//找到当前对应来源单据编号的集合数据
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
//给到dto的实体明细中
foreach (var erp in current_erp_details)
{
var detail = _mapper.Map<OutStockTaskDetails>(erp);
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
detail.ErpDetails.Add(erpDetail);
entity.Details.Add(detail);
}
add_entitys.Add(entity);
}
//3.1提交新增
isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
}
}
return Result.ReSuccess();
@@ -310,7 +309,7 @@ namespace WMS.Web.Domain.Services
foreach (var entity in taskList)
{
if (entity.Type == OutStockType.Sal)
DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s=>s.SourceBillNo));
DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
else if (entity.Type == OutStockType.Stkdirecttransfers)
TransferDirect_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
else if (entity.Type == OutStockType.StktransferInst)

View File

@@ -1362,7 +1362,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",",stocks.Select(x => x.Id));
//var stocks_codes = string.Join(",",stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//string.Join(",",stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
@@ -1372,8 +1373,8 @@ namespace WMS.Web.Domain.Services.Public
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1387,7 +1388,7 @@ namespace WMS.Web.Domain.Services.Public
//4.日期>=系统上线之日
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = "FDocumentStatus='C' and FRemainOutQty>=0";
param.FilterString += " and FStockID in (" + stocks_codes + ")";
param.FilterString += " and FStockID.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -1444,7 +1445,7 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",", stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
var token_result = await this.Init();
@@ -1452,8 +1453,8 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(token_result);
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1467,7 +1468,7 @@ namespace WMS.Web.Domain.Services.Public
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = "FDocumentStatus='C' and FBillTypeID='ce8f49055c5c4782b65463a3f863bb4a'";
//string srt = JsonConvert.SerializeObject(stocks_codes);
param.FilterString += " and FSrcStockId in (" + stocks_codes + ")";
param.FilterString += " and FSrcStockId.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -1522,7 +1523,7 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",", stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
var token_result = await this.Init();
@@ -1530,8 +1531,8 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(token_result);
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1545,7 +1546,7 @@ namespace WMS.Web.Domain.Services.Public
//4.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = "FDocumentStatus='C' and FBillTypeID='de3bcacc98434ec68a358aa5abcd9183'";
//string srt = JsonConvert.SerializeObject(stocks_codes);
param.FilterString += " and FSrcStockID in (" + stocks_codes + ")";
param.FilterString += " and FSrcStockID.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -1600,7 +1601,7 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",", stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
var token_result = await this.Init();
@@ -1608,8 +1609,8 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(token_result);
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1623,7 +1624,7 @@ namespace WMS.Web.Domain.Services.Public
//4.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID
param.FilterString = "FDocumentStatus='C' and FAffairType='Dassembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'";
//string srt = JsonConvert.SerializeObject(stocks_codes);
param.FilterString += " and FStockID in (" + stocks_codes + ")";
param.FilterString += " and FStockID.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -1678,7 +1679,7 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",", stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
var token_result = await this.Init();
@@ -1686,8 +1687,8 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(token_result);
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1701,7 +1702,7 @@ namespace WMS.Web.Domain.Services.Public
//4.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = "FDocumentStatus='C' and FBillTypeID='54533291F9A44D38809F70000499BEE9'";
//string srt = JsonConvert.SerializeObject(stocks_codes);
param.FilterString += " and FStockId in (" + stocks_codes + ")";
param.FilterString += " and FStockId.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -1756,7 +1757,7 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0)
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = string.Join(",", stocks.Select(x => x.Id));
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
//1.先登录金蝶-拿到token
var token_result = await this.Init();
@@ -1764,8 +1765,8 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReFailure(token_result);
//2.时间条件:可能还有其它条件
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd 00:00:00");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd 00:00:00");
var beginStr = DateTime.Now.AddMinutes(-30).ToString("yyyy-MM-dd HH:mm:ss");
if (beginTime != null) beginStr = beginTime?.ToString("yyyy-MM-dd HH:mm:ss");
var endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
@@ -1779,7 +1780,7 @@ namespace WMS.Web.Domain.Services.Public
//4.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID
param.FilterString = "FDocumentStatus='C' and FAffairType='Assembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'";
//string srt = JsonConvert.SerializeObject(stocks_codes);
param.FilterString += " and FStockIDSETY in (" + stocks_codes + ")";
param.FilterString += " and FStockIDSETY.FNumber in (" + stocks_codes + ")";
//根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0)