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 a4e18180
authored
Nov 14, 2023
by
huangjinxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:工程师不限制搜索相关
1 parent
83fd6e55
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
109 additions
and
19 deletions
project-interface/src/main/java/com/dituhui/pea/user/IUser.java
project-order/src/main/java/com/dituhui/pea/order/controller/OrderAssignController.java
project-order/src/main/java/com/dituhui/pea/order/dao/OrgTeamDao.java
project-order/src/main/java/com/dituhui/pea/order/dto/param/RecommendEngineersReq.java
project-order/src/main/java/com/dituhui/pea/order/service/OrderAssign.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderAssignImpl.java
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
project-user/src/main/java/com/dituhui/pea/user/service/UserService.java
project-interface/src/main/java/com/dituhui/pea/user/IUser.java
View file @
a4e1818
...
@@ -173,6 +173,15 @@ public interface IUser {
...
@@ -173,6 +173,15 @@ public interface IUser {
* @return
* @return
*/
*/
@RequestMapping
(
value
=
"/pea-user/orgs"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/pea-user/orgs"
,
method
=
RequestMethod
.
GET
)
Result
<
List
<
OrgInfo
>>
orgs
(
String
userId
);
Result
<
List
<
OrgInfo
>>
orgs
(
@RequestParam
(
"userId"
)
String
userId
);
/**
* 获取用户组织
*
* @param userId 查询条件
* @return
*/
@RequestMapping
(
value
=
"/pea-user/orgsNoName"
,
method
=
RequestMethod
.
GET
)
Result
<
List
<
OrgInfo
>>
orgsNoName
(
@RequestParam
(
"userId"
)
String
userId
);
}
}
project-order/src/main/java/com/dituhui/pea/order/controller/OrderAssignController.java
View file @
a4e1818
...
@@ -6,6 +6,7 @@ import com.dituhui.pea.order.common.TimeUtils;
...
@@ -6,6 +6,7 @@ import com.dituhui.pea.order.common.TimeUtils;
import
com.dituhui.pea.order.dto.OrderAssignReq
;
import
com.dituhui.pea.order.dto.OrderAssignReq
;
import
com.dituhui.pea.order.dto.OrderReschedule
;
import
com.dituhui.pea.order.dto.OrderReschedule
;
import
com.dituhui.pea.order.dto.OrderRevokeAssign
;
import
com.dituhui.pea.order.dto.OrderRevokeAssign
;
import
com.dituhui.pea.order.dto.param.RecommendEngineersReq
;
import
com.dituhui.pea.order.service.OrderAssign
;
import
com.dituhui.pea.order.service.OrderAssign
;
import
com.dituhui.pea.order.service.OrderInfoService
;
import
com.dituhui.pea.order.service.OrderInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -27,14 +28,12 @@ public class OrderAssignController {
...
@@ -27,14 +28,12 @@ public class OrderAssignController {
private
OrderInfoService
orderInfoService
;
private
OrderInfoService
orderInfoService
;
@GetMapping
(
"/order/assign/recommend/engineers"
)
@GetMapping
(
"/order/assign/recommend/engineers"
)
public
Result
<?>
getOrderAssignRecommendEngineers
(
public
Result
<?>
getOrderAssignRecommendEngineers
(
RecommendEngineersReq
req
)
{
@RequestParam
String
orderId
,
@RequestParam
(
required
=
false
)
String
key
,
@RequestParam
(
required
=
false
)
String
distance
,
@RequestParam
(
required
=
false
)
String
recommend
)
{
//服务单指派-推荐技术员列表
//服务单指派-推荐技术员列表
Result
<?>
res
=
null
;
Result
<?>
res
=
null
;
try
{
try
{
res
=
orderAssign
.
getOrderAssignRecommendEngineers
(
orderId
,
key
,
distance
,
recommend
);
res
=
orderAssign
.
getOrderAssignRecommendEngineers
(
req
);
}
catch
(
BusinessException
e
)
{
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
return
Result
.
failed
(
e
.
getMessage
());
}
}
...
...
project-order/src/main/java/com/dituhui/pea/order/dao/OrgTeamDao.java
View file @
a4e1818
...
@@ -45,6 +45,12 @@ public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer>, JpaSp
...
@@ -45,6 +45,12 @@ public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer>, JpaSp
public
List
<
OrgTeamEntity
>
findByTeamIdIn
(
List
<
String
>
ids
);
public
List
<
OrgTeamEntity
>
findByTeamIdIn
(
List
<
String
>
ids
);
public
List
<
OrgTeamEntity
>
findByClusterIdIn
(
List
<
String
>
ids
);
public
List
<
OrgTeamEntity
>
findByBranchIdIn
(
List
<
String
>
ids
);
public
List
<
OrgTeamEntity
>
findByGroupIdIn
(
List
<
String
>
ids
);
/**
/**
* 获取工程师所在的工作队
* 获取工程师所在的工作队
*
*
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/param/RecommendEngineersReq.java
0 → 100644
View file @
a4e1818
package
com
.
dituhui
.
pea
.
order
.
dto
.
param
;
import
lombok.Data
;
@Data
public
class
RecommendEngineersReq
{
private
String
orderId
;
private
String
key
;
private
String
distance
;
private
String
recommend
;
private
String
userId
;
}
project-order/src/main/java/com/dituhui/pea/order/service/OrderAssign.java
View file @
a4e1818
...
@@ -3,6 +3,7 @@ package com.dituhui.pea.order.service;
...
@@ -3,6 +3,7 @@ package com.dituhui.pea.order.service;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.dto.OrderAssignReq
;
import
com.dituhui.pea.order.dto.OrderAssignReq
;
import
com.dituhui.pea.order.dto.OrderReschedule
;
import
com.dituhui.pea.order.dto.OrderReschedule
;
import
com.dituhui.pea.order.dto.param.RecommendEngineersReq
;
import
org.bouncycastle.asn1.cms.TimeStampAndCRL
;
import
org.bouncycastle.asn1.cms.TimeStampAndCRL
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
...
@@ -12,7 +13,7 @@ import java.time.LocalDateTime;
...
@@ -12,7 +13,7 @@ import java.time.LocalDateTime;
public
interface
OrderAssign
{
public
interface
OrderAssign
{
// 服务单指派-推荐技术员列表
// 服务单指派-推荐技术员列表
Result
<?>
getOrderAssignRecommendEngineers
(
String
orderId
,
String
key
,
String
distance
,
String
recommend
);
Result
<?>
getOrderAssignRecommendEngineers
(
RecommendEngineersReq
req
);
// 服务单指派-指派提交
// 服务单指派-指派提交
Result
<?>
orderAssign
(
OrderAssignReq
req
);
Result
<?>
orderAssign
(
OrderAssignReq
req
);
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrderAssignImpl.java
View file @
a4e1818
...
@@ -9,11 +9,14 @@ import com.dituhui.pea.order.common.OrderAssignCheck;
...
@@ -9,11 +9,14 @@ import com.dituhui.pea.order.common.OrderAssignCheck;
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.*
;
import
com.dituhui.pea.order.dto.*
;
import
com.dituhui.pea.order.dto.*
;
import
com.dituhui.pea.order.dto.param.RecommendEngineersReq
;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.enums.*
;
import
com.dituhui.pea.order.enums.*
;
import
com.dituhui.pea.order.service.*
;
import
com.dituhui.pea.order.service.*
;
import
com.dituhui.pea.order.utils.CommonUtil
;
import
com.dituhui.pea.order.utils.CommonUtil
;
import
com.dituhui.pea.order.utils.OrderUtil
;
import
com.dituhui.pea.order.utils.OrderUtil
;
import
com.dituhui.pea.pojo.user.OrgInfo
;
import
com.dituhui.pea.user.IUser
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -79,24 +82,27 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -79,24 +82,27 @@ public class OrderAssignImpl implements OrderAssign {
@Autowired
@Autowired
private
CapacityQueryService
capacityQueryService
;
private
CapacityQueryService
capacityQueryService
;
@Autowired
private
IUser
userService
;
@Transactional
@Transactional
@Override
@Override
public
Result
<?>
getOrderAssignRecommendEngineers
(
String
orderId
,
String
key
,
String
distance
,
String
recommend
)
{
public
Result
<?>
getOrderAssignRecommendEngineers
(
RecommendEngineersReq
req
)
{
// 服务单指派-推荐技术员列表
// 服务单指派-推荐技术员列表
OrderInfoEntity
order
=
orderInfoDao
.
getByOrderId
(
orderId
);
OrderInfoEntity
order
=
orderInfoDao
.
getByOrderId
(
req
.
getOrderId
()
);
if
(
order
==
null
)
{
if
(
order
==
null
)
{
throw
new
BusinessException
(
"订单不存在"
);
throw
new
BusinessException
(
"订单不存在"
);
}
}
String
date
=
TimeUtils
.
IsoLocalDate2String
(
order
.
getDt
());
String
date
=
TimeUtils
.
IsoLocalDate2String
(
order
.
getDt
());
// 获取符合筛选条件的技术员
// 获取符合筛选条件的技术员
List
<
String
>
engineerCodes
=
this
.
searchEngineerCodes
(
order
,
distance
,
key
,
recommend
);
List
<
String
>
engineerCodes
=
this
.
searchEngineerCodes
(
order
,
req
.
getDistance
(),
req
.
getKey
(),
req
.
getRecommend
(),
req
.
getUserId
()
);
List
<
EngineerInfoEntity
>
engineers
=
engineerInfoDao
.
findByEngineerCodeIn
(
engineerCodes
);
List
<
EngineerInfoEntity
>
engineers
=
engineerInfoDao
.
findByEngineerCodeIn
(
engineerCodes
);
List
<
OrderAssignRecommendResp
.
Engineer
>
items
=
new
ArrayList
<>();
List
<
OrderAssignRecommendResp
.
Engineer
>
items
=
new
ArrayList
<>();
for
(
EngineerInfoEntity
engineer
:
engineers
)
{
for
(
EngineerInfoEntity
engineer
:
engineers
)
{
OrderAssignCheck
.
Result
result
=
orderAssignCheck
.
orderAssignCheck
(
orderId
,
order
.
getDt
(),
engineer
.
getEngineerCode
());
OrderAssignCheck
.
Result
result
=
orderAssignCheck
.
orderAssignCheck
(
req
.
getOrderId
()
,
order
.
getDt
(),
engineer
.
getEngineerCode
());
log
.
info
(
"指派检查结果:{}"
,
result
);
log
.
info
(
"指派检查结果:{}"
,
result
);
if
(
result
.
getIndex
()
<
0
)
{
if
(
result
.
getIndex
()
<
0
)
{
continue
;
continue
;
...
@@ -248,8 +254,8 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -248,8 +254,8 @@ public class OrderAssignImpl implements OrderAssign {
return
order
;
return
order
;
}
}
private
List
<
String
>
searchEngineerCodes
(
OrderInfoEntity
order
,
String
distance
,
String
key
,
String
recommend
)
{
private
List
<
String
>
searchEngineerCodes
(
OrderInfoEntity
order
,
String
distance
,
String
key
,
String
recommend
,
String
userId
)
{
Set
<
String
>
engineerCodes1
=
this
.
searchEngineerByRecommend
(
order
,
recommend
);
Set
<
String
>
engineerCodes1
=
this
.
searchEngineerByRecommend
(
order
,
recommend
,
userId
);
if
(
engineerCodes1
.
isEmpty
())
{
if
(
engineerCodes1
.
isEmpty
())
{
log
.
info
(
"recommend:{}筛选条件未找到技术员"
,
recommend
);
log
.
info
(
"recommend:{}筛选条件未找到技术员"
,
recommend
);
return
new
ArrayList
<>();
return
new
ArrayList
<>();
...
@@ -295,27 +301,48 @@ public class OrderAssignImpl implements OrderAssign {
...
@@ -295,27 +301,48 @@ public class OrderAssignImpl implements OrderAssign {
return
new
ArrayList
<>(
engineerCodes1
);
return
new
ArrayList
<>(
engineerCodes1
);
}
}
private
Set
<
String
>
searchEngineerByRecommend
(
OrderInfoEntity
order
,
String
recommend
)
{
private
Set
<
String
>
searchEngineerByRecommend
(
OrderInfoEntity
order
,
String
recommend
,
String
userId
)
{
if
(
StringUtils
.
isNotEmpty
(
recommend
)
&&
recommend
.
equals
(
"team"
))
{
if
(
StringUtils
.
isNotEmpty
(
recommend
)
&&
recommend
.
equals
(
"team"
))
{
return
orgTeamEngineerDao
.
findAllByTeamId
(
order
.
getOrgTeamId
()).
stream
().
map
(
return
orgTeamEngineerDao
.
findAllByTeamId
(
order
.
getOrgTeamId
()).
stream
().
map
(
OrgTeamEngineerEntity:
:
getEngineerCode
).
collect
(
Collectors
.
toSet
());
OrgTeamEngineerEntity:
:
getEngineerCode
).
collect
(
Collectors
.
toSet
());
}
}
String
levelType
;
String
levelType
=
null
;
String
levelValue
;
String
levelValue
=
null
;
List
<
OrgTeamEntity
>
teams
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
recommend
)
||
recommend
.
equals
(
"branch"
))
{
if
(
StringUtils
.
isEmpty
(
recommend
)
||
recommend
.
equals
(
"branch"
))
{
levelType
=
"branch"
;
levelType
=
"branch"
;
levelValue
=
order
.
getOrgBranchId
();
levelValue
=
order
.
getOrgBranchId
();
}
else
if
(
recommend
.
equals
(
"group"
))
{
}
else
if
(
recommend
.
equals
(
"group"
))
{
levelType
=
"group"
;
levelType
=
"group"
;
levelValue
=
order
.
getOrgGroupId
();
levelValue
=
order
.
getOrgGroupId
();
}
else
if
(
recommend
.
equals
(
"all"
))
{
}
else
if
(
recommend
.
equals
(
"all"
)
&&
StringUtils
.
isNotBlank
(
userId
))
{
levelType
=
"cluster"
;
Result
<
List
<
OrgInfo
>>
listResult
=
userService
.
orgsNoName
(
userId
);
levelValue
=
order
.
getOrgClusterId
();
if
(
CollectionUtils
.
isEmpty
(
listResult
.
getResult
()))
{
return
new
HashSet
<>();
}
List
<
OrgInfo
>
orgInfos
=
listResult
.
getResult
();
Integer
orgLevel
=
orgInfos
.
get
(
0
).
getOrgLevel
();
List
<
String
>
collect
=
orgInfos
.
stream
().
map
(
OrgInfo:
:
getId
).
collect
(
Collectors
.
toList
());
switch
(
orgLevel
)
{
case
-
1
:
teams
=
orgTeamDao
.
findAll
();
break
;
case
0
:
teams
=
orgTeamDao
.
findByClusterIdIn
(
collect
);
break
;
case
1
:
teams
=
orgTeamDao
.
findByBranchIdIn
(
collect
);
break
;
case
2
:
teams
=
orgTeamDao
.
findByGroupIdIn
(
collect
);
break
;
}
List
<
String
>
groupIds
=
teams
.
stream
().
map
(
OrgTeamEntity:
:
getGroupId
).
collect
(
Collectors
.
toList
());
return
engineerInfoDao
.
findByGroupIdIn
(
groupIds
).
stream
().
map
(
EngineerInfoEntity:
:
getEngineerCode
).
collect
(
Collectors
.
toSet
());
}
else
{
}
else
{
return
new
HashSet
<>();
return
new
HashSet
<>();
}
}
List
<
OrgTeamEntity
>
teams
=
new
ArrayList
<>();
if
(
levelType
.
equals
(
"cluster"
))
{
if
(
levelType
.
equals
(
"cluster"
))
{
teams
=
orgTeamDao
.
findAllByClusterId
(
levelValue
);
teams
=
orgTeamDao
.
findAllByClusterId
(
levelValue
);
}
else
if
(
levelType
.
equals
(
"branch"
))
{
}
else
if
(
levelType
.
equals
(
"branch"
))
{
...
...
project-user/src/main/java/com/dituhui/pea/user/controller/UserController.java
View file @
a4e1818
...
@@ -166,4 +166,11 @@ public class UserController implements IUser {
...
@@ -166,4 +166,11 @@ public class UserController implements IUser {
return
Result
.
success
(
orgInfos
);
return
Result
.
success
(
orgInfos
);
}
}
@Override
public
Result
<
List
<
OrgInfo
>>
orgsNoName
(
String
userId
)
{
List
<
OrgInfo
>
orgInfos
=
userService
.
orgsNoName
(
userId
);
return
Result
.
success
(
orgInfos
);
}
}
}
project-user/src/main/java/com/dituhui/pea/user/service/UserService.java
View file @
a4e1818
...
@@ -887,4 +887,32 @@ public class UserService {
...
@@ -887,4 +887,32 @@ public class UserService {
});
});
return
orgInfos
;
return
orgInfos
;
}
}
public
List
<
OrgInfo
>
orgsNoName
(
String
userId
)
{
List
<
OrgInfo
>
orgInfos
=
new
ArrayList
<>();
// 获取角色
List
<
UserRoleEntity
>
userRoles
=
userRoleDao
.
findByUserId
(
userId
);
if
(
CollectionUtils
.
isEmpty
(
userRoles
))
{
return
null
;
}
List
<
String
>
ids
=
userRoles
.
stream
().
map
(
r
->
r
.
getRoleId
()).
collect
(
Collectors
.
toList
());
if
(
ids
.
contains
(
Globals
.
SUPER_ADMIN_ID
))
{
OrgInfo
orgInfo
=
new
OrgInfo
();
orgInfo
.
setId
(
"admin"
);
orgInfo
.
setOrgLevel
(-
1
);
orgInfos
.
add
(
orgInfo
);
return
orgInfos
;
}
List
<
UserOrgEntity
>
byUserId
=
userOrgDao
.
findByUserId
(
userId
);
if
(
CollectionUtils
.
isEmpty
(
byUserId
))
{
return
orgInfos
;
}
byUserId
.
forEach
(
e
->
{
OrgInfo
orgInfo
=
new
OrgInfo
();
orgInfo
.
setId
(
e
.
getId
());
orgInfo
.
setOrgLevel
(
e
.
getOrgLevel
());
orgInfos
.
add
(
orgInfo
);
});
return
orgInfos
;
}
}
}
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