Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
41ea13f8
Commit
41ea13f8
authored
Aug 22, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改本月统计
parent
9e1ef180
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
92 additions
and
2 deletions
+92
-2
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
...xhx/module/attendance/web/AttendanceRecordController.java
+92
-2
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
View file @
41ea13f8
package
com.mortals.xhx.module.attendance.web
;
package
com.mortals.xhx.module.attendance.web
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ReflectUtil
;
import
cn.hutool.core.util.ReflectUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.utils.ReflectUtils
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.utils.poi.ExcelUtil
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
...
@@ -27,6 +32,7 @@ import com.mortals.xhx.module.dept.service.DeptService;
...
@@ -27,6 +32,7 @@ import com.mortals.xhx.module.dept.service.DeptService;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
import
com.mortals.xhx.module.perform.model.PerformAttendAppealEntity
;
import
com.mortals.xhx.module.perform.model.vo.AppealInfo
;
import
com.mortals.xhx.module.perform.model.vo.AppealInfo
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.checkerframework.checker.units.qual.A
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -127,7 +133,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -127,7 +133,7 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
@Override
@Override
public
void
doExportAfter
(
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
public
void
doExportAfter
(
Context
context
,
List
<
AttendanceRecordEntity
>
list
)
throws
AppException
{
ArrayList
<
AttendanceRecordEntity
>
attendanceRecordEntities
=
new
ArrayList
<>();
/*
ArrayList<AttendanceRecordEntity> attendanceRecordEntities = new ArrayList<>();
for (AttendanceRecordEntity recordEntity : list) {
for (AttendanceRecordEntity recordEntity : list) {
List<AttendanceRecordDetailEntity> attendanceRecordDetailList = recordEntity.getAttendanceRecordDetailList();
List<AttendanceRecordDetailEntity> attendanceRecordDetailList = recordEntity.getAttendanceRecordDetailList();
...
@@ -150,9 +156,93 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
...
@@ -150,9 +156,93 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
if (!ObjectUtils.isEmpty(attendanceRecordEntities)) {
if (!ObjectUtils.isEmpty(attendanceRecordEntities)) {
list.clear();
list.clear();
list.addAll(attendanceRecordEntities);
list.addAll(attendanceRecordEntities);
}
}
*/
}
}
@Override
public
void
exportExcel
(
@RequestBody
AttendanceRecordEntity
query
)
{
Context
context
=
getContext
();
String
busiDesc
=
"导出"
+
getModuleDesc
();
List
<
String
>
properties
=
new
ArrayList
<>();
try
{
doExportBefore
(
context
,
query
,
properties
);
String
name
=
StringUtils
.
trim
(
this
.
moduleDesc
);
if
(
StringUtils
.
isEmpty
(
name
))
{
name
=
System
.
currentTimeMillis
()
+
""
;
}
String
fileName
=
name
+
".xlsx"
;
PageInfo
pageInfo
=
new
PageInfo
(-
1
);
List
<
AttendanceRecordEntity
>
list
=
this
.
service
.
find
(
query
,
pageInfo
,
getContext
()).
getList
();
Class
<
AttendanceRecordEntity
>
tClass
=
ReflectUtils
.
getClassGenricType
(
getClass
(),
1
);
ExcelUtil
<
AttendanceRecordEntity
,
Long
>
util
=
new
ExcelUtil
<>(
tClass
);
doExportAfter
(
context
,
list
);
//求详细最大数量
final
Integer
colSize
=
list
.
parallelStream
().
map
(
i
->
i
.
getAttendanceRecordDetailList
().
size
()).
max
(
Comparator
.
comparing
(
Integer:
:
intValue
)).
orElseGet
(()
->
0
);
//构建动态list
List
<
List
<
Map
<
String
,
Object
>>>
lists
=
list
.
stream
().
map
(
item
->
{
List
<
AttendanceRecordDetailEntity
>
attendanceRecordDetailList
=
item
.
getAttendanceRecordDetailList
();
List
<
Map
<
String
,
Object
>>
mapList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
colSize
;
i
++)
{
if
(
attendanceRecordDetailList
.
size
()
>
i
)
{
AttendanceRecordDetailEntity
detailEntity
=
attendanceRecordDetailList
.
get
(
i
);
//生成上班 结果 下班 结果 4个map
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"上班打卡时间%d"
,
i
+
1
));
map
.
put
(
"value"
,
DateUtil
.
formatDateTime
(
detailEntity
.
getGoWorkDate
()));
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"上班打卡结果%d"
,
i
+
1
));
map
.
put
(
"value"
,
GoWorkResultEnum
.
getByValue
(
detailEntity
.
getGoWorkResult
()).
getDesc
());
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"下班打卡时间%d"
,
i
+
1
));
map
.
put
(
"value"
,
DateUtil
.
formatDateTime
(
detailEntity
.
getOffWorkDate
()));
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"下班打卡结果%d"
,
i
+
1
));
map
.
put
(
"value"
,
OffWorkResultEnum
.
getByValue
(
detailEntity
.
getOffWorkResult
()).
getDesc
());
mapList
.
add
(
map
);
}
else
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"上班打卡时间%d"
,
i
+
1
));
map
.
put
(
"value"
,
"--"
);
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"上班打卡结果%d"
,
i
+
1
));
map
.
put
(
"value"
,
"--"
);
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"下班打卡时间%d"
,
i
+
1
));
map
.
put
(
"value"
,
"--"
);
mapList
.
add
(
map
);
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
String
.
format
(
"下班打卡结果%d"
,
i
+
1
));
map
.
put
(
"value"
,
"--"
);
mapList
.
add
(
map
);
}
}
return
mapList
;
}).
collect
(
Collectors
.
toList
());
byte
[]
data
=
util
.
exportExcel
(
list
,
properties
,
lists
,
name
);
// byte[] data = util.exportExcel(list, properties, name);
doExportFileAfter
(
data
,
query
,
context
);
this
.
responseStream
(
response
,
data
,
fileName
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
this
.
doException
(
request
,
"导出异常"
,
new
HashMap
<>(),
e
);
}
}
@Override
@Override
public
void
doExportFileAfter
(
byte
[]
data
,
AttendanceRecordEntity
query
,
Context
context
)
throws
AppException
{
public
void
doExportFileAfter
(
byte
[]
data
,
AttendanceRecordEntity
query
,
Context
context
)
throws
AppException
{
...
...
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