diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 4053fce4..c73a9b75 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -40,8 +40,8 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - await _boxService.Sync(); - //var res = await this._erpService.BillQueryForSubStock(); + //await _boxService.Sync(); + var res = await this._erpService.BillQueryForDeliveryNoticeOutStock(null,DateTime.Now.AddDays(-300)); //var result= await this._erpService.BillQueryForPurchaseInStock(); //var result = await this._erpService.BillQueryForOrg(); var result = await this._erpService.BillQueryForMaterial(); diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index a5daf6f7..45621b60 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -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.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",",stocks.Select(x => x.Id)); + //string.Join(",",stocks.Select(x => $"'{x.Code}'")); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1371,13 +1372,13 @@ namespace WMS.Web.Domain.Services.Public //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.SAL_DELIVERYNOTICE.ToString()); - param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID,FStockLocID,FQty,FNoteEntry,FCreateDate,FEntryID"; + param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID,FStockLocID,FQty,FNoteEntry,FCreateDate,FEntity_FEntryID";//FEntryID param.Limit = 10; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间 @@ -1385,16 +1386,18 @@ namespace WMS.Web.Domain.Services.Public //3.未出库数量>0 //4.日期>=系统上线之日 //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FRemainOutQty>=0"; - //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString = "FDocumentStatus='C' and FRemainOutQty>=0"; + param.FilterString += " and FStockID in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; + query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -1441,7 +1444,7 @@ namespace WMS.Web.Domain.Services.Public var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",", stocks.Select(x => x.Id)); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1449,7 +1452,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 @@ -1462,16 +1465,18 @@ namespace WMS.Web.Domain.Services.Public //2.审核状态:已审核 //3.单据类型:标准 //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FBillTypeID='ce8f49055c5c4782b65463a3f863bb4a'"; + param.FilterString = "FDocumentStatus='C' and FBillTypeID='ce8f49055c5c4782b65463a3f863bb4a'"; //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FSrcStockId in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString += " and FSrcStockId in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -1517,7 +1522,7 @@ namespace WMS.Web.Domain.Services.Public var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",", stocks.Select(x => x.Id)); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1525,7 +1530,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 @@ -1538,16 +1543,18 @@ namespace WMS.Web.Domain.Services.Public //2.审核状态:已审核 //3.单据类型:标准 //4.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FBillTypeID='de3bcacc98434ec68a358aa5abcd9183'"; + param.FilterString = "FDocumentStatus='C' and FBillTypeID='de3bcacc98434ec68a358aa5abcd9183'"; //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString += " and FSrcStockID in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -1593,7 +1600,7 @@ namespace WMS.Web.Domain.Services.Public var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",", stocks.Select(x => x.Id)); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1601,7 +1608,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 @@ -1614,16 +1621,18 @@ namespace WMS.Web.Domain.Services.Public //2.审核状态:已审核 //3.单据类型:标准 //4.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FAffairType='Dassembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'"; + param.FilterString = "FDocumentStatus='C' and FAffairType='Dassembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'"; //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString += " and FSrcStockID in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -1669,7 +1678,7 @@ namespace WMS.Web.Domain.Services.Public var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",", stocks.Select(x => x.Id)); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1677,7 +1686,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 @@ -1690,16 +1699,18 @@ namespace WMS.Web.Domain.Services.Public //2.审核状态:已审核 //3.单据类型:标准 //4.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FBillTypeID='54533291F9A44D38809F70000499BEE9'"; + param.FilterString = "FDocumentStatus='C' and FBillTypeID='54533291F9A44D38809F70000499BEE9'"; //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString += " and FSrcStockID in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); @@ -1745,7 +1756,7 @@ namespace WMS.Web.Domain.Services.Public var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); if (stocks.Count == 0) return ResultList.ReFailure(ResultCodes.ErpStockNoData); - var stocks_codes = stocks.Select(x => x.Id).ToList(); + var stocks_codes = string.Join(",", stocks.Select(x => x.Id)); //1.先登录金蝶-拿到token var token_result = await this.Init(); @@ -1753,7 +1764,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(token_result); //2.时间条件:可能还有其它条件 - var beginStr = DateTime.Now.ToString("yyyy-MM-dd 00:00:00"); + 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 endStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //3.获取金蝶采购订单:拼接参数和条件 @@ -1766,16 +1777,18 @@ namespace WMS.Web.Domain.Services.Public //2.审核状态:已审核 //3.单据类型:标准 //4.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 FBillTypeID - param.FilterString = "FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "' and FDocumentStatus='C' and FAffairType='Assembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'"; + param.FilterString = "FDocumentStatus='C' and FAffairType='Assembly' and FBillTypeID='3441ac133848446f824d0ab760c8b3c7'"; //string srt = JsonConvert.SerializeObject(stocks_codes); - //param.FilterString = param.FilterString + " and FSrcStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; + param.FilterString += " and FSrcStockID in (" + stocks_codes + ")"; //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { - var srt_b = JsonConvert.SerializeObject(sourceBillNos); - param.FilterString = param.FilterString + " and FBillNo in (" + srt_b.Substring(1, srt_b.Length - 2) + ")"; + var srt_b = string.Join(",", sourceBillNos.Select(x => $"'{x}'")); + param.FilterString += " and FBillNo in (" + srt_b + ")"; } + else//没有指定单号搜索 则带时间范围 + param.FilterString += " and FCreateDate>='" + beginStr + "' and FCreateDate<='" + endStr + "'"; query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query);