erp数据条件优化

This commit is contained in:
tongfei
2023-11-24 15:31:59 +08:00
parent f144aa1644
commit 5dea7f49b4
2 changed files with 74 additions and 77 deletions

View File

@@ -978,7 +978,7 @@
操作时间 操作时间
</summary> </summary>
</member> </member>
<member name="M:WMS.Web.Domain.Entitys.MoveBoxRecord.Create(WMS.Web.Domain.Values.MoveBoxType,System.Int32,System.String,System.String,System.Int32,System.Int32)"> <member name="M:WMS.Web.Domain.Entitys.MoveBoxRecord.Create(WMS.Web.Domain.Values.MoveBoxType,System.Int32,System.Decimal,System.String,System.String,System.Int32,System.Int32)">
<summary> <summary>
创建 创建
</summary> </summary>

View File

@@ -148,8 +148,9 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); //var stocks_codes = stocks.Select(x => x.Code).ToList();
var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -171,19 +172,19 @@ namespace WMS.Web.Domain.Services.Public
//4.明细关闭状态:正常 //4.明细关闭状态:正常
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'"; param.FilterString = " FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'";
param.FilterString = param.FilterString + " and FSOSTOCKID.FNumber in (";
var str = ""; for (int i = 0; i < stocks.Count(); i++)
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FSOSTOCKID.FNumber='{stocks[i].Code}' and FPurchaseOrgId.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FSOSTOCKID.FNumber='{stocks[i].Code}' and FPurchaseOrgId.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -256,8 +257,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -277,20 +278,19 @@ namespace WMS.Web.Domain.Services.Public
//2.审核状态:已审核 //2.审核状态:已审核
//3.单据类型:标准其他入库单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下 //3.单据类型:标准其他入库单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and FBillTypeID='d772ead981e748d69dda1caac7583f8c'";// param.FilterString = " FDocumentStatus='C' and FBillTypeID='d772ead981e748d69dda1caac7583f8c'";
param.FilterString = param.FilterString + " and FSTOCKID.FNumber in ("; for (int i = 0; i < stocks.Count(); i++)
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FSTOCKID.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FSTOCKID.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -360,8 +360,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -381,20 +381,20 @@ namespace WMS.Web.Domain.Services.Public
//2.审核状态:已审核 //2.审核状态:已审核
//3.单据类型:标准直接调拨单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下 //3.单据类型:标准直接调拨单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and FBillTypeID='ce8f49055c5c4782b65463a3f863bb4a'";// param.FilterString = " FDocumentStatus='C' and FBillTypeID='ce8f49055c5c4782b65463a3f863bb4a'";
param.FilterString = param.FilterString + " and FDestStockId.FNumber in (";
for (int i = 0; i < stocks.Count(); i++)
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FDestStockId.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FDestStockId.FNumber='{stocks[i].Code}' and FStockOrgId.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -464,8 +464,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -485,20 +485,19 @@ namespace WMS.Web.Domain.Services.Public
//2.审核状态:已审核 //2.审核状态:已审核
//3.单据类型:标准分步式调入单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下 //3.单据类型:标准分步式调入单;这里要注意了-----------测试端的“单据类型ID”和线上的可能不一样上线的时候要核对下
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and FBillTypeID='e65a4f29743a44b7b67dc8145e1f9c92'";// param.FilterString = " FDocumentStatus='C' and FBillTypeID='e65a4f29743a44b7b67dc8145e1f9c92'";
param.FilterString = param.FilterString + " and FDestStockID.FNumber in ("; for (int i = 0; i < stocks.Count(); i++)
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FDestStockID.FNumber='{stocks[i].Code}' and FStockOrgID.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FDestStockID.FNumber='{stocks[i].Code}' and FStockOrgID.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -568,8 +567,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -590,20 +589,19 @@ namespace WMS.Web.Domain.Services.Public
//3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了 //3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了
//4.事务类型1为组装2为拆卸 //4.事务类型1为组装2为拆卸
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and FAffairType='Assembly'";// param.FilterString = " FDocumentStatus='C' and FAffairType='Assembly'";
param.FilterString = param.FilterString + " and FStockID.FNumber in ("; for (int i = 0; i < stocks.Count(); i++)
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FStockID.FNumber='{stocks[i].Code}' and FOwnerIdHead.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FStockID.FNumber='{stocks[i].Code}' and FOwnerIdHead.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)
@@ -673,8 +671,8 @@ namespace WMS.Web.Domain.Services.Public
var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
if (stocks.Count == 0) if (stocks.Count == 0)
return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData); return ResultList<ErpInStockResultDto>.ReFailure(ResultCodes.ErpStockNoData);
var stocks_codes = stocks.Select(x => x.Code).ToList(); var stocks_codes = string.Join(",", stocks.Select(x => $"'{x.Code}'"));
var stocks_orgs = string.Join(",", stocks.Select(x => $"'{x.ErpOrgCode}'"));
//1.先登录金蝶-拿到token //1.先登录金蝶-拿到token
var token_result = await this.Init(); var token_result = await this.Init();
@@ -695,20 +693,19 @@ namespace WMS.Web.Domain.Services.Public
//3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了 //3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了
//4.事务类型1为组装2为拆卸 //4.事务类型1为组装2为拆卸
//5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 //5.仓库wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
param.FilterString = " FDocumentStatus='C' and FAffairType='Dassembly'";// param.FilterString = " FDocumentStatus='C' and FAffairType='Dassembly'";
param.FilterString = param.FilterString + " and FStockIDSETY.FNumber in ("; for (int i = 0; i < stocks.Count(); i++)
var str = "";
int index = 0;
foreach (var scode in stocks_codes)
{ {
index++; if (i == 0)
if (index == stocks_codes.Count) {
str = str + $"'{scode}'"; param.FilterString += " and (";
param.FilterString += $"(FStockIDSETY.FNumber='{stocks[i].Code}' and FSubProOwnerIdH.FNumber='{stocks[i].ErpOrgCode}')";
}
else else
str = str + $"'{scode}'" + ","; param.FilterString += $" or (FStockIDSETY.FNumber='{stocks[i].Code}' and FSubProOwnerIdH.FNumber='{stocks[i].ErpOrgCode}')";
if (i == stocks.Count() - 1) param.FilterString += ")";
} }
param.FilterString = param.FilterString + str + ")";
//根据原订单号查询 //根据原订单号查询
if (sourceBillNos != null && sourceBillNos.Count() > 0) if (sourceBillNos != null && sourceBillNos.Count() > 0)