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 4351f938
authored
Jul 20, 2023
by
张晓
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
技术员中心点列表、更新
1 parent
e920dd95
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
404 additions
and
91 deletions
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/ExtractServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerCenterPoiController.java
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerBusinessDao.java
project-order/src/main/java/com/dituhui/pea/order/dao/WarehouseInfoDao.java
project-order/src/main/java/com/dituhui/pea/order/dto/EngineerBusinessDTO.java
project-order/src/main/java/com/dituhui/pea/order/entity/EngineerBusinessEntity.java
project-order/src/main/java/com/dituhui/pea/order/entity/OrgGroup.java
project-order/src/main/java/com/dituhui/pea/order/entity/OrgGroupEntity.java
project-order/src/main/java/com/dituhui/pea/order/entity/OrgWarehouseInfoEntity.java
project-order/src/main/java/com/dituhui/pea/order/service/EngineerBusinessService.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerBusinessServiceImpl.java
project-dispatch/src/main/java/com/dituhui/pea/dispatch/service/impl/ExtractServiceImpl.java
View file @
4351f93
...
...
@@ -148,14 +148,14 @@ public class ExtractServiceImpl implements ExtractService {
// 写order_log
OrderLog
orderLog
=
new
OrderLog
().
setOrderId
(
orderId
).
setSuborderId
(
subId
).
setSource
(
"PEA-
BACKEND
"
).
setOperator
(
"DISPATCH"
)
OrderLog
orderLog
=
new
OrderLog
().
setOrderId
(
orderId
).
setSuborderId
(
subId
).
setSource
(
"PEA-
DISPATCH
"
).
setOperator
(
"DISPATCH"
)
.
setContent
(
String
.
format
(
"批量自动指派:<%s,%s>"
,
engCode
,
engName
)).
setContentOld
(
""
)
.
setMemo
(
"批量自动指派"
).
setCreateTime
(
LocalDateTime
.
now
()).
setUpdateTime
(
LocalDateTime
.
now
());
orderLogRepo
.
save
(
orderLog
);
if
(
isConfirm
)
{
OrderEvent
orderEvent
=
new
OrderEvent
().
setOrderId
(
orderId
).
setSuborderId
(
subId
).
setHappen
(
LocalDateTime
.
now
())
.
setEvent
(
"批量自动指派"
).
setOperator
(
"DISPATCH"
).
setOperatorName
(
"算法批量指派"
).
setSource
(
"PEA-
BACKEND
"
)
.
setEvent
(
"批量自动指派"
).
setOperator
(
"DISPATCH"
).
setOperatorName
(
"算法批量指派"
).
setSource
(
"PEA-
DISPATCH
"
)
.
setDescription
(
String
.
format
(
"批量自动指派:<%s,%s>"
,
engCode
,
engName
)).
setMemo
(
""
)
.
setCreateTime
(
LocalDateTime
.
now
()).
setUpdateTime
(
LocalDateTime
.
now
());
orderEventRepo
.
save
(
orderEvent
);
...
...
@@ -183,14 +183,14 @@ public class ExtractServiceImpl implements ExtractService {
appointment
.
setSuborderId
(
appointment
.
getOrderId
());
}
OrderLog
orderLog
=
new
OrderLog
().
setOrderId
(
orderId
).
setSuborderId
(
appointment
.
getSuborderId
()).
setSource
(
"PEA-
BACKEND
"
).
setOperator
(
"DISPATCH"
)
OrderLog
orderLog
=
new
OrderLog
().
setOrderId
(
orderId
).
setSuborderId
(
appointment
.
getSuborderId
()).
setSource
(
"PEA-
DISPATCH
"
).
setOperator
(
"DISPATCH"
)
.
setContent
(
String
.
format
(
"批量自动指派:<%s,%s>"
,
engCode
,
engName
)).
setContentOld
(
lastContent
)
.
setMemo
(
"批量自动指派"
).
setCreateTime
(
LocalDateTime
.
now
()).
setUpdateTime
(
LocalDateTime
.
now
());
orderLogRepo
.
save
(
orderLog
);
if
(
isConfirm
)
{
OrderEvent
orderEvent
=
new
OrderEvent
().
setOrderId
(
orderId
).
setSuborderId
(
appointment
.
getSuborderId
()).
setHappen
(
LocalDateTime
.
now
())
.
setEvent
(
"批量自动指派"
).
setOperator
(
"DISPATCH"
).
setOperatorName
(
"算法批量指派"
).
setSource
(
"PEA-
BACKEND
"
)
.
setEvent
(
"批量自动指派"
).
setOperator
(
"DISPATCH"
).
setOperatorName
(
"算法批量指派"
).
setSource
(
"PEA-
DISPATCH
"
)
.
setDescription
(
String
.
format
(
"批量自动指派:<%s,%s>"
,
engCode
,
engName
)).
setMemo
(
""
)
.
setCreateTime
(
LocalDateTime
.
now
()).
setUpdateTime
(
LocalDateTime
.
now
());
orderEventRepo
.
save
(
orderEvent
);
...
...
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerCenterPoiController.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
controller
;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.dto.EngineerBusinessDTO
;
import
com.dituhui.pea.order.service.EngineerBusinessService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author zhangx
*/
@Slf4j
@RestController
@RequestMapping
(
"/pea-order"
)
public
class
EngineerCenterPoiController
{
@Autowired
private
EngineerBusinessService
engineerBusinessService
;
@GetMapping
(
"/engineer-center/list"
)
public
Result
<?>
getEngineerCenterList
(
@Validated
EngineerBusinessDTO
.
Request
engineerReq
)
{
// 获取工程师基础信息列表
if
(!
"group"
.
equals
(
engineerReq
.
getLevelType
()))
{
return
Result
.
failed
(
"请切换到分站级别查看"
);
}
Result
<?>
res
=
null
;
try
{
EngineerBusinessDTO
.
Result
result
=
new
EngineerBusinessDTO
.
Result
();
result
.
setEngineers
(
engineerBusinessService
.
getEngineerCenterList
(
engineerReq
));
result
.
setGroup
(
engineerBusinessService
.
getGroupInfo
(
engineerReq
));
result
.
setWarehouse
(
engineerBusinessService
.
getWareHouse
(
result
.
getGroup
().
getWarehouseId
()));
res
=
Result
.
success
(
result
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
@PostMapping
(
"/engineer-center/update"
)
public
Result
<?>
engineerCenterUpdate
(
@RequestBody
EngineerBusinessDTO
.
EngineerCenterUpdateReqDTO
req
)
{
// 获取工程师技能信息修改
try
{
engineerBusinessService
.
updateEngineerCenter
(
req
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
Result
.
success
(
null
);
}
}
project-order/src/main/java/com/dituhui/pea/order/dao/EngineerBusinessDao.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
dao
;
import
com.dituhui.pea.order.entity.EngineerBusinessEntity
;
import
com.dituhui.pea.order.entity.EngineerInfoEntity
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.CrudRepository
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* @author zhangx
*/
public
interface
EngineerBusinessDao
extends
CrudRepository
<
EngineerBusinessEntity
,
Long
>
{
@Query
(
"select a from EngineerBusinessEntity a join EngineerInfoEntity o on a.engineerCode=o.engineerCode where o.groupId= :groupId"
)
List
<
EngineerBusinessEntity
>
findByGroupId
(
String
groupId
);
@Transactional
@Modifying
@Query
(
"UPDATE EngineerBusinessEntity tt SET tt.address = :address, tt.X= :x, tt.Y=:y WHERE tt.engineerCode = :engineerCode"
)
void
updateEngineerCenter
(
String
address
,
String
x
,
String
y
,
String
engineerCode
);
}
project-order/src/main/java/com/dituhui/pea/order/dao/WarehouseInfoDao.java
View file @
4351f93
...
...
@@ -19,4 +19,8 @@ public interface WarehouseInfoDao extends JpaRepository<OrgWarehouseInfoEntity,
// 返回工作队关联的配件仓
@Query
(
"select a from OrgWarehouseInfoEntity a join OrgTeamEntity o on a.warehouseId=o.warehouseId where o.teamId= :teamId"
)
OrgWarehouseInfoEntity
getByTeamAssigned
(
String
teamId
);
OrgWarehouseInfoEntity
getOrgWarehouseInfoEntityByWarehouseId
(
String
wareHouseId
);
}
project-order/src/main/java/com/dituhui/pea/order/dto/EngineerBusinessDTO.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
public
class
EngineerBusinessDTO
{
@lombok
.
Data
public
static
class
Request
{
@NotNull
(
message
=
"组织结构不能为空"
)
private
String
levelType
;
@NotNull
(
message
=
"组织结构不能为空"
)
private
String
levelValue
;
private
String
kind
;
private
String
key
;
}
@lombok
.
Data
@Accessors
(
chain
=
true
)
public
static
class
Result
{
private
List
<
Engineer
>
engineers
;
private
Group
group
;
private
WareHouse
warehouse
;
// @JsonIgnore
// private List<Blocks> blocks;
}
@lombok
.
Data
public
static
class
Engineer
{
private
String
engineerCode
;
private
String
engineerName
;
private
String
address
;
private
String
location
;
}
@lombok
.
Data
public
static
class
Group
{
private
String
groupId
;
private
String
groupName
;
private
String
address
;
private
String
location
;
private
String
warehouseId
;
}
@lombok
.
Data
public
static
class
WareHouse
{
private
String
wareHouseId
;
private
String
wareHouseName
;
private
String
address
;
private
String
location
;
}
@lombok
.
Data
public
static
class
EngineerCenterUpdateReqDTO
{
private
String
engineerCode
;
private
String
address
;
private
String
location
;
}
}
project-order/src/main/java/com/dituhui/pea/order/entity/EngineerBusinessEntity.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @author zhangx
*/
@Data
@Entity
@Table
(
name
=
"engineer_business"
)
public
class
EngineerBusinessEntity
implements
Serializable
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Integer
id
;
@Column
(
name
=
"engineer_code"
)
private
String
engineerCode
;
@Column
(
name
=
"max_num"
)
private
Integer
maxNum
;
@Column
(
name
=
"max_minute"
)
private
Integer
maxMinute
;
@Column
(
name
=
"max_distance"
)
private
Integer
maxDistance
;
private
String
address
;
@Column
(
name
=
"x"
)
private
String
X
;
@Column
(
name
=
"y"
)
private
String
Y
;
private
Integer
priority
;
private
Integer
departure
;
private
String
memo
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Column
(
name
=
"create_time"
)
private
LocalDateTime
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Column
(
name
=
"update_time"
)
private
LocalDateTime
updateTime
;
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/entity/OrgGroup.java
View file @
4351f93
...
...
@@ -17,7 +17,7 @@ public class OrgGroup {
private
String
cityCode
;
private
Integer
kind
;
private
Integer
category
;
private
Integer
warehouseId
;
private
String
warehouseId
;
private
String
memo
;
private
Timestamp
createTime
;
private
Timestamp
updateTime
;
...
...
project-order/src/main/java/com/dituhui/pea/order/entity/OrgGroupEntity.java
View file @
4351f93
...
...
@@ -71,7 +71,7 @@ public class OrgGroupEntity {
/**
* 默认配件仓
*/
private
Integer
warehouseId
;
private
String
warehouseId
;
/**
* 备注
...
...
project-order/src/main/java/com/dituhui/pea/order/entity/OrgWarehouseInfoEntity.java
View file @
4351f93
...
...
@@ -9,92 +9,92 @@ import java.time.LocalDateTime;
@Data
@Entity
@Table
(
name
=
"org_warehouse_info"
)
@Table
(
name
=
"org_warehouse_info"
)
public
class
OrgWarehouseInfoEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
private
Integer
id
;
/**
* 配件仓id
*/
private
String
warehouseId
;
/**
* 配件仓名称
*/
private
String
warehouseName
;
/**
* 归属分部
*/
private
String
branchId
;
/**
* 归属分站
*/
private
String
groupId
;
/**
* 所在城市id
*/
private
String
cityCode
;
/**
* 配件仓
*/
private
String
address
;
/**
* 办公地址经度
*/
private
String
x
;
/**
* 办公地址纬度
*/
private
String
y
;
/**
* 配件到达时间
*/
private
String
arriveTime
;
/**
* 配件到达时间
*/
private
String
cutoffTime
;
/**
* 类型(1分部仓-可分发,2小组仓-快递柜)
*/
private
int
kind
;
/**
* 管理员姓名
*/
private
String
managerName
;
/**
* 管理员手机号码
*/
private
String
namagerPhone
;
/**
* 备注
*/
private
String
memo
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
private
LocalDateTime
updateTime
;
private
static
final
long
serialVersionUID
=
1L
;
@Id
private
Integer
id
;
/**
* 配件仓id
*/
private
String
warehouseId
;
/**
* 配件仓名称
*/
private
String
warehouseName
;
/**
* 归属分部
*/
private
String
branchId
;
/**
* 归属分站
*/
private
String
groupId
;
/**
* 所在城市id
*/
private
String
cityCode
;
/**
* 配件仓
*/
private
String
address
;
/**
* 办公地址经度
*/
private
String
x
;
/**
* 办公地址纬度
*/
private
String
y
;
/**
* 配件到达时间
*/
private
String
arriveTime
;
/**
* 配件到达时间
*/
private
String
cutoffTime
;
/**
* 类型(1分部仓-可分发,2小组仓-快递柜)
*/
private
int
kind
;
/**
* 管理员姓名
*/
private
String
managerName
;
/**
* 管理员手机号码
*/
private
String
namagerPhone
;
/**
* 备注
*/
private
String
memo
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
private
LocalDateTime
updateTime
;
}
project-order/src/main/java/com/dituhui/pea/order/service/EngineerBusinessService.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
service
;
import
com.dituhui.pea.order.dto.EngineerBusinessDTO
;
import
java.util.List
;
public
interface
EngineerBusinessService
{
List
<
EngineerBusinessDTO
.
Engineer
>
getEngineerCenterList
(
EngineerBusinessDTO
.
Request
engineerReq
);
EngineerBusinessDTO
.
Group
getGroupInfo
(
EngineerBusinessDTO
.
Request
engineerReq
);
EngineerBusinessDTO
.
WareHouse
getWareHouse
(
String
wareHouseId
);
void
updateEngineerCenter
(
EngineerBusinessDTO
.
EngineerCenterUpdateReqDTO
centerReq
);
}
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerBusinessServiceImpl.java
0 → 100644
View file @
4351f93
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
import
com.dituhui.pea.order.dao.EngineerBusinessDao
;
import
com.dituhui.pea.order.dao.EngineerInfoDao
;
import
com.dituhui.pea.order.dao.OrgGroupDao
;
import
com.dituhui.pea.order.dao.WarehouseInfoDao
;
import
com.dituhui.pea.order.dto.EngineerBusinessDTO
;
import
com.dituhui.pea.order.entity.*
;
import
com.dituhui.pea.order.service.EngineerBusinessService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
public
class
EngineerBusinessServiceImpl
implements
EngineerBusinessService
{
@Autowired
private
OrgGroupDao
orgGroupDao
;
@Autowired
private
EngineerBusinessDao
engineerBusinessDao
;
@Autowired
private
EngineerInfoDao
engineerInfoDao
;
@Autowired
private
WarehouseInfoDao
warehouseInfoDao
;
@Override
public
List
<
EngineerBusinessDTO
.
Engineer
>
getEngineerCenterList
(
EngineerBusinessDTO
.
Request
engineerReq
)
{
Map
<
String
,
String
>
codeNameMap
=
engineerInfoDao
.
findByGroupId
(
engineerReq
.
getLevelValue
()).
stream
().
collect
(
Collectors
.
toMap
(
EngineerInfoEntity:
:
getEngineerCode
,
EngineerInfoEntity:
:
getName
));
return
engineerBusinessDao
.
findByGroupId
(
engineerReq
.
getLevelValue
()).
stream
().
map
(
item
->
{
EngineerBusinessDTO
.
Engineer
engineer
=
new
EngineerBusinessDTO
.
Engineer
();
engineer
.
setEngineerCode
(
item
.
getEngineerCode
());
engineer
.
setEngineerName
(
codeNameMap
.
getOrDefault
(
item
.
getEngineerCode
(),
item
.
getEngineerCode
()));
engineer
.
setAddress
(
item
.
getAddress
());
engineer
.
setLocation
(
item
.
getX
()
+
","
+
item
.
getY
());
return
engineer
;
}).
collect
(
Collectors
.
toList
());
}
@Override
public
EngineerBusinessDTO
.
Group
getGroupInfo
(
EngineerBusinessDTO
.
Request
engineerReq
)
{
OrgGroupEntity
groupEntity
=
orgGroupDao
.
getByGroupId
(
engineerReq
.
getLevelValue
());
EngineerBusinessDTO
.
Group
result
=
new
EngineerBusinessDTO
.
Group
();
result
.
setGroupId
(
groupEntity
.
getGroupId
());
result
.
setGroupName
(
groupEntity
.
getGroupName
());
result
.
setAddress
(
groupEntity
.
getAddress
());
result
.
setLocation
(
groupEntity
.
getX
()
+
","
+
groupEntity
.
getY
());
result
.
setWarehouseId
(
groupEntity
.
getWarehouseId
());
return
result
;
}
@Override
public
EngineerBusinessDTO
.
WareHouse
getWareHouse
(
String
wareHouseId
)
{
OrgWarehouseInfoEntity
item
=
warehouseInfoDao
.
getOrgWarehouseInfoEntityByWarehouseId
(
wareHouseId
);
EngineerBusinessDTO
.
WareHouse
wareHouse
=
new
EngineerBusinessDTO
.
WareHouse
();
wareHouse
.
setWareHouseId
(
item
.
getWarehouseId
());
wareHouse
.
setWareHouseName
(
item
.
getWarehouseName
());
wareHouse
.
setAddress
(
item
.
getAddress
());
wareHouse
.
setLocation
(
item
.
getX
()
+
","
+
item
.
getY
());
return
wareHouse
;
}
@Override
public
void
updateEngineerCenter
(
EngineerBusinessDTO
.
EngineerCenterUpdateReqDTO
centerReq
)
{
String
location
=
centerReq
.
getLocation
();
String
[]
xyArr
=
location
.
split
(
","
);
engineerBusinessDao
.
updateEngineerCenter
(
centerReq
.
getAddress
(),
xyArr
[
0
],
xyArr
[
1
],
centerReq
.
getEngineerCode
());
}
}
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