Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
N
notes2.0
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zjm
notes2.0
Commits
93cd067f
提交
93cd067f
authored
4月 03, 2020
作者:
zjm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改返回对象
上级
b3c374db
流水线
#120
已失败 于阶段
变更
9
流水线
1
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
306 行增加
和
3 行删除
+306
-3
AttendanceController.java
...y/tynotes/attendance/controller/AttendanceController.java
+47
-1
DepartmentExl.java
...com/zjty/tynotes/attendance/entity/exl/DepartmentExl.java
+40
-0
PriviceServiceImpl.java
...ty/tynotes/job/basic/service/impl/PriviceServiceImpl.java
+9
-0
ActionHistoryController.java
...ynotes/job/status/controller/ActionHistoryController.java
+9
-0
RepairServiceImpl.java
...ty/tynotes/job/status/service/impl/RepairServiceImpl.java
+5
-2
pom.xml
notes-misc/pom.xml
+28
-0
CustomException.java
...ain/java/com/zjty/tynotes/misc/utils/CustomException.java
+24
-0
ExcelUtil.java
.../src/main/java/com/zjty/tynotes/misc/utils/ExcelUtil.java
+143
-0
Init.java
notes-pas/src/main/java/com/zjty/tynotes/pas/task/Init.java
+1
-0
没有找到文件。
notes-attendance/src/main/java/com/zjty/tynotes/attendance/controller/AttendanceController.java
浏览文件 @
93cd067f
package
com
.
zjty
.
tynotes
.
attendance
.
controller
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
com.zjty.tynotes.attendance.dao.AttendanceDepartmentDao
;
import
com.zjty.tynotes.attendance.entity.ApprovalInformation
;
import
com.zjty.tynotes.attendance.entity.exl.DepartmentExl
;
import
com.zjty.tynotes.attendance.entity.vo.request.AttenRequest
;
import
com.zjty.tynotes.attendance.service.AttendanceDetailsService
;
import
com.zjty.tynotes.misc.config.AutoDocument
;
import
com.zjty.tynotes.misc.utils.ExcelUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.log4j.Log4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
springframework
.
http
.
ResponseEntity
.
ok
;
/**
...
...
@@ -17,14 +35,18 @@ import static org.springframework.http.ResponseEntity.ok;
* @create 2020/3/25 9:12
* @des 考勤信息统计
*/
@Api
(
tags
=
"考勤模块"
,
protocols
=
"http"
)
@Api
(
tags
=
"考勤模块"
)
@RestController
@AutoDocument
@Slf4j
@RequestMapping
(
"/attendance/info"
)
public
class
AttendanceController
{
@Autowired
private
AttendanceDetailsService
attendanceDetailsService
;
@Autowired
AttendanceDepartmentDao
attendanceDepartmentDao
;
@ApiOperation
(
value
=
"查询个人考勤信息"
,
response
=
ApprovalInformation
.
class
)
@PostMapping
(
"/personnel"
)
public
ResponseEntity
personnel
(
@RequestBody
AttenRequest
request
){
...
...
@@ -37,4 +59,28 @@ public class AttendanceController {
return
ok
(
attendanceDetailsService
.
findDepartment
(
request
));
}
@PostMapping
(
"/excel"
)
@ApiOperation
(
value
=
"导出元数据excel表格"
)
public
void
exportCurrentPage
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
log
.
info
(
"元数据 正在执行单页excel导出任务..."
);
//把要导出的信息放在map里面
List
<
Map
<
String
,
Object
>>
excelList
=
new
ArrayList
<>();
//构建创建导出excel表格所需要的Workbook对象的map
// VoMetadataTableInfo voTableInfo= metaDataService.getVoTableInfo(dbName, name);
List
<
DepartmentExl
>
list
=
new
ArrayList
<>();
list
.
add
(
new
DepartmentExl
(
"占金明"
,
22
,
22
f
,
0
f
,
0
,
0
,
0
f
,
0
f
));
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
8
);
map
.
put
(
"subFpName"
,
"3月"
);
map
.
put
(
"title"
,
new
ExportParams
(
"3月"
,
"3月"
));
map
.
put
(
"entity"
,
DepartmentExl
.
class
);
map
.
put
(
"data"
,
list
);
excelList
.
add
(
map
);
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
excelList
,
ExcelType
.
HSSF
);
ExcelUtil
.
downloadExcel
(
request
,
response
,
workbook
,
"3月"
);
}
}
notes-attendance/src/main/java/com/zjty/tynotes/attendance/entity/exl/DepartmentExl.java
0 → 100644
浏览文件 @
93cd067f
package
com
.
zjty
.
tynotes
.
attendance
.
entity
.
exl
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.mongodb.core.mapping.Document
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
DepartmentExl
{
@Excel
(
name
=
"用户姓名"
,
orderNum
=
"1"
,
width
=
20
)
private
String
name
;
@Excel
(
name
=
"应出勤天数"
,
orderNum
=
"2"
,
width
=
20
)
private
Integer
attendanceDay
;
@Excel
(
name
=
"实际出勤天数"
,
orderNum
=
"3"
,
width
=
20
)
private
Float
realAttendanceDay
;
@Excel
(
name
=
"公出天数"
,
orderNum
=
"4"
,
width
=
20
)
private
Float
reasonableOutWorkDay
;
@Excel
(
name
=
"迟到天数"
,
orderNum
=
"5"
,
width
=
20
)
private
Integer
lateDay
;
@Excel
(
name
=
"早退天数"
,
orderNum
=
"6"
,
width
=
20
)
private
Integer
earlyDay
;
@Excel
(
name
=
"出差天数"
,
orderNum
=
"7"
,
width
=
20
)
private
Float
outWorkDay
;
@Excel
(
name
=
"请假天数"
,
orderNum
=
"8"
,
width
=
20
)
private
Float
offFromWorkDay
;
}
notes-job/src/main/java/com/zjty/tynotes/job/basic/service/impl/PriviceServiceImpl.java
浏览文件 @
93cd067f
...
...
@@ -4,6 +4,8 @@ import com.zjty.tynotes.job.basic.entity.database.Work;
import
com.zjty.tynotes.job.basic.repository.WorkRepository
;
import
com.zjty.tynotes.job.basic.service.PriviceService
;
import
com.zjty.tynotes.job.common.exception.NotFoundException
;
import
com.zjty.tynotes.pas.service.IUserService
;
import
org.reactivestreams.Publisher
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -11,6 +13,9 @@ import org.springframework.stereotype.Service;
public
class
PriviceServiceImpl
implements
PriviceService
{
@Autowired
WorkRepository
workRepository
;
@Autowired
IUserService
iUserService
;
@Override
public
Work
findByWorkIdWorkVo
(
String
superoirId
)
{
return
superoirIdWork
(
superoirId
);
...
...
@@ -27,6 +32,10 @@ public class PriviceServiceImpl implements PriviceService {
}
Work
work
=
workRepository
.
findById
(
superoirId
).
get
();
if
(
work
.
getSuperiorId
()==
null
||
""
.
equals
(
work
.
getSuperiorId
())){
String
publisherName
=
iUserService
.
findUserById
(
work
.
getPublisher
()).
getUsername
();
String
executorName
=
iUserService
.
findUserById
(
work
.
getExecutor
()).
getUsername
();
work
.
setPublisher
(
publisherName
);
work
.
setExecutor
(
executorName
);
return
work
;
}
else
{
return
superoirIdWork
(
work
.
getSuperiorId
());
...
...
notes-job/src/main/java/com/zjty/tynotes/job/status/controller/ActionHistoryController.java
浏览文件 @
93cd067f
...
...
@@ -2,6 +2,7 @@ package com.zjty.tynotes.job.status.controller;
import
com.zjty.tynotes.job.status.entity.ActionHistory
;
import
com.zjty.tynotes.job.status.service.ActionHistoryService
;
import
com.zjty.tynotes.job.status.service.RepairService
;
import
com.zjty.tynotes.misc.config.AutoDocument
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
@@ -26,6 +27,8 @@ public class ActionHistoryController {
@Autowired
private
ActionHistoryService
actionHistoryService
;
@Autowired
RepairService
repairService
;
@GetMapping
(
"/history"
)
@ApiOperation
(
value
=
"事件操作历史"
)
...
...
@@ -37,4 +40,10 @@ public class ActionHistoryController {
return
ResponseEntity
.
ok
(
actionHistoryService
.
findHistory
(
id
));
}
@GetMapping
(
"/dcToredis"
)
public
ResponseEntity
<
String
>
dcToRedis
(){
repairService
.
dbAllToRedis
();
return
ResponseEntity
.
ok
(
"ok"
);
}
}
notes-job/src/main/java/com/zjty/tynotes/job/status/service/impl/RepairServiceImpl.java
浏览文件 @
93cd067f
...
...
@@ -42,7 +42,7 @@ public class RepairServiceImpl implements RepairService {
@Override
public
void
dbAllToRedis
()
{
workService
.
findAll
();
workService
.
findAll
()
.
forEach
(
this
::
dbToRedis
)
;
}
...
...
@@ -92,6 +92,7 @@ public class RepairServiceImpl implements RepairService {
}
else
{
personalWork
.
setIsNotCommission
(
1
);
}
personalWork
.
setExecutorEqualRelease
(
0
);
break
;
default
:
...
...
@@ -106,6 +107,7 @@ public class RepairServiceImpl implements RepairService {
uIds
.
remove
(
work
.
getPublisher
());
uIds
.
remove
(
work
.
getExecutor
());
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RESOLVE_WORK
);
personalWork
.
setExecutorEqualRelease
(
0
);
switch
(
work
.
getStatus
()){
case
WorkStatus
.
AUDIT
:
...
...
@@ -150,12 +152,12 @@ public class RepairServiceImpl implements RepairService {
}
else
{
personalWork
.
setIsNotCommission
(
0
);
}
break
;
default
:
personalWork
.
setIsNotCommission
(
0
);
break
;
}
personalWork
.
setExecutorEqualRelease
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
work
.
getExecutor
(),
personalWork
);
...
...
@@ -166,6 +168,7 @@ public class RepairServiceImpl implements RepairService {
personalWork
.
setWorkAttribution
(
WorkAttribution1
.
ME_RELATED_WORK
);
personalWork
.
setReadState
(
1
);
personalWork
.
setIsNotCommission
(
0
);
personalWork
.
setExecutorEqualRelease
(
0
);
redisTemplate
.
opsForList
().
leftPush
(
Constants
.
REDIS_EVENT
+
id
,
personalWork
);
}
...
...
notes-misc/pom.xml
浏览文件 @
93cd067f
...
...
@@ -16,6 +16,16 @@
<!--</properties>-->
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<!--swagger2 enable dependency-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -47,6 +57,24 @@
<artifactId>
springfox-bean-validators
</artifactId>
<version>
2.9.1
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-base
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-web
</artifactId>
<version>
3.2.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-annotation
</artifactId>
<version>
3.2.0
</version>
</dependency>
</dependencies>
<build>
...
...
notes-misc/src/main/java/com/zjty/tynotes/misc/utils/CustomException.java
0 → 100644
浏览文件 @
93cd067f
package
com
.
zjty
.
tynotes
.
misc
.
utils
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
*
*
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
CustomException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
2974448974512157353L
;
public
CustomException
(
String
message
)
{
super
(
message
);
}
public
CustomException
()
{
}
}
notes-misc/src/main/java/com/zjty/tynotes/misc/utils/ExcelUtil.java
0 → 100644
浏览文件 @
93cd067f
package
com
.
zjty
.
tynotes
.
misc
.
utils
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.ExcelImportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.ImportParams
;
import
cn.afterturn.easypoi.excel.entity.enmus.ExcelType
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.BufferedOutputStream
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.NoSuchElementException
;
/**
* fp-api.
*
* @author : Matrix [xhyrzldf@gmail.com]
* 18-11-15 .
*/
public
class
ExcelUtil
{
public
static
void
exportExcel
(
List
<?>
list
,
String
title
,
String
sheetName
,
Class
<?>
pojoClass
,
String
fileName
,
boolean
isCreateHeader
,
HttpServletResponse
response
)
{
ExportParams
exportParams
=
new
ExportParams
(
title
,
sheetName
);
exportParams
.
setCreateHeadRows
(
isCreateHeader
);
defaultExport
(
list
,
pojoClass
,
fileName
,
response
,
exportParams
);
}
public
static
void
exportExcel
(
List
<?>
list
,
String
title
,
String
sheetName
,
Class
<?>
pojoClass
,
String
fileName
,
HttpServletResponse
response
)
{
defaultExport
(
list
,
pojoClass
,
fileName
,
response
,
new
ExportParams
(
title
,
sheetName
));
}
public
static
void
exportExcel
(
List
<
Map
<
String
,
Object
>>
list
,
String
fileName
,
HttpServletResponse
response
)
{
defaultExport
(
list
,
fileName
,
response
);
}
/**
* @param response HTTP response
* @param wb workbook
* @param excelName excelName名称
*/
public
static
void
downloadExcel
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Workbook
wb
,
String
excelName
)
{
// 判断数据
if
(
wb
==
null
)
{
throw
new
CustomException
(
"workbook can not be null!"
);
}
// 重置响应对象
response
.
reset
();
String
dateStr
=
excelName
+
".xls"
;
System
.
out
.
println
(
dateStr
);
// 指定下载的文件名--设置响应头
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
dateStr
);
response
.
setContentType
(
"application/octet-stream;charset=UTF-8"
);
response
.
setHeader
(
"Pragma"
,
"no-cache"
);
response
.
setDateHeader
(
"Expires"
,
0
);
response
.
setHeader
(
"Access-Control-Allow-Origin"
,
request
.
getHeader
(
"Origin"
));
response
.
setHeader
(
"Access-Control-Allow-Credentials"
,
"true"
);
response
.
setHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, PUT, PATCH, DELETE"
);
response
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
response
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Origin, X-Requested-With, Content-Type, Accept"
);
// 写出数据输出流到页面
try
{
OutputStream
output
=
response
.
getOutputStream
();
BufferedOutputStream
bufferedOutPut
=
new
BufferedOutputStream
(
output
);
wb
.
write
(
bufferedOutPut
);
bufferedOutPut
.
flush
();
bufferedOutPut
.
close
();
output
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
private
static
void
defaultExport
(
List
<?>
list
,
Class
<?>
pojoClass
,
String
fileName
,
HttpServletResponse
response
,
ExportParams
exportParams
)
{
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
exportParams
,
pojoClass
,
list
);
downLoadExcel
(
fileName
,
response
,
workbook
);
}
private
static
void
downLoadExcel
(
String
fileName
,
HttpServletResponse
response
,
Workbook
workbook
)
{
try
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
fileName
,
"UTF-8"
));
workbook
.
write
(
response
.
getOutputStream
());
}
catch
(
IOException
e
)
{
throw
new
CustomException
(
e
.
getMessage
());
}
}
private
static
void
defaultExport
(
List
<
Map
<
String
,
Object
>>
list
,
String
fileName
,
HttpServletResponse
response
)
{
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
list
,
ExcelType
.
HSSF
);
downLoadExcel
(
fileName
,
response
,
workbook
);
}
public
static
<
T
>
List
<
T
>
importExcel
(
String
filePath
,
Integer
titleRows
,
Integer
headerRows
,
Class
<
T
>
pojoClass
)
{
if
(
StringUtils
.
isBlank
(
filePath
))
{
return
null
;
}
ImportParams
params
=
new
ImportParams
();
params
.
setTitleRows
(
titleRows
);
params
.
setHeadRows
(
headerRows
);
List
<
T
>
list
;
try
{
list
=
ExcelImportUtil
.
importExcel
(
new
File
(
filePath
),
pojoClass
,
params
);
}
catch
(
NoSuchElementException
e
)
{
throw
new
CustomException
(
"模板不能为空"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
CustomException
(
e
.
getMessage
());
}
return
list
;
}
public
static
<
T
>
List
<
T
>
importExcel
(
MultipartFile
file
,
Integer
titleRows
,
Integer
headerRows
,
Class
<
T
>
pojoClass
)
{
if
(
file
==
null
)
{
return
null
;
}
ImportParams
params
=
new
ImportParams
();
params
.
setTitleRows
(
titleRows
);
params
.
setHeadRows
(
headerRows
);
List
<
T
>
list
;
try
{
list
=
ExcelImportUtil
.
importExcel
(
file
.
getInputStream
(),
pojoClass
,
params
);
}
catch
(
NoSuchElementException
e
)
{
throw
new
CustomException
(
"excel文件不能为空"
);
}
catch
(
Exception
e
)
{
throw
new
CustomException
(
e
.
getMessage
());
}
return
list
;
}
}
notes-pas/src/main/java/com/zjty/tynotes/pas/task/Init.java
浏览文件 @
93cd067f
...
...
@@ -202,4 +202,5 @@ public class Init implements CommandLineRunner {
// iJobService.addJob(job);
// }
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论