Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
b6be8447
Commit
b6be8447
authored
Aug 14, 2023
by
zhangsen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员红黄码规则部分代码提交
parent
bc045e47
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
140 additions
and
2 deletions
+140
-2
CertificateDto.java
...eejoin/amos/boot/module/jxiop/api/dto/CertificateDto.java
+19
-0
PersonYardDto.java
...yeejoin/amos/boot/module/jxiop/api/dto/PersonYardDto.java
+25
-0
PersonBasicServiceImpl.java
...module/jxiop/biz/service/impl/PersonBasicServiceImpl.java
+4
-2
PersonYardTimeTask.java
...oot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
+92
-0
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/dto/CertificateDto.java
0 → 100644
View file @
b6be8447
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
CertificateDto
implements
Serializable
{
/**
* 证书集合 【逗号隔开】
*/
private
String
certificates
;
/**
* 距过期还有多少天 【已过期的不会出现在这里】
*/
private
Integer
expirationDays
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/dto/PersonYardDto.java
0 → 100644
View file @
b6be8447
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
public
class
PersonYardDto
implements
Serializable
{
/**
* 岗位
*/
private
String
postName
;
/**
* 人员表主键ID
*/
private
Long
personId
;
/**
* 证书信息
*/
private
List
<
CertificateDto
>
certificateDtoList
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/PersonBasicServiceImpl.java
View file @
b6be8447
...
...
@@ -119,6 +119,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
Integer
isOver
=
0
;
CertificationInfo
personCertificate
=
model
.
getPersonCertificate
();
if
(
CollectionUtils
.
isNotEmpty
(
personCertificate
.
getCertificationInfo
()))
{
for
(
PersonCertificate
item
:
personCertificate
.
getCertificationInfo
())
{
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
Integer
.
parseInt
(
item
.
getValidPeriod
()));
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
...
...
@@ -132,7 +133,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
list
.
remove
(
item
.
getCertificateName
());
}
}
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isInMonth
==
0
&&
isOver
==
0
)
{
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
GREEN
.
getCode
());
}
else
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isOver
==
1
)
{
...
...
@@ -274,7 +275,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
//人员资质信息
Integer
isInMonth
=
0
;
Integer
isOver
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
personCertificate
.
getCertificationInfo
()))
{
for
(
PersonCertificate
item
:
personCertificate
.
getCertificationInfo
())
{
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
Integer
.
parseInt
(
item
.
getValidPeriod
()));
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
...
...
@@ -291,6 +292,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personCertificateService
.
save
(
item
);
list
.
remove
(
item
.
getCertificateName
());
}
}
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isInMonth
==
0
&&
isOver
==
0
)
{
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
GREEN
.
getCode
());
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
0 → 100644
View file @
b6be8447
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodeColorEnum
;
import
com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodePostEnum
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate
;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonBasicMapper
;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonCertificateMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Slf4j
@Component
public
class
PersonYardTimeTask
{
@Autowired
PersonBasicMapper
personBasicMapper
;
@Autowired
PersonBasicServiceImpl
personBasicService
;
//人员资质信息service
@Autowired
PersonCertificateMapper
personCertificateMapper
;
@Scheduled
(
cron
=
"0 0 0 1/1 * ? "
)
public
void
timeYardTimeTask
()
{
List
<
PersonBasic
>
personBasicList
=
personBasicMapper
.
selectList
(
null
);
List
<
PersonCertificate
>
personCertificates
=
personCertificateMapper
.
selectList
(
null
);
Map
<
Long
,
List
<
PersonCertificate
>>
perCertificateMap
=
personCertificates
.
stream
().
filter
(
item
->
ObjectUtils
.
isNotEmpty
(
item
.
getPersonId
())).
collect
(
Collectors
.
groupingBy
(
PersonCertificate:
:
getPersonId
));
List
<
PersonBasic
>
personBasics
=
new
ArrayList
<>();
personBasicList
.
forEach
(
personBasic
->
{
List
<
PersonCertificate
>
personCertificateList
=
perCertificateMap
.
get
(
personBasic
.
getSequenceNbr
());
//默认红码
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
RED
.
getCode
());
// 该岗位应获得的证书
List
<
String
>
list2
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotEmpty
(
personBasic
.
getPostName
()))
{
String
certificates
=
QrcodePostEnum
.
getCode
(
personBasic
.
getPostName
());
list2
=
Arrays
.
asList
(
certificates
.
split
(
","
));
}
List
<
String
>
list
=
new
ArrayList
(
list2
);
//人员资质信息
Integer
isInMonth
=
0
;
Integer
isOver
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
personCertificateList
))
{
for
(
PersonCertificate
item
:
personCertificateList
)
{
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
Integer
.
parseInt
(
item
.
getValidPeriod
()));
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
-
1
)
{
isOver
=
1
;
}
try
{
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateBetweenIncludeToday
(
date
,
new
Date
())
<
30
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
1
)
{
isInMonth
=
1
;
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
list
.
remove
(
item
.
getCertificateName
());
}
}
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isInMonth
==
0
&&
isOver
==
0
)
{
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
GREEN
.
getCode
());
}
else
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isOver
==
1
)
{
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
RED
.
getCode
());
}
else
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isOver
==
0
&&
isInMonth
==
1
)
{
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
YELLOW
.
getCode
());
}
personBasics
.
add
(
personBasic
);
});
personBasicService
.
updateBatchById
(
personBasics
);
}
}
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