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
68bf1e92
Commit
68bf1e92
authored
Apr 09, 2022
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
H5查询个人绩效
parent
983e5dac
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
248 additions
and
0 deletions
+248
-0
performance/Performance.Api/Controllers/AllotController.cs
+111
-0
performance/Performance.Api/wwwroot/Performance.Api.xml
+8
-0
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+40
-0
performance/Performance.DtoModels/Response/OwnerPerformanceDto.cs
+43
-0
performance/Performance.Infrastructure/Extensions/Extensions.DateTime.cs
+46
-0
No files found.
performance/Performance.Api/Controllers/AllotController.cs
View file @
68bf1e92
...
...
@@ -556,5 +556,116 @@ public ApiResponse GetOwnerPerformance()
var
res
=
_allotService
.
GetOwnerPerformance
(
userid
);
return
new
ApiResponse
(
ResponseType
.
OK
,
res
);
}
/// <summary>
/// H5查询个人绩效
/// </summary>
/// <param name="begin">开始月份:2021-03</param>
/// <param name="end">结束月份:2021-04</param>
/// <returns></returns>
[
Route
(
"owner/query/mobile"
)]
[
HttpGet
]
public
ApiResponse
GetOwnerMobilePerformance
(
string
begin
=
""
,
string
end
=
""
)
{
var
userid
=
_claim
.
GetUserId
();
var
beginDate
=
begin
.
ToTryDateTime
();
var
endDate
=
end
.
ToTryDateTime
();
if
(
beginDate
==
DateTime
.
MinValue
||
endDate
==
DateTime
.
MinValue
)
throw
new
PerformanceException
(
"您选择的时间范围无效"
);
endDate
=
endDate
.
AddMonths
(
1
);
List
<
OwnerMobilePerformanceDto
>
dtos
=
new
List
<
OwnerMobilePerformanceDto
>();
var
datas
=
_allotService
.
GetOwnerPerformance
(
userid
);
var
groupDatas
=
datas
.
Where
(
w
=>
(
new
DateTime
(
w
.
Year
,
w
.
Month
,
1
))
>=
beginDate
&&
(
new
DateTime
(
w
.
Year
,
w
.
Month
,
1
))
<
endDate
)
.
GroupBy
(
w
=>
w
.
JobNumber
);
foreach
(
var
item
in
groupDatas
)
{
var
perforSumFee
=
new
OwnerMobileItemDto
{
Title
=
"业绩绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
PerforSumFee
)
??
0
,
Details
=
item
.
SelectMany
(
w
=>
w
.
Detail
)
.
Where
(
w
=>
(
w
.
PerforSumFee
??
0
)
!=
0
)
.
Select
(
w
=>
new
OwnerMobileItemDetailDto
{
Title
=
w
.
AccountingUnit
,
Amount
=
w
.
PerforSumFee
??
0
,
}).
ToList
()
};
var
perforManagementFee
=
new
OwnerMobileItemDto
{
Title
=
"管理绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
PerforManagementFee
)
??
0
,
Details
=
item
.
SelectMany
(
w
=>
w
.
Detail
)
.
Where
(
w
=>
(
w
.
PerforManagementFee
??
0
)
!=
0
)
.
Select
(
w
=>
new
OwnerMobileItemDetailDto
{
Title
=
w
.
AccountingUnit
,
Amount
=
w
.
PerforManagementFee
??
0
,
}).
ToList
()
};
var
nightWorkPerfor
=
new
OwnerMobileItemDto
{
Title
=
"夜班绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
NightWorkPerfor
)
??
0
,
Details
=
item
.
SelectMany
(
w
=>
w
.
Detail
)
.
Where
(
w
=>
(
w
.
NightWorkPerfor
??
0
)
!=
0
)
.
Select
(
w
=>
new
OwnerMobileItemDetailDto
{
Title
=
w
.
AccountingUnit
,
Amount
=
w
.
NightWorkPerfor
??
0
,
}).
ToList
()
};
var
otherPerfor
=
new
OwnerMobileItemDto
{
Title
=
"医院其他绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
OtherPerfor
)
??
0
,
Details
=
item
.
SelectMany
(
w
=>
w
.
Detail
)
.
Where
(
w
=>
(
w
.
OtherPerfor
??
0
)
!=
0
)
.
Select
(
w
=>
new
OwnerMobileItemDetailDto
{
Title
=
w
.
SourceItem
,
Amount
=
w
.
OtherPerfor
??
0
,
}).
ToList
()
};
var
hideOtherPerfor
=
new
OwnerMobileItemDto
{
Title
=
"不公示其他绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
HideOtherPerfor
)
??
0
,
Details
=
item
.
SelectMany
(
w
=>
w
.
Detail
)
.
Where
(
w
=>
(
w
.
HideOtherPerfor
??
0
)
!=
0
)
.
Select
(
w
=>
new
OwnerMobileItemDetailDto
{
Title
=
w
.
SourceItem
,
Amount
=
w
.
HideOtherPerfor
??
0
,
}).
ToList
()
};
var
reservedRatioFee
=
new
OwnerMobileItemDto
{
Title
=
"预留绩效"
,
Amount
=
item
.
Sum
(
w
=>
w
.
ReservedRatioFee
)
??
0
,
Details
=
new
List
<
OwnerMobileItemDetailDto
>()
};
var
dto
=
new
OwnerMobilePerformanceDto
{
Total
=
item
.
Sum
(
w
=>
w
.
RealGiveFee
),
Items
=
new
List
<
OwnerMobileItemDto
>()
};
if
(
perforSumFee
.
Amount
!=
0
)
dto
.
Items
.
Add
(
perforSumFee
);
if
(
perforManagementFee
.
Amount
!=
0
)
dto
.
Items
.
Add
(
perforManagementFee
);
if
(
nightWorkPerfor
.
Amount
!=
0
)
dto
.
Items
.
Add
(
nightWorkPerfor
);
if
(
otherPerfor
.
Amount
!=
0
)
dto
.
Items
.
Add
(
otherPerfor
);
if
(
hideOtherPerfor
.
Amount
!=
0
)
dto
.
Items
.
Add
(
hideOtherPerfor
);
if
(
reservedRatioFee
.
Amount
!=
0
)
dto
.
Items
.
Add
(
reservedRatioFee
);
dtos
.
Add
(
dto
);
}
return
new
ApiResponse
(
ResponseType
.
OK
,
dtos
);
}
}
}
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
68bf1e92
...
...
@@ -312,6 +312,14 @@
</summary>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AllotController.GetOwnerMobilePerformance(System.String,System.String)"
>
<summary>
H5查询个人绩效
</summary>
<param
name=
"begin"
>
开始月份:2021-03
</param>
<param
name=
"end"
>
结束月份:2021-04
</param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.AttendanceController.GetAttendance(System.Int32)"
>
<summary>
查询绩效考勤记录
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
68bf1e92
...
...
@@ -3594,6 +3594,46 @@
实发绩效
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobilePerformanceDto.Total"
>
<summary>
绩效发放总额
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobilePerformanceDto.Items"
>
<summary>
绩效明细
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDto.Title"
>
<summary>
类型名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDto.Amount"
>
<summary>
金额
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDto.Details"
>
<summary>
明细项
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDetailDto.Title"
>
<summary>
类型名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDetailDto.Amount"
>
<summary>
金额
</summary>
</member>
<member
name=
"P:Performance.DtoModels.OwnerMobileItemDetailDto.Date"
>
<summary>
发放时间,空则不显示
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerEmployeeResponse.WorkTime"
>
<summary>
参加工作时间
...
...
performance/Performance.DtoModels/Response/OwnerPerformanceDto.cs
View file @
68bf1e92
...
...
@@ -16,4 +16,47 @@ public class OwnerPerformanceDto : view_allot_result
/// </summary>
public
decimal
RealGiveFee
{
get
;
set
;
}
}
public
class
OwnerMobilePerformanceDto
{
/// <summary>
/// 绩效发放总额
/// </summary>
public
decimal
Total
{
get
;
set
;
}
/// <summary>
/// 绩效明细
/// </summary>
public
List
<
OwnerMobileItemDto
>
Items
{
get
;
set
;
}
}
public
class
OwnerMobileItemDto
{
/// <summary>
/// 类型名称
/// </summary>
public
string
Title
{
get
;
set
;
}
/// <summary>
/// 金额
/// </summary>
public
decimal
Amount
{
get
;
set
;
}
/// <summary>
/// 明细项
/// </summary>
public
List
<
OwnerMobileItemDetailDto
>
Details
{
get
;
set
;
}
}
public
class
OwnerMobileItemDetailDto
{
/// <summary>
/// 类型名称
/// </summary>
public
string
Title
{
get
;
set
;
}
/// <summary>
/// 金额
/// </summary>
public
decimal
Amount
{
get
;
set
;
}
/// <summary>
/// 发放时间,空则不显示
/// </summary>
public
string
Date
{
get
;
set
;
}
}
}
performance/Performance.Infrastructure/Extensions/Extensions.DateTime.cs
0 → 100644
View file @
68bf1e92
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Globalization
;
using
System.Text
;
namespace
Performance.Infrastructure
{
public
static
partial
class
UtilExtensions
{
public
static
DateTime
ToTryDateTime
(
this
string
value
,
params
string
[]
formats
)
{
return
string
.
IsNullOrEmpty
(
value
)
?
DateTime
.
MinValue
:
ToDateTime
(
value
,
formats
);
}
public
static
DateTime
ToDateTime
(
this
string
value
,
params
string
[]
formats
)
{
if
(
formats
.
Length
==
0
)
{
formats
=
new
string
[]
{
"yyyyMMddHHmmss"
,
"yyyyMMddHHmmss"
,
"yyyy-MM-dd HH:mm:ss"
,
"yyyy年MM月dd日 HH时mm分ss秒"
,
"yyyyMdHHmmss"
,
"yyyy年M月d日 H时mm分ss秒"
,
"yyyy.M.d H:mm:ss"
,
"yyyy.MM.dd HH:mm:ss"
,
"yyyy-MM-dd"
,
"yyyyMMdd"
,
"yyyy/MM/dd"
,
"yyyy/M/d"
,
"yyyy-MM"
,
"yyyy/MM"
,
"yyyy/M"
,
};
}
if
(
DateTime
.
TryParseExact
(
value
,
formats
,
CultureInfo
.
InvariantCulture
,
DateTimeStyles
.
None
,
out
DateTime
now
))
return
now
;
return
DateTime
.
MinValue
;
}
}
}
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