Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
9a41ec4b
Commit
9a41ec4b
authored
Jan 09, 2025
by
wyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
简单查询(补充)
parent
ca1ba2c9
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
11 deletions
+35
-11
performance/Performance.DtoModels/Enum.cs
+5
-1
performance/Performance.Services/LowProcService.cs
+30
-10
No files found.
performance/Performance.DtoModels/Enum.cs
View file @
9a41ec4b
...
@@ -307,7 +307,11 @@ public enum CustomTableLimitation
...
@@ -307,7 +307,11 @@ public enum CustomTableLimitation
public
enum
Formatter
public
enum
Formatter
{
{
text
,
text
,
numeric
,
pre
,
// html pre标签保留文本中的所有空格、制表符和换行符。
numeric
,
// 数字
numeric_compare
,
// 数字对比 正-红 复-绿
pct
,
// 百分比
pct_compare
,
// 百分比对比 正-红 复-绿
tag
,
tag
,
}
}
}
}
...
...
performance/Performance.Services/LowProcService.cs
View file @
9a41ec4b
using
AngleSharp.Dom
;
using
AngleSharp.Dom
;
using
AutoMapper
;
using
AutoMapper
;
using
Dapper
;
using
Dapper
;
using
GraphQL
;
using
Masuit.Tools
;
using
Masuit.Tools
;
using
Masuit.Tools.Models
;
using
Masuit.Tools.Models
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Options
;
using
Microsoft.Extensions.Options
;
using
Microsoft.IdentityModel.Tokens
;
using
MySql.Data.MySqlClient
;
using
MySql.Data.MySqlClient
;
using
Newtonsoft.Json
;
using
Newtonsoft.Json
;
using
Performance.DtoModels
;
using
Performance.DtoModels
;
...
@@ -13,6 +15,7 @@
...
@@ -13,6 +15,7 @@
using
Performance.Infrastructure
;
using
Performance.Infrastructure
;
using
Performance.Infrastructure.Models
;
using
Performance.Infrastructure.Models
;
using
Performance.Repository
;
using
Performance.Repository
;
using
SqlSugar
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.Data
;
...
@@ -165,11 +168,6 @@ public void DeleteAsync(params long[] procIds)
...
@@ -165,11 +168,6 @@ public void DeleteAsync(params long[] procIds)
{
{
var
dict
=
(
IDictionary
<
string
,
object
>)
data
.
First
();
var
dict
=
(
IDictionary
<
string
,
object
>)
data
.
First
();
var
keys
=
dict
.
Select
(
w
=>
w
.
Key
).
ToList
();
var
keys
=
dict
.
Select
(
w
=>
w
.
Key
).
ToList
();
//if (!keys.Any(key => string.Equals(key, "TreeId", StringComparison.OrdinalIgnoreCase)))
//{
//}
// 获取总页数
// 获取总页数
var
totalCountKey
=
keys
.
FirstOrDefault
(
key
=>
key
.
Equals
(
"TotalCount"
,
StringComparison
.
OrdinalIgnoreCase
));
var
totalCountKey
=
keys
.
FirstOrDefault
(
key
=>
key
.
Equals
(
"TotalCount"
,
StringComparison
.
OrdinalIgnoreCase
));
if
(!
string
.
IsNullOrEmpty
(
totalCountKey
)
&&
dict
[
totalCountKey
]
!=
null
)
if
(!
string
.
IsNullOrEmpty
(
totalCountKey
)
&&
dict
[
totalCountKey
]
!=
null
)
...
@@ -214,18 +212,23 @@ public void DeleteAsync(params long[] procIds)
...
@@ -214,18 +212,23 @@ public void DeleteAsync(params long[] procIds)
}
}
foreach
(
var
item
in
columns
)
foreach
(
var
item
in
columns
)
{
{
var
field
=
keys
.
FirstOrDefault
(
col
=>
col
.
Equals
(
item
.
Field
,
StringComparison
.
OrdinalIgnoreCase
));
var
field
=
keys
.
FirstOrDefault
(
col
=>
col
.
Equals
(
item
.
Field
,
StringComparison
.
OrdinalIgnoreCase
));
if
(!
string
.
IsNullOrEmpty
(
field
)
&&
item
.
Formatter
==
Formatter
.
numeric
.
ToString
()
)
if
(!
string
.
IsNullOrEmpty
(
field
))
{
{
if
(
item
.
Formatter
==
Formatter
.
numeric
.
ToString
()
||
item
.
Formatter
==
Formatter
.
numeric_compare
.
ToString
())
{
object
?
sumValue
=
null
;
try
try
{
{
var
sumValue
=
data
.
Select
(
field
).
ToDynamicList
().
Cast
<
decimal
?>().
Sum
();
sumValue
=
data
.
Select
(
field
,
StringComparison
.
OrdinalIgnoreCase
).
ToListDynamic
().
Select
(
item
=>
decimal
.
TryParse
(
item
?.
ToString
(),
out
var
value
)
?
(
decimal
?)
value
:
null
).
Sum
();
total
.
AddOrUpdate
(
item
.
Field
,
sumValue
,
sumValue
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
_logger
.
LogError
(
ex
,
"计算字段 {Field} 的总和时失败"
,
field
);
_logger
.
LogError
(
ex
,
"计算字段 {Field} 的总和时失败"
,
field
);
}
}
total
.
AddOrUpdate
(
item
.
Field
,
sumValue
,
sumValue
);
}
}
}
}
}
}
}
...
@@ -260,7 +263,24 @@ public async Task<(IQueryable<dynamic> data, List<ColumnResponse> columns)> GetE
...
@@ -260,7 +263,24 @@ public async Task<(IQueryable<dynamic> data, List<ColumnResponse> columns)> GetE
_logger
.
LogInformation
(
"存储过程:【{Script}】;参数:{Args}"
,
script
,
string
.
Join
(
", "
,
args
.
Select
(
kv
=>
$"
{
kv
.
Key
}
=
{
kv
.
Value
}
"
)));
_logger
.
LogInformation
(
"存储过程:【{Script}】;参数:{Args}"
,
script
,
string
.
Join
(
", "
,
args
.
Select
(
kv
=>
$"
{
kv
.
Key
}
=
{
kv
.
Value
}
"
)));
var
multi
=
await
conn
.
QueryMultipleAsync
(
script
,
args
,
commandTimeout
:
_commandTimeout
);
var
multi
=
await
conn
.
QueryMultipleAsync
(
script
,
args
,
commandTimeout
:
_commandTimeout
);
var
data
=
(
await
multi
.
ReadAsync
()).
AsQueryable
();
var
data
=
await
multi
.
ReadAsync
();
if
(
data
.
Any
())
{
var
dataFirt
=
(
IDictionary
<
string
,
object
>)
data
.
First
();
var
key
=
dataFirt
.
Keys
.
FirstOrDefault
(
k
=>
string
.
Equals
(
k
,
"treeid"
,
StringComparison
.
OrdinalIgnoreCase
));
dataFirt
.
TryGetValue
(
key
,
out
var
value
);
if
(
string
.
IsNullOrEmpty
(
key
)
||
string
.
IsNullOrEmpty
(
value
?.
ToString
()
??
""
))
{
var
index
=
1
;
data
.
ForEach
(
item
=>
{
var
pairs
=
(
IDictionary
<
string
,
object
>)
item
;
pairs
.
AddOrUpdate
(
"treeid"
,
index
,
StringComparer
.
OrdinalIgnoreCase
);
pairs
.
AddOrUpdate
(
"treeparentid"
,
null
,
StringComparer
.
OrdinalIgnoreCase
);
index
+=
1
;
});
}
}
var
columns
=
(
await
multi
.
ReadAsync
<
ColumnResponse
>()).
AsList
();
var
columns
=
(
await
multi
.
ReadAsync
<
ColumnResponse
>()).
AsList
();
columns
.
ForEach
(
column
=>
columns
.
ForEach
(
column
=>
{
{
...
@@ -269,7 +289,7 @@ public async Task<(IQueryable<dynamic> data, List<ColumnResponse> columns)> GetE
...
@@ -269,7 +289,7 @@ public async Task<(IQueryable<dynamic> data, List<ColumnResponse> columns)> GetE
});
});
columns
=
columns
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
columns
=
columns
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
(
data
,
columns
);
return
(
data
.
AsQueryable
()
,
columns
);
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment