diff --git a/GZ_LTHPilot_ORDER.csproj b/GZ_LTHPilot_ORDER.csproj index 17f42e3..59ccb0c 100644 --- a/GZ_LTHPilot_ORDER.csproj +++ b/GZ_LTHPilot_ORDER.csproj @@ -440,7 +440,6 @@ - - + copy $(TargetPath) "D:\kingdee\K3Cloud\WebSite\Bin\$(TargetFileName)" \ No newline at end of file diff --git a/ScheduleService/SaleOrderReceiveAmount.cs b/ScheduleService/SaleOrderReceiveAmount.cs index ed00e78..3a8413d 100644 --- a/ScheduleService/SaleOrderReceiveAmount.cs +++ b/ScheduleService/SaleOrderReceiveAmount.cs @@ -40,10 +40,14 @@ namespace GZ_LTHPilot_ORDER.ScheduleService var startDate = planStartDate.AddDays(-advanceAays); var endDate = startDate.AddMonths(1); // 如果开始时间大于计划开始时间,说明结束了 - while (startDate > planStartDate) + while (startDate <= planStartDate) { var receiveAmountList = saleOrderService.GetSaleOrderReceiveAmountByDate(orgId, startDate, endDate); - InsertDataToTempTable(ctx, tableName, orgId, receiveAmountList); + if (receiveAmountList.Count > 0) + { + InsertDataToTempTable(ctx, tableName, orgId, receiveAmountList); + + } startDate = startDate.AddMonths(1); endDate = startDate.AddMonths(1); } @@ -61,8 +65,7 @@ namespace GZ_LTHPilot_ORDER.ScheduleService /// private int UpdateSaleOrderReceiveAmount(Context ctx, string tableName) { - var sql = $@" -UPDATE t1 + var sql = $@"/*dialect*/UPDATE t1 SET t1.F_AMOUNT = FAMOUNT FROM @@ -86,15 +89,23 @@ FROM /// private int InsertDataToTempTable(Context ctx, string tableName, string orgId, List saleExecuteOuts) { - var values = saleExecuteOuts.Select(n => $"({orgId},'{n.FSALEORGNAME}','{n.FBILLNO}',{n.FALLMATCHAMOUNT},'{n.FDate}')"); - var valuesString = string.Join(",", values); - var sqlTemp = $@" -INSERT INTO + var values = saleExecuteOuts.Select(n => $"({orgId},'{n.FSALEORGNAME}','{n.FBILLNO}',{n.FALLMATCHAMOUNT},'{n.FDate}')").ToList(); + var index = 0; + var line = 0; + var pageSize = 100; + while (values.Count > index) + { + var valuesString = string.Join(",", values.Where(n => values.IndexOf(n) >= index && values.IndexOf(n) < index + pageSize)); + var sqlTemp = $@"/*dialect*/INSERT INTO {tableName} (FORGID, FORGNAME, FBILLNO, FAMOUNT, FDATE) VALUES {valuesString} "; - return DBServiceHelper.Execute(ctx, sqlTemp); + line += DBServiceHelper.Execute(ctx, sqlTemp); + index += pageSize; + } + return line; + } /// @@ -104,8 +115,7 @@ VALUES /// private void CreateTempTable(Context ctx, string tableName) { - var sql = $@" -CREATE TABLE + var sql = $@"/*dialect*/CREATE TABLE {tableName} ( FORGID int, FORGNAME NVARCHAR (100), diff --git a/Services/SaleOrderService.cs b/Services/SaleOrderService.cs index ac585d5..bec5b2d 100644 --- a/Services/SaleOrderService.cs +++ b/Services/SaleOrderService.cs @@ -143,7 +143,12 @@ WHERE var resultDict = WebApiServiceCall.GetSysReportData(this.ctx, "SAL_DetailReport", paramString); var resultString = JsonConvert.SerializeObject(resultDict); var result = JsonConvert.DeserializeObject>(resultString); + if (result.Result.RowCount == 0) + { + return new List(); + } var rows = result.Result.Rows; + var dataRow = rows.Where(n => n.FBILLNO.Trim() != string.Empty).Select(n => new SaleExecuteOut { FBILLNO = n.FBILLNO,