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
ddc9254f
Commit
ddc9254f
authored
Jun 22, 2020
by
lal
Committed by
chenzg
Jul 05, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交
parent
b3090653
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
98 additions
and
31 deletions
+98
-31
src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
+33
-0
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
+65
-31
No files found.
src/main/java/cn/timer/api/controller/kqgl/ClockInTool.java
View file @
ddc9254f
...
...
@@ -23,6 +23,39 @@ public class ClockInTool {
static
SimpleDateFormat
famt
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
/**
* 判断某个字符串是否存在于数组中
* @param stringArray 原数组
* @param source 查找的字符串
* @return 是否找到
*/
public
static
boolean
contains
(
String
[]
stringArray
,
String
source
)
{
// 转换为list
List
<
String
>
tempList
=
Arrays
.
asList
(
stringArray
);
// 利用list的包含方法,进行判断
if
(
tempList
.
contains
(
source
))
{
return
true
;
}
else
{
return
false
;
}
}
/**
* @param ss
* @return 去除重复
*/
public
static
String
[]
duplicate_removal
(
String
[]
ss
)
{
List
<
String
>
list
=
new
ArrayList
<
String
>();
for
(
String
s:
ss
){
if
(!
list
.
contains
(
s
))
//或者list.indexOf(s)!=-1
list
.
add
(
s
);
}
return
list
.
toArray
(
new
String
[
list
.
size
()]);
}
/**
* 将String时间转换为时间戳
*
...
...
src/main/java/cn/timer/api/controller/kqgl/atttimer/AttendanceTaskTiming.java
View file @
ddc9254f
...
...
@@ -30,7 +30,6 @@ import cn.timer.api.bean.kqmk.KqglAssoRelationSummary;
import
cn.timer.api.bean.kqmk.KqglAssoTeshu
;
import
cn.timer.api.bean.kqmk.KqglAssoZhoupaiban
;
import
cn.timer.api.bean.kqmk.KqglMainKqz
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.controller.kqgl.ClockInTool
;
import
cn.timer.api.dao.kqgl.AttendanceWeeklySchMapper
;
import
cn.timer.api.dao.kqgl.PunchCardDetailsMapper
;
...
...
@@ -142,7 +141,7 @@ public class AttendanceTaskTiming{
ca
.
set
(
Calendar
.
DAY_OF_MONTH
,
ca
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
Long
endDate
=
DateUtil
.
getnowEndTime
(
23
,
DateUtil
.
getStringTime
(
sdf1
.
format
(
ca
.
getTime
()),
"yyyy-MM-dd"
)).
getTime
();
List
<
QyzxEntInfoM
>
orgcodelist
=
qyzxentinfommapper
.
selectList
(
new
QueryWrapper
<
QyzxEntInfoM
>());
//系统中的所有公司 所有未到期的公司
//
List<QyzxEntInfoM> orgcodelist = qyzxentinfommapper.selectList(new QueryWrapper<QyzxEntInfoM>());//系统中的所有公司 所有未到期的公司
String
str
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
()).
toString
();
//
String
ttstr
=
new
SimpleDateFormat
(
"yyyy-MM"
).
format
(
new
Date
()).
toString
();
//
...
...
@@ -154,8 +153,8 @@ public class AttendanceTaskTiming{
KqglAssoMonthPunchSummary
.
builder
().
build
().
delete
(
new
QueryWrapper
<
KqglAssoMonthPunchSummary
>().
lambda
().
eq
(
KqglAssoMonthPunchSummary:
:
getBelongYear
,
year
).
eq
(
KqglAssoMonthPunchSummary:
:
getBelongMonth
,
month
));
for
(
int
t
=
0
;
t
<
orgcodelist
.
size
();
t
++){
int
org_code
=
orgcodelist
.
get
(
t
).
getId
();
//企业组织代码
//
for(int t = 0;t<orgcodelist.size();t++){
int
org_code
=
117
;
//
orgcodelist.get(t).getId();//企业组织代码
List
<
AdditionalDto
>
userlist
=
kqglassoleavebalancemapper
.
selectAdditionalList
(
org_code
);
for
(
AdditionalDto
user
:
userlist
)
{
double
traveltotal
=
0
,
egresstotal
=
0
,
overtimetotal
=
0
;
...
...
@@ -459,7 +458,29 @@ public class AttendanceTaskTiming{
rowData
.
add
(
"未排班"
);
}
else
if
(
sdf1
.
parse
(
beginTime
).
getTime
()
<
sdf1
.
parse
(
num
).
getTime
())
{
rowData
.
add
(
"未到班期"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
leaves
),
num
)
>=
0
)
{
//请假
}
else
{
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
sblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"上班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
sblacks
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班缺卡,下班早退"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到,下班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到,下班早退"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"下班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"下班早退"
);
}
else
{
rowData
.
add
(
"正常"
);
}
}
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(leaves), num) >= 0) {//请假
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
leaves
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
2
));
String
leavetype
=
"未知"
;
//请假类型
String
company
=
"未知"
;
//请假单位
...
...
@@ -474,17 +495,26 @@ public class AttendanceTaskTiming{
}
}
rowData
.
add
(
lea
.
getStartTime
()
+
"到"
+
lea
.
getEndTime
()+
"请"
+
leavetype
+
lea
.
getDuration
()+
company
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
travels
),
num
)
>=
0
)
{
//出差
}
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(travels), num) >= 0) {//出差
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
.
add
(
lea
.
getStartTime
()
+
"到"
+
lea
.
getEndTime
()+
"出差"
+
lea
.
getDuration
()+
"天"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
goouts
),
num
)
>=
0
){
//外出
}
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(goouts), num) >= 0){//外出
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
.
add
(
lea
.
getStartTime
()
+
"到"
+
lea
.
getEndTime
()+
"外出"
+
lea
.
getDuration
()+
"天"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cards
),
num
)
>=
0
){
//补卡
}
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(cards), num) >= 0){//补卡
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
.
add
(
"已补卡:"
+
lea
.
getStartTime
());
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
overtimes
),
num
)
>=
0
)
{
//加班
}
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(overtimes), num) >= 0) {//加班
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
overtimes
),
num
))
{
KqglAssoRelationSummary
lea
=
KqglAssoRelationSummary
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoRelationSummary
>().
lambda
().
eq
(
KqglAssoRelationSummary:
:
getUserId
,
user
.
getEmpnum
()).
eq
(
KqglAssoRelationSummary:
:
getAppTime
,
num
).
eq
(
KqglAssoRelationSummary:
:
getApprovalType
,
1
));
String
company
=
"未知"
,
method
=
"无"
;
//加班单位、加班补偿方式
//最小加班单位 1:按分钟加班、2:按半小时加班、3:按小时加班、4:按半天加班、5:按天加班
KqglAssoOvertimeBasics
basics
=
KqglAssoOvertimeBasics
.
builder
().
build
().
selectOne
(
new
QueryWrapper
<
KqglAssoOvertimeBasics
>().
lambda
().
eq
(
KqglAssoOvertimeBasics:
:
getOrgCode
,
org_code
));
...
...
@@ -500,7 +530,8 @@ public class AttendanceTaskTiming{
rowData
.
add
(
lea
.
getStartTime
()
+
"到"
+
lea
.
getEndTime
()+
"加班"
+
lea
.
getDuration
()+
company
+
"["
+
method
+
"]"
);
//加班补偿方式 1:转调休;2:转加班费;3:转调休或加班费
//工作日
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
)
>=
0
)
{
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(ycqts), num) >= 0) {
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
))
{
if
(
lea
.
getCompensateId
()
==
1
)
{
workingturncompenleave
++;
}
else
if
(
lea
.
getCompensateId
()
==
2
)
{
...
...
@@ -508,39 +539,42 @@ public class AttendanceTaskTiming{
}
}
//休息日
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)
>=
0
)
{
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(xxts), num) >= 0) {
if
(
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
))
{
if
(
lea
.
getCompensateId
()
==
1
)
{
restturncompenleave
++;
}
else
if
(
lea
.
getCompensateId
()
==
2
)
{
resttransferovertime
++;
}
}
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
)
<
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
)
<
0
)
{
// if(Arrays.binarySearch(ClockInTool.deleteArrayNull(ycqts), num) < 0 && Arrays.binarySearch(ClockInTool.deleteArrayNull(xxts), num) < 0) {
if
(!
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
ycqts
),
num
)
&&
!
ClockInTool
.
contains
(
ClockInTool
.
deleteArrayNull
(
xxts
),
num
))
{
if
(
lea
.
getCompensateId
()
==
1
)
{
holidayturncompenleave
++;
}
else
if
(
lea
.
getCompensateId
()
==
2
)
{
holidaytransferovertime
++;
}
}
}
else
{
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
sblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"上班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
sblacks
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班缺卡,下班早退"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到,下班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
cdts
),
num
)
>=
0
&&
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"上班迟到,下班早退"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
xblacks
),
num
)
>=
0
)
{
rowData
.
add
(
"下班缺卡"
);
}
else
if
(
Arrays
.
binarySearch
(
ClockInTool
.
deleteArrayNull
(
ztts
),
num
)
>=
0
)
{
rowData
.
add
(
"下班早退"
);
}
else
{
rowData
.
add
(
"正常"
);
}
}
/*
* else{ if(Arrays.binarySearch(ClockInTool.deleteArrayNull(sblacks), num) >= 0)
* { rowData.add("上班缺卡"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(sblacks), num) >= 0 &&
* Arrays.binarySearch(ClockInTool.deleteArrayNull(ztts), num) >= 0) {
* rowData.add("上班缺卡,下班早退"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(cdts), num) >= 0) {
* rowData.add("上班迟到"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(cdts), num) >= 0 &&
* Arrays.binarySearch(ClockInTool.deleteArrayNull(xblacks), num) >= 0) {
* rowData.add("上班迟到,下班缺卡"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(cdts), num) >= 0 &&
* Arrays.binarySearch(ClockInTool.deleteArrayNull(ztts), num) >= 0) {
* rowData.add("上班迟到,下班早退"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(xblacks), num) >= 0) {
* rowData.add("下班缺卡"); }else
* if(Arrays.binarySearch(ClockInTool.deleteArrayNull(ztts), num) >= 0) {
* rowData.add("下班早退"); }else { rowData.add("正常"); } }
*/
}
KqglAssoBcsz
shif
=
KqglAssoBcsz
.
builder
().
build
();
...
...
@@ -690,7 +724,7 @@ public class AttendanceTaskTiming{
summary
.
setDay31
(
noticesArray
[
30
]);
summary
.
insert
();
}
}
//
}
// KqglTaskTiming.builder().task("AttendanceTask").id(sockid).executionStatus(0).lastExecutionTime(new Date().getTime()).build().updateById();
// return new Exception().getStackTrace()[0].getMethodName();
...
...
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