修改了同步领料出库

This commit is contained in:
2025-07-02 14:28:05 +08:00
parent 8f7e3d3160
commit 3691cda997
3 changed files with 33 additions and 15 deletions

View File

@@ -6542,6 +6542,15 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.BillQueryForPickingOutStock(System.Collections.Generic.List{System.String},System.Nullable{System.DateTime},System.Boolean)">
<summary>
领料出库单
</summary>
<param name="sourceBillNos"></param>
<param name="beginTime"></param>
<param name="isCheck"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.BillQueryForTransferDirectOutStock(System.Collections.Generic.List{System.String},System.Nullable{System.DateTime},System.Boolean)">
<summary>
直接调拨出库

View File

@@ -450,10 +450,14 @@ namespace WMS.Web.Domain.Services
//DateTime begin = await _erpOpsSyncDateRepositories.Get(ErpOpsSyncType.OutStock);
if (begin == null)
begin = DateTime.Now.AddHours(-8);//默认拉去8小时以内的数据ALTER BY YZH
// begin = DateTime.Now.AddDays(-200);//默认拉去8小时以内的数据ALTER BY YZH
//更新时间范围内所有
//result = await BillQueryForTransferOutOutStock(false, null, begin);
//if (!result.IsSuccess) isRollback = true;
// begin = DateTime.Now.AddDays(-200);//默认拉去8小时以内的数据ALTER BY YZH
//更新时间范围内所有
//result = await BillQueryForTransferOutOutStock(false, null, begin);
//if (!result.IsSuccess) isRollback = true;
result = await BillQueryForPickingOutStock(false, null, begin);
if (!result.IsSuccess) isRollback = true;
result = await BillQueryForSalOutStock(false, null, begin);
if (!result.IsSuccess) isRollback = true;
@@ -466,8 +470,6 @@ namespace WMS.Web.Domain.Services
result = await BillQueryForMisDeliveryOutStock(false, null, begin);
if (!result.IsSuccess) isRollback = true;
result = await BillQueryForPickingOutStock(false, null, begin);
if (!result.IsSuccess) isRollback = true;
//更新时间管理
@@ -538,7 +540,7 @@ namespace WMS.Web.Domain.Services
}
if (PickingOut_Nos.Count() > 0)
{
result = await BillQueryForPickingOutStock(false, MisDeliveryOut_Nos);
result = await BillQueryForPickingOutStock(false, PickingOut_Nos);
if (!result.IsSuccess) isRollback = true;
}

View File

@@ -2103,7 +2103,13 @@ namespace WMS.Web.Domain.Services.Public
}
}
/// <summary>
/// 领料出库单
/// </summary>
/// <param name="sourceBillNos"></param>
/// <param name="beginTime"></param>
/// <param name="isCheck"></param>
/// <returns></returns>
public async Task<ResultList<ErpDeliveryNoticeOutStockResultDto>> BillQueryForPickingOutStock(List<string> sourceBillNos = null, DateTime? beginTime = null, bool isCheck = true)
{
string result_json = "";
@@ -2130,7 +2136,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.PRD_PickMtrl.ToString());
param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID.FNumber,FStockID.FNumber,FStockLocID,FQty,F_ENTRYREMARKS,FCreateDate,FEntity_FEntryID,FDeliveryOrgID.FNumber";//FEntryID
param.FieldKeys = "FBillNo,FUnitID,FStockOrgId,FUnitID.FName,FMaterialID.FNumber,FStockID.FNumber,FStockLocID,FActualQty,FEntrtyMemo,FCreateDate,FEntity_FEntryID,FStockOrgId.FNumber";//FEntryID
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -2141,8 +2147,9 @@ namespace WMS.Web.Domain.Services.Public
//6.物料 物料属性=费用或资产或服务的排除 不拉取
param.FilterString = " 1=1";
if (isCheck) param.FilterString += " and FDocumentStatus='C'";
param.FilterString += " and FRemainOutQty>=0";
param.FilterString += " and FActualQty>=0";
param.FilterString += " and FMaterialID.FERPCLSID not in (10,11,6)";
param.FilterString += "and FBillType='f4f46eb78a7149b1b7e4de98586acb67'";
//param.FilterString += " and FStockID.FNumber in (" + stocks_codes + ")";
//param.FilterString += " and FDeliveryOrgID.FNumber in (" + stocks_orgs + ")";
for (int i = 0; i < stocks.Count(); i++)
@@ -2150,10 +2157,10 @@ namespace WMS.Web.Domain.Services.Public
if (i == 0)
{
param.FilterString += " and (";
param.FilterString += $"(FStockID.FNumber='{stocks[i].Code}' and FDeliveryOrgID.FNumber='{stocks[i].ErpOrgCode}')";
param.FilterString += $"(FStockID.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
}
else
param.FilterString += $" or (FStockID.FNumber='{stocks[i].Code}' and FDeliveryOrgID.FNumber='{stocks[i].ErpOrgCode}')";
param.FilterString += $" or (FStockID.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
}
@@ -2180,16 +2187,16 @@ namespace WMS.Web.Domain.Services.Public
{
var lis = new ErpDeliveryNoticeOutStockResultDto();
lis.SourceBillNo = item[0];
lis.SaleBillNo = item[1];
//lis.SaleBillNo = item[1];
lis.DeliveryOrgId = Convert.ToInt32(item[2]);
lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
//lis.ReceiptCustomerId = Convert.ToInt32(item[3]);
lis.MaterialNumber = item[4];
lis.StockCode = item[5];
lis.SubStockId = Convert.ToInt32(item[6]);
lis.AccruedQty = Convert.ToDecimal(item[7]);
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Sal;
lis.Type = (int)OutStockType.PickingOut;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
lis.OrgCode = item[11];
erp_list.Add(lis);