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
751e700f
Commit
751e700f
authored
Aug 14, 2023
by
zhangsen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员红黄码规则部分代码提交
parent
07e00d0d
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
192 additions
and
23 deletions
+192
-23
QrcodeColorEnum.java
...join/amos/boot/module/jxiop/api/Enum/QrcodeColorEnum.java
+26
-0
QrcodePostEnum.java
...ejoin/amos/boot/module/jxiop/api/Enum/QrcodePostEnum.java
+33
-0
CertificationInfo.java
...oin/amos/boot/module/jxiop/api/dto/CertificationInfo.java
+11
-0
PersonDto.java
...com/yeejoin/amos/boot/module/jxiop/api/dto/PersonDto.java
+2
-1
PersonBasic.java
...eejoin/amos/boot/module/jxiop/api/entity/PersonBasic.java
+5
-0
PersonBasicController.java
...ot/module/jxiop/biz/controller/PersonBasicController.java
+5
-4
PersonBasicServiceImpl.java
...module/jxiop/biz/service/impl/PersonBasicServiceImpl.java
+110
-18
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/Enum/QrcodeColorEnum.java
0 → 100644
View file @
751e700f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
QrcodeColorEnum
{
GREEN
(
"绿码"
,
"green"
),
RED
(
"红码"
,
"red"
),
YELLOW
(
"黄码"
,
"yellow"
);
private
String
name
;
private
String
code
;
public
static
String
getCode
(
String
name
)
{
for
(
QrcodeColorEnum
qrcodeColorEnum
:
QrcodeColorEnum
.
values
())
{
if
(
qrcodeColorEnum
.
getName
().
equals
(
name
))
{
return
qrcodeColorEnum
.
getCode
();
}
}
return
null
;
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/Enum/QrcodePostEnum.java
0 → 100644
View file @
751e700f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
QrcodePostEnum
{
ZZ
(
"站长"
,
"登高证,调度证,高压电工证"
),
FZZ
(
"副站长"
,
"登高证,调度证,高压电工证"
),
JXBZ
(
"检修班长"
,
"登高证,高压电工证"
),
JXY
(
"检修员"
,
"登高证,高压电工证"
),
YWZZ
(
"运维值长"
,
"登高证,调度证,高压电工证"
),
YWY
(
"运维员"
,
"登高证,调度证,高压电工证"
),
CS
(
"厨师"
,
"健康证"
),
AQY
(
"安全员"
,
"安全员证"
),
SJ
(
"司机"
,
"驾照"
),
XFY
(
"消防员"
,
"消防设施操作证"
);
private
String
name
;
private
String
code
;
public
static
String
getCode
(
String
name
)
{
for
(
QrcodePostEnum
qrcodePostEnum
:
QrcodePostEnum
.
values
())
{
if
(
qrcodePostEnum
.
getName
().
equals
(
name
))
{
return
qrcodePostEnum
.
getCode
();
}
}
return
null
;
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/dto/CertificationInfo.java
0 → 100644
View file @
751e700f
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
api
.
dto
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CertificationInfo
{
private
List
<
PersonCertificate
>
certificationInfo
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/dto/PersonDto.java
View file @
751e700f
...
...
@@ -17,7 +17,8 @@ public class PersonDto {
private
PersonUser
personUser
;
//资质信息
private
PersonCertificate
personCertificate
;
// private CertificationInfo personCertificate;
private
CertificationInfo
personCertificate
;
//账户信息
private
PersonAccount
personAccount
;
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-api/src/main/java/com/yeejoin/amos/boot/module/jxiop/api/entity/PersonBasic.java
View file @
751e700f
...
...
@@ -150,4 +150,9 @@ public class PersonBasic extends BaseEntity {
@TableField
(
"post_name"
)
private
String
postName
;
/**
* 岗位
*/
@TableField
(
"qrcode_color"
)
private
String
qrcodeColor
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/PersonBasicController.java
View file @
751e700f
...
...
@@ -11,6 +11,8 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.Api
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
java.text.ParseException
;
import
java.util.List
;
import
com.yeejoin.amos.boot.module.jxiop.biz.service.impl.PersonBasicServiceImpl
;
import
org.springframework.web.context.request.RequestContextHolder
;
...
...
@@ -50,10 +52,9 @@ public class PersonBasicController extends BaseController {
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增人员基本信息"
,
notes
=
"新增人员基本信息"
)
public
ResponseModel
<
Object
>
save
(
@RequestBody
PersonDto
model
,
HttpServletRequest
httpServletRequest
)
{
try
{
personBasicServiceImpl
.
addPerson
(
model
,
httpServletRequest
);
}
catch
(
InnerInvokException
e
){
personBasicServiceImpl
.
addPerson
(
model
,
httpServletRequest
);
}
catch
(
InnerInvokException
|
ParseException
e
){
e
.
printStackTrace
();
return
this
.
buildResponseFalse
(
e
.
getMessage
());
}
...
...
@@ -76,7 +77,7 @@ public class PersonBasicController extends BaseController {
public
ResponseModel
<
PersonDto
>
updateBySequenceNbrPersonBasic
(
@RequestBody
PersonDto
model
,
@RequestParam
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
,
HttpServletRequest
httpServletRequest
)
{
try
{
personBasicServiceImpl
.
updatePerson
(
model
,
httpServletRequest
,
sequenceNbr
);
}
catch
(
InnerInvokException
e
){
}
catch
(
InnerInvokException
|
ParseException
e
){
e
.
printStackTrace
();
return
this
.
buildResponseFalse
(
e
.
getMessage
());
}
...
...
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 @
751e700f
...
...
@@ -2,7 +2,13 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
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.dto.*
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic
;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.*
;
...
...
@@ -17,7 +23,9 @@ import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import
com.yeejoin.amos.feign.privilege.model.DepartmentModel
;
import
com.yeejoin.amos.feign.privilege.model.LoginInfoModel
;
import
com.yeejoin.amos.feign.privilege.util.DesUtil
;
import
org.apache.commons.compress.utils.Lists
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -28,6 +36,7 @@ import org.springframework.stereotype.Service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -83,30 +92,68 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
* 新增
*/
@Transactional
public
void
addPerson
(
PersonDto
model
,
HttpServletRequest
httpServletRequest
)
{
public
void
addPerson
(
PersonDto
model
,
HttpServletRequest
httpServletRequest
)
throws
ParseException
{
//获取人员基本信息数据
PersonUser
personUser
=
model
.
getPersonUser
();
//获取人员资质信息
PersonCertificate
personCertificate
=
model
.
getPersonCertificate
();
//获取人员账号信息
PersonAccount
personAccount
=
model
.
getPersonAccount
();
personUser
.
setPhone
(
personAccount
.
getPhoneNum
());
//人员基础信息
PersonBasic
personBasic
=
new
PersonBasic
();
BeanUtils
.
copyProperties
(
personUser
,
personBasic
);
//默认红码
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
RED
.
getCode
());
// 该岗位应获得的证书
List
<
String
>
list2
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotEmpty
(
personUser
.
getPostName
()))
{
String
certificates
=
QrcodePostEnum
.
getCode
(
personUser
.
getPostName
());
list2
=
Arrays
.
asList
(
certificates
.
split
(
","
));
}
List
<
String
>
list
=
new
ArrayList
(
list2
);
//人员资质信息
Integer
isInMonth
=
0
;
Integer
isOver
=
0
;
CertificationInfo
personCertificate
=
model
.
getPersonCertificate
();
for
(
PersonCertificate
item
:
personCertificate
.
getCertificationInfo
())
{
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
Integer
.
parseInt
(
item
.
getValidPeriod
()));
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
-
1
)
{
isOver
=
1
;
}
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateBetweenIncludeToday
(
date
,
new
Date
())
<
30
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
1
)
{
isInMonth
=
1
;
}
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
());
}
this
.
baseMapper
.
insert
(
personBasic
);
personCertificate
.
getCertificationInfo
().
forEach
(
item
->
{
item
.
setPersonId
(
personBasic
.
getSequenceNbr
());
personCertificateService
.
save
(
item
);
});
//人员技能学历信息
PersonSkillEducation
personSkillEducation
=
new
PersonSkillEducation
();
BeanUtils
.
copyProperties
(
personUser
,
personSkillEducation
);
personSkillEducation
.
setPersonId
(
personBasic
.
getSequenceNbr
());
personSkillEducationService
.
save
(
personSkillEducation
);
//人员资质信息
personCertificate
.
setPersonId
(
personBasic
.
getSequenceNbr
());
personCertificateService
.
save
(
personCertificate
);
//人员账号信息
personAccount
.
setPersonId
(
personBasic
.
getSequenceNbr
());
personAccount
.
setPassword
(
DesUtil
.
encode
(
personAccount
.
getPassword
(),
secretKey
));
...
...
@@ -184,13 +231,11 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
@Transactional
public
PersonDto
updatePerson
(
PersonDto
model
,
HttpServletRequest
httpServletRequest
,
Long
sequenceNbr
)
{
public
PersonDto
updatePerson
(
PersonDto
model
,
HttpServletRequest
httpServletRequest
,
Long
sequenceNbr
)
throws
ParseException
{
//获取人员基本信息数据
PersonUser
personUser
=
model
.
getPersonUser
();
//获取人员资质信息
PersonCertificate
personCertificate
=
model
.
getPersonCertificate
();
//获取人员账号信息
PersonAccount
personAccount
=
model
.
getPersonAccount
();
PersonAccount
oldpersonAccount
=
new
PersonAccount
();
...
...
@@ -201,7 +246,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personBasic
.
setSequenceNbr
(
sequenceNbr
);
personAccount
.
setPassword
(
DesUtil
.
encode
(
personAccount
.
getPassword
(),
secretKey
));
personAccount
.
setSecondaryPassword
(
DesUtil
.
encode
(
personAccount
.
getSecondaryPassword
(),
secretKey
));
this
.
personBasicMapper
.
updateById
(
personBasic
);
//人员归属信息
PersonSkillEducation
personSkillEducation
=
new
PersonSkillEducation
();
BeanUtils
.
copyProperties
(
personUser
,
personSkillEducation
);
...
...
@@ -209,8 +254,54 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
PersonSkillEducation
personSkillEducationd
=
personSkillEducationService
.
getOne
(
new
QueryWrapper
<
PersonSkillEducation
>().
eq
(
"person_id"
,
personBasic
.
getSequenceNbr
()));
personSkillEducation
.
setSequenceNbr
(
personSkillEducationd
.
getSequenceNbr
());
personSkillEducationService
.
updateById
(
personSkillEducation
);
//获取人员资质信息
CertificationInfo
personCertificate
=
model
.
getPersonCertificate
();
LambdaUpdateWrapper
<
PersonCertificate
>
wrapper
=
new
LambdaUpdateWrapper
<>();
wrapper
.
eq
(
PersonCertificate:
:
getPersonId
,
personBasic
.
getSequenceNbr
());
personCertificateService
.
remove
(
wrapper
);
//默认红码
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
RED
.
getCode
());
// 该岗位应获得的证书
List
<
String
>
list2
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotEmpty
(
personUser
.
getPostName
()))
{
String
certificates
=
QrcodePostEnum
.
getCode
(
personUser
.
getPostName
());
list2
=
Arrays
.
asList
(
certificates
.
split
(
","
));
}
List
<
String
>
list
=
new
ArrayList
(
list2
);
//人员资质信息
personCertificateService
.
updateById
(
personCertificate
);
Integer
isInMonth
=
0
;
Integer
isOver
=
0
;
for
(
PersonCertificate
item
:
personCertificate
.
getCertificationInfo
())
{
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
Integer
.
parseInt
(
item
.
getValidPeriod
()));
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
-
1
)
{
isOver
=
1
;
}
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
DateUtils
.
dateBetweenIncludeToday
(
date
,
new
Date
())
<
30
&&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
1
)
{
isInMonth
=
1
;
}
item
.
setPersonId
(
personBasic
.
getSequenceNbr
());
personCertificateService
.
save
(
item
);
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
());
}
this
.
personBasicMapper
.
updateById
(
personBasic
);
//人员账号信息
personAccount
.
setPersonId
(
sequenceNbr
);
oldpersonAccount
=
personAccountService
.
getById
(
personAccount
.
getSequenceNbr
());
...
...
@@ -293,6 +384,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
QueryWrapper
<
PersonBasic
>
wrapper1
=
new
QueryWrapper
();
wrapper1
.
eq
(
"sequence_nbr"
,
sequenceNbr
);
wrapper1
.
eq
(
"is_delete"
,
0
);
//人员基础信息
PersonBasic
personBasic
=
this
.
getOne
(
wrapper1
);
BeanUtils
.
copyProperties
(
personBasic
,
personUser
);
...
...
@@ -302,12 +394,12 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
PersonSkillEducation
personSkillEducation
=
personSkillEducationService
.
getOne
(
wrapper2
);
BeanUtils
.
copyProperties
(
personSkillEducation
,
personUser
);
QueryWrapper
<
PersonCertificate
>
wrapper3
=
new
QueryWrapper
();
wrapper3
.
eq
(
"person_id"
,
sequenceNbr
);
//人员资质信息
PersonCertificate
personCertificate
=
personCertificateService
.
getOne
(
wrapper3
);
LambdaQueryWrapper
<
PersonCertificate
>
personCertificateLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
personCertificateLambdaQueryWrapper
.
eq
(
PersonCertificate:
:
getPersonId
,
sequenceNbr
);
List
<
PersonCertificate
>
list
=
personCertificateService
.
list
(
personCertificateLambdaQueryWrapper
);
CertificationInfo
certificationInfo
=
new
CertificationInfo
();
certificationInfo
.
setCertificationInfo
(
list
);
QueryWrapper
<
PersonAccount
>
wrapper4
=
new
QueryWrapper
();
wrapper4
.
eq
(
"person_id"
,
sequenceNbr
);
...
...
@@ -321,7 +413,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personUser
.
setNativePlace
(
JSON
.
parseArray
(
personBasic
.
getNativePlace
(),
Integer
.
class
));
}
personDto
.
setPersonUser
(
personUser
);
personDto
.
setPersonCertificate
(
personCertificate
);
personDto
.
setPersonCertificate
(
certificationInfo
);
personDto
.
setPersonAccount
(
personAccount
);
return
personDto
;
}
...
...
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