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
12819cca
Commit
12819cca
authored
Jun 16, 2020
by
lal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交BUG
parent
f79ce8e4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
265 additions
and
68 deletions
+265
-68
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
+247
-64
src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
+18
-4
No files found.
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
View file @
12819cca
...
@@ -4,8 +4,11 @@ import java.math.BigDecimal;
...
@@ -4,8 +4,11 @@ import java.math.BigDecimal;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -118,10 +121,14 @@ public class ClockInController {
...
@@ -118,10 +121,14 @@ public class ClockInController {
int
dkmx
=
0
;
int
dkmx
=
0
;
int
shifid
=
0
;
int
shifid
=
0
;
long
punchcardtime
=
0
,
punchstart
,
punchend
=
0
;
//应打卡时间,应打卡开始时间,应打卡结束时间
long
punchcardtime
=
0
,
punchstart
=
0
,
punchend
=
0
;
//应打卡时间,应打卡开始时间,应打卡结束时间
boolean
isRange
=
true
;
boolean
isRange
=
true
;
int
atttype
=
0
;
int
atttype
=
0
;
int
execution_status
=
0
;
//执行状态
boolean
kskd
=
true
;
//识别是否更新最后一次打卡
ClockCollectData
clockt
=
new
ClockCollectData
();
ClockCollectData
clockt
=
new
ClockCollectData
();
//putime: 根据日期 得到打卡所需的详细信息
//putime: 根据日期 得到打卡所需的详细信息
...
@@ -226,9 +233,11 @@ public class ClockInController {
...
@@ -226,9 +233,11 @@ public class ClockInController {
msg
=
"当前未排班"
;
msg
=
"当前未排班"
;
sbyf
=
0
;
sbyf
=
0
;
}
else
{
}
else
{
long
iclock_time
=
time_
;
//
long
starttime1
=
0
,
starttime1ks
=
0
,
starttime1js
=
0
,
endtime1
=
0
,
endtime1ks
=
0
,
endtime1js
=
0
,
starttime2
=
0
,
starttime2ks
=
0
,
starttime2js
=
0
,
endtime2
=
0
,
endtime2ks
=
0
,
endtime2js
=
0
,
starttime3
=
0
,
starttime3ks
=
0
,
starttime3js
=
0
,
long
starttime1
=
0
,
starttime1ks
=
0
,
starttime1js
=
0
,
endtime1
=
0
,
endtime1ks
=
0
,
endtime1js
=
0
,
starttime2
=
0
,
starttime2ks
=
0
,
starttime2js
=
0
,
endtime2
=
0
,
endtime2ks
=
0
,
endtime2js
=
0
,
starttime3
=
0
,
starttime3ks
=
0
,
starttime3js
=
0
,
endtime3
=
0
,
endtime3ks
=
0
,
endtime3js
=
0
;
endtime3
=
0
,
endtime3ks
=
0
,
endtime3js
=
0
;
int
dakjg1
=
0
,
dakjg2
=
0
,
dakjg3
=
0
,
dakjg4
=
0
,
dakjg5
=
0
,
dakjg6
=
0
;
//打卡时间与应打卡时间的间隔分钟数
if
(
attdate
.
getAttsch
().
size
()
>
0
)
{
if
(
attdate
.
getAttsch
().
size
()
>
0
)
{
List
<
AttSchedule
>
ash
=
attdate
.
getAttsch
();
List
<
AttSchedule
>
ash
=
attdate
.
getAttsch
();
int
y
=
0
;
int
y
=
0
;
...
@@ -237,60 +246,202 @@ public class ClockInController {
...
@@ -237,60 +246,202 @@ public class ClockInController {
if
(
attdate
.
getAttsch
().
size
()
==
2
||
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
if
(
attdate
.
getAttsch
().
size
()
==
2
||
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
starttime1
=
ash
.
get
(
0
).
getTime
();
starttime1ks
=
ash
.
get
(
0
).
getStarttime
();
starttime1js
=
ash
.
get
(
0
).
getEndtime
();
starttime1
=
ash
.
get
(
0
).
getTime
();
starttime1ks
=
ash
.
get
(
0
).
getStarttime
();
starttime1js
=
ash
.
get
(
0
).
getEndtime
();
endtime1
=
ash
.
get
(
1
).
getTime
();
endtime1ks
=
ash
.
get
(
1
).
getStarttime
();
endtime1js
=
ash
.
get
(
1
).
getEndtime
();
endtime1
=
ash
.
get
(
1
).
getTime
();
endtime1ks
=
ash
.
get
(
1
).
getStarttime
();
endtime1js
=
ash
.
get
(
1
).
getEndtime
();
dakjg1
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
starttime1
)
/
(
1000
*
60
))));
dakjg2
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
endtime1
)
/
(
1000
*
60
))));
}
}
if
(
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
if
(
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
starttime2
=
ash
.
get
(
2
).
getTime
();
starttime2ks
=
ash
.
get
(
2
).
getStarttime
();
starttime2js
=
ash
.
get
(
2
).
getEndtime
();
starttime2
=
ash
.
get
(
2
).
getTime
();
starttime2ks
=
ash
.
get
(
2
).
getStarttime
();
starttime2js
=
ash
.
get
(
2
).
getEndtime
();
endtime2
=
ash
.
get
(
3
).
getTime
();
endtime2ks
=
ash
.
get
(
3
).
getStarttime
();
endtime2js
=
ash
.
get
(
3
).
getEndtime
();
endtime2
=
ash
.
get
(
3
).
getTime
();
endtime2ks
=
ash
.
get
(
3
).
getStarttime
();
endtime2js
=
ash
.
get
(
3
).
getEndtime
();
dakjg3
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
starttime2
)
/
(
1000
*
60
))));
dakjg4
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
endtime2
)
/
(
1000
*
60
))));
}
}
if
(
attdate
.
getAttsch
().
size
()
==
6
)
{
if
(
attdate
.
getAttsch
().
size
()
==
6
)
{
starttime3
=
ash
.
get
(
4
).
getTime
();
starttime3ks
=
ash
.
get
(
4
).
getStarttime
();
starttime3js
=
ash
.
get
(
4
).
getEndtime
();
starttime3
=
ash
.
get
(
4
).
getTime
();
starttime3ks
=
ash
.
get
(
4
).
getStarttime
();
starttime3js
=
ash
.
get
(
4
).
getEndtime
();
endtime3
=
ash
.
get
(
5
).
getTime
();
endtime3ks
=
ash
.
get
(
5
).
getStarttime
();
endtime3js
=
ash
.
get
(
5
).
getEndtime
();
endtime3
=
ash
.
get
(
5
).
getTime
();
endtime3ks
=
ash
.
get
(
5
).
getStarttime
();
endtime3js
=
ash
.
get
(
5
).
getEndtime
();
dakjg5
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
starttime3
)
/
(
1000
*
60
))));
dakjg6
=
Math
.
abs
(
Integer
.
valueOf
(
String
.
valueOf
((
iclock_time
-
endtime3
)
/
(
1000
*
60
))));
}
}
Map
<
String
,
Integer
>
comparemap
=
new
HashMap
();
if
(
dkmc
==
null
)
{
//打卡时间 对比班次 接近哪个时间就打哪个时间的卡
if
(
attdate
.
getAttsch
().
size
()
==
2
||
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
comparemap
.
put
(
"1"
,
dakjg1
);
comparemap
.
put
(
"2"
,
dakjg2
);
}
if
(
attdate
.
getAttsch
().
size
()
==
4
||
attdate
.
getAttsch
().
size
()
==
6
)
{
comparemap
.
put
(
"3"
,
dakjg3
);
comparemap
.
put
(
"4"
,
dakjg4
);
}
if
(
attdate
.
getAttsch
().
size
()
==
6
)
{
comparemap
.
put
(
"5"
,
dakjg5
);
comparemap
.
put
(
"6"
,
dakjg6
);
}
execution_status
=
1
;
}
else
{
execution_status
=
2
;
// boolean kskd = true;
if
(
attdate
.
getAttsch
().
size
()
==
2
)
{
if
(
dkmc
.
getSbdk1
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"2"
,
dakjg2
);
}
//最后一次卡的时候 再继续打视为更新最后一次打卡
if
(
dkmc
.
getXbdk1
()
!=
null
)
{
comparemap
.
put
(
"2"
,
dakjg2
);
}
}
if
(
attdate
.
getAttsch
().
size
()
==
4
)
{
if
(
dkmc
.
getSbdk1
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"2"
,
dakjg2
);
comparemap
.
put
(
"3"
,
dakjg3
);
comparemap
.
put
(
"4"
,
dakjg4
);
}
if
(
dkmc
.
getXbdk1
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"3"
,
dakjg3
);
comparemap
.
put
(
"4"
,
dakjg4
);
}
if
(
dkmc
.
getSbdk2
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"4"
,
dakjg4
);
}
//最后一次卡的时候 再继续打视为更新最后一次打卡
if
(
dkmc
.
getXbdk2
()
!=
null
)
{
kskd
=
true
;
comparemap
.
clear
();
comparemap
.
put
(
"4"
,
dakjg4
);
}
}
if
(
attdate
.
getAttsch
().
size
()
==
6
)
{
if
(
dkmc
.
getSbdk1
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"2"
,
dakjg2
);
comparemap
.
put
(
"3"
,
dakjg3
);
comparemap
.
put
(
"4"
,
dakjg4
);
comparemap
.
put
(
"5"
,
dakjg5
);
comparemap
.
put
(
"6"
,
dakjg6
);
}
if
(
dkmc
.
getXbdk1
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"3"
,
dakjg3
);
comparemap
.
put
(
"4"
,
dakjg4
);
comparemap
.
put
(
"5"
,
dakjg5
);
comparemap
.
put
(
"6"
,
dakjg6
);
}
if
(
dkmc
.
getSbdk2
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"4"
,
dakjg4
);
comparemap
.
put
(
"5"
,
dakjg5
);
comparemap
.
put
(
"6"
,
dakjg6
);
}
if
(
dkmc
.
getXbdk2
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"5"
,
dakjg5
);
comparemap
.
put
(
"6"
,
dakjg6
);
}
if
(
dkmc
.
getSbdk3
()
!=
null
)
{
kskd
=
false
;
comparemap
.
clear
();
comparemap
.
put
(
"6"
,
dakjg6
);
}
//最后一次卡的时候 再继续打视为更新最后一次打卡
if
(
dkmc
.
getXbdk3
()
!=
null
)
{
kskd
=
true
;
comparemap
.
clear
();
comparemap
.
put
(
"6"
,
dakjg6
);
}
// if(kskd) {
// comparemap.put("6", dakjg6);
// }
}
}
if
(
comparemap
.
size
()
>
0
)
{
List
<
Map
.
Entry
<
String
,
Integer
>>
list
=
new
ArrayList
(
comparemap
.
entrySet
());
Collections
.
sort
(
list
,
(
o1
,
o2
)
->
(
o1
.
getValue
()
-
o2
.
getValue
()));
atttype
=
Integer
.
valueOf
(
list
.
get
(
0
).
getKey
());
//应打卡的顺序
}
}
}
// long punchcardtime,punchstart,punchend = 0;//应打卡时间,应打卡开始时间,应打卡结束时间
// int atttype = 0;
if
(
atttype
==
1
)
{
if
(
dkmc
==
null
)
{
//上班1 ****新增
punchcardtime
=
starttime1
;
punchcardtime
=
starttime1
;
punchstart
=
starttime1ks
;
punchstart
=
starttime1ks
;
punchend
=
starttime1js
;
punchend
=
starttime1js
;
atttype
=
1
;
}
else
if
(
atttype
==
2
)
{
}
else
{
punchcardtime
=
endtime1
;
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
==
null
)){
//下班1
punchstart
=
endtime1ks
;
punchcardtime
=
endtime1
;
punchend
=
endtime1js
;
punchstart
=
endtime1ks
;
}
else
if
(
atttype
==
3
)
{
punchend
=
endtime1js
;
punchcardtime
=
starttime2
;
atttype
=
2
;
punchstart
=
starttime2ks
;
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
punchend
=
starttime2js
;
&&
((
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
==
null
)){
//上班2
}
else
if
(
atttype
==
4
)
{
punchcardtime
=
starttime2
;
punchcardtime
=
endtime2
;
punchstart
=
starttime2ks
;
punchstart
=
endtime2ks
;
punchend
=
starttime2js
;
punchend
=
endtime2js
;
atttype
=
3
;
}
else
if
(
atttype
==
5
)
{
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
punchcardtime
=
starttime3
;
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
==
null
)){
//下班2
punchstart
=
starttime3ks
;
punchcardtime
=
endtime2
;
punchend
=
starttime3js
;
punchstart
=
endtime2ks
;
}
else
if
(
atttype
==
6
)
{
punchend
=
endtime2js
;
punchcardtime
=
endtime3
;
atttype
=
4
;
punchstart
=
endtime3ks
;
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
punchend
=
endtime3js
;
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
}
&&
((
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
==
null
)){
//上班3
punchcardtime
=
starttime3
;
punchstart
=
starttime3ks
;
// long punchcardtime,punchstart,punchend = 0;//应打卡时间,应打卡开始时间,应打卡结束时间
punchend
=
starttime3js
;
// int atttype = 0;
atttype
=
5
;
// if(dkmc == null) {//上班1 ****新增
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
// punchcardtime = starttime1;
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
// punchstart = starttime1ks;
&&
(!(
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk3
())
||
dkmc
.
getXbdk3
()
==
null
)){
//下班3
// punchend = starttime1js;
punchcardtime
=
endtime3
;
// atttype = 1;
punchstart
=
endtime3ks
;
// }else {
punchend
=
endtime3js
;
// if((!("").equals(dkmc.getSbdk1()) || dkmc.getSbdk1() != null) && (("").equals(dkmc.getXbdk1()) || dkmc.getXbdk1() == null)){ //下班1
atttype
=
6
;
// punchcardtime = endtime1;
}
else
{
// punchstart = endtime1ks;
punchcardtime
=
0
;
punchstart
=
0
;
punchend
=
0
;
atttype
=
7
;
// punchend = endtime1js;
}
// atttype = 2;
}
// }else if((!("").equals(dkmc.getSbdk1()) || dkmc.getSbdk1() != null) && (!("").equals(dkmc.getXbdk1()) || dkmc.getXbdk1() != null)
// && (("").equals(dkmc.getSbdk2()) || dkmc.getSbdk2() == null)){ //上班2
// punchcardtime = starttime2;
// punchstart = starttime2ks;
// punchend = starttime2js;
// atttype = 3;
// }else if((!("").equals(dkmc.getSbdk1()) || dkmc.getSbdk1() != null) && (!("").equals(dkmc.getXbdk1()) || dkmc.getXbdk1() != null)
// && (!("").equals(dkmc.getSbdk2()) || dkmc.getSbdk2() != null) && (("").equals(dkmc.getXbdk2()) || dkmc.getXbdk2() == null)){ //下班2
// punchcardtime = endtime2;
// punchstart = endtime2ks;
// punchend = endtime2js;
// atttype = 4;
// }else if((!("").equals(dkmc.getSbdk1()) || dkmc.getSbdk1() != null) && (!("").equals(dkmc.getXbdk1()) || dkmc.getXbdk1() != null)
// && (!("").equals(dkmc.getSbdk2()) || dkmc.getSbdk2() != null) && (!("").equals(dkmc.getXbdk2()) || dkmc.getXbdk2() != null)
// && (("").equals(dkmc.getSbdk3()) || dkmc.getSbdk3() == null)){ //上班3
// punchcardtime = starttime3;
// punchstart = starttime3ks;
// punchend = starttime3js;
// atttype = 5;
// }else if((!("").equals(dkmc.getSbdk1()) || dkmc.getSbdk1() != null) && (!("").equals(dkmc.getXbdk1()) || dkmc.getXbdk1() != null)
// && (!("").equals(dkmc.getSbdk2()) || dkmc.getSbdk2() != null) && (!("").equals(dkmc.getXbdk2()) || dkmc.getXbdk2() != null)
// && (!("").equals(dkmc.getSbdk3()) || dkmc.getSbdk3() != null) && (("").equals(dkmc.getXbdk3()) || dkmc.getXbdk3() == null)){ //下班3
// punchcardtime = endtime3;
// punchstart = endtime3ks;
// punchend = endtime3js;
// atttype = 6;
// }else {
// punchcardtime = 0;punchstart = 0;punchend = 0;atttype = 7;
// }
// }
if
(
clockt
.
getShifid
()
!=
0
)
{
if
(
clockt
.
getShifid
()
!=
0
)
{
...
@@ -316,29 +467,56 @@ public class ClockInController {
...
@@ -316,29 +467,56 @@ public class ClockInController {
if
(
isRange
)
{
if
(
isRange
)
{
int
yzcd
=
shif
.
getYzcdfzs
();
//严重迟到分钟数
int
yzcd
=
shif
.
getYzcdfzs
();
//严重迟到分钟数
int
kgcdfzs
=
shif
.
getKgcdfzs
();
//旷工迟到分钟数
int
kgcdfzs
=
shif
.
getKgcdfzs
();
//旷工迟到分钟数
if
(
dkmc
==
null
)
{
//上班1 ****新增
int
sbdk1jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
execution_status
==
1
)
{
//上班1 ****新增
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
userid
(
userid
).
data
(
putime
).
qyid
(
qyid
).
dksj
(
startDate
).
build
();
int
sbdkjg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
punchcardtime
!=
0
){
//有应打卡时间时
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
sbdk1jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
//上班1打卡结果
if
(
time
>
0
){
//上班1打卡结果
sbdkjg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));
}
}
}
if
(
atttype
==
1
)
{
pcd
.
setSbdk1
(
time_
);
pcd
.
setSbdk1jg
(
sbdkjg
);
}
else
if
(
atttype
==
2
)
{
pcd
.
setXbdk1
(
time_
);
pcd
.
setXbdk1jg
(
sbdkjg
);
}
else
if
(
atttype
==
3
)
{
pcd
.
setSbdk2
(
time_
);
pcd
.
setSbdk2jg
(
sbdkjg
);
}
else
if
(
atttype
==
4
)
{
pcd
.
setXbdk2
(
time_
);
pcd
.
setXbdk2jg
(
sbdkjg
);
}
else
if
(
atttype
==
5
)
{
pcd
.
setSbdk3
(
time_
);
pcd
.
setSbdk3jg
(
sbdkjg
);
}
else
if
(
atttype
==
6
)
{
pcd
.
setXbdk3
(
time_
);
pcd
.
setXbdk3jg
(
sbdkjg
);
}
int
ydkcs
=
0
;
int
ydkcs
=
0
;
if
(
shif
!=
null
){
ydkcs
=
shif
.
getSxbcs
()*
2
;}
//应打卡次数
if
(
shif
!=
null
){
ydkcs
=
shif
.
getSxbcs
()*
2
;}
//应打卡次数
if
(
sbdk
1
jg
>
yzcd
)
{
if
(
sbdkjg
>
yzcd
)
{
yzcdcs
++;
yzcdcs
++;
yzcdsc
=
sbdk
1
jg
-
yzcd
;
yzcdsc
=
sbdkjg
-
yzcd
;
}
}
if
(
sbdk1jg
>
kgcdfzs
)
{
kgcdcs
++;}
if
(
sbdkjg
>
kgcdfzs
)
{
kgcdcs
++;}
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
userid
(
userid
).
data
(
putime
).
sbdk1
(
time_
).
sbdk1jg
(
sbdk1jg
).
ydkcs
(
ydkcs
).
qyid
(
qyid
).
dksj
(
startDate
).
yzcdcs
(
yzcdcs
).
yzcdsc
(
Double
.
valueOf
(
yzcdsc
)).
kgcdfzs
(
kgcdcs
).
build
();
pcd
.
setYdkcs
(
ydkcs
);
pcd
.
setYzcdcs
(
yzcdcs
);
pcd
.
setYzcdsc
(
Double
.
valueOf
(
yzcdsc
));
pcd
.
setKgcdfzs
(
kgcdcs
);
if
(!
pcd
.
insert
())
{
if
(!
pcd
.
insert
())
{
throw
new
CustomException
(
"打卡明细-新增异常-1"
);
throw
new
CustomException
(
"打卡明细-新增异常-1"
);
}
}
dkmx
=
pcd
.
getId
();
dkmx
=
pcd
.
getId
();
}
else
{
//*****修改
}
else
if
(
execution_status
==
2
){
//*****修改
dkmx
=
dkmc
.
getId
();
dkmx
=
dkmc
.
getId
();
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
build
();
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
build
();
if
(
(!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
==
null
)
){
//下班1
if
(
atttype
==
2
){
//下班1
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk1
(
time_
);
//下班1打卡时间
pcd
.
setXbdk1
(
time_
);
//下班1打卡时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
if
(
punchcardtime
!=
0
){
//有应打卡时间时
...
@@ -356,8 +534,7 @@ public class ClockInController {
...
@@ -356,8 +534,7 @@ public class ClockInController {
}
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
}
else
if
(
atttype
==
3
){
//上班2
&&
((
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
==
null
)){
//上班2
int
sbdk2jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
int
sbdk2jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
punchcardtime
!=
0
){
//有应打卡时间时
if
(
punchcardtime
!=
0
){
//有应打卡时间时
...
@@ -379,8 +556,7 @@ public class ClockInController {
...
@@ -379,8 +556,7 @@ public class ClockInController {
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
}
else
if
(
atttype
==
4
){
//下班2
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
==
null
)){
//下班2
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk2
(
time_
);
//下班1打卡时间
pcd
.
setXbdk2
(
time_
);
//下班1打卡时间
...
@@ -403,9 +579,7 @@ public class ClockInController {
...
@@ -403,9 +579,7 @@ public class ClockInController {
}
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
}
else
if
(
atttype
==
5
){
//上班3
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
==
null
)){
//上班3
int
sbdk3jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
int
sbdk3jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
punchcardtime
!=
0
){
//有应打卡时间时
if
(
punchcardtime
!=
0
){
//有应打卡时间时
...
@@ -427,9 +601,7 @@ public class ClockInController {
...
@@ -427,9 +601,7 @@ public class ClockInController {
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
}
else
if
(
atttype
==
6
){
//下班3
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk3
())
||
dkmc
.
getXbdk3
()
==
null
)){
//下班3
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk3
(
time_
);
//下班1打卡时间
pcd
.
setXbdk3
(
time_
);
//下班1打卡时间
...
@@ -452,10 +624,11 @@ public class ClockInController {
...
@@ -452,10 +624,11 @@ public class ClockInController {
}
}
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setId
(
dkmc
.
getId
());
if
(
atttype
<=
6
){
if
(
atttype
<=
6
&&
atttype
>
0
){
int
update
=
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
int
update
=
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
}
}
}
}
else
{
}
else
{
msg
=
"当前打卡时间不在范围内"
;
msg
=
"当前打卡时间不在范围内"
;
sbyf
=
0
;
sbyf
=
0
;
...
@@ -604,6 +777,16 @@ public class ClockInController {
...
@@ -604,6 +777,16 @@ public class ClockInController {
/*************************************************************************************************************************************************************************************/
/*************************************************************************************************************************************************************************************/
/*************************************************************************************************************************************************************************************/
/*************************************************************************************************************************************************************************************/
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
attendance_date
));
//转换打卡时间格式
//true:确认为最后一次打卡更新打卡时 之前打卡的一条数据变为“打卡更新数据”
if
(
kskd
)
{
KqglAssoDkjl
dkjj
=
KqglAssoDkjl
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoDkjl
>().
lambda
().
eq
(
KqglAssoDkjl:
:
getUserId
,
userid
).
eq
(
KqglAssoDkjl:
:
getType
,
2
)
.
eq
(
KqglAssoDkjl:
:
getSort
,
atttype
).
eq
(
KqglAssoDkjl:
:
getQyid
,
qyid
).
eq
(
KqglAssoDkjl:
:
getAttdate
,
attdate_
+
" "
+
ClockInTool
.
dateToWeek2
(
toweek
)));
KqglAssoDkjl
.
builder
().
id
(
dkjj
.
getId
()).
status
(
0
).
sort
(
0
).
build
().
updateById
();
}
// 原始打卡记录数据录入
// 原始打卡记录数据录入
int
results
=
0
;
int
results
=
0
;
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
...
@@ -679,7 +862,7 @@ public class ClockInController {
...
@@ -679,7 +862,7 @@ public class ClockInController {
}
}
}
}
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
attendance_date
));
//转换打卡时间格式
long
attime
;
long
attime
;
// if(punchcardtime == 0 && !isRange){attime = new Date().getTime();}else{attime = punchcardtime;}// 考勤时间(应打卡时间)
// if(punchcardtime == 0 && !isRange){attime = new Date().getTime();}else{attime = punchcardtime;}// 考勤时间(应打卡时间)
if
(
punchcardtime
==
0
){
// 考勤时间(应打卡时间)
if
(
punchcardtime
==
0
){
// 考勤时间(应打卡时间)
...
...
src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
View file @
12819cca
...
@@ -2206,32 +2206,46 @@ public class TimeCardController {
...
@@ -2206,32 +2206,46 @@ public class TimeCardController {
if
(
chpunchr
.
getClocktype
()
==
1
)
{
if
(
chpunchr
.
getClocktype
()
==
1
)
{
sbdk1
=
changed_time
;
sbdk1
=
changed_time
;
sbdk1jg
=
results
;
sbdk1jg
=
results
;
if
(
results
==
0
)
{
sbdk1jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk1
(
sbdk1
).
sbdk1jg
(
sbdk1jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk1
(
sbdk1
).
sbdk1jg
(
sbdk1jg
).
build
().
updateById
();
}
else
if
(
chpunchr
.
getClocktype
()
==
2
)
{
}
else
if
(
chpunchr
.
getClocktype
()
==
2
)
{
xbdk1
=
changed_time
;
xbdk1
=
changed_time
;
xbdk1jg
=
results
;
xbdk1jg
=
results
;
if
(
results
==
0
)
{
xbdk1jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk1
(
xbdk1
).
xbdk1jg
(
xbdk1jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk1
(
xbdk1
).
xbdk1jg
(
xbdk1jg
).
build
().
updateById
();
}
else
if
(
chpunchr
.
getClocktype
()
==
3
)
{
}
else
if
(
chpunchr
.
getClocktype
()
==
3
)
{
sbdk2
=
changed_time
;
sbdk2
=
changed_time
;
sbdk2jg
=
results
;
sbdk2jg
=
results
;
if
(
results
==
0
)
{
sbdk2jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk2
(
sbdk2
).
sbdk2jg
(
sbdk2jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk2
(
sbdk2
).
sbdk2jg
(
sbdk2jg
).
build
().
updateById
();
}
else
if
(
chpunchr
.
getClocktype
()
==
4
)
{
}
else
if
(
chpunchr
.
getClocktype
()
==
4
)
{
xbdk2
=
changed_time
;
xbdk2
=
changed_time
;
xbdk2jg
=
results
;
xbdk2jg
=
results
;
if
(
results
==
0
)
{
xbdk2jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk2
(
xbdk2
).
xbdk2jg
(
xbdk2jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk2
(
xbdk2
).
xbdk2jg
(
xbdk2jg
).
build
().
updateById
();
}
else
if
(
chpunchr
.
getClocktype
()
==
5
)
{
}
else
if
(
chpunchr
.
getClocktype
()
==
5
)
{
sbdk3
=
changed_time
;
sbdk3
=
changed_time
;
sbdk3jg
=
results
;
sbdk3jg
=
results
;
if
(
results
==
0
)
{
sbdk3jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk3
(
sbdk3
).
sbdk3jg
(
sbdk3jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
sbdk3
(
sbdk3
).
sbdk3jg
(
sbdk3jg
).
build
().
updateById
();
}
else
{
}
else
{
xbdk3
=
changed_time
;
xbdk3
=
changed_time
;
xbdk3jg
=
results
;
xbdk3jg
=
results
;
if
(
results
==
0
)
{
xbdk3jg
=
-
1
;
}
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk3
(
xbdk3
).
xbdk3jg
(
xbdk3jg
).
build
().
updateById
();
KqglAssoDkmx
.
builder
().
id
(
dkmx
.
getId
()).
xbdk3
(
xbdk3
).
xbdk3jg
(
xbdk3jg
).
build
().
updateById
();
}
}
}
}
...
...
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