Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 4629090e
authored
Aug 10, 2023
by
王力
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_mp2jpa0809' into 'develop'
Dev mp2jpa0809 See merge request !326
2 parents
49edbc50
6a51be14
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
166 additions
and
137 deletions
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerController.java
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerBusinessDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerSkillGroupDao.java
project-order/src/main/java/com/dituhui/pea/order/service/EngineerService.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerController.java
View file @
4629090
...
@@ -31,8 +31,8 @@ public class EngineerController {
...
@@ -31,8 +31,8 @@ public class EngineerController {
@GetMapping
(
"/engineer/info/list"
)
@GetMapping
(
"/engineer/info/list"
)
public
Result
<?>
getEngineerInfoList
(
@RequestParam
String
levelType
,
public
Result
<?>
getEngineerInfoList
(
@RequestParam
String
levelType
,
@RequestParam
String
levelValue
,
@RequestParam
String
levelValue
,
@RequestParam
long
page
,
@RequestParam
int
page
,
@RequestParam
long
size
,
@RequestParam
int
size
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
key
)
{
@RequestParam
(
required
=
false
)
String
key
)
{
// 获取工程师基础信息列表
// 获取工程师基础信息列表
...
@@ -60,8 +60,8 @@ public class EngineerController {
...
@@ -60,8 +60,8 @@ public class EngineerController {
@GetMapping
(
"/engineer/skill/list"
)
@GetMapping
(
"/engineer/skill/list"
)
public
Result
<?>
getEngineerSkillList
(
@RequestParam
String
levelType
,
public
Result
<?>
getEngineerSkillList
(
@RequestParam
String
levelType
,
@RequestParam
String
levelValue
,
@RequestParam
String
levelValue
,
@RequestParam
long
page
,
@RequestParam
int
page
,
@RequestParam
long
size
,
@RequestParam
int
size
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
key
)
{
@RequestParam
(
required
=
false
)
String
key
)
{
// 获取工程师技能信息列表
// 获取工程师技能信息列表
...
@@ -100,8 +100,8 @@ public class EngineerController {
...
@@ -100,8 +100,8 @@ public class EngineerController {
@GetMapping
(
"/engineer/business/list"
)
@GetMapping
(
"/engineer/business/list"
)
public
Result
<?>
getEngineerBusinessList
(
@RequestParam
String
levelType
,
public
Result
<?>
getEngineerBusinessList
(
@RequestParam
String
levelType
,
@RequestParam
String
levelValue
,
@RequestParam
String
levelValue
,
@RequestParam
long
page
,
@RequestParam
int
page
,
@RequestParam
long
size
,
@RequestParam
int
size
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
kind
,
@RequestParam
(
required
=
false
)
String
key
)
{
@RequestParam
(
required
=
false
)
String
key
)
{
// 技术员业务属性配置列表
// 技术员业务属性配置列表
...
...
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerBusinessDao.java
View file @
4629090
...
@@ -23,4 +23,6 @@ public interface EngineerBusinessDao extends CrudRepository<EngineerBusinessEnti
...
@@ -23,4 +23,6 @@ public interface EngineerBusinessDao extends CrudRepository<EngineerBusinessEnti
void
updateEngineerCenter
(
String
address
,
String
x
,
String
y
,
String
engineerCode
);
void
updateEngineerCenter
(
String
address
,
String
x
,
String
y
,
String
engineerCode
);
EngineerBusinessEntity
getByEngineerCode
(
String
engineerCode
);
EngineerBusinessEntity
getByEngineerCode
(
String
engineerCode
);
List
<
EngineerBusinessEntity
>
findByEngineerCodeIn
(
List
<
String
>
engineerCodes
);
}
}
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerSkillGroupDao.java
View file @
4629090
...
@@ -10,6 +10,7 @@ public interface EngineerSkillGroupDao extends JpaRepository<EngineerSkillGroupE
...
@@ -10,6 +10,7 @@ public interface EngineerSkillGroupDao extends JpaRepository<EngineerSkillGroupE
List
<
EngineerSkillGroupEntity
>
findByEngineerCode
(
String
engineerCode
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCode
(
String
engineerCode
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCodeAndStatus
(
String
engineerCode
,
boolean
status
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCodeAndStatus
(
String
engineerCode
,
boolean
status
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCodeInAndStatus
(
List
<
String
>
engineerCodes
,
boolean
status
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCodeInAndStatus
(
List
<
String
>
engineerCodes
,
boolean
status
);
List
<
EngineerSkillGroupEntity
>
findByEngineerCodeInAndStatusIn
(
List
<
String
>
engineerCodes
,
List
<
Boolean
>
status
);
List
<
EngineerSkillGroupEntity
>
findBySkillGroupCode
(
String
skillGroupCode
);
List
<
EngineerSkillGroupEntity
>
findBySkillGroupCode
(
String
skillGroupCode
);
List
<
EngineerSkillGroupEntity
>
findBySkillGroupCodeAndStatus
(
String
skillGroupCode
,
boolean
status
);
List
<
EngineerSkillGroupEntity
>
findBySkillGroupCodeAndStatus
(
String
skillGroupCode
,
boolean
status
);
}
}
project-order/src/main/java/com/dituhui/pea/order/service/EngineerService.java
View file @
4629090
...
@@ -7,16 +7,16 @@ import java.util.List;
...
@@ -7,16 +7,16 @@ import java.util.List;
public
interface
EngineerService
{
public
interface
EngineerService
{
// 获取公司列表
// 获取公司列表
Result
<?>
getEngineerInfoList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerInfoList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerInfoDetail
(
String
engineerCode
);
Result
<?>
getEngineerInfoDetail
(
String
engineerCode
);
// 获取工程师技能列表
// 获取工程师技能列表
Result
<?>
getEngineerSkillList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerSkillList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
);
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
);
Result
<?>
engineerSkillUpdate
(
String
engineerCode
,
List
<
String
>
categoryIds
);
Result
<?>
engineerSkillUpdate
(
String
engineerCode
,
List
<
String
>
categoryIds
);
// 工程师业务属性配置列表
// 工程师业务属性配置列表
Result
<?>
getEngineerBusinessList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerBusinessList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
);
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
);
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
);
// 技术员业务属性配置修改
// 技术员业务属性配置修改
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerServiceImpl.java
View file @
4629090
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.common.ListUtils
;
import
com.dituhui.pea.order.common.TimeUtils
;
import
com.dituhui.pea.order.common.TimeUtils
;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dao.EngineerBusinessDao
;
import
com.dituhui.pea.order.dto.*
;
import
com.dituhui.pea.order.dao.EngineerInfoDao
;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.dao.EngineerSkillGroupDao
;
import
com.dituhui.pea.order.dao.OrgGroupDao
;
import
com.dituhui.pea.order.dto.EngineerBusinessListResp
;
import
com.dituhui.pea.order.dto.EngineerInfoListResp
;
import
com.dituhui.pea.order.dto.EngineerSkillListResp
;
import
com.dituhui.pea.order.entity.EngineerBusinessEntity
;
import
com.dituhui.pea.order.entity.EngineerInfoEntity
;
import
com.dituhui.pea.order.entity.EngineerSkillGroupEntity
;
import
com.dituhui.pea.order.entity.OrgGroupEntity
;
import
com.dituhui.pea.order.service.EngineerService
;
import
com.dituhui.pea.order.service.EngineerService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.StringUtils
;
import
javax.persistence.EntityManager
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaUpdate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.Duration
;
import
java.time.Duration
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
...
@@ -29,28 +43,30 @@ import java.util.stream.Collectors;
...
@@ -29,28 +43,30 @@ import java.util.stream.Collectors;
public
class
EngineerServiceImpl
implements
EngineerService
{
public
class
EngineerServiceImpl
implements
EngineerService
{
@Autowired
@Autowired
private
EngineerInfoMPDao
engineerInfoMP
Dao
;
private
EngineerInfoDao
engineerInfo
Dao
;
@Autowired
@Autowired
private
EngineerSkillGroupMPDao
engineerSkillGroupMP
Dao
;
private
EngineerSkillGroupDao
engineerSkillGroup
Dao
;
@Autowired
@Autowired
private
OrgGroupMPDao
orgGroupMP
Dao
;
private
OrgGroupDao
orgGroup
Dao
;
@Autowired
@Autowired
private
EngineerBusinessMP
Dao
engineerBusinessDao
;
private
EngineerBusiness
Dao
engineerBusinessDao
;
@Autowired
private
EntityManager
entityManager
;
@Transactional
@Transactional
@Override
@Override
public
Result
<?>
getEngineerInfoList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
)
{
public
Result
<?>
getEngineerInfoList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
)
{
// 查询工程师信息
// 查询工程师信息
IPage
<
EngineerInfo
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
Page
<
EngineerInfoEntity
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
List
<
EngineerInfo
>
records
=
pg
.
getRecords
();
List
<
EngineerInfoEntity
>
records
=
pg
.
getContent
();
// 获取groupIds
// 获取groupIds
List
<
String
>
groupIds
=
records
.
stream
().
map
(
EngineerInfo
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
List
<
String
>
groupIds
=
records
.
stream
().
map
(
EngineerInfoEntity
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
// 获取Map<groupId, groupName>
// 获取Map<groupId, groupName>
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
...
@@ -58,9 +74,9 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -58,9 +74,9 @@ public class EngineerServiceImpl implements EngineerService {
// 设置返回值
// 设置返回值
EngineerInfoListResp
res
=
new
EngineerInfoListResp
();
EngineerInfoListResp
res
=
new
EngineerInfoListResp
();
res
.
setContent
(
this
.
packEngineerInfos
(
records
,
groupNames
));
res
.
setContent
(
this
.
packEngineerInfos
(
records
,
groupNames
));
res
.
setTotal
(
pg
.
getTotal
());
res
.
setTotal
(
pg
.
getTotalElements
());
res
.
setPages
(
pg
.
get
Pages
());
res
.
setPages
(
pg
.
getTotal
Pages
());
res
.
setPageCurrent
(
pg
.
getCurrent
()
);
res
.
setPageCurrent
(
pg
.
getNumber
()
+
1
);
res
.
setPageSize
(
pg
.
getSize
());
res
.
setPageSize
(
pg
.
getSize
());
return
Result
.
success
(
res
);
return
Result
.
success
(
res
);
...
@@ -71,15 +87,15 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -71,15 +87,15 @@ public class EngineerServiceImpl implements EngineerService {
// 获取技术员基础信息详情
// 获取技术员基础信息详情
// 获取技术员列表
// 获取技术员列表
List
<
EngineerInfo
>
records
=
engineerInfoMPDao
.
selec
tByEngineerCode
(
engineerCode
);
EngineerInfoEntity
engineer
=
engineerInfoDao
.
ge
tByEngineerCode
(
engineerCode
);
if
(
records
.
isEmpty
()
)
{
if
(
engineer
==
null
)
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
List
<
String
>
groupIds
=
records
.
stream
().
map
(
EngineerInfo:
:
getGroupId
).
collect
(
Collectors
.
toList
()
);
String
groupId
=
engineer
.
getGroupId
(
);
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
List
.
of
(
groupId
)
);
List
<
EngineerInfoListResp
.
EngineerInfo
>
items
=
this
.
packEngineerInfos
(
records
,
groupNames
);
List
<
EngineerInfoListResp
.
EngineerInfo
>
items
=
this
.
packEngineerInfos
(
List
.
of
(
engineer
)
,
groupNames
);
if
(
items
.
isEmpty
())
{
if
(
items
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -88,15 +104,15 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -88,15 +104,15 @@ public class EngineerServiceImpl implements EngineerService {
@Transactional
@Transactional
@Override
@Override
public
Result
<?>
getEngineerSkillList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
)
{
public
Result
<?>
getEngineerSkillList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
)
{
// 获取技术员技能列表
// 获取技术员技能列表
IPage
<
EngineerInfo
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
Page
<
EngineerInfoEntity
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
List
<
EngineerInfo
>
engineers
=
pg
.
getRecords
();
List
<
EngineerInfoEntity
>
engineers
=
pg
.
getContent
();
EngineerSkillListResp
res
=
new
EngineerSkillListResp
();
EngineerSkillListResp
res
=
new
EngineerSkillListResp
();
res
.
setTotal
(
pg
.
getTotal
());
res
.
setTotal
(
pg
.
getTotalElements
());
res
.
setPages
(
pg
.
get
Pages
());
res
.
setPages
(
pg
.
getTotal
Pages
());
res
.
setPageCurrent
(
pg
.
getCurrent
()
);
res
.
setPageCurrent
(
pg
.
getNumber
()
+
1
);
res
.
setPageSize
(
pg
.
getSize
());
res
.
setPageSize
(
pg
.
getSize
());
res
.
setContent
(
this
.
packEngineerSkills
(
engineers
));
res
.
setContent
(
this
.
packEngineerSkills
(
engineers
));
return
Result
.
success
(
res
);
return
Result
.
success
(
res
);
...
@@ -105,11 +121,11 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -105,11 +121,11 @@ public class EngineerServiceImpl implements EngineerService {
@Override
@Override
public
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
)
throws
BusinessException
{
public
Result
<?>
getEngineerSkillDetail
(
String
engineerCode
)
throws
BusinessException
{
// 获取工程师技能详情
// 获取工程师技能详情
List
<
EngineerInfo
>
engineers
=
engineerInfoMPDao
.
selec
tByEngineerCode
(
engineerCode
);
EngineerInfoEntity
engineer
=
engineerInfoDao
.
ge
tByEngineerCode
(
engineerCode
);
if
(
engineers
.
isEmpty
()
)
{
if
(
engineer
==
null
)
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
List
<
EngineerSkillListResp
.
EngineerSkill
>
items
=
this
.
packEngineerSkills
(
engineers
);
List
<
EngineerSkillListResp
.
EngineerSkill
>
items
=
this
.
packEngineerSkills
(
List
.
of
(
engineer
)
);
if
(
items
.
isEmpty
())
{
if
(
items
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -122,25 +138,34 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -122,25 +138,34 @@ public class EngineerServiceImpl implements EngineerService {
// 更新技术员技能
// 更新技术员技能
// 先将所有技能更新为0-不可用状态
// 先将所有技能更新为0-不可用状态
LambdaUpdateWrapper
<
EngineerSkillGroup
>
wrapper
=
new
LambdaUpdateWrapper
<>();
CriteriaBuilder
cb
=
entityManager
.
getCriteriaBuilder
();
wrapper
.
eq
(
EngineerSkillGroup:
:
getEngineerCode
,
engineerCode
).
set
(
EngineerSkillGroup:
:
getStatus
,
0
);
CriteriaUpdate
<
EngineerSkillGroupEntity
>
update
=
cb
.
createCriteriaUpdate
(
EngineerSkillGroupEntity
.
class
);
engineerSkillGroupMPDao
.
update
(
null
,
wrapper
);
Root
<
EngineerSkillGroupEntity
>
root
=
update
.
from
(
EngineerSkillGroupEntity
.
class
);
update
.
set
(
root
.
get
(
"status"
),
0
);
update
.
where
(
cb
.
equal
(
root
.
get
(
"engineerCode"
),
engineerCode
));
entityManager
.
createQuery
(
update
).
executeUpdate
();
if
(
skillGroupIds
.
isEmpty
())
{
if
(
skillGroupIds
.
isEmpty
())
{
return
null
;
return
null
;
}
}
// 更新categoryIds状态为1
// 更新categoryIds状态为1
wrapper
.
eq
(
EngineerSkillGroup:
:
getEngineerCode
,
engineerCode
);
CriteriaBuilder
cb1
=
entityManager
.
getCriteriaBuilder
();
wrapper
.
in
(
EngineerSkillGroup:
:
getSkillGroupCode
,
skillGroupIds
);
CriteriaUpdate
<
EngineerSkillGroupEntity
>
update1
=
cb
.
createCriteriaUpdate
(
EngineerSkillGroupEntity
.
class
);
wrapper
.
set
(
EngineerSkillGroup:
:
getStatus
,
1
);
Root
<
EngineerSkillGroupEntity
>
root1
=
update1
.
from
(
EngineerSkillGroupEntity
.
class
);
int
n
=
engineerSkillGroupMPDao
.
update
(
null
,
wrapper
);
update1
.
set
(
root1
.
get
(
"status"
),
1
);
update1
.
where
(
cb1
.
equal
(
root1
.
get
(
"engineerCode"
),
engineerCode
),
root1
.
get
(
"skillGroupCode"
).
in
(
skillGroupIds
)
);
int
n
=
entityManager
.
createQuery
(
update1
).
executeUpdate
();
if
(
skillGroupIds
.
size
()
==
n
)
{
if
(
skillGroupIds
.
size
()
==
n
)
{
// 更新记录条数等于提交记录条数
// 更新记录条数等于提交记录条数
return
null
;
return
null
;
}
}
// 可能存在engineerSkill表不存在的记录,需要补充录入
// 可能存在engineerSkill表不存在的记录,需要补充录入
List
<
Integer
>
statuses
=
new
ArrayList
<
Integer
>(
Arrays
.
asList
(
1
,
0
));
List
<
Boolean
>
statuses
=
new
ArrayList
<
Boolean
>(
Arrays
.
asList
(
true
,
false
));
List
<
String
>
engineerCodes
=
new
ArrayList
<>(
Collections
.
singletonList
(
engineerCode
));
List
<
String
>
engineerCodes
=
new
ArrayList
<>(
Collections
.
singletonList
(
engineerCode
));
HashMap
<
String
,
List
<
String
>>
engineerSkills
=
this
.
queryEngineerSkills
(
engineerCodes
,
statuses
);
HashMap
<
String
,
List
<
String
>>
engineerSkills
=
this
.
queryEngineerSkills
(
engineerCodes
,
statuses
);
...
@@ -148,30 +173,30 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -148,30 +173,30 @@ public class EngineerServiceImpl implements EngineerService {
Set
<
String
>
sDB
=
new
HashSet
<>(
engineerSkills
.
getOrDefault
(
engineerCode
,
new
ArrayList
<>()));
Set
<
String
>
sDB
=
new
HashSet
<>(
engineerSkills
.
getOrDefault
(
engineerCode
,
new
ArrayList
<>()));
sInput
.
removeAll
(
sDB
);
sInput
.
removeAll
(
sDB
);
for
(
String
skillGroupId
:
sInput
)
{
for
(
String
skillGroupId
:
sInput
)
{
EngineerSkillGroup
e
=
new
EngineerSkillGroup
();
EngineerSkillGroupEntity
e
=
new
EngineerSkillGroupEntity
();
e
.
setEngineerCode
(
engineerCode
);
e
.
setEngineerCode
(
engineerCode
);
e
.
setSkillGroupCode
(
skillGroupId
);
e
.
setSkillGroupCode
(
skillGroupId
);
e
.
setDescription
(
""
);
e
.
setDescription
(
""
);
e
.
setStatus
(
1
);
e
.
setStatus
(
true
);
engineerSkillGroupMPDao
.
inser
t
(
e
);
entityManager
.
persis
t
(
e
);
}
}
return
null
;
return
null
;
}
}
@Transactional
@Transactional
@Override
@Override
public
Result
<?>
getEngineerBusinessList
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
)
{
public
Result
<?>
getEngineerBusinessList
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
)
{
// 技术员业务属性配置列表
// 技术员业务属性配置列表
// 查询技术员列表
// 查询技术员列表
IPage
<
EngineerInfo
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
Page
<
EngineerInfoEntity
>
pg
=
this
.
queryEngineerInfoIPage
(
levelType
,
levelValue
,
page
,
size
,
kind
,
key
);
List
<
EngineerInfo
>
engineers
=
pg
.
getRecords
();
List
<
EngineerInfoEntity
>
engineers
=
pg
.
getContent
();
// 查询技术员业务属性
// 查询技术员业务属性
EngineerBusinessListResp
res
=
new
EngineerBusinessListResp
();
EngineerBusinessListResp
res
=
new
EngineerBusinessListResp
();
res
.
setTotal
(
pg
.
getTotal
());
res
.
setTotal
(
pg
.
getTotalElements
());
res
.
setPages
(
pg
.
get
Pages
());
res
.
setPages
(
pg
.
getTotal
Pages
());
res
.
setPageCurrent
(
pg
.
getCurrent
()
);
res
.
setPageCurrent
(
pg
.
getNumber
()
+
1
);
res
.
setPageSize
(
pg
.
getSize
());
res
.
setPageSize
(
pg
.
getSize
());
res
.
setContent
(
this
.
packEngineerBusinesses
(
engineers
));
res
.
setContent
(
this
.
packEngineerBusinesses
(
engineers
));
return
Result
.
success
(
res
);
return
Result
.
success
(
res
);
...
@@ -180,11 +205,11 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -180,11 +205,11 @@ public class EngineerServiceImpl implements EngineerService {
@Override
@Override
public
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
)
{
public
Result
<?>
getEngineerBusinessDetail
(
String
engineerCode
)
{
// 获取技术员业务熟悉详情
// 获取技术员业务熟悉详情
List
<
EngineerInfo
>
engineers
=
engineerInfoMPDao
.
selec
tByEngineerCode
(
engineerCode
);
EngineerInfoEntity
engineer
=
engineerInfoDao
.
ge
tByEngineerCode
(
engineerCode
);
if
(
engineers
.
isEmpty
()
)
{
if
(
engineer
==
null
)
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
List
<?>
items
=
this
.
packEngineerBusinesses
(
engineers
);
List
<?>
items
=
this
.
packEngineerBusinesses
(
List
.
of
(
engineer
)
);
if
(
items
.
isEmpty
())
{
if
(
items
.
isEmpty
())
{
throw
new
BusinessException
(
"技术员不存在"
);
throw
new
BusinessException
(
"技术员不存在"
);
}
}
...
@@ -200,52 +225,60 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -200,52 +225,60 @@ public class EngineerServiceImpl implements EngineerService {
int
minute
=
this
.
getMinuteDiff
(
TimeUtils
.
time2LocalTime
(
workOn
),
TimeUtils
.
time2LocalTime
(
workOff
));
int
minute
=
this
.
getMinuteDiff
(
TimeUtils
.
time2LocalTime
(
workOn
),
TimeUtils
.
time2LocalTime
(
workOff
));
// 技术员业务属性配置修改
// 技术员业务属性配置修改
LambdaUpdateWrapper
<
EngineerBusiness
>
wrapper
=
new
LambdaUpdateWrapper
<>();
CriteriaBuilder
cb
=
entityManager
.
getCriteriaBuilder
();
wrapper
.
eq
(
EngineerBusiness:
:
getEngineerCode
,
engineerCode
);
CriteriaUpdate
<
EngineerBusinessEntity
>
update
=
cb
.
createCriteriaUpdate
(
EngineerBusinessEntity
.
class
);
wrapper
.
set
(
EngineerBusiness:
:
getMaxNum
,
maxNum
);
Root
<
EngineerBusinessEntity
>
root
=
update
.
from
(
EngineerBusinessEntity
.
class
);
wrapper
.
set
(
EngineerBusiness:
:
getDeparture
,
departure
);
update
.
set
(
root
.
get
(
"maxNum"
),
maxNum
);
wrapper
.
set
(
EngineerBusiness:
:
getPriority
,
priority
);
update
.
set
(
root
.
get
(
"departure"
),
departure
);
wrapper
.
set
(
EngineerBusiness:
:
getWorkOn
,
workOn
);
update
.
set
(
root
.
get
(
"priority"
),
priority
);
wrapper
.
set
(
EngineerBusiness:
:
getWorkOff
,
workOff
);
update
.
set
(
root
.
get
(
"workOn"
),
workOn
);
wrapper
.
set
(
EngineerBusiness:
:
getMaxMinute
,
minute
);
update
.
set
(
root
.
get
(
"workOff"
),
workOff
);
wrapper
.
set
(
EngineerBusiness:
:
getVehicle
,
transportMode
);
update
.
set
(
root
.
get
(
"maxMinute"
),
minute
);
// 更新字段
update
.
set
(
root
.
get
(
"vehicle"
),
transportMode
);
engineerBusinessDao
.
update
(
null
,
wrapper
);
update
.
where
(
cb
.
equal
(
root
.
get
(
"engineerCode"
),
engineerCode
));
entityManager
.
createQuery
(
update
).
executeUpdate
();
return
Result
.
success
(
null
);
return
Result
.
success
(
null
);
}
}
private
IPage
<
EngineerInfo
>
queryEngineerInfoIPage
(
String
levelType
,
String
levelValue
,
long
page
,
long
size
,
String
kind
,
String
key
)
{
private
Page
<
EngineerInfoEntity
>
queryEngineerInfoIPage
(
String
levelType
,
String
levelValue
,
int
page
,
int
size
,
String
kind
,
String
key
)
{
// 分页查询工程师基础信息
// 分页查询工程师基础信息
// 查询技术员所在的groupIds
// 查询技术员所在的groupIds
LambdaQueryWrapper
<
OrgGroup
>
wrapper
=
new
LambdaQueryWrapper
<>();
List
<
OrgGroupEntity
>
groups
=
new
ArrayList
<>();
wrapper
.
select
(
OrgGroup:
:
getGroupId
);
if
(
levelType
.
equals
(
"cluster"
))
{
wrapper
.
eq
(
levelType
.
equals
(
"cluster"
),
OrgGroup:
:
getClusterId
,
levelValue
);
groups
=
orgGroupDao
.
findAllByClusterId
(
levelValue
);
wrapper
.
eq
(
levelType
.
equals
(
"branch"
),
OrgGroup:
:
getBranchId
,
levelValue
);
}
else
if
(
levelType
.
equals
(
"branch"
))
{
wrapper
.
eq
(
levelType
.
equals
(
"group"
),
OrgGroup:
:
getGroupId
,
levelValue
);
groups
=
orgGroupDao
.
findAllByBranchId
(
levelValue
);
List
<
String
>
groupIds
=
orgGroupMPDao
.
selectList
(
wrapper
).
stream
().
map
(
OrgGroup:
:
getGroupId
).
collect
(
Collectors
.
toList
());
}
else
if
(
levelType
.
equals
(
"group"
))
{
groups
=
orgGroupDao
.
findAllByGroupId
(
levelValue
);
LambdaQueryWrapper
<
EngineerInfo
>
lqw
=
new
LambdaQueryWrapper
<>();
}
lqw
.
in
(
groupIds
!=
null
&&
!
groupIds
.
isEmpty
(),
EngineerInfo:
:
getGroupId
,
groupIds
);
List
<
String
>
groupIds
=
groups
.
stream
().
map
(
OrgGroupEntity:
:
getGroupId
).
collect
(
Collectors
.
toList
());
if
(
StringUtils
.
isNotEmpty
(
kind
))
{
lqw
.
eq
(
EngineerInfo:
:
getKind
,
(
kind
.
equals
(
"fullJob"
))
?
1
:
2
);
Pageable
pageable
=
PageRequest
.
of
(
page
,
size
);
}
Specification
<
EngineerInfoEntity
>
spec
=
(
root
,
query
,
cb
)
->
{
if
(
StringUtils
.
isNotEmpty
(
key
))
{
List
<
Predicate
>
predicates
=
new
ArrayList
<>();
lqw
.
and
(
w
->
w
.
like
(
EngineerInfo:
:
getPhone
,
key
)
if
(
groupIds
!=
null
&&
!
groupIds
.
isEmpty
())
{
.
or
()
predicates
.
add
(
root
.
get
(
"groupId"
).
in
(
groupIds
));
.
like
(
EngineerInfo:
:
getName
,
key
)
}
.
or
()
.
like
(
EngineerInfo:
:
getEngineerCode
,
key
)
if
(
StringUtils
.
hasText
(
kind
))
{
);
int
kindValue
=
kind
.
equals
(
"fullJob"
)
?
1
:
2
;
predicates
.
add
(
cb
.
equal
(
root
.
get
(
"kind"
),
kindValue
));
}
}
lqw
.
orderByAsc
(
EngineerInfo:
:
getGroupId
);
lqw
.
orderByAsc
(
EngineerInfo:
:
getEngineerCode
);
IPage
<
EngineerInfo
>
pg
=
new
Page
(
page
,
size
);
if
(
StringUtils
.
hasText
(
key
))
{
engineerInfoMPDao
.
selectPage
(
pg
,
lqw
);
String
likeKey
=
"%"
+
key
+
"%"
;
return
pg
;
predicates
.
add
(
cb
.
or
(
cb
.
like
(
root
.
get
(
"phone"
),
likeKey
),
cb
.
like
(
root
.
get
(
"name"
),
likeKey
),
cb
.
like
(
root
.
get
(
"engineerCode"
),
likeKey
)
));
}
return
cb
.
and
(
predicates
.
toArray
(
new
Predicate
[
0
]));
};
return
engineerInfoDao
.
findAll
(
spec
,
pageable
);
}
}
private
HashMap
<
String
,
String
>
queryGroupNames
(
List
<
String
>
groupIds
)
{
private
HashMap
<
String
,
String
>
queryGroupNames
(
List
<
String
>
groupIds
)
{
...
@@ -255,65 +288,56 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -255,65 +288,56 @@ public class EngineerServiceImpl implements EngineerService {
if
(
groupIds
.
isEmpty
())
{
if
(
groupIds
.
isEmpty
())
{
return
map
;
return
map
;
}
}
LambdaQueryWrapper
<
OrgGroup
>
lqw
=
new
LambdaQueryWrapper
<>();
List
<
OrgGroupEntity
>
groups
=
orgGroupDao
.
findByGroupIdIn
(
groupIds
);
lqw
.
select
(
OrgGroup:
:
getGroupId
,
OrgGroup:
:
getGroupName
);
for
(
OrgGroupEntity
g
:
groups
)
{
lqw
.
in
(
OrgGroup:
:
getGroupId
,
groupIds
);
List
<
OrgGroup
>
groups
=
orgGroupMPDao
.
selectList
(
lqw
);
for
(
OrgGroup
g
:
groups
)
{
map
.
put
(
g
.
getGroupId
(),
g
.
getGroupName
());
map
.
put
(
g
.
getGroupId
(),
g
.
getGroupName
());
}
}
return
map
;
return
map
;
}
}
private
HashMap
<
String
,
List
<
String
>>
queryEngineerSkills
(
List
<
String
>
engineerCodes
,
List
<
Integer
>
statuses
)
{
private
HashMap
<
String
,
List
<
String
>>
queryEngineerSkills
(
List
<
String
>
engineerCodes
,
List
<
Boolean
>
statuses
)
{
// 获取engineerCode对应的技能表, HashMap<engineerCode, List<skillId>>
// 获取engineerCode对应的技能表, HashMap<engineerCode, List<skillId>>
HashMap
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
HashMap
<
String
,
List
<
String
>>
map
=
new
HashMap
<>();
if
(
engineerCodes
.
isEmpty
())
{
if
(
engineerCodes
.
isEmpty
())
{
return
map
;
return
map
;
}
}
LambdaQueryWrapper
<
EngineerSkillGroup
>
lqw
=
new
LambdaQueryWrapper
<>();
List
<
EngineerSkillGroupEntity
>
records
=
engineerSkillGroupDao
.
findByEngineerCodeInAndStatusIn
(
engineerCodes
,
statuses
);
lqw
.
in
(
EngineerSkillGroup:
:
getEngineerCode
,
engineerCodes
);
if
(
ListUtils
.
isEmpty
(
records
))
{
lqw
.
in
(
EngineerSkillGroup:
:
getStatus
,
statuses
);
List
<
EngineerSkillGroup
>
records
=
engineerSkillGroupMPDao
.
selectList
(
lqw
);
if
(
records
==
null
||
records
.
isEmpty
())
{
return
map
;
return
map
;
}
}
Comparator
<
EngineerSkillGroup
>
ec
=
Comparator
.
comparing
(
EngineerSkillGroup
:
:
getEngineerCode
,
String
.
CASE_INSENSITIVE_ORDER
);
Comparator
<
EngineerSkillGroupEntity
>
ec
=
Comparator
.
comparing
(
EngineerSkillGroupEntity
:
:
getEngineerCode
,
String
.
CASE_INSENSITIVE_ORDER
);
List
<
EngineerSkillGroup
>
results
=
records
.
stream
().
sorted
(
ec
).
collect
(
Collectors
.
toList
());
List
<
EngineerSkillGroupEntity
>
results
=
records
.
stream
().
sorted
(
ec
).
collect
(
Collectors
.
toList
());
// 根据engineerCode分组
// 根据engineerCode分组
Map
<
String
,
List
<
EngineerSkillGroup
>>
g
=
results
.
stream
().
collect
(
Collectors
.
groupingBy
(
EngineerSkillGroup
:
:
getEngineerCode
));
Map
<
String
,
List
<
EngineerSkillGroupEntity
>>
g
=
results
.
stream
().
collect
(
Collectors
.
groupingBy
(
EngineerSkillGroupEntity
:
:
getEngineerCode
));
for
(
String
engineerCode
:
g
.
keySet
())
{
for
(
String
engineerCode
:
g
.
keySet
())
{
// 技术员技能ID列表
// 技术员技能ID列表
List
<
String
>
skillGroupIds
=
g
.
get
(
engineerCode
).
stream
().
map
(
EngineerSkillGroup
:
:
getSkillGroupCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
skillGroupIds
=
g
.
get
(
engineerCode
).
stream
().
map
(
EngineerSkillGroupEntity
:
:
getSkillGroupCode
).
collect
(
Collectors
.
toList
());
map
.
put
(
engineerCode
,
skillGroupIds
);
map
.
put
(
engineerCode
,
skillGroupIds
);
}
}
return
map
;
return
map
;
}
}
private
HashMap
<
String
,
EngineerBusiness
>
queryEngineerBusiness
(
List
<
String
>
engineerCodes
)
{
private
HashMap
<
String
,
EngineerBusinessEntity
>
queryEngineerBusiness
(
List
<
String
>
engineerCodes
)
{
HashMap
<
String
,
EngineerBusiness
>
map
=
new
HashMap
<>();
HashMap
<
String
,
EngineerBusinessEntity
>
map
=
new
HashMap
<>();
if
(
engineerCodes
.
isEmpty
())
{
if
(
engineerCodes
.
isEmpty
())
{
return
map
;
return
map
;
}
}
LambdaQueryWrapper
<
EngineerBusiness
>
lqw
=
new
LambdaQueryWrapper
<>();
List
<
EngineerBusinessEntity
>
records
=
engineerBusinessDao
.
findByEngineerCodeIn
(
engineerCodes
);
lqw
.
in
(
EngineerBusiness:
:
getEngineerCode
,
engineerCodes
);
for
(
EngineerBusinessEntity
r
:
records
)
{
List
<
EngineerBusiness
>
records
=
engineerBusinessDao
.
selectList
(
lqw
);
for
(
EngineerBusiness
r
:
records
)
{
map
.
put
(
r
.
getEngineerCode
(),
r
);
map
.
put
(
r
.
getEngineerCode
(),
r
);
}
}
return
map
;
return
map
;
}
}
private
List
<
EngineerInfoListResp
.
EngineerInfo
>
packEngineerInfos
(
List
<
EngineerInfo
>
engineers
,
HashMap
<
String
,
String
>
groups
)
{
private
List
<
EngineerInfoListResp
.
EngineerInfo
>
packEngineerInfos
(
List
<
EngineerInfoEntity
>
engineers
,
HashMap
<
String
,
String
>
groups
)
{
String
groupName
,
age
,
kind
;
String
groupName
,
age
,
kind
;
List
<
EngineerInfoListResp
.
EngineerInfo
>
items
=
new
ArrayList
<>();
List
<
EngineerInfoListResp
.
EngineerInfo
>
items
=
new
ArrayList
<>();
for
(
EngineerInfo
e
:
engineers
)
{
for
(
EngineerInfoEntity
e
:
engineers
)
{
EngineerInfoListResp
.
EngineerInfo
item
=
new
EngineerInfoListResp
.
EngineerInfo
();
EngineerInfoListResp
.
EngineerInfo
item
=
new
EngineerInfoListResp
.
EngineerInfo
();
item
.
setEngineerCode
(
e
.
getEngineerCode
());
item
.
setEngineerCode
(
e
.
getEngineerCode
());
item
.
setNumber
(
e
.
getEngineerCode
());
item
.
setNumber
(
e
.
getEngineerCode
());
...
@@ -342,6 +366,7 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -342,6 +366,7 @@ public class EngineerServiceImpl implements EngineerService {
}
}
// 标签
// 标签
/*
List<String> tags = new ArrayList<>();
List<String> tags = new ArrayList<>();
if (e.getTags() != null && !e.getTags().isEmpty()) {
if (e.getTags() != null && !e.getTags().isEmpty()) {
for (Map.Entry<String, Object> entry : e.getTags().entrySet()) {
for (Map.Entry<String, Object> entry : e.getTags().entrySet()) {
...
@@ -349,32 +374,33 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -349,32 +374,33 @@ public class EngineerServiceImpl implements EngineerService {
}
}
}
}
item.setTags(tags);
item.setTags(tags);
*/
items
.
add
(
item
);
items
.
add
(
item
);
}
}
return
items
;
return
items
;
}
}
private
List
<
EngineerSkillListResp
.
EngineerSkill
>
packEngineerSkills
(
List
<
EngineerInfo
>
engineers
)
{
private
List
<
EngineerSkillListResp
.
EngineerSkill
>
packEngineerSkills
(
List
<
EngineerInfoEntity
>
engineers
)
{
// 获取groupId类表
// 获取groupId类表
List
<
String
>
groupIds
=
engineers
.
stream
().
map
(
EngineerInfo
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
List
<
String
>
groupIds
=
engineers
.
stream
().
map
(
EngineerInfoEntity
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
// 获取技术员code列表
// 获取技术员code列表
List
<
String
>
engineerCodes
=
engineers
.
stream
().
map
(
EngineerInfo
:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
engineerCodes
=
engineers
.
stream
().
map
(
EngineerInfoEntity
:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
// 获取技术员的可用技能列表
// 获取技术员的可用技能列表
List
<
Integer
>
statuses
=
Collections
.
singletonList
(
1
);
List
<
Boolean
>
statuses
=
Collections
.
singletonList
(
true
);
HashMap
<
String
,
List
<
String
>>
engineerSkillGroups
=
this
.
queryEngineerSkills
(
engineerCodes
,
statuses
);
HashMap
<
String
,
List
<
String
>>
engineerSkillGroups
=
this
.
queryEngineerSkills
(
engineerCodes
,
statuses
);
List
<
String
>
emptySkills
=
Collections
.
emptyList
();
List
<
String
>
emptySkills
=
Collections
.
emptyList
();
List
<
EngineerSkillListResp
.
EngineerSkill
>
items
=
new
ArrayList
<>();
List
<
EngineerSkillListResp
.
EngineerSkill
>
items
=
new
ArrayList
<>();
for
(
EngineerInfo
e
:
engineers
)
{
for
(
EngineerInfoEntity
e
:
engineers
)
{
EngineerSkillListResp
.
EngineerSkill
skill
=
new
EngineerSkillListResp
.
EngineerSkill
();
EngineerSkillListResp
.
EngineerSkill
skill
=
new
EngineerSkillListResp
.
EngineerSkill
();
skill
.
setEngineerCode
(
e
.
getEngineerCode
());
skill
.
setEngineerCode
(
e
.
getEngineerCode
());
skill
.
setEngineerName
(
e
.
getName
());
skill
.
setEngineerName
(
e
.
getName
());
skill
.
setGroupName
(
groupNames
.
getOrDefault
(
e
.
getGroupId
(),
""
));
skill
.
setGroupName
(
groupNames
.
getOrDefault
(
e
.
getGroupId
(),
""
));
skill
.
setUpdateTime
(
TimeUtils
.
IsoTimestamp2DateTime
(
e
.
getUpdateTime
()));
skill
.
setUpdateTime
(
TimeUtils
.
IsoLocalDateTime2String
(
e
.
getUpdateTime
()));
// 获取一个工程师的技能列表
// 获取一个工程师的技能列表
skill
.
setSkillGroupIds
(
engineerSkillGroups
.
getOrDefault
(
e
.
getEngineerCode
(),
emptySkills
));
skill
.
setSkillGroupIds
(
engineerSkillGroups
.
getOrDefault
(
e
.
getEngineerCode
(),
emptySkills
));
...
@@ -384,20 +410,20 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -384,20 +410,20 @@ public class EngineerServiceImpl implements EngineerService {
return
items
;
return
items
;
}
}
private
List
<
EngineerBusinessListResp
.
EngineerBusiness
>
packEngineerBusinesses
(
List
<
EngineerInfo
>
engineers
)
{
private
List
<
EngineerBusinessListResp
.
EngineerBusiness
>
packEngineerBusinesses
(
List
<
EngineerInfoEntity
>
engineers
)
{
// 获取技术员code列表
// 获取技术员code列表
List
<
String
>
engineerCodes
=
engineers
.
stream
().
map
(
EngineerInfo
:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
engineerCodes
=
engineers
.
stream
().
map
(
EngineerInfoEntity
:
:
getEngineerCode
).
collect
(
Collectors
.
toList
());
List
<
String
>
groupIds
=
engineers
.
stream
().
map
(
EngineerInfo
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
List
<
String
>
groupIds
=
engineers
.
stream
().
map
(
EngineerInfoEntity
:
:
getGroupId
).
collect
(
Collectors
.
toList
());
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
HashMap
<
String
,
String
>
groupNames
=
this
.
queryGroupNames
(
groupIds
);
HashMap
<
String
,
EngineerBusiness
>
buss
=
this
.
queryEngineerBusiness
(
engineerCodes
);
HashMap
<
String
,
EngineerBusinessEntity
>
buss
=
this
.
queryEngineerBusiness
(
engineerCodes
);
List
<
EngineerBusinessListResp
.
EngineerBusiness
>
items
=
new
ArrayList
<>();
List
<
EngineerBusinessListResp
.
EngineerBusiness
>
items
=
new
ArrayList
<>();
for
(
EngineerInfo
e
:
engineers
)
{
for
(
EngineerInfoEntity
e
:
engineers
)
{
EngineerBusinessListResp
.
EngineerBusiness
item
=
new
EngineerBusinessListResp
.
EngineerBusiness
();
EngineerBusinessListResp
.
EngineerBusiness
item
=
new
EngineerBusinessListResp
.
EngineerBusiness
();
EngineerBusiness
b
=
buss
.
getOrDefault
(
e
.
getEngineerCode
(),
null
);
EngineerBusinessEntity
b
=
buss
.
getOrDefault
(
e
.
getEngineerCode
(),
null
);
if
(
b
==
null
)
{
if
(
b
==
null
)
{
// 若没有配置,则不返回, 由同步程序初始化
// 若没有配置,则不返回, 由同步程序初始化
continue
;
continue
;
}
}
...
@@ -458,7 +484,7 @@ public class EngineerServiceImpl implements EngineerService {
...
@@ -458,7 +484,7 @@ public class EngineerServiceImpl implements EngineerService {
}
}
LocalDateTime
dtBegin
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
toLocalDate
(),
tBegin
);
LocalDateTime
dtBegin
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
toLocalDate
(),
tBegin
);
LocalDateTime
dtEnd
;
LocalDateTime
dtEnd
;
if
(
r
<
0
)
{
if
(
r
<
0
)
{
dtEnd
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
toLocalDate
(),
tEnd
);
dtEnd
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
toLocalDate
(),
tEnd
);
}
else
{
}
else
{
dtEnd
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
plusDays
(
1
).
toLocalDate
(),
tEnd
);
dtEnd
=
LocalDateTime
.
of
(
LocalDateTime
.
now
().
plusDays
(
1
).
toLocalDate
(),
tEnd
);
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment