Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
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
8timerv2
8timerapiv200
Commits
b24f2982
Commit
b24f2982
authored
4 years ago
by
yuquan.zhu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of develop-gitlab.youlingrc.com:8timerv2/8timerapiv200 into develop_zyq
parents
e6b19807
c947f2e3
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
223 additions
and
31 deletions
+223
-31
src/main/java/cn/timer/api/controller/LoginController.java
+15
-0
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
+115
-3
src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
+2
-1
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
+33
-11
src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java
+39
-14
src/main/java/cn/timer/api/controller/yggl/YgglController.java
+16
-1
src/main/resources/mapping/kqgl/PunchRecordMapper.xml
+2
-0
src/main/resources/mapping/kqmk/KqglAssoLeaveBalanceMapper.xml
+1
-1
No files found.
src/main/java/cn/timer/api/controller/LoginController.java
View file @
b24f2982
...
...
@@ -1079,4 +1079,19 @@ public class LoginController {
}
@GetMapping
(
value
=
"/record_breaking"
)
@ApiOperation
(
value
=
"刷新纪录"
,
httpMethod
=
"GET"
,
notes
=
"是否有账号"
)
public
Result
<
QyzxEmpLogin
>
RecordBreaking
(
@CurrentUser
UserBean
userBean
,
HttpServletRequest
request
)
{
QyzxEmpLogin
qyzxEmpLogin1
=
new
LambdaQueryChainWrapper
<
QyzxEmpLogin
>(
qyzxEmpLoginMapper
)
.
eq
(
QyzxEmpLogin:
:
getPhone
,
userBean
.
getQyzxEmpLogin
().
getPhone
()).
eq
(
QyzxEmpLogin:
:
getOrgId
,
userBean
.
getOrgCode
()).
one
();
if
(
qyzxEmpLogin1
!=
null
)
{
return
loginhan
(
qyzxEmpLogin1
,
request
);
}
else
{
return
ResultUtil
.
error
(
"刷新失败!!"
);
}
}
}
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
View file @
b24f2982
...
...
@@ -2581,6 +2581,8 @@ public class ClockInController {
}
else
{
ash
.
setIsdk
(
1
);
}
}
else
if
(
ash
.
getSort
()
==
daj
.
getSort
()){
BeanUtil
.
copyProperties
(
daj
,
dkjl
,
"attdate"
,
"remarks"
,
"userId"
,
"attime"
,
"dkmxid"
,
"commentary"
,
"punchequipment"
,
"punchmode"
);
}
}
...
...
@@ -2972,8 +2974,22 @@ public class ClockInController {
e
.
printStackTrace
();
date_
=
new
Date
();
}
int
dateOne
=
ClockInTool
.
getYearMonth
(
date_
);
int
dangqian
=
ClockInTool
.
getYearMonth
(
new
Date
());
//当前
// int dateOne= ClockInTool.getYearMonth(date_);
// 准备第一个模板,从字符串中提取出日期数字
String
pat1
=
"yyyy-MM"
;
String
pat
=
"yyyyMM"
;
SimpleDateFormat
sdfi
=
new
SimpleDateFormat
(
pat1
)
;
// 实例化模板对象
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
pat
)
;
// 实例化模板对象
Date
d
=
null
;
try
{
d
=
sdfi
.
parse
(
date
)
;
// 将给定的字符串中的日期提取出来
}
catch
(
Exception
e
){
// 如果提供的字符串格式有错误,则进行异常处理
e
.
printStackTrace
()
;
// 打印异常信息
}
int
dateOne
=
Integer
.
valueOf
(
sdf
.
format
(
d
));
int
dangqian
=
Integer
.
valueOf
(
new
SimpleDateFormat
(
"yyyyMM"
).
format
(
new
Date
()));
//当前
List
<
WorkbenchCalendarDto
>
workcal
=
new
ArrayList
<
WorkbenchCalendarDto
>();
...
...
@@ -3105,7 +3121,6 @@ public class ClockInController {
wocal
.
setCalendar_status
(
2
);
//事务(请假,加班,调休,出差)
}
//0:无;1:事假;2:调休;3:病假;4:年假;5:产假;6:陪产假;7:婚假;8:例假;9:丧假;10:哺乳假;11:加班;12:出差;13:外出
if
(
asssum
.
getApprovalType
()
==
1
)
{
wocal
.
setCalendar_status_type
(
11
);
...
...
@@ -3306,6 +3321,103 @@ public class ClockInController {
}
}
}
else
{
String
time
=
date
+
"-01"
;
String
sdaet
=
ClockInTool
.
getMinMonthDate
(
time
);
Long
startMonth
=
ClockInTool
.
getStartTime
(
0
,
ClockInTool
.
getStringTime
(
sdaet
,
"yyyy-MM-dd"
)).
getTime
();
String
edate
=
ClockInTool
.
getMaxMonthDate
(
time
);
Long
endMonth
=
ClockInTool
.
getnowEndTime
(
23
,
ClockInTool
.
getStringTime
(
edate
,
"yyyy-MM-dd"
)).
getTime
();
//固定排班
String
[]
rangeArray
=
ClockInTool
.
listToString
(
ClockInTool
.
getDays
(
df
.
format
(
startMonth
),
df
.
format
(
endMonth
))).
split
(
";"
);
//目前为止所有日期
String
[]
range
=
rangeArray
[
0
].
split
(
","
);
/******************/
String
[]
ycqts
=
new
String
[
31
];
//应上班的具体天数(yyyy-MM-dd)
String
[]
xxts
=
new
String
[
31
];
//休息的具体天数(yyyy-MM-dd)
//考勤组信息
KqglMainKqz
attgro
=
kqglmainkqzmapper
.
getAttendanceGroupInformationByUserid
(
userBean
.
getEmpNum
(),
userBean
.
getOrgCode
());
//固定排班
if
(
attgro
.
getPbfs
()
==
1
)
{
List
<
KqglAssoTeshu
>
bxdklist
=
kqglassoteshumapper
.
ShouldSpecialDatessetByKqzid
(
attgro
.
getId
(),
date
,
1
);
//当前月 必须打卡日期
int
bxdk
=
bxdklist
.
size
();
String
[]
bxdkss
=
new
String
[
bxdk
];
////特殊-必须打卡天数(工作日)
int
b
=
0
;
for
(
KqglAssoTeshu
bxd
:
bxdklist
)
{
bxdkss
[
b
]
=
bxd
.
getTsrq
();
b
++;
}
List
<
KqglAssoTeshu
>
wxdk
=
kqglassoteshumapper
.
ShouldSpecialDatessetByKqzid
(
attgro
.
getId
(),
date
,
2
);
//当前月 无需打卡日期
String
[]
appmaps
=
new
String
[
wxdk
.
size
()];
//特殊-无需打卡天数(休息日)
int
d1
=
0
;
for
(
KqglAssoTeshu
spe:
wxdk
){
appmaps
[
d1
]
=
spe
.
getTsrq
();
d1
++;
}
//应打卡周期时间
List
<
AttendanceWeeklySch
>
atwek
=
attendanceweeklyschmapper
.
selectAttendanceMadeByUserid
(
userBean
.
getEmpNum
(),
userBean
.
getOrgCode
());
String
[]
week
=
new
String
[
atwek
.
size
()];
String
[]
needfig
=
new
String
[
atwek
.
size
()];
//应打卡周期时间
int
e
=
0
;
for
(
AttendanceWeeklySch
awek
:
atwek
){
week
[
e
]
=
awek
.
getWekmc
();
needfig
[
e
]
=
String
.
valueOf
(
awek
.
getType
());
//获取设置的应打卡周几
e
++;
}
//目前为止应出勤天数
int
w
=
0
,
x
=
0
;
int
zj
=
6
;
for
(
String
num
:
range
)
{
if
(
ClockInTool
.
useArrayUtils
(
needfig
,
String
.
valueOf
(
ClockInTool
.
dateToWeek
(
num
))))
{
//对比排班应打卡时间
String
[]
ycqtst
=
new
String
[
ycqts
.
length
+
zj
];
System
.
arraycopy
(
ycqts
,
0
,
ycqtst
,
0
,
ycqts
.
length
);
ycqtst
[
w
]
=
num
;
ycqts
=
ycqtst
;
w
++;
}
else
{
String
[]
xxtst
=
new
String
[
xxts
.
length
+
zj
];
System
.
arraycopy
(
xxts
,
0
,
xxtst
,
0
,
xxts
.
length
);
xxtst
[
x
]
=
num
;
xxts
=
xxtst
;
x
++;
}
if
(
ClockInTool
.
useArrayUtils
(
bxdkss
,
num
))
{
//检查是否存在 必须打卡名单中
String
[]
ycqtst
=
new
String
[
ycqts
.
length
+
zj
];
System
.
arraycopy
(
ycqts
,
0
,
ycqtst
,
0
,
ycqts
.
length
);
ycqtst
[
w
]
=
num
;
ycqts
=
ycqtst
;
w
++;
xxts
=
ClockInTool
.
doChinFilters
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
);
//为必须上班的话从休息日期中去除
}
if
(
ClockInTool
.
useArrayUtils
(
appmaps
,
num
))
{
//检查是否存在 无需打卡名单中
ycqts
=
ClockInTool
.
doChinFilters
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
);
//为必须休息的话从上班日期中去除
String
[]
xxtst
=
new
String
[
xxts
.
length
+
zj
];
System
.
arraycopy
(
xxts
,
0
,
xxtst
,
0
,
xxts
.
length
);
xxtst
[
x
]
=
num
;
xxts
=
xxtst
;
x
++;
}
}
/******************/
for
(
String
num
:
range
)
{
WorkbenchCalendarDto
wocal
=
WorkbenchCalendarDto
.
builder
().
build
();
wocal
.
setDate
(
num
);
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
))
{
wocal
.
setCalendar_status
(
1
);
//
}
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
))
{
wocal
.
setCalendar_status
(
4
);
//
}
if
(!
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
)
&&
!
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
))
{
wocal
.
setCalendar_status
(
0
);
//
}
workcal
.
add
(
wocal
);
}
}
}
return
ResultUtil
.
data
(
workcal
,
"操作成功!"
);
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
View file @
b24f2982
...
...
@@ -26,12 +26,13 @@ public class ClockInTool {
static
SimpleDateFormat
famt
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
public
static
boolean
useArrayUtils
(
String
[]
arr
,
String
targetValue
)
{
return
ArrayUtils
.
contains
(
arr
,
targetValue
);
}
// 获得上个月月份年份
public
static
String
getYearMonth
()
{
public
static
String
get
Last
YearMonth
()
{
Calendar
now
=
Calendar
.
getInstance
();
int
month
=
now
.
get
(
Calendar
.
MONTH
);
String
m
;
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
View file @
b24f2982
...
...
@@ -96,7 +96,7 @@ public class AttendanceTaskTiming{
//typeid:1-员工 2-考勤组
// @Scheduled(cron = "0 */5 * * * ?")
// @Scheduled(cron = "0
50 8
* * ?")
// @Scheduled(cron = "0
16 17
* * ?")
@Scheduled
(
cron
=
"0 0 8,12,16,20 * * ?"
)
//每天上午8、12点,下午16点,20点 执行
public
void
AttendanceTask
()
throws
ParseException
{
...
...
@@ -494,7 +494,9 @@ public class AttendanceTaskTiming{
//遍历目前为止所有日期 结合该用户发起的审批进行结合
//1:加班 2:请假 3:出差 4:外出 5:补卡
int
u
=
0
;
int
p
=
1
;
for
(
String
num
:
range
)
{
String
sjs
=
""
,
qinjia
=
""
,
chuaca
=
""
,
waichu
=
""
,
buka
=
""
,
jiaban
=
""
;
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)
&&
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
dkjtts
),
num
))
{
rowData
.
add
(
"休息并打卡"
);
}
else
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)){
...
...
@@ -543,24 +545,30 @@ public class AttendanceTaskTiming{
else
{
company
=
"小时"
;
}
}
}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"请"
+
leavetype
+
lea
.
getDuration
()+
company
);
qinjia
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"请"
+
leavetype
+
lea
.
getDuration
()+
company
;
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"请"+leavetype+lea.getDuration()+company);
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
travels
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
3
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"出差"
+
lea
.
getDuration
()+
"天"
);
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"出差"+lea.getDuration()+"天");
chuaca
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"出差"
+
lea
.
getDuration
()+
"天"
;
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
goouts
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
4
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"外出"
+
lea
.
getDuration
()+
"天"
);
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"外出"+lea.getDuration()+"天");
waichu
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"外出"
+
lea
.
getDuration
()+
"天"
;
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
cards
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
5
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,
"已补卡:"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
));
// rowData.remove(u);
// rowData.add(u,"已补卡:"+(lea.getStartTime()).substring(5, 16));
buka
=
"#"
+
"已补卡:"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
);
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
overtimes
),
num
))
{
...
...
@@ -581,8 +589,9 @@ public class AttendanceTaskTiming{
else
if
(
lea
.
getCompensateId
()
==
2
)
{
method
=
"转加班费"
;
}
else
{
method
=
"转调休或加班费"
;}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"加班"
+
lea
.
getDuration
()+
company
+
"["
+
method
+
"]"
);
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"加班"+lea.getDuration()+company+"["+method+"]");
jiaban
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"加班"
+
lea
.
getDuration
()+
company
+
"["
+
method
+
"]"
;
//防止多运算
if
(
lea
.
getOrdernum
()
==
lea
.
getTotals
())
{
//加班补偿方式 1:转调休;2:转加班费;3:转调休或加班费
...
...
@@ -621,6 +630,18 @@ public class AttendanceTaskTiming{
}
}
if
(
rowData
.
size
()
==
p
)
{
sjs
=
""
;
if
((
""
).
equals
(
qinjia
)
&&
(
""
).
equals
(
chuaca
)
&&
(
""
).
equals
(
waichu
)
&&
(
""
).
equals
(
buka
)
&&
(
""
).
equals
(
jiaban
))
{
sjs
=
rowData
.
get
(
u
);
}
else
{
sjs
=
rowData
.
get
(
u
)+
";"
;
}
}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,
sjs
+
qinjia
+
chuaca
+
waichu
+
buka
+
jiaban
);
/****/
////////
...
...
@@ -680,6 +701,7 @@ public class AttendanceTaskTiming{
u
++;
p
++;
}
}
else
{
for
(
String
num2
:
range
)
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/atttimer/LastMonthtimingExport.java
View file @
b24f2982
...
...
@@ -88,8 +88,8 @@ public class LastMonthtimingExport {
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
// @Scheduled(cron = "0 44 8 * * ?")
// @Scheduled(cron = "0 10 17 * * ?")
@Scheduled
(
cron
=
"0 0 4,20 * * ?"
)
//每天上午4点,下午20点 执行
public
void
LastMonthtimingAttendanceTask
()
throws
ParseException
{
//获取前月的最后一天
...
...
@@ -97,7 +97,7 @@ public class LastMonthtimingExport {
cale
.
set
(
Calendar
.
DAY_OF_MONTH
,
0
);
//设置为1号,当前日期既为本月第一天
lastDay
=
format
.
format
(
cale
.
getTime
());
String
lastmonth
=
ClockInTool
.
getYearMonth
();
//2020-07
String
lastmonth
=
ClockInTool
.
get
Last
YearMonth
();
//2020-07
int
year
=
Integer
.
valueOf
(
lastmonth
.
substring
(
0
,
4
));
//获取前一个年份
int
month
=
Integer
.
valueOf
(
lastmonth
.
substring
(
5
,
7
));
//获取前一个月份
...
...
@@ -483,8 +483,9 @@ public class LastMonthtimingExport {
// List<String> rowData = new ArrayList<String>();
//遍历目前为止所有日期 结合该用户发起的审批进行结合
//1:加班 2:请假 3:出差 4:外出 5:补卡
int
u
=
0
;
int
u
=
0
,
p
=
1
;
for
(
String
num
:
range
)
{
String
sjs
=
""
,
qinjia
=
""
,
chuaca
=
""
,
waichu
=
""
,
buka
=
""
,
jiaban
=
""
;
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)
&&
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
dkjtts
),
num
))
{
rowData
.
add
(
"休息并打卡"
);
}
else
if
(
ClockInTool
.
useArrayUtils
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)){
...
...
@@ -533,24 +534,32 @@ public class LastMonthtimingExport {
else
{
company
=
"小时"
;
}
}
}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"请"
+
leavetype
+
lea
.
getDuration
()+
company
);
qinjia
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"请"
+
leavetype
+
lea
.
getDuration
()+
company
;
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"请"+leavetype+lea.getDuration()+company);
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
travels
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
3
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"出差"
+
lea
.
getDuration
()+
"天"
);
chuaca
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"出差"
+
lea
.
getDuration
()+
"天"
;
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"出差"+lea.getDuration()+"天");
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
goouts
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
4
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"外出"
+
lea
.
getDuration
()+
"天"
);
waichu
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"外出"
+
lea
.
getDuration
()+
"天"
;
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"外出"+lea.getDuration()+"天");
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
cards
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
5
));
rowData
.
remove
(
u
);
rowData
.
add
(
u
,
"已补卡:"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
));
// rowData.remove(u);
// rowData.add(u,"已补卡:"+(lea.getStartTime()).substring(5, 16));
buka
=
"#"
+
"已补卡:"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
);
}
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
overtimes
),
num
))
{
...
...
@@ -571,8 +580,10 @@ public class LastMonthtimingExport {
else
if
(
lea
.
getCompensateId
()
==
2
)
{
method
=
"转加班费"
;
}
else
{
method
=
"转调休或加班费"
;}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"加班"
+
lea
.
getDuration
()+
company
+
"["
+
method
+
"]"
);
jiaban
=
"#"
+(
lea
.
getStartTime
()).
substring
(
5
,
16
)
+
"到"
+
(
lea
.
getEndTime
()).
substring
(
5
,
16
)+
"加班"
+
lea
.
getDuration
()+
company
+
"["
+
method
+
"]"
;
// rowData.remove(u);
// rowData.add(u,(lea.getStartTime()).substring(5, 16) +"到"+ (lea.getEndTime()).substring(5, 16)+"加班"+lea.getDuration()+company+"["+method+"]");
//防止多运算
if
(
lea
.
getOrdernum
()
==
lea
.
getTotals
())
{
//加班补偿方式 1:转调休;2:转加班费;3:转调休或加班费
...
...
@@ -611,6 +622,19 @@ public class LastMonthtimingExport {
}
}
if
(
rowData
.
size
()
==
p
)
{
sjs
=
""
;
if
((
""
).
equals
(
qinjia
)
&&
(
""
).
equals
(
chuaca
)
&&
(
""
).
equals
(
waichu
)
&&
(
""
).
equals
(
buka
)
&&
(
""
).
equals
(
jiaban
))
{
sjs
=
rowData
.
get
(
u
);
}
else
{
sjs
=
rowData
.
get
(
u
)+
";"
;
}
}
rowData
.
remove
(
u
);
rowData
.
add
(
u
,
sjs
+
qinjia
+
chuaca
+
waichu
+
buka
+
jiaban
);
/****/
////////
...
...
@@ -670,6 +694,7 @@ public class LastMonthtimingExport {
u
++;
p
++;
}
}
else
{
for
(
String
num2
:
range
)
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/yggl/YgglController.java
View file @
b24f2982
...
...
@@ -554,7 +554,21 @@ public class YgglController {
// 存放 插入失败的 数据
insertErrors
.
add
(
yme
);
}
//假期规则初始化
String
current_time
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
new
Date
());
List
<
KqglAssoLeaveRules
>
rul
=
KqglAssoLeaveRules
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
KqglAssoLeaveRules
>().
lambda
().
eq
(
KqglAssoLeaveRules:
:
getOrgCode
,
orgCode
));
for
(
KqglAssoLeaveRules
r
:
rul
)
{
if
(
r
.
getLeaveBalance
()
==
0
)
{
KqglAssoLeaveEmployeeBalance
.
builder
().
leaveRulesId
(
r
.
getId
()).
userid
(
login
.
getId
()).
balanceDays
(-
1
).
modifyUserid
(
userBean
.
getEmpNum
()).
modifyTimer
(
current_time
).
orgCode
(
userBean
.
getOrgCode
()).
build
().
insert
();
}
else
{
KqglAssoLeaveEmployeeBalance
.
builder
().
leaveRulesId
(
r
.
getId
()).
userid
(
login
.
getId
()).
balanceDays
(
0.0
).
modifyUserid
(
userBean
.
getEmpNum
()).
modifyTimer
(
current_time
).
orgCode
(
userBean
.
getOrgCode
()).
build
().
insert
();
}
}
}
JSONObject
obj
=
JSONUtil
.
createObj
();
...
...
@@ -1379,6 +1393,7 @@ public class YgglController {
QyzxEmpLogin
.
builder
().
id
(
empNum
).
orgId
(
CollUtil
.
getFirst
(
listEEA
).
getOrgCode
()).
build
().
updateById
();
}
QyzxEmpLogin
.
builder
().
build
().
delete
(
new
QueryWrapper
<
QyzxEmpLogin
>().
lambda
().
eq
(
QyzxEmpLogin:
:
getOrgId
,
userBean
.
getOrgCode
()).
eq
(
QyzxEmpLogin:
:
getId
,
empNum
));
KqglAssoYhkqz
.
builder
().
build
().
delete
(
new
QueryWrapper
<
KqglAssoYhkqz
>().
lambda
().
eq
(
KqglAssoYhkqz:
:
getUserid
,
empNum
).
eq
(
KqglAssoYhkqz:
:
getQyid
,
userBean
.
getOrgCode
()));
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/mapping/kqgl/PunchRecordMapper.xml
View file @
b24f2982
...
...
@@ -386,6 +386,8 @@
where dkjl.attime
>
= #{start}
and dkjl.attime
<
= #{end}
and dkjl.user_id = #{userId,jdbcType=INTEGER}
and dkjl.`status` != 0
and dkjl.sort != 0
ORDER BY dkjl.id ASC
</select>
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/mapping/kqmk/KqglAssoLeaveBalanceMapper.xml
View file @
b24f2982
...
...
@@ -133,7 +133,7 @@
LEFT JOIN zzgl_bmgw_m as gw on gw.id = emp.bmgw_id
LEFT JOIN zzgl_bmgw_m as c ON c.id = gw.up_id
where emp.org_code = #{orgcode}
<!-- and emp.emp_num = 1
2
-->
<!-- and emp.emp_num = 1
00083
-->
<!-- and emp.job_status != 3 -->
</select>
...
...
This diff is collapsed.
Click to expand it.
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