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
5414185b
Commit
5414185b
authored
4 years ago
by
leialin
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'lal' into 'develop'
Lal See merge request 8timerv2/8timerapiv200!155
parents
7fc77005
5d02d3fc
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
305 additions
and
186 deletions
+305
-186
src/main/java/cn/timer/api/bean/kqgl/PunchRecord.java
+12
-0
src/main/java/cn/timer/api/bean/kqmk/KqglAssoDkjl.java
+4
-0
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
+264
-178
src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
+7
-1
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
+2
-2
src/main/resources/mapping/kqgl/PunchRecordMapper.xml
+1
-0
src/main/resources/mapping/kqmk/KqglAssoDkjlMapper.xml
+15
-5
No files found.
src/main/java/cn/timer/api/bean/kqgl/PunchRecord.java
View file @
5414185b
...
@@ -38,6 +38,7 @@ public class PunchRecord implements Serializable {
...
@@ -38,6 +38,7 @@ public class PunchRecord implements Serializable {
private
String
remarks
;
// 考勤备注
private
String
remarks
;
// 考勤备注
private
Integer
punchmode
;
// 考勤机打卡方式==>1:指紋;2:人脸;3:密码;4:ID卡
private
Integer
punchmode
;
// 考勤机打卡方式==>1:指紋;2:人脸;3:密码;4:ID卡
private
String
punchequipment
;
// 打卡设备
private
String
punchequipment
;
// 打卡设备
private
String
commentary
;
private
String
username
=
""
;
private
String
username
=
""
;
private
String
dept
=
""
;
private
String
dept
=
""
;
...
@@ -45,6 +46,8 @@ public class PunchRecord implements Serializable {
...
@@ -45,6 +46,8 @@ public class PunchRecord implements Serializable {
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
public
Integer
getId
()
{
public
Integer
getId
()
{
return
id
;
return
id
;
}
}
...
@@ -262,4 +265,12 @@ public class PunchRecord implements Serializable {
...
@@ -262,4 +265,12 @@ public class PunchRecord implements Serializable {
this
.
post
=
post
;
this
.
post
=
post
;
}
}
public
String
getCommentary
()
{
return
commentary
;
}
public
void
setCommentary
(
String
commentary
)
{
this
.
commentary
=
commentary
;
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/bean/kqmk/KqglAssoDkjl.java
View file @
5414185b
...
@@ -98,5 +98,8 @@ public class KqglAssoDkjl extends Model<KqglAssoDkjl> {
...
@@ -98,5 +98,8 @@ public class KqglAssoDkjl extends Model<KqglAssoDkjl> {
@ApiModelProperty
(
value
=
"打卡设备 "
,
example
=
"打卡设备"
)
@ApiModelProperty
(
value
=
"打卡设备 "
,
example
=
"打卡设备"
)
private
String
punchequipment
;
private
String
punchequipment
;
@ApiModelProperty
(
value
=
"解释 "
,
example
=
"解释"
)
private
String
commentary
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/ClockInController.java
View file @
5414185b
...
@@ -68,6 +68,10 @@ public class ClockInController {
...
@@ -68,6 +68,10 @@ public class ClockInController {
@ApiOperation
(
value
=
"1:考勤机打卡"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"1:考勤机打卡"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
1
)
@ApiOperationSupport
(
order
=
1
)
public
Result
<
Object
>
punchclock
(
@RequestParam
String
json
)
throws
Exception
{
public
Result
<
Object
>
punchclock
(
@RequestParam
String
json
)
throws
Exception
{
String
msg
=
"未知错误,请联系管理员"
;
int
sbyf
=
0
;
//0:失败;1:成功
JSONObject
jsonArray
=
new
JSONObject
(
json
);
JSONObject
jsonArray
=
new
JSONObject
(
json
);
String
asDevId
=
jsonArray
.
get
(
"dev_id"
).
toString
();
//考勤机编码
String
asDevId
=
jsonArray
.
get
(
"dev_id"
).
toString
();
//考勤机编码
String
asUserId
=
jsonArray
.
get
(
"user_id"
).
toString
();
//打卡用户id
String
asUserId
=
jsonArray
.
get
(
"user_id"
).
toString
();
//打卡用户id
...
@@ -84,26 +88,46 @@ public class ClockInController {
...
@@ -84,26 +88,46 @@ public class ClockInController {
int
userid
=
user
.
getEmpNum
();
int
userid
=
user
.
getEmpNum
();
KqglMainKqz
attgro
=
kqglmainkqzmapper
.
getAttendanceGroupInformationByUserid
(
userid
,
qyid
);
//考勤组信息
KqglMainKqz
attgro
=
kqglmainkqzmapper
.
getAttendanceGroupInformationByUserid
(
userid
,
qyid
);
//考勤组信息
//pbfs;// 排班方式 1:固定排班;2:自由排班;3:自由工时
//pbfs;// 排班方式 1:固定排班;2:自由排班;3:自由工时
/*******/
long
time_
=
DateUtil
.
getStringTime
(
sStdIoTime
,
"yyyy-MM-dd HH:mm:ss"
);
String
putime
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
time_
);
//转换打卡时间格式
//打卡当天开始时间,打卡当天结束时间
Long
startDate
=
DateUtil
.
getStartTime
(
0
,
DateUtil
.
getStringTime
(
putime
,
"yyyy-MM-dd"
)).
getTime
();
Long
endDate
=
DateUtil
.
getnowEndTime
(
23
,
DateUtil
.
getStringTime
(
putime
,
"yyyy-MM-dd"
)).
getTime
();
int
dkmx
=
0
;
int
shifid
=
0
;
long
punchcardtime
=
0
,
punchstart
,
punchend
=
0
;
//应打卡时间,应打卡开始时间,应打卡结束时间
boolean
isRange
=
true
;
int
atttype
=
0
;
ClockCollectData
clockt
=
new
ClockCollectData
();
/*******/
if
(
attgro
!=
null
)
{
if
(
attgro
!=
null
)
{
List
<
KqglAssoKqzdkfs
>
kqjs
=
KqglAssoKqzdkfs
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
KqglAssoKqzdkfs
>().
lambda
().
eq
(
KqglAssoKqzdkfs:
:
getKqzId
,
attgro
.
getId
()));
List
<
KqglAssoKqzdkfs
>
kqjs
=
KqglAssoKqzdkfs
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
KqglAssoKqzdkfs
>().
lambda
().
eq
(
KqglAssoKqzdkfs:
:
getKqzId
,
attgro
.
getId
()));
if
(
kqjs
.
size
()
>
0
)
{
if
(
kqjs
.
size
()
>
0
)
{
long
time_
=
DateUtil
.
getStringTime
(
sStdIoTime
,
"yyyy-MM-dd HH:mm:ss"
);
//
long time_ = DateUtil.getStringTime(sStdIoTime, "yyyy-MM-dd HH:mm:ss");
String
putime
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
time_
);
//转换打卡时间格式
//
String putime = new SimpleDateFormat("yyyy-MM-dd").format(time_);//转换打卡时间格式
//打卡当天开始时间,打卡当天结束时间
//打卡当天开始时间,打卡当天结束时间
Long
startDate
=
DateUtil
.
getStartTime
(
0
,
DateUtil
.
getStringTime
(
putime
,
"yyyy-MM-dd"
)).
getTime
();
//
Long startDate = DateUtil.getStartTime(0,DateUtil.getStringTime(putime,"yyyy-MM-dd")).getTime();
Long
endDate
=
DateUtil
.
getnowEndTime
(
23
,
DateUtil
.
getStringTime
(
putime
,
"yyyy-MM-dd"
)).
getTime
();
//
Long endDate = DateUtil.getnowEndTime(23,DateUtil.getStringTime(putime,"yyyy-MM-dd")).getTime();
int
dkmx
=
0
;
//查询打卡当天是否有记录
//查询打卡当天是否有记录
KqglAssoDkmx
dkmc
=
KqglAssoDkmx
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoDkmx
>().
lambda
().
eq
(
KqglAssoDkmx:
:
getUserid
,
userid
)
KqglAssoDkmx
dkmc
=
KqglAssoDkmx
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoDkmx
>().
lambda
().
eq
(
KqglAssoDkmx:
:
getUserid
,
userid
)
.
ge
(
KqglAssoDkmx:
:
getDksj
,
startDate
).
le
(
KqglAssoDkmx:
:
getDksj
,
endDate
));
.
ge
(
KqglAssoDkmx:
:
getDksj
,
startDate
).
le
(
KqglAssoDkmx:
:
getDksj
,
endDate
));
AttendanceCardListDto
attdate
=
MethodCall
(
qyid
,
userid
,
putime
);
AttendanceCardListDto
attdate
=
MethodCall
(
qyid
,
userid
,
putime
);
ClockCollectData
clockt
=
new
ClockCollectData
();
// ClockCollectData clockt = new ClockCollectData();
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
;
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
;
clockt
.
setShifid
(
ash
.
get
(
y
).
getId
());
clockt
.
setShifid
(
ash
.
get
(
y
).
getId
());
shifid
=
ash
.
get
(
y
).
getId
();
//班次id
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
();
...
@@ -117,8 +141,8 @@ public class ClockInController {
...
@@ -117,8 +141,8 @@ public class ClockInController {
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
();
}
}
}
}
long
punchcardtime
,
punchstart
,
punchend
=
0
;
//应打卡时间,应打卡开始时间,应打卡结束时间
//
long punchcardtime,punchstart,punchend = 0;//应打卡时间,应打卡开始时间,应打卡结束时间
int
atttype
=
0
;
//
int atttype = 0;
if
(
dkmc
==
null
)
{
//上班1 ****新增
if
(
dkmc
==
null
)
{
//上班1 ****新增
punchcardtime
=
starttime1
;
punchcardtime
=
starttime1
;
punchstart
=
starttime1ks
;
punchstart
=
starttime1ks
;
...
@@ -145,174 +169,193 @@ public class ClockInController {
...
@@ -145,174 +169,193 @@ public class ClockInController {
punchcardtime
=
0
;
punchstart
=
0
;
punchend
=
0
;
atttype
=
7
;
punchcardtime
=
0
;
punchstart
=
0
;
punchend
=
0
;
atttype
=
7
;
}
}
}
}
KqglAssoBcsz
shif
=
KqglAssoBcsz
.
builder
().
build
();
if
(
attdate
.
getAttsch
().
size
()
>
0
&&
clockt
.
getShifid
()
>
0
){
//有无班次
shif
=
shif
.
selectOne
(
new
QueryWrapper
<
KqglAssoBcsz
>().
lambda
().
eq
(
KqglAssoBcsz:
:
getId
,
clockt
.
getShifid
()));
}
//打卡记录录入 -- 打卡是否有时间范围限制
if
(
clockt
.
getShifid
()
!=
0
)
{
boolean
isRange
=
true
;
if
(
punchstart
>
0
&&
punchend
>
0
)
{
KqglAssoBcsz
shif
=
KqglAssoBcsz
.
builder
().
build
();
String
staputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
punchstart
);
//应打卡开始时间
if
(
attdate
.
getAttsch
().
size
()
>
0
&&
clockt
.
getShifid
()
>
0
){
//有无班次
String
entputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
punchend
);
//应打卡结束时间
shif
=
shif
.
selectOne
(
new
QueryWrapper
<
KqglAssoBcsz
>().
lambda
().
eq
(
KqglAssoBcsz:
:
getId
,
clockt
.
getShifid
()));
String
DKputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
time_
);
//打卡时间
boolean
effectiveDate
=
ClockInTool
.
hourMinuteBetween
(
DKputime
,
staputime
,
entputime
,
"HH:mm"
);
if
(!
effectiveDate
)
{
System
.
out
.
println
(
"当前打卡时间不在范围内"
);
// 手动抛出异常
isRange
=
false
;
// throw new Exception();
}
}
}
if
(
isRange
)
{
//打卡记录录入 -- 打卡是否有时间范围限制
int
yzcd
=
shif
.
getYzcdfzs
();
//严重迟到分钟数
// boolean isRange = true;
int
kgcdfzs
=
shif
.
getKgcdfzs
();
//旷工迟到分钟数
if
(
punchstart
>
0
&&
punchend
>
0
)
{
if
(
dkmc
==
null
)
{
//上班1 ****新增
String
staputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
punchstart
);
//应打卡开始时间
int
sbdk1jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
String
entputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
punchend
);
//应打卡结束时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
String
DKputime
=
new
SimpleDateFormat
(
"HH:mm"
).
format
(
time_
);
//打卡时间
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
boolean
effectiveDate
=
ClockInTool
.
hourMinuteBetween
(
DKputime
,
staputime
,
entputime
,
"HH:mm"
);
if
(
time
>
0
){
sbdk1jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
//上班1打卡结果
if
(!
effectiveDate
)
{
}
System
.
out
.
println
(
"当前打卡时间不在范围内"
);
int
ydkcs
=
0
;
// 手动抛出异常
if
(
shif
!=
null
){
ydkcs
=
shif
.
getSxbcs
()*
2
;}
//应打卡次数
isRange
=
false
;
if
(
sbdk1jg
>
yzcd
)
{
// throw new Exception();
yzcdcs
++;
}
yzcdsc
=
sbdk1jg
-
yzcd
;
}
if
(
sbdk1jg
>
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
();
if
(!
pcd
.
insert
())
{
throw
new
CustomException
(
"打卡明细-新增异常-1"
);
}
}
dkmx
=
pcd
.
getId
();
if
(
isRange
)
{
}
else
{
//*****修改
int
yzcd
=
shif
.
getYzcdfzs
();
//严重迟到分钟数
dkmx
=
dkmc
.
getId
();
int
kgcdfzs
=
shif
.
getKgcdfzs
();
//旷工迟到分钟数
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
build
();
if
(
dkmc
==
null
)
{
//上班1 ****新增
int
sbdk1jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
==
null
)){
//下班1
if
(
punchcardtime
!=
0
){
//有应打卡时间时
pcd
.
setId
(
dkmc
.
getId
());
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
pcd
.
setXbdk1
(
time_
);
//下班1打卡时间
if
(
time
>
0
){
sbdk1jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
//上班1打卡结果
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
pcd
.
setXbdk1jg
(
0
);
// 打卡结果
}
else
{
pcd
.
setXbdk1jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
//上班1打卡结果
}
}
}
int
ydkcs
=
0
;
if
(
shif
!=
null
){
ydkcs
=
shif
.
getSxbcs
()*
2
;}
//应打卡次数
if
(
dkmc
.
getSbdk1
()
!=
null
){
if
(
sbdk1jg
>
yzcd
)
{
Long
time
=
(
time_
-
dkmc
.
getSbdk1
())/
1000
/
60
;
yzcdcs
++;
pcd
.
setGzsc
(
Math
.
abs
(
Double
.
valueOf
(
time
.
toString
())));
//只打一次卡时计算工作时长
yzcdsc
=
sbdk1jg
-
yzcd
;
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
==
null
)){
//上班2
int
sbdk2jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
sbdk2jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
}
if
(
sbdk2jg
>
yzcd
)
{
yzcdcs
=
dkmc
.
getYzcdcs
()+
1
;
yzcdsc
=
sbdk2jg
-
yzcd
;
}
if
(
sbdk2jg
>
kgcdfzs
)
{
kgcdcs
++;}
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setSbdk2
(
time_
);
//上班1打卡时间
pcd
.
setSbdk2jg
(
sbdk2jg
);
pcd
.
setYzcdcs
(
yzcdcs
);
pcd
.
setYzcdsc
(
Double
.
valueOf
(
yzcdsc
));
pcd
.
setKgcdfzs
(
kgcdcs
);
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
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
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk2
(
time_
);
//下班1打卡时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
pcd
.
setXbdk2jg
(
0
);
// 打卡结果
}
else
{
pcd
.
setXbdk2jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
}
}
}
if
(
sbdk1jg
>
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
();
//班次为4次时,计算工作时长
if
(!
pcd
.
insert
())
{
if
(
dkmc
.
getSbdk2
()
!=
null
){
throw
new
CustomException
(
"打卡明细-新增异常-1"
);
Long
time
=
(
time_
-
dkmc
.
getSbdk2
())/
1000
/
60
;
}
BigDecimal
om
=
new
BigDecimal
(
dkmc
.
getGzsc
());
dkmx
=
pcd
.
getId
();
BigDecimal
on
=
new
BigDecimal
(
time
);
}
else
{
//*****修改
double
worktime
=
Math
.
abs
(
om
.
add
(
on
).
doubleValue
());
dkmx
=
dkmc
.
getId
();
pcd
.
setGzsc
(
worktime
);
KqglAssoDkmx
pcd
=
KqglAssoDkmx
.
builder
().
build
();
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
==
null
)){
//下班1
pcd
.
setId
(
dkmc
.
getId
());
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
pcd
.
setXbdk1
(
time_
);
//下班1打卡时间
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
if
(
punchcardtime
!=
0
){
//有应打卡时间时
&&
((
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
==
null
)){
//上班3
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
int
sbdk3jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
pcd
.
setXbdk1jg
(
0
);
// 打卡结果
if
(
punchcardtime
!=
0
){
//有应打卡时间时
}
else
{
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
pcd
.
setXbdk1jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
//上班1打卡结果
if
(
time
>
0
){
sbdk3jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
}
}
}
if
(
sbdk3jg
>
yzcd
)
{
yzcdcs
=
dkmc
.
getYzcdcs
()+
1
;
if
(
dkmc
.
getSbdk1
()
!=
null
){
yzcdsc
=
sbdk3jg
-
yzcd
;
Long
time
=
(
time_
-
dkmc
.
getSbdk1
())/
1000
/
60
;
}
pcd
.
setGzsc
(
Math
.
abs
(
Double
.
valueOf
(
time
.
toString
())));
//只打一次卡时计算工作时长
if
(
sbdk3jg
>
kgcdfzs
)
{
kgcdcs
++;}
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setSbdk3
(
time_
);
//上班1打卡时间
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
pcd
.
setSbdk3jg
(
sbdk3jg
);
&&
((
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
==
null
)){
//上班2
pcd
.
setYzcdcs
(
yzcdcs
);
pcd
.
setYzcdsc
(
Double
.
valueOf
(
yzcdsc
));
int
sbdk2jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
pcd
.
setKgcdfzs
(
kgcdcs
);
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
if
(
time
>
0
){
sbdk2jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
}
}
else
if
((!(
""
).
equals
(
dkmc
.
getSbdk1
())
||
dkmc
.
getSbdk1
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk1
())
||
dkmc
.
getXbdk1
()
!=
null
)
if
(
sbdk2jg
>
yzcd
)
{
&&
(!(
""
).
equals
(
dkmc
.
getSbdk2
())
||
dkmc
.
getSbdk2
()
!=
null
)
&&
(!(
""
).
equals
(
dkmc
.
getXbdk2
())
||
dkmc
.
getXbdk2
()
!=
null
)
yzcdcs
=
dkmc
.
getYzcdcs
()+
1
;
&&
(!(
""
).
equals
(
dkmc
.
getSbdk3
())
||
dkmc
.
getSbdk3
()
!=
null
)
&&
((
""
).
equals
(
dkmc
.
getXbdk3
())
||
dkmc
.
getXbdk3
()
==
null
)){
//下班3
yzcdsc
=
sbdk2jg
-
yzcd
;
}
pcd
.
setId
(
dkmc
.
getId
());
if
(
sbdk2jg
>
kgcdfzs
)
{
kgcdcs
++;}
pcd
.
setXbdk3
(
time_
);
//下班1打卡时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
pcd
.
setId
(
dkmc
.
getId
());
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
pcd
.
setSbdk2
(
time_
);
//上班1打卡时间
if
(
time
>
0
){
pcd
.
setSbdk2jg
(
sbdk2jg
);
pcd
.
setXbdk3jg
(
0
);
// 打卡结果
pcd
.
setYzcdcs
(
yzcdcs
);
}
else
{
pcd
.
setYzcdsc
(
Double
.
valueOf
(
yzcdsc
));
pcd
.
setXbdk3jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
pcd
.
setKgcdfzs
(
kgcdcs
);
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
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
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk2
(
time_
);
//下班1打卡时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
pcd
.
setXbdk2jg
(
0
);
// 打卡结果
}
else
{
pcd
.
setXbdk2jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
}
}
//班次为4次时,计算工作时长
if
(
dkmc
.
getSbdk2
()
!=
null
){
Long
time
=
(
time_
-
dkmc
.
getSbdk2
())/
1000
/
60
;
BigDecimal
om
=
new
BigDecimal
(
dkmc
.
getGzsc
());
BigDecimal
on
=
new
BigDecimal
(
time
);
double
worktime
=
Math
.
abs
(
om
.
add
(
on
).
doubleValue
());
pcd
.
setGzsc
(
worktime
);
}
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
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
int
sbdk3jg
=
0
,
yzcdsc
=
0
,
yzcdcs
=
0
,
kgcdcs
=
0
;
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
sbdk3jg
=
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
()));}
}
if
(
sbdk3jg
>
yzcd
)
{
yzcdcs
=
dkmc
.
getYzcdcs
()+
1
;
yzcdsc
=
sbdk3jg
-
yzcd
;
}
if
(
sbdk3jg
>
kgcdfzs
)
{
kgcdcs
++;}
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setSbdk3
(
time_
);
//上班1打卡时间
pcd
.
setSbdk3jg
(
sbdk3jg
);
pcd
.
setYzcdcs
(
yzcdcs
);
pcd
.
setYzcdsc
(
Double
.
valueOf
(
yzcdsc
));
pcd
.
setKgcdfzs
(
kgcdcs
);
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
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
pcd
.
setId
(
dkmc
.
getId
());
pcd
.
setXbdk3
(
time_
);
//下班1打卡时间
if
(
punchcardtime
!=
0
){
//有应打卡时间时
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
if
(
time
>
0
){
pcd
.
setXbdk3jg
(
0
);
// 打卡结果
}
else
{
pcd
.
setXbdk3jg
(
Math
.
abs
(
Integer
.
valueOf
(
time
.
toString
())));
}
}
//班次为6次时,计算工作时长
if
(
dkmc
.
getSbdk3
()
!=
null
){
Long
time
=
(
time_
-
dkmc
.
getSbdk3
())/
1000
/
60
;
BigDecimal
om
=
new
BigDecimal
(
dkmc
.
getGzsc
());
//第二次
BigDecimal
on
=
new
BigDecimal
(
time
);
double
worktime
=
Math
.
abs
(
om
.
add
(
on
).
doubleValue
());
pcd
.
setGzsc
(
worktime
);
}
}
pcd
.
setId
(
dkmc
.
getId
());
if
(
atttype
<=
6
){
int
update
=
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
}
}
//班次为6次时,计算工作时长
if
(
dkmc
.
getSbdk3
()
!=
null
){
Long
time
=
(
time_
-
dkmc
.
getSbdk3
())/
1000
/
60
;
BigDecimal
om
=
new
BigDecimal
(
dkmc
.
getGzsc
());
//第二次
BigDecimal
on
=
new
BigDecimal
(
time
);
double
worktime
=
Math
.
abs
(
om
.
add
(
on
).
doubleValue
());
pcd
.
setGzsc
(
worktime
);
}
}
}
}
else
{
// System.out.println("当前打卡时间不在范围内");
pcd
.
setId
(
dkmc
.
getId
());
msg
=
"当前打卡时间不在范围内"
;
if
(
atttype
<=
6
){
sbyf
=
0
;
int
update
=
kqglassodkmxmapper
.
updateByPrimaryKeySelective
(
pcd
);
//修改打卡记录
}
}
}
}
else
{
}
else
{
System
.
out
.
println
(
"当前打卡时间不在范围内"
);
msg
=
"当前是休息时间"
;
sbyf
=
0
;
}
}
}
else
{
// return ResultUtil.error("打卡失败!,未加入考勤组!");
msg
=
"打卡失败!,未加入考勤组!"
;
sbyf
=
0
;
}
/*************************************************************************************************************************************************************************************/
/*************************************************************************************************************************************************************************************/
//原始打卡记录数据录入**************************************************************************************************************************************
//原始打卡记录数据录入**************************************************************************************************************************************
int
results
=
0
;
int
results
=
0
;
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
Long
time
=
(
time_
-
punchcardtime
)/
1000
/
60
;
...
@@ -328,41 +371,84 @@ public class ClockInController {
...
@@ -328,41 +371,84 @@ public class ClockInController {
int
type
,
status
=
0
;
int
type
,
status
=
0
;
if
((
atttype
)%
2
>
0
){
if
((
atttype
)%
2
>
0
){
type
=
1
;
// 类型(类型 0:无排班打卡 1:上班 2:下班) punchcardtime == 0:无班次打卡
type
=
1
;
// 类型(类型 0:无排班打卡 1:上班 2:下班) punchcardtime == 0:无班次打卡
if
(
punchcardtime
==
0
){
status
=
1
;}
else
{
if
(
punchcardtime
==
0
&&
clockt
.
getShifid
()
!=
0
){
status
=
1
;
}
if
(
punchcardtime
==
0
&&
clockt
.
getShifid
()
==
0
)
{
status
=
2
;
}
else
{
if
(
isRange
)
{
// 状态(0:打卡无效:此记录已被更新 1:正常 2:异常 3:迟到 4:早退 5:补卡 6:请假 7:加班 8:调休)
if
(
isRange
)
{
// 状态(0:打卡无效:此记录已被更新 1:正常 2:异常 3:迟到 4:早退 5:补卡 6:请假 7:加班 8:调休)
if
(
time
>
0
){
status
=
3
;}
else
if
(
results
==
0
){
status
=
1
;}
if
(
time
>
0
){
}
else
{
status
=
2
;}
status
=
3
;
}
else
if
(
results
==
0
){
status
=
1
;
}
}
else
{
status
=
2
;
}
}
}
}
else
{
}
else
{
type
=
2
;
// 类型(类型 0:无排班打卡 1:上班 2:下班)
type
=
2
;
// 类型(类型 0:无排班打卡 1:上班 2:下班)
if
(
punchcardtime
==
0
){
status
=
1
;}
else
{
if
(
punchcardtime
==
0
&&
clockt
.
getShifid
()
!=
0
){
status
=
1
;
}
if
(
punchcardtime
==
0
&&
clockt
.
getShifid
()
==
0
)
{
status
=
2
;
}
else
{
if
(
isRange
)
{
if
(
isRange
)
{
if
(
time
<
0
){
status
=
4
;}
else
if
(
results
==
0
){
status
=
1
;}
if
(
time
<
0
){
}
else
{
status
=
2
;}
status
=
4
;
}
else
if
(
results
==
0
){
status
=
1
;
}
}
else
{
status
=
2
;
}
}
}
}
}
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
startDate
));
//转换打卡时间格式
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
startDate
));
//转换打卡时间格式
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
){
attime
=
new
Date
().
getTime
();}
else
{
attime
=
punchcardtime
;}
// 考勤时间(应打卡时间)
if
(
punchcardtime
==
0
){
// 考勤时间(应打卡时间)
attime
=
new
Date
().
getTime
();
}
else
{
attime
=
punchcardtime
;
}
String
remarks
=
""
;
String
remarks
=
""
;
if
((
"1"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机指纹打卡"
;}
else
if
((
"20"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机人脸打卡"
;}
else
if
((
"40"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机掌纹打卡"
;}
else
if
((
"60"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机密码打卡"
;}
if
((
"1"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机指纹打卡"
;
}
else
if
((
"20"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机人脸打卡"
;
}
else
if
((
"40"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机掌纹打卡"
;
}
else
if
((
"60"
).
equals
(
asVerifyMode
))
{
remarks
=
"考勤机密码打卡"
;
}
String
commentary
=
"未知"
;
if
(
sbyf
==
1
)
{
commentary
=
"打卡成功"
;
}
else
{
commentary
=
msg
;
}
//cardtype--1:GPS,2:WIFI,3:考勤机
//cardtype--1:GPS,2:WIFI,3:考勤机
KqglAssoDkjl
pre
=
KqglAssoDkjl
.
builder
().
dktime
(
time_
).
results
(
results
).
userId
(
userid
).
type
(
type
).
status
(
status
).
sort
(
atttype
)
KqglAssoDkjl
pre
=
KqglAssoDkjl
.
builder
().
dktime
(
time_
).
results
(
results
).
userId
(
userid
).
type
(
type
).
status
(
status
).
sort
(
atttype
)
.
cardType
(
3
).
qyid
(
qyid
).
attdate
(
attdate_
+
" "
+
ClockInTool
.
dateToWeek2
(
putime
)).
attime
(
attime
).
dkmxid
(
dkmx
).
bcid
(
clockt
.
getShifid
()
).
remarks
(
remarks
).
punchmode
(
Integer
.
valueOf
(
asVerifyMode
))
.
cardType
(
3
).
qyid
(
qyid
).
attdate
(
attdate_
+
" "
+
ClockInTool
.
dateToWeek2
(
putime
)).
attime
(
attime
).
dkmxid
(
dkmx
).
bcid
(
shifid
).
remarks
(
remarks
).
punchmode
(
Integer
.
valueOf
(
asVerifyMode
))
.
punchequipment
(
asDevId
).
build
();
.
punchequipment
(
asDevId
).
commentary
(
commentary
).
build
();
if
(!
pre
.
insert
())
{
if
(!
pre
.
insert
())
{
throw
new
CustomException
(
"打卡记录-新增异常-2"
);
throw
new
CustomException
(
"打卡记录-新增异常-2"
);
}
}
}
}
}
else
{
return
ResultUtil
.
error
(
"打卡失败!,未加入考勤组!"
);
}
}
else
{
}
else
{
return
ResultUtil
.
error
(
"打卡失败!,用户不存在!"
);
return
ResultUtil
.
error
(
"打卡失败!,用户不存在!"
);
}
}
return
ResultUtil
.
data
(
null
,
"打卡成功"
);
if
(
sbyf
==
1
)
{
return
ResultUtil
.
data
(
null
,
"打卡成功"
);
}
else
{
return
ResultUtil
.
data
(
msg
,
"打卡失败"
);
}
}
}
@Autowired
@Autowired
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
View file @
5414185b
...
@@ -2195,8 +2195,14 @@ public class TimeCardController {
...
@@ -2195,8 +2195,14 @@ public class TimeCardController {
Long
startDate
=
DateUtil
.
getStartTime
(
0
,
DateUtil
.
getStringTime
(
data
,
"yyyy-MM-dd"
)).
getTime
();
Long
startDate
=
DateUtil
.
getStartTime
(
0
,
DateUtil
.
getStringTime
(
data
,
"yyyy-MM-dd"
)).
getTime
();
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
startDate
));
//转换打卡时间格式
String
attdate_
=
new
SimpleDateFormat
(
"yy-MM-dd"
).
format
(
Double
.
valueOf
(
startDate
));
//转换打卡时间格式
int
type
=
0
;
if
((
chpunchr
.
getClocktype
())%
2
>
0
){
type
=
1
;
}
else
{
type
=
2
;
}
KqglAssoDkjl
pre
=
KqglAssoDkjl
.
builder
().
dktime
(
changed_time
).
results
(
results
).
userId
(
chpunchr
.
getNum
()).
type
(
chpunchr
.
getClocktype
()
).
status
(
9
).
sort
(
chpunchr
.
getClocktype
())
KqglAssoDkjl
pre
=
KqglAssoDkjl
.
builder
().
dktime
(
changed_time
).
results
(
results
).
userId
(
chpunchr
.
getNum
()).
type
(
type
).
status
(
9
).
sort
(
chpunchr
.
getClocktype
())
.
cardType
(
3
).
qyid
(
userBean
.
getOrgCode
()).
attdate
(
attdate_
+
" "
+
ClockInTool
.
dateToWeek2
(
data
)).
attime
(
clock_time_
).
dkmxid
(
dkmx
.
getId
()).
bcid
(
chpunchr
.
getBcszid
()).
remarks
(
"管理员改为正常"
).
punchmode
(
0
)
.
cardType
(
3
).
qyid
(
userBean
.
getOrgCode
()).
attdate
(
attdate_
+
" "
+
ClockInTool
.
dateToWeek2
(
data
)).
attime
(
clock_time_
).
dkmxid
(
dkmx
.
getId
()).
bcid
(
chpunchr
.
getBcszid
()).
remarks
(
"管理员改为正常"
).
punchmode
(
0
)
.
punchequipment
(
""
).
build
();
.
punchequipment
(
""
).
build
();
if
(!
pre
.
insert
())
{
if
(!
pre
.
insert
())
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
View file @
5414185b
...
@@ -105,7 +105,7 @@ public class AttendanceTaskTiming{
...
@@ -105,7 +105,7 @@ public class AttendanceTaskTiming{
*/
*/
//3.添加定时任务
//3.添加定时任务
@Scheduled
(
cron
=
"0
10 15
* * ?"
)
@Scheduled
(
cron
=
"0
55 10
* * ?"
)
//或直接指定时间间隔,例如:5秒
//或直接指定时间间隔,例如:5秒
//@Scheduled(fixedRate=5000)
//@Scheduled(fixedRate=5000)
...
@@ -155,7 +155,7 @@ public class AttendanceTaskTiming{
...
@@ -155,7 +155,7 @@ public class AttendanceTaskTiming{
KqglAssoMonthPunchSummary
.
builder
().
build
().
delete
(
new
QueryWrapper
<
KqglAssoMonthPunchSummary
>().
lambda
().
eq
(
KqglAssoMonthPunchSummary:
:
getBelongYear
,
year
).
eq
(
KqglAssoMonthPunchSummary:
:
getBelongMonth
,
month
));
KqglAssoMonthPunchSummary
.
builder
().
build
().
delete
(
new
QueryWrapper
<
KqglAssoMonthPunchSummary
>().
lambda
().
eq
(
KqglAssoMonthPunchSummary:
:
getBelongYear
,
year
).
eq
(
KqglAssoMonthPunchSummary:
:
getBelongMonth
,
month
));
// for(int t = 0;t<orgcodelist.size();t++){
// for(int t = 0;t<orgcodelist.size();t++){
int
org_code
=
117
;
//orgcodelist.get(t).getId();//企业组织代码
int
org_code
=
310
;
//orgcodelist.get(t).getId();//企业组织代码
List
<
AdditionalDto
>
userlist
=
kqglassoleavebalancemapper
.
selectAdditionalList
(
org_code
);
List
<
AdditionalDto
>
userlist
=
kqglassoleavebalancemapper
.
selectAdditionalList
(
org_code
);
for
(
AdditionalDto
user
:
userlist
)
{
for
(
AdditionalDto
user
:
userlist
)
{
double
traveltotal
=
0
,
egresstotal
=
0
,
overtimetotal
=
0
;
double
traveltotal
=
0
,
egresstotal
=
0
,
overtimetotal
=
0
;
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/mapping/kqgl/PunchRecordMapper.xml
View file @
5414185b
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
<result
column=
"remarks"
property=
"remarks"
jdbcType=
"VARCHAR"
/>
<result
column=
"remarks"
property=
"remarks"
jdbcType=
"VARCHAR"
/>
<result
column=
"punchmode"
property=
"punchmode"
jdbcType=
"INTEGER"
/>
<result
column=
"punchmode"
property=
"punchmode"
jdbcType=
"INTEGER"
/>
<result
column=
"punchequipment"
property=
"punchequipment"
jdbcType=
"VARCHAR"
/>
<result
column=
"punchequipment"
property=
"punchequipment"
jdbcType=
"VARCHAR"
/>
<result
column=
"commentary"
property=
"commentary"
/>
<result
column=
"username"
property=
"username"
jdbcType=
"VARCHAR"
/>
<result
column=
"username"
property=
"username"
jdbcType=
"VARCHAR"
/>
<result
column=
"dept"
property=
"dept"
jdbcType=
"VARCHAR"
/>
<result
column=
"dept"
property=
"dept"
jdbcType=
"VARCHAR"
/>
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/mapping/kqmk/KqglAssoDkjlMapper.xml
View file @
5414185b
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
<result
column=
"remarks"
property=
"remarks"
/>
<result
column=
"remarks"
property=
"remarks"
/>
<result
column=
"punchmode"
property=
"punchmode"
/>
<result
column=
"punchmode"
property=
"punchmode"
/>
<result
column=
"punchequipment"
property=
"punchequipment"
/>
<result
column=
"punchequipment"
property=
"punchequipment"
/>
<result
column=
"commentary"
property=
"commentary"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
...
@@ -48,7 +49,8 @@
...
@@ -48,7 +49,8 @@
bcid,
bcid,
remarks,
remarks,
punchmode,
punchmode,
punchequipment
punchequipment,
commentary
</sql>
</sql>
<sql
id=
"Base_Column_List_Alias"
>
<sql
id=
"Base_Column_List_Alias"
>
...
@@ -72,7 +74,8 @@
...
@@ -72,7 +74,8 @@
bcid KqglAssoDkjl_bcid,
bcid KqglAssoDkjl_bcid,
remarks KqglAssoDkjl_remarks,
remarks KqglAssoDkjl_remarks,
punchmode KqglAssoDkjl_punchmode,
punchmode KqglAssoDkjl_punchmode,
punchequipment KqglAssoDkjl_punchequipment
punchequipment KqglAssoDkjl_punchequipment,
commentary KqglAssoDkjl_explain
</sql>
</sql>
<!--
<!--
...
@@ -138,7 +141,10 @@
...
@@ -138,7 +141,10 @@
punchmode,
punchmode,
</if>
</if>
<if test ='null != punchequipment'>
<if test ='null != punchequipment'>
punchequipment
punchequipment,
</if>
<if test ='null != commentary'>
commentary
</if>
</if>
</trim>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<trim prefix="values (" suffix=")" suffixOverrides=",">
...
@@ -200,7 +206,10 @@
...
@@ -200,7 +206,10 @@
#{punchmode},
#{punchmode},
</if>
</if>
<if test ='null != punchequipment'>
<if test ='null != punchequipment'>
#{punchequipment}
#{punchequipment},
</if>
<if test ='null != commentary'>
#{commentary}
</if>
</if>
</trim>
</trim>
</insert>
</insert>
...
@@ -232,7 +241,8 @@
...
@@ -232,7 +241,8 @@
<if test ='null != bcid'>bcid = #{bcid},</if>
<if test ='null != bcid'>bcid = #{bcid},</if>
<if test ='null != remarks'>remarks = #{remarks},</if>
<if test ='null != remarks'>remarks = #{remarks},</if>
<if test ='null != punchmode'>punchmode = #{punchmode},</if>
<if test ='null != punchmode'>punchmode = #{punchmode},</if>
<if test ='null != punchequipment'>punchequipment = #{punchequipment}</if>
<if test ='null != punchequipment'>punchequipment = #{punchequipment},</if>
<if test ='null != commentary'>commentary = #{commentary}</if>
</set>
</set>
WHERE id = #{id}
WHERE id = #{id}
</update>
</update>
...
...
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