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
4 years ago
by
lal
Committed by
chenzg
3 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交
parent
b3090653
Show 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
...
...
@@ -24,6 +24,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时间转换为时间戳
*
* @param time
...
...
This diff is collapsed.
Click to expand it.
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();
...
...
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