@ -69,6 +69,7 @@ namespace TaskManager.Controllers
//await SyncTaskSubTable(TaskName, Client);
//var jobId1 = BackgroundJob.Enqueue((()=>SyncTaskSubTable(TaskName,Client)));
await SyncTaskSubTable ( TaskName , Client ) ;
//BackgroundJob.Schedule(() =>(CheryRecurringJobInputPageExtendController<,,>).SyncTaskSubTable(TaskName, Client), TimeSpan.FromSeconds(2));
}
catch ( Exception ex )
@ -183,14 +184,17 @@ namespace TaskManager.Controllers
return ;
}
var tableName = task . TableName ;
var total = await _ jobDbContext . Database . ExecuteSqlAsync ( $"select count(1) from {tableName} where writeState=0 and readState=1 " ) ;
string str = $"select count(1) count1 from {tableName} where writeState=0 and readState=1 " ;
var query = _ jobDbContext . Database . GetDbConnection ( ) . Query < int > ( str ) ;
var total = query . FirstOrDefault ( ) ;
var version = DateTime . Now . ToString ( "yyyyMMdd" ) ;
var pageSize = CPageSize ;
int totalPages = ( int ) Math . Ceiling ( ( double ) total / pageSize ) ;
for ( int i = 1 ; i < = totalPages ; i + + )
{
var records = _ jobDbContext . Database . Sql Query< T > ( $"Select TOP {pageSize} * from {tableName} where writeState=0 and reader state=1 order by uid" ) ;
var records = _ jobDbContext . Database . GetDbConnection ( ) . Query < T > ( $"Select TOP {pageSize} * from {tableName} where writeState=0 and readstate=1 order by uid" ) ;
if ( records . Any ( ) )
{
@ -215,7 +219,7 @@ namespace TaskManager.Controllers
itm . WriteState = true ;
itm . TaskId = taskId ;
}
var result = await PostPageAsync ( pagedRequest , taskId , DateTime . Now . ToString ( "yyyyMMdd" ) ) ;
var result = await PostPageAsync ( pagedRequest , taskId , version ) ;
if ( result . code = = 2 0 0 )
{
using ( var transaction = await _ jobDbContext . Database . BeginTransactionAsync ( ) )
@ -240,17 +244,87 @@ namespace TaskManager.Controllers
await _ jobDbContext . AddAsync ( task ) ;
// 提交事务
await transaction . CommitAsync ( ) ;
await _l ogger . AddSuccess ( $"成功同步数据第 {i} 页数据" , TaskName , taskId , version ) ;
}
catch ( Exception ex )
{
await _l ogger . AddError ( ex . Message , TaskName , taskId , DateTime . Now . ToString ( "yyyyMMdd" ) ) ;
string inputjson = "" ;
if ( TaskName = = "日物料需求计划风险确认" ) //格式特殊处理
{
inputjson = JsonSerializer . Serialize ( pagedRequest ,
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy . CamelCase ,
Converters =
{
new DecimalTrimConverter ( ) ,
new InputCustomDateTimeConverter ( ) ,
new InputCustomNullableDateTimeConverter ( )
} ,
WriteIndented = false , // 可选,用于格式化输出
Encoder = System . Text . Encodings . Web . JavaScriptEncoder . Create ( System . Text . Unicode . UnicodeRanges . All )
}
) ;
}
else
{
inputjson = JsonSerializer . Serialize ( pagedRequest ,
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy . CamelCase ,
Converters =
{
new DecimalTrimConverter ( ) ,
} ,
WriteIndented = false , // 可选,用于格式化输出
Encoder = System . Text . Encodings . Web . JavaScriptEncoder . Create ( System . Text . Unicode . UnicodeRanges . All )
}
) ;
}
await _l ogger . AddError ( ex . Message , TaskName , taskId , version , inputjson ) ;
await transaction . RollbackAsync ( ) ;
}
}
}
else
{
await _l ogger . AddError ( $"第 {i} 页数据保存失败,请检查数据。" , TaskName , taskId , DateTime . Now . ToString ( "yyyyMMdd" ) ) ;
string inputjson = string . Empty ;
if ( TaskName = = "日物料需求计划风险确认" ) //格式特殊处理
{
inputjson = JsonSerializer . Serialize ( pagedRequest ,
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy . CamelCase ,
Converters =
{
new DecimalTrimConverter ( ) ,
new InputCustomDateTimeConverter ( ) ,
new InputCustomNullableDateTimeConverter ( )
} ,
WriteIndented = false , // 可选,用于格式化输出
Encoder = System . Text . Encodings . Web . JavaScriptEncoder . Create ( System . Text . Unicode . UnicodeRanges . All )
}
) ;
}
else
{
inputjson = JsonSerializer . Serialize ( pagedRequest ,
new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy . CamelCase ,
Converters =
{
new DecimalTrimConverter ( ) ,
} ,
WriteIndented = false , // 可选,用于格式化输出
Encoder = System . Text . Encodings . Web . JavaScriptEncoder . Create ( System . Text . Unicode . UnicodeRanges . All )
}
) ;
}
await _l ogger . AddError ( $"第 {i} 页数据保存失败,请检查数据:{result.message}。" , TaskName , taskId , version , inputjson ) ;
}
await Task . Delay ( 2 0 0 ) ;