This commit is contained in:
Administrator
2025-08-02 02:30:43 +08:00
parent a18026e5bc
commit 3ea7c1837d
3 changed files with 27 additions and 13 deletions

View File

@@ -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
/// <returns></returns>
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
/// <returns></returns>
private int InsertDataToTempTable(Context ctx, string tableName, string orgId, List<SaleExecuteOut> 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;
}
/// <summary>
@@ -104,8 +115,7 @@ VALUES
/// <param name="tableName"></param>
private void CreateTempTable(Context ctx, string tableName)
{
var sql = $@"
CREATE TABLE
var sql = $@"/*dialect*/CREATE TABLE
{tableName} (
FORGID int,
FORGNAME NVARCHAR (100),