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
002e6efd
Commit
002e6efd
authored
Dec 06, 2021
by
helinlin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
车库门、警铃、广播的 联动
parent
ff71058c
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
1512 additions
and
744 deletions
+1512
-744
ControllerDto.java
...m/yeejoin/amos/boot/module/jcs/api/dto/ControllerDto.java
+35
-21
ControllerLogDto.java
...eejoin/amos/boot/module/jcs/api/dto/ControllerLogDto.java
+50
-0
Controller.java
...m/yeejoin/amos/boot/module/jcs/api/entity/Controller.java
+32
-29
ControllerLog.java
...eejoin/amos/boot/module/jcs/api/entity/ControllerLog.java
+55
-0
ControllerGroupEnum.java
...n/amos/boot/module/jcs/api/enums/ControllerGroupEnum.java
+30
-0
ControllerTypeEnum.java
...in/amos/boot/module/jcs/api/enums/ControllerTypeEnum.java
+13
-16
ControllerLogMapper.java
.../amos/boot/module/jcs/api/mapper/ControllerLogMapper.java
+19
-0
ControllerMapper.java
...oin/amos/boot/module/jcs/api/mapper/ControllerMapper.java
+5
-1
IControllerEquipService.java
.../boot/module/jcs/api/service/IControllerEquipService.java
+9
-0
IControllerLogService.java
...os/boot/module/jcs/api/service/IControllerLogService.java
+12
-0
IControllerService.java
.../amos/boot/module/jcs/api/service/IControllerService.java
+11
-0
ControllerLogMapper.xml
...jcs-api/src/main/resources/mapper/ControllerLogMapper.xml
+20
-0
ControllerMapper.xml
...le-jcs-api/src/main/resources/mapper/ControllerMapper.xml
+14
-0
RealTimeSpeechTranscriberListener.java
...cs/biz/audioToText/RealTimeSpeechTranscriberListener.java
+0
-6
ControllerController.java
.../boot/module/jcs/biz/controller/ControllerController.java
+85
-0
ControllerEquipController.java
.../module/jcs/biz/controller/ControllerEquipController.java
+44
-0
ControllerLogController.java
...ot/module/jcs/biz/controller/ControllerLogController.java
+135
-0
PowerTransferController.java
...ot/module/jcs/biz/controller/PowerTransferController.java
+0
-2
ControllerEquipServiceImpl.java
...dule/jcs/biz/service/impl/ControllerEquipServiceImpl.java
+46
-5
ControllerLogServiceImpl.java
...module/jcs/biz/service/impl/ControllerLogServiceImpl.java
+50
-0
ControllerServiceImpl.java
...ot/module/jcs/biz/service/impl/ControllerServiceImpl.java
+197
-8
PowerTransferServiceImpl.java
...module/jcs/biz/service/impl/PowerTransferServiceImpl.java
+649
-655
AppNslClient.java
...h/src/main/java/com/yeejoin/amos/speech/AppNslClient.java
+1
-1
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/ControllerDto.java
View file @
002e6efd
...
@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.jcs.api.dto;
...
@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.jcs.api.dto;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器
* 联动控制器
* </pre>
* </pre>
...
@@ -24,37 +24,51 @@ public class ControllerDto extends BaseDto {
...
@@ -24,37 +24,51 @@ public class ControllerDto extends BaseDto {
@ExcelIgnore
@ExcelIgnore
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 控制站
* 控制站
*/
*/
@ApiModelProperty
(
value
=
"控制站"
)
@ApiModelProperty
(
value
=
"控制站"
)
private
String
station
;
private
String
station
;
/**
/**
* ip
* ip
*/
*/
@ApiModelProperty
(
value
=
"ip"
)
@ApiModelProperty
(
value
=
"ip"
)
private
String
ip
;
private
String
ip
;
/**
/**
* 端口
* 端口
*/
*/
@ApiModelProperty
(
value
=
"端口"
)
@ApiModelProperty
(
value
=
"端口"
)
private
Integer
port
;
private
Integer
port
;
/**
/**
* 控制器名称
* 控制器名称
*/
*/
@ApiModelProperty
(
value
=
"控制器名称"
)
@ApiModelProperty
(
value
=
"控制器名称"
)
private
String
name
;
private
String
name
;
/**
/**
* 控制器类别
* 控制器类别
*/
*/
@ApiModelProperty
(
value
=
"控制器类别"
)
@ApiModelProperty
(
value
=
"控制器类别"
)
private
String
type
;
private
String
type
;
/**
* 状态
/**
*/
* 控制器类别枚举
*/
@ApiModelProperty
(
value
=
"控制器类别"
)
private
ControllerTypeEnum
typeEnum
;
/**
* 控制器类别名称
*/
@ApiModelProperty
(
value
=
"控制器类别名称"
)
private
String
typeDescription
;
/**
* 状态
*/
@ApiModelProperty
(
value
=
"状态"
)
@ApiModelProperty
(
value
=
"状态"
)
private
String
state
;
private
String
state
;
/**
* 关联的消防队伍ID
*/
@ApiModelProperty
(
value
=
"关联的消防队伍ID"
)
private
String
fireTeamSeq
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/dto/ControllerLogDto.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"ControllerLogDto"
)
public
class
ControllerLogDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"控制站ID"
)
private
Long
controllerSeq
;
@ApiModelProperty
(
value
=
"控制站名称"
)
private
Long
controllerName
;
@ApiModelProperty
(
value
=
"装备ID"
)
private
Long
equipSeq
;
@ApiModelProperty
(
value
=
"装备名称"
)
private
Long
equipName
;
@ApiModelProperty
(
value
=
"变更后状态"
)
private
String
state
;
@ApiModelProperty
(
value
=
"变更后状态描述"
)
private
Long
stateDescription
;
@ApiModelProperty
(
value
=
"变更人ID"
)
private
String
executeUserSeq
;
@ApiModelProperty
(
value
=
"变更人姓名"
)
private
String
executeUserName
;
@ApiModelProperty
(
value
=
"变更时间"
)
private
Date
executeDate
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/entity/Controller.java
View file @
002e6efd
...
@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
...
@@ -8,7 +8,6 @@ import lombok.EqualsAndHashCode;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器
* 联动控制器
* </pre>
* </pre>
...
@@ -22,39 +21,43 @@ import lombok.experimental.Accessors;
...
@@ -22,39 +21,43 @@ import lombok.experimental.Accessors;
@TableName
(
"jc_controller"
)
@TableName
(
"jc_controller"
)
public
class
Controller
extends
BaseEntity
{
public
class
Controller
extends
BaseEntity
{
/**
/**
*
*
*/
*/
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
/**
/**
* 控制站
* 控制站
*/
*/
@TableField
(
"station"
)
@TableField
(
"station"
)
private
String
station
;
private
String
station
;
/**
/**
* ip
* ip
*/
*/
@TableField
(
"c_ip"
)
@TableField
(
"c_ip"
)
private
String
ip
;
private
String
ip
;
/**
/**
* 端口
* 端口
*/
*/
@TableField
(
"c_port"
)
@TableField
(
"c_port"
)
private
Integer
port
;
private
Integer
port
;
/**
/**
* 控制器名称
* 控制器名称
*/
*/
@TableField
(
"c_name"
)
@TableField
(
"c_name"
)
private
String
name
;
private
String
name
;
/**
/**
* 控制器类别
* 控制器类别
*/
*/
@TableField
(
"type"
)
@TableField
(
"type"
)
private
String
type
;
private
String
type
;
/**
/**
* 状态
* 状态
*/
*/
@TableField
(
"c_state"
)
@TableField
(
"c_state"
)
private
String
state
;
private
String
state
;
/**
* 关联的消防队伍ID
*/
@TableField
(
value
=
"fire_team_seq"
)
private
String
fireTeamSeq
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/entity/ControllerLog.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* @author system_generator
* @date 2021-12-03
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"jc_controller_log"
)
public
class
ControllerLog
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 控制站ID
*/
@TableField
(
"controller_seq"
)
private
Long
controllerSeq
;
/**
* 装备ID
*/
@TableField
(
"equip_seq"
)
private
Long
equipSeq
;
/**
* 变更后状态
*/
@TableField
(
"state"
)
private
String
state
;
/**
* 变更人ID
*/
@TableField
(
"execute_user_seq"
)
private
Long
executeUserSeq
;
/**
* 变更时间
*/
@TableField
(
"execute_date"
)
private
Date
executeDate
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/enums/ControllerGroupEnum.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* <pre>
* 联动控制器大队枚举
* </pre>
*
* @author gwb
* @version $Id: ControllerTypeEnum.java, v 0.1 2021年8月20日 上午10:21:44 gwb Exp $
*/
@AllArgsConstructor
@Getter
public
enum
ControllerGroupEnum
{
ONE
(
"一大队"
,
1
,
1
),
TWO
(
"二大队"
,
3
,
2
),
THREE
(
"三大队"
,
2
,
3
);
private
final
String
name
;
private
final
int
type
;
private
final
int
order
;
public
static
ControllerGroupEnum
getEnum
(
int
type
)
{
for
(
ControllerGroupEnum
status
:
ControllerGroupEnum
.
values
())
{
if
(
status
.
getType
()
==
type
)
{
return
status
;
}
}
return
null
;
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/enums/ControllerTypeEnum.java
View file @
002e6efd
...
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
...
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import
lombok.Getter
;
import
lombok.Getter
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器类型枚举
* 联动控制器类型枚举
* </pre>
* </pre>
...
@@ -16,12 +15,13 @@ import lombok.Getter;
...
@@ -16,12 +15,13 @@ import lombok.Getter;
@AllArgsConstructor
@AllArgsConstructor
public
enum
ControllerTypeEnum
{
public
enum
ControllerTypeEnum
{
BELL
(
"1"
,
"警铃"
),
BELL
(
"1"
,
"警铃"
,
1
),
BROADCAST
(
"2"
,
"广播"
),
BROADCAST
(
"2"
,
"广播"
,
2
),
DOOR
(
"3"
,
"车库门"
);
DOOR
(
"3"
,
"车库门"
,
3
);
private
String
code
;
private
String
code
;
private
String
name
;
private
String
name
;
private
int
sort
;
public
String
getCode
()
{
public
String
getCode
()
{
...
@@ -39,16 +39,13 @@ public enum ControllerTypeEnum {
...
@@ -39,16 +39,13 @@ public enum ControllerTypeEnum {
public
void
setName
(
String
name
)
{
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
this
.
name
=
name
;
}
}
public
static
ControllerTypeEnum
getEnum
(
String
code
)
public
static
ControllerTypeEnum
getEnum
(
String
code
)
{
{
for
(
ControllerTypeEnum
status
:
ControllerTypeEnum
.
values
())
{
for
(
ControllerTypeEnum
status
:
ControllerTypeEnum
.
values
())
if
(
status
.
getCode
().
equals
(
code
))
{
{
return
status
;
if
(
status
.
getCode
().
equals
(
code
))
}
{
}
return
status
;
return
null
;
}
}
}
return
null
;
}
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/mapper/ControllerLogMapper.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
java.util.List
;
import
java.util.Map
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
ControllerLogMapper
extends
BaseMapper
<
ControllerLog
>
{
List
<
Map
<
String
,
Object
>>
selectToday
();
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/mapper/ControllerMapper.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器 Mapper 接口
* 联动控制器 Mapper 接口
* </pre>
* </pre>
...
@@ -14,4 +17,5 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
...
@@ -14,4 +17,5 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
*/
*/
public
interface
ControllerMapper
extends
BaseMapper
<
Controller
>
{
public
interface
ControllerMapper
extends
BaseMapper
<
Controller
>
{
public
List
<
ControllerDto
>
getCurrentStationController
(
@Param
(
"sequenceNbr"
)
Long
sequenceNbr
);
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerEquipService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerEquipService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerLogService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerLogService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IControllerService.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2021-12-03
*/
public
interface
IControllerService
{
}
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/resources/mapper/ControllerLogMapper.xml
0 → 100644
View file @
002e6efd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper"
>
<select
id=
"selectToday"
resultType=
"java.util.HashMap"
>
SELECT
a.sequence_nbr as sequenceNbr,
a.state,
DATE_FORMAT(a.execute_date, '%Y-%m-%d %H:%i:%s') as executeDate,
b.station,
b.type
FROM
jc_controller_log a
LEFT JOIN jc_controller b ON a.controller_seq = b.sequence_nbr
WHERE
TO_DAYS( a.execute_date ) = TO_DAYS( NOW( ) )
ORDER BY a.execute_date DESC
</select>
</mapper>
amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/resources/mapper/ControllerMapper.xml
0 → 100644
View file @
002e6efd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper"
>
<select
id=
"getCurrentStationController"
resultType=
"com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto"
>
SELECT
*
FROM
jc_controller
WHERE
station = ( SELECT station FROM jc_controller WHERE sequence_nbr = #{sequenceNbr} )
</select>
</mapper>
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/audioToText/RealTimeSpeechTranscriberListener.java
View file @
002e6efd
...
@@ -66,9 +66,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
...
@@ -66,9 +66,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
@Override
public
void
onTranscriberStart
(
SpeechTranscriberResponse
response
)
{
public
void
onTranscriberStart
(
SpeechTranscriberResponse
response
)
{
logger
.
warn
(
"服务端准备好了进行识别"
);
logger
.
warn
(
"服务端准备好了进行识别"
);
logger
.
warn
(
"task_id: "
+
response
.
getTaskId
()
+
", name: "
+
response
.
getName
()
+
", status: "
+
response
.
getStatus
());
}
}
/**
/**
...
@@ -77,9 +74,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
...
@@ -77,9 +74,6 @@ public class RealTimeSpeechTranscriberListener extends SpeechTranscriberListener
@Override
@Override
public
void
onSentenceBegin
(
SpeechTranscriberResponse
response
)
{
public
void
onSentenceBegin
(
SpeechTranscriberResponse
response
)
{
logger
.
warn
(
"服务端检测到了一句话的开始"
);
logger
.
warn
(
"服务端检测到了一句话的开始"
);
logger
.
warn
(
"task_id: "
+
response
.
getTaskId
()
+
", name: "
+
response
.
getName
()
+
", status: "
+
response
.
getStatus
());
}
}
/**
/**
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
/**
* 联动控制器
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller"
)
public
class
ControllerController
extends
BaseController
{
@Autowired
ControllerServiceImpl
controllerServiceImpl
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"更新联动控制器状态"
,
notes
=
"更新联动控制器状态"
)
@PostMapping
(
value
=
"/updateControllerState"
)
public
ResponseModel
<
Object
>
updateControllerState
(
@RequestBody
Controller
[]
controllers
)
{
return
ResponseHelper
.
buildResponse
(
controllerServiceImpl
.
changeControllerState
(
controllers
));
}
/**
* 列表全部数据查询
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
Object
>
selectForList
()
{
List
<
Controller
>
controllerList
=
controllerServiceImpl
.
list
();
List
<
Map
<
String
,
Object
>>
controllerStations
=
new
ArrayList
<>();
//分类联动控制站点
HashSet
<
Integer
>
controllerStation
=
new
HashSet
<>();
controllerList
.
forEach
(
controller
->
controllerStation
.
add
(
Integer
.
valueOf
(
controller
.
getStation
())));
controllerStation
.
forEach
(
station
->
{
ArrayList
<
ControllerDto
>
controllerDtos
=
new
ArrayList
<>();
controllerList
.
forEach
(
controller
->
{
if
(
station
.
equals
(
Integer
.
valueOf
(
controller
.
getStation
())))
{
ControllerDto
controllerDto
=
new
ControllerDto
();
ControllerTypeEnum
anEnum
=
ControllerTypeEnum
.
getEnum
(
controller
.
getType
());
BeanUtils
.
copyProperties
(
controller
,
controllerDto
);
controllerDto
.
setTypeEnum
(
anEnum
);
controllerDto
.
setTypeDescription
(
anEnum
.
getName
());
controllerDtos
.
add
(
controllerDto
);
}
});
//类型排序
controllerDtos
.
sort
(
Comparator
.
comparingInt
(
o
->
o
.
getTypeEnum
().
getSort
()));
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"groupEnum"
,
ControllerGroupEnum
.
getEnum
(
station
));
result
.
put
(
"groupName"
,
Objects
.
requireNonNull
(
ControllerGroupEnum
.
getEnum
(
station
)).
getName
());
result
.
put
(
"controllers"
,
controllerDtos
);
controllerStations
.
add
(
result
);
});
//大队排序
controllerStations
.
sort
(
Comparator
.
comparingInt
(
o
->
((
ControllerGroupEnum
)
o
.
get
(
"groupEnum"
)).
getOrder
()));
return
ResponseHelper
.
buildResponse
(
controllerStations
);
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerEquipController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerEquipDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerEquipServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.List
;
/**
* 控制器设备
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller-equip"
)
public
class
ControllerEquipController
extends
BaseController
{
@Autowired
ControllerEquipServiceImpl
controllerEquipServiceImpl
;
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
ControllerEquip
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
controllerEquipServiceImpl
.
list
());
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ControllerLogController.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerGroupEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.biz.service.impl.ControllerLogServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Map
;
/**
* 联动控制日志记录
*
* @author system_generator
* @date 2021-12-03
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/controller-log"
)
public
class
ControllerLogController
extends
BaseController
{
@Autowired
ControllerLogServiceImpl
controllerLogServiceImpl
;
/**
* 新增
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
ControllerLogDto
>
save
(
@RequestBody
ControllerLogDto
model
)
{
model
=
controllerLogServiceImpl
.
createWithModel
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
ControllerLogDto
>
updateBySequenceNbrControllerLog
(
@RequestBody
ControllerLogDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
updateWithModel
(
model
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
ControllerLogDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryBySeq
(
sequenceNbr
));
}
/**
* 获取今天的记录
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取今天的记录"
,
notes
=
"获取今天的记录"
)
@GetMapping
(
value
=
"/selectToday"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
selectToday
()
{
List
<
Map
<
String
,
Object
>>
controllerLogDtos
=
controllerLogServiceImpl
.
selectToday
();
controllerLogDtos
.
forEach
(
item
->
{
item
.
put
(
"station"
,
ControllerGroupEnum
.
getEnum
(
Integer
.
parseInt
(
item
.
get
(
"station"
).
toString
())).
getName
());
item
.
put
(
"type"
,
ControllerTypeEnum
.
getEnum
(
item
.
get
(
"type"
).
toString
()).
getName
());
});
return
ResponseHelper
.
buildResponse
(
controllerLogDtos
);
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
ControllerLogDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
ControllerLogDto
>
page
=
new
Page
<
ControllerLogDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryForControllerLogPage
(
page
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
ControllerLogDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
controllerLogServiceImpl
.
queryForControllerLogList
());
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/PowerTransferController.java
View file @
002e6efd
...
@@ -177,10 +177,8 @@ public class PowerTransferController extends BaseController {
...
@@ -177,10 +177,8 @@ public class PowerTransferController extends BaseController {
AgencyUserModel
userInfo
=
getUserInfo
();
AgencyUserModel
userInfo
=
getUserInfo
();
powerTransferDto
.
setTaskSenderId
(
Long
.
parseLong
(
userInfo
.
getUserId
()));
powerTransferDto
.
setTaskSenderId
(
Long
.
parseLong
(
userInfo
.
getUserId
()));
powerTransferDto
.
setTaskSenderName
(
userInfo
.
getRealName
());
powerTransferDto
.
setTaskSenderName
(
userInfo
.
getRealName
());
String
companyName
=
getSelectedOrgInfo
().
getCompany
().
getCompanyName
();
String
companyName
=
getSelectedOrgInfo
().
getCompany
().
getCompanyName
();
powerTransferDto
.
setCompanyName
(
companyName
);
powerTransferDto
.
setCompanyName
(
companyName
);
boolean
save
=
powerTransferService
.
createPowerTransfer
(
powerTransferDto
);
boolean
save
=
powerTransferService
.
createPowerTransfer
(
powerTransferDto
);
return
ResponseHelper
.
buildResponse
(
save
);
return
ResponseHelper
.
buildResponse
(
save
);
}
}
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerEquipServiceImpl.java
View file @
002e6efd
...
@@ -3,6 +3,12 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
...
@@ -3,6 +3,12 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import
java.util.List
;
import
java.util.List
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.common.api.feign.JcsControlServerClient
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerEquipService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.ControllerEquip;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper
;
/**
/**
*
* <pre>
* <pre>
* 控制器设备 服务实现类
* 控制器设备 服务实现类
* </pre>
* </pre>
...
@@ -20,10 +25,46 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
...
@@ -20,10 +25,46 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerEquipMapper;
* @version $Id: ControllerEquipServiceImpl.java, v 0.1 2021年8月20日 上午10:16:33 gwb Exp $
* @version $Id: ControllerEquipServiceImpl.java, v 0.1 2021年8月20日 上午10:16:33 gwb Exp $
*/
*/
@Service
@Service
public
class
ControllerEquipServiceImpl
extends
BaseService
<
ControllerEquipDto
,
ControllerEquip
,
ControllerEquipMapper
>
public
class
ControllerEquipServiceImpl
extends
BaseService
<
ControllerEquipDto
,
ControllerEquip
,
ControllerEquipMapper
>
implements
IControllerEquipService
{
{
@Autowired
JcsControlServerClient
jcsControlServerClient
;
public
List
<
ControllerEquipDto
>
queryAllForList
()
{
public
List
<
ControllerEquipDto
>
queryAllForList
()
{
return
this
.
queryForList
(
""
,
false
);
return
this
.
queryForList
(
""
,
false
);
}
}
/**
* 改变警铃状态 0关闭,1开启
*/
@Async
public
void
changeBell
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
sendBellAction
(
controllerEquip
.
getNum
(),
type
));
}
/**
* 改变广播状态 0关闭,1开启
*/
@Async
public
void
changeBroadcast
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
sendFileAction
(
controllerEquip
.
getNum
(),
""
));
}
/**
* 改变车库门状态 0关闭,1开启
*/
@Async
public
void
changeDoor
(
Controller
controller
,
String
type
)
{
if
(
controller
==
null
)
return
;
List
<
ControllerEquip
>
list
=
getControllerEquips
(
controller
);
list
.
forEach
(
controllerEquip
->
jcsControlServerClient
.
writeStateAction
(
controller
.
getIp
(),
controller
.
getPort
(),
Integer
.
parseInt
(
controllerEquip
.
getNum
()),
type
));
}
private
List
<
ControllerEquip
>
getControllerEquips
(
Controller
controller
)
{
LambdaQueryWrapper
<
ControllerEquip
>
wrapper
=
new
LambdaQueryWrapper
<
ControllerEquip
>().
eq
(
ControllerEquip:
:
getControllerSeq
,
controller
.
getSequenceNbr
());
return
list
(
wrapper
);
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerLogServiceImpl.java
0 → 100644
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Controller
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerLogMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerLogService
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerLogDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* 服务实现类
*
* @author system_generator
* @date 2021-12-03
*/
@Service
public
class
ControllerLogServiceImpl
extends
BaseService
<
ControllerLogDto
,
ControllerLog
,
ControllerLogMapper
>
implements
IControllerLogService
{
@Autowired
ControllerLogMapper
controllerLogMapper
;
/**
* 获取今天的记录
*/
public
List
<
Map
<
String
,
Object
>>
selectToday
()
{
return
controllerLogMapper
.
selectToday
();
}
/**
* 分页查询
*/
public
Page
<
ControllerLogDto
>
queryForControllerLogPage
(
Page
<
ControllerLogDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
ControllerLogDto
>
queryForControllerLogList
()
{
return
this
.
queryForList
(
""
,
false
);
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ControllerServiceImpl.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
java.util.
List
;
import
java.util.
*
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.ControllerLog
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.ControllerTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.service.IControllerService
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ControllerDto
;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
...
@@ -11,7 +17,6 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Controller;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper
;
import
com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper
;
/**
/**
*
* <pre>
* <pre>
* 联动控制器 服务实现类
* 联动控制器 服务实现类
* </pre>
* </pre>
...
@@ -20,14 +25,198 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper;
...
@@ -20,14 +25,198 @@ import com.yeejoin.amos.boot.module.jcs.api.mapper.ControllerMapper;
* @version $Id: ControllerServiceImpl.java, v 0.1 2021年8月20日 上午10:15:49 gwb Exp $
* @version $Id: ControllerServiceImpl.java, v 0.1 2021年8月20日 上午10:15:49 gwb Exp $
*/
*/
@Service
@Service
public
class
ControllerServiceImpl
extends
BaseService
<
ControllerDto
,
Controller
,
ControllerMapper
>
public
class
ControllerServiceImpl
extends
BaseService
<
ControllerDto
,
Controller
,
ControllerMapper
>
implements
IControllerService
{
{
/**
* 将延迟的任务存放在Hashtable中,以便在多个请求中控制任务的取消分享等操作
public
List
<
ControllerDto
>
queryAllForList
()
{
*/
private
final
Map
<
Long
,
TimerTask
>
tasks
=
new
Hashtable
<>();
private
final
Timer
timer
=
new
Timer
();
public
static
final
String
CONTROLLER_STATE_CHANGED_TOPIC
=
"controllerStateChanged"
;
@Autowired
ControllerMapper
controllerMapper
;
@Autowired
ControllerEquipServiceImpl
controllerEquipServiceImpl
;
@Autowired
ControllerLogServiceImpl
controllerLogServiceImpl
;
@Autowired
private
EmqKeeper
emqKeeper
;
public
List
<
ControllerDto
>
queryAllForList
()
{
return
this
.
queryForList
(
""
,
false
);
return
this
.
queryForList
(
""
,
false
);
}
}
public
List
<
ControllerDto
>
queryForList
(
String
station
,
String
type
)
{
public
List
<
ControllerDto
>
queryForList
(
String
station
,
String
type
)
{
return
this
.
queryForList
(
""
,
false
,
station
,
type
);
return
this
.
queryForList
(
""
,
false
,
station
,
type
);
}
}
public
List
<
ControllerDto
>
getCurrentStationController
(
Long
sequenceNbr
)
{
return
controllerMapper
.
getCurrentStationController
(
sequenceNbr
);
}
/**
* 更新station联动控制器状态
* 3.1.3 警铃、广播、车库门 联动规则:
* 当 点击【全部启动】、【某大队全部启动】时:
* 1> 首先:消防警铃第一时间 响铃持续15s 后自动关闭。
* 2> 然后:警铃 响铃结束后,广播系统开启。广播 启动预制的 广播音频, 播放。
* 3> 车库门和警铃第一时间自动开启。
* 4> 系统 需要打印出 “警铃、广播、车库门 ” 启动指令和 停止指令的 日志。
* 当同时 点击【启动警铃】、【启动广播】时
* 1> 首先:消防警铃第一时间 响铃持续15s 后自动关闭。
* 2> 然后:警铃 响铃结束后,广播系统开启。广播 启动预制的 广播音频, 播放。
*/
public
boolean
changeControllerState
(
Controller
[]
controllers
)
{
boolean
isBatch
=
controllers
.
length
>
1
;
if
(
isBatch
)
{
//全部操作
//分组
HashSet
<
String
>
groupTypes
=
new
HashSet
<>();
for
(
Controller
controller
:
controllers
)
{
groupTypes
.
add
(
controller
.
getStation
());
}
//按分组进行归类
List
<
Map
<
String
,
Controller
>>
groups
=
new
ArrayList
<>();
groupTypes
.
forEach
(
groupType
->
{
Map
<
String
,
Controller
>
group
=
new
HashMap
<>();
for
(
Controller
controller
:
controllers
)
{
if
(
groupType
.
equals
(
controller
.
getStation
()))
group
.
put
(
controller
.
getType
(),
controller
);
}
groups
.
add
(
group
);
});
//开始处理
startJob
(
groups
);
}
else
{
//单个操作
for
(
Controller
controller
:
controllers
)
{
//保存日志
saveLog
(
controller
);
String
type
=
controller
.
getType
();
// 打开警铃,并开始计时15秒,若15秒内启动广播,则播放完警铃后再播放广播
if
(
"0"
.
equals
(
controller
.
getState
()))
{
//关闭操作
if
(
ControllerTypeEnum
.
BELL
.
getCode
().
equals
(
type
))
{
//取消该警铃的任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
controller
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
{
stopBellTaskHistory
.
cancel
();
tasks
.
remove
(
controller
.
getSequenceNbr
());
}
controllerEquipServiceImpl
.
changeBell
(
controller
,
"0"
);
//关闭警铃
}
else
if
(
ControllerTypeEnum
.
BROADCAST
.
getCode
().
equals
(
type
))
{
//取消该广播的任务
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
controller
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
{
startBroadcastTaskHistory
.
cancel
();
tasks
.
remove
(
controller
.
getSequenceNbr
());
}
controllerEquipServiceImpl
.
changeBroadcast
(
controller
,
"0"
);
//关闭广播
}
else
if
(
ControllerTypeEnum
.
DOOR
.
getCode
().
equals
(
type
))
{
//车库门不能关闭
}
}
else
{
//启动操作
if
(
ControllerTypeEnum
.
BELL
.
getCode
().
equals
(
type
))
{
//启动警铃
controllerEquipServiceImpl
.
changeBell
(
controller
,
"1"
);
//启动警铃
//开始计时15秒,15秒后关闭警铃
TimerTask
timerTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
controller
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
controller
,
"0"
);
//关闭警铃
}
};
tasks
.
put
(
controller
.
getSequenceNbr
(),
timerTask
);
timer
.
schedule
(
timerTask
,
15000
);
}
else
if
(
ControllerTypeEnum
.
BROADCAST
.
getCode
().
equals
(
type
))
{
//启动广播
controllerEquipServiceImpl
.
changeBroadcast
(
controller
,
"1"
);
//开启广播
}
else
if
(
ControllerTypeEnum
.
DOOR
.
getCode
().
equals
(
type
))
{
//启动车库门
controllerEquipServiceImpl
.
changeDoor
(
controller
,
"1"
);
//开启车库门
}
}
}
}
return
true
;
}
/**
* 全部操作:启动警铃,启动车库门,15秒后关闭警铃,启动广播
*/
public
void
startJob
(
List
<
Map
<
String
,
Controller
>>
groups
)
{
groups
.
forEach
(
group
->
{
Controller
bellController
=
group
.
get
(
ControllerTypeEnum
.
BELL
.
getCode
());
Controller
broadcastController
=
group
.
get
(
ControllerTypeEnum
.
BROADCAST
.
getCode
());
Controller
doorController
=
group
.
get
(
ControllerTypeEnum
.
DOOR
.
getCode
());
//保存操作日志
saveLog
(
bellController
);
saveLog
(
broadcastController
);
saveLog
(
doorController
);
if
(
"0"
.
equals
(
bellController
.
getState
()))
{
//全部关闭(车库们不能关闭)
//先查看是否有未执行的历史任务,如果有则取消任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
bellController
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
{
stopBellTaskHistory
.
cancel
();
tasks
.
remove
(
bellController
.
getSequenceNbr
());
}
if
(
broadcastController
!=
null
)
{
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
broadcastController
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
{
startBroadcastTaskHistory
.
cancel
();
tasks
.
remove
(
broadcastController
.
getSequenceNbr
());
}
}
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"0"
);
//关闭警铃
controllerEquipServiceImpl
.
changeBroadcast
(
broadcastController
,
"0"
);
//关闭广播
}
else
{
//全部打开
//立即启动警铃,打开车库门
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"1"
);
//开启警铃
controllerEquipServiceImpl
.
changeDoor
(
doorController
,
"1"
);
//开启车库门
//15秒后关闭警铃,启动广播
TimerTask
stopBellTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
bellController
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
bellController
,
"0"
);
//关闭警铃
}
};
TimerTask
startBroadcastTask
=
new
TimerTask
()
{
@Override
public
void
run
()
{
tasks
.
remove
(
broadcastController
.
getSequenceNbr
());
controllerEquipServiceImpl
.
changeBell
(
broadcastController
,
"1"
);
//开启广播
}
};
//先查看是否有未执行的历史任务,如果有则取消任务
TimerTask
stopBellTaskHistory
=
tasks
.
get
(
bellController
.
getSequenceNbr
());
if
(
stopBellTaskHistory
!=
null
)
stopBellTaskHistory
.
cancel
();
TimerTask
startBroadcastTaskHistory
=
tasks
.
get
(
broadcastController
.
getSequenceNbr
());
if
(
startBroadcastTaskHistory
!=
null
)
startBroadcastTaskHistory
.
cancel
();
//保存新的任务至map中,同时开始调度新任务
tasks
.
put
(
bellController
.
getSequenceNbr
(),
stopBellTask
);
tasks
.
put
(
broadcastController
.
getSequenceNbr
(),
startBroadcastTask
);
timer
.
schedule
(
stopBellTask
,
15000
);
timer
.
schedule
(
startBroadcastTask
,
16000
);
}
});
}
/**
* 保存操作日志
*/
private
void
saveLog
(
Controller
controller
)
{
if
(
controller
==
null
)
return
;
boolean
update
=
updateById
(
controller
);
if
(
update
)
{
ControllerLog
controllerLog
=
new
ControllerLog
();
controllerLog
.
setControllerSeq
(
controller
.
getSequenceNbr
());
controllerLog
.
setState
(
controller
.
getState
());
controllerLog
.
setExecuteDate
(
new
Date
());
controllerLogServiceImpl
.
save
(
controllerLog
);
}
// 分发状态变更通知
try
{
emqKeeper
.
getMqttClient
().
publish
(
CONTROLLER_STATE_CHANGED_TOPIC
,
""
.
getBytes
(),
2
,
true
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/PowerTransferServiceImpl.java
View file @
002e6efd
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jcs
.
biz
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.*
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
...
@@ -47,12 +44,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
...
@@ -47,12 +44,6 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto
;
import
com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources
;
import
com.yeejoin.amos.boot.module.jcs.api.entity.Template
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum
;
import
com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum
;
...
@@ -69,165 +60,168 @@ import com.yeejoin.amos.component.rule.config.RuleConfig;
...
@@ -69,165 +60,168 @@ import com.yeejoin.amos.component.rule.config.RuleConfig;
*/
*/
@Service
@Service
public
class
PowerTransferServiceImpl
extends
BaseService
<
PowerTransferDto
,
PowerTransfer
,
PowerTransferMapper
>
public
class
PowerTransferServiceImpl
extends
BaseService
<
PowerTransferDto
,
PowerTransfer
,
PowerTransferMapper
>
implements
IPowerTransferService
{
implements
IPowerTransferService
{
@Autowired
@Autowired
AlertCalledServiceImpl
alertCalledService
;
AlertCalledServiceImpl
alertCalledService
;
@Autowired
@Autowired
PowerTransferCompanyServiceImpl
powerTransferCompanyService
;
PowerTransferCompanyServiceImpl
powerTransferCompanyService
;
@Autowired
@Autowired
PowerTransferCompanyResourcesServiceImpl
powerTransferCompanyResourcesService
;
PowerTransferCompanyResourcesServiceImpl
powerTransferCompanyResourcesService
;
@Autowired
@Autowired
TemplateServiceImpl
templateService
;
TemplateServiceImpl
templateService
;
@Autowired
@Autowired
AlertFormValueServiceImpl
alertFormValueService
;
AlertFormValueServiceImpl
alertFormValueService
;
@Autowired
@Autowired
EquipFeignClient
equipFeignService
;
EquipFeignClient
equipFeignService
;
@Autowired
@Autowired
FireTeamServiceImpl
fireTeamService
;
FireTeamServiceImpl
fireTeamService
;
@Autowired
@Autowired
PowerTransferMapper
powerTransferMapper
;
PowerTransferMapper
powerTransferMapper
;
@Autowired
@Autowired
EquipFeignClient
equipFeignClient
;
EquipFeignClient
equipFeignClient
;
@Autowired
@Autowired
private
EmqKeeper
emqKeeper
;
private
EmqKeeper
emqKeeper
;
@Value
(
"${mqtt.topic.command.power.deployment}"
)
@Value
(
"${mqtt.topic.command.power.deployment}"
)
private
String
topic
;
private
String
topic
;
@Autowired
@Autowired
private
DutyCarServiceImpl
dutyCarService
;
private
DutyCarServiceImpl
dutyCarService
;
@Autowired
@Autowired
FireTeamServiceImpl
iFireTeamService
;
FireTeamServiceImpl
iFireTeamService
;
@Autowired
@Autowired
DynamicFormInstanceMapper
dynamicFormInstanceMapper
;
DynamicFormInstanceMapper
dynamicFormInstanceMapper
;
@Autowired
@Autowired
RuleAlertCalledService
ruleAlertCalledService
;
RuleAlertCalledService
ruleAlertCalledService
;
@Override
@Autowired
public
PowerTransferSimpleDto
getPowerTransferList
(
Long
alertCalledId
)
{
ControllerServiceImpl
controllerServiceImpl
;
List
<
PowerTransferCompanyResourcesDto
>
powerTransferList
=
this
.
baseMapper
.
getPowerTransferList
(
alertCalledId
);
PowerTransferSimpleDto
powerTransferSimpleDto
=
new
PowerTransferSimpleDto
();
@Override
int
resourcesCount
=
powerTransferList
.
size
();
public
PowerTransferSimpleDto
getPowerTransferList
(
Long
alertCalledId
)
{
powerTransferSimpleDto
.
setResourcesCount
(
resourcesCount
);
List
<
PowerTransferCompanyResourcesDto
>
powerTransferList
=
this
.
baseMapper
.
getPowerTransferList
(
alertCalledId
);
powerTransferSimpleDto
.
setResourcesList
(
powerTransferList
);
PowerTransferSimpleDto
powerTransferSimpleDto
=
new
PowerTransferSimpleDto
();
return
powerTransferSimpleDto
;
int
resourcesCount
=
powerTransferList
.
size
();
}
powerTransferSimpleDto
.
setResourcesCount
(
resourcesCount
);
powerTransferSimpleDto
.
setResourcesList
(
powerTransferList
);
@Override
return
powerTransferSimpleDto
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
}
public
boolean
createPowerTransfer
(
PowerTransferDto
powerTransferDto
)
{
try
{
@Override
// 获取调派ID
@Transactional
(
rollbackFor
=
Exception
.
class
)
Long
alertCalledId
=
powerTransferDto
.
getAlertCalledId
();
public
boolean
createPowerTransfer
(
PowerTransferDto
powerTransferDto
)
{
int
count
=
count
(
new
QueryWrapper
<
PowerTransfer
>().
eq
(
"alert_called_id"
,
alertCalledId
));
try
{
String
dispatch_num
=
alertCalledId
.
toString
()
+
(
count
+
1
);
// 获取调派ID
Long
alertCalledId
=
powerTransferDto
.
getAlertCalledId
();
// 获取警情详情
int
count
=
count
(
new
QueryWrapper
<
PowerTransfer
>().
eq
(
"alert_called_id"
,
alertCalledId
));
AlertCalledObjsDto
alertCalled
=
(
AlertCalledObjsDto
)
alertCalledService
String
dispatch_num
=
alertCalledId
.
toString
()
+
(
count
+
1
);
.
selectAlertCalledByIdNoRedisNew
(
alertCalledId
);
// 获取警情详情
// 创建力量调派
AlertCalledObjsDto
alertCalled
=
(
AlertCalledObjsDto
)
alertCalledService
PowerTransfer
powerTransfer
=
new
PowerTransfer
();
.
selectAlertCalledByIdNoRedisNew
(
alertCalledId
);
BeanUtils
.
copyProperties
(
powerTransferDto
,
powerTransfer
);
BeanUtils
.
copyProperties
(
alertCalled
.
getAlertCalled
(),
powerTransfer
);
// 创建力量调派
powerTransfer
.
setDispatchNum
(
dispatch_num
);
PowerTransfer
powerTransfer
=
new
PowerTransfer
();
powerTransfer
.
setSequenceNbr
(
null
);
BeanUtils
.
copyProperties
(
powerTransferDto
,
powerTransfer
);
BeanUtils
.
copyProperties
(
alertCalled
.
getAlertCalled
(),
powerTransfer
);
save
(
powerTransfer
);
powerTransfer
.
setDispatchNum
(
dispatch_num
);
Long
powerTransferSequenceNbr
=
powerTransfer
.
getSequenceNbr
();
powerTransfer
.
setSequenceNbr
(
null
);
// 获取任务派发模板
save
(
powerTransfer
);
Template
template
=
templateService
Long
powerTransferSequenceNbr
=
powerTransfer
.
getSequenceNbr
();
.
getOne
(
new
QueryWrapper
<
Template
>().
eq
(
"type_code"
,
"LLDP"
).
eq
(
"format"
,
false
));
String
content
=
template
.
getContent
();
// 获取任务派发模板
Map
<
String
,
String
>
definitions
=
new
HashMap
<>();
Template
template
=
templateService
// initDefinitions(definitions, alertCalled, powerTransferDto);
.
getOne
(
new
QueryWrapper
<
Template
>().
eq
(
"type_code"
,
"LLDP"
).
eq
(
"format"
,
false
));
String
content
=
template
.
getContent
();
// 创建力量调派单位
Map
<
String
,
String
>
definitions
=
new
HashMap
<>();
createPowerTransferCompany
(
powerTransferDto
,
powerTransferSequenceNbr
,
definitions
,
content
,
alertCalled
);
// initDefinitions(definitions, alertCalled, powerTransferDto);
// 封装调派任务的集合,以便于实现任务规则校验
// 创建力量调派单位
try
{
createPowerTransferCompany
(
powerTransferDto
,
powerTransferSequenceNbr
,
definitions
,
content
,
alertCalled
);
packagePowerTransferDetail
(
powerTransferDto
);
}
catch
(
Exception
e
)
{
// 封装调派任务的集合,以便于实现任务规则校验
log
.
error
(
"调用规则失败:PowerTransferServiceImpl。createPowerTransfer()"
);
try
{
}
packagePowerTransferDetail
(
powerTransferDto
);
}
catch
(
Exception
e
)
{
// 发送调派通知
log
.
error
(
"调用规则失败:PowerTransferServiceImpl。createPowerTransfer()"
);
// 通知实战指挥页面发送mqtt 默认发送 String 类型 0, 新警情 1 警情状态变化
}
emqKeeper
.
getMqttClient
().
publish
(
topic
,
"0"
.
getBytes
(),
RuleConfig
.
DEFAULT_QOS
,
true
);
}
catch
(
MqttException
e
)
{
// 发送调派通知
throw
new
RuntimeException
();
// 通知实战指挥页面发送mqtt 默认发送 String 类型 0, 新警情 1 警情状态变化
}
emqKeeper
.
getMqttClient
().
publish
(
topic
,
"0"
.
getBytes
(),
RuleConfig
.
DEFAULT_QOS
,
true
);
}
catch
(
MqttException
e
)
{
return
true
;
throw
new
RuntimeException
();
}
}
private
void
packagePowerTransferDetail
(
PowerTransferDto
powerTransferDto
)
throws
Exception
{
return
true
;
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDtoList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
}
Set
<
PowerTransferCompanyDto
>
fullTimeList
=
new
HashSet
<
PowerTransferCompanyDto
>();
Set
<
PowerTransferCompanyDto
>
medicalTeamList
=
new
HashSet
<
PowerTransferCompanyDto
>();
private
void
packagePowerTransferDetail
(
PowerTransferDto
powerTransferDto
)
throws
Exception
{
Set
<
PowerTransferCompanyDto
>
monitorTeamList
=
new
HashSet
<
PowerTransferCompanyDto
>();
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDtoList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
Set
<
PowerTransferCompanyDto
>
fullTimeList
=
new
HashSet
<
PowerTransferCompanyDto
>();
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDtoList
)
{
Set
<
PowerTransferCompanyDto
>
medicalTeamList
=
new
HashSet
<
PowerTransferCompanyDto
>();
if
(
FireBrigadeTypeEnum
.
专职消防队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
Set
<
PowerTransferCompanyDto
>
monitorTeamList
=
new
HashSet
<
PowerTransferCompanyDto
>();
fullTimeList
.
add
(
powerTransferCompanyDto
);
}
else
if
(
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDtoList
)
{
medicalTeamList
.
add
(
powerTransferCompanyDto
);
if
(
FireBrigadeTypeEnum
.
专职消防队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
}
else
if
(
FireBrigadeTypeEnum
.
监控大队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
fullTimeList
.
add
(
powerTransferCompanyDto
);
monitorTeamList
.
add
(
powerTransferCompanyDto
);
}
else
if
(
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
}
medicalTeamList
.
add
(
powerTransferCompanyDto
);
}
}
else
if
(
FireBrigadeTypeEnum
.
监控大队
.
getKey
().
equals
(
powerTransferCompanyDto
.
getPowerTransType
()))
{
if
(
fullTimeList
.
size
()
>
0
)
{
monitorTeamList
.
add
(
powerTransferCompanyDto
);
ruleAlertCalledService
.
powerTransferCalledRule
(
fullTimeList
,
powerTransferDto
.
getAlertCalledId
(),
}
FireBrigadeTypeEnum
.
专职消防队
.
getKey
());
}
}
if
(
fullTimeList
.
size
()
>
0
)
{
if
(
medicalTeamList
.
size
()
>
0
)
{
ruleAlertCalledService
.
powerTransferCalledRule
(
fullTimeList
,
powerTransferDto
.
getAlertCalledId
(),
ruleAlertCalledService
.
powerTransferCalledRule
(
medicalTeamList
,
powerTransferDto
.
getAlertCalledId
(),
FireBrigadeTypeEnum
.
专职消防队
.
getKey
());
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
());
}
if
(
medicalTeamList
.
size
()
>
0
)
{
}
ruleAlertCalledService
.
powerTransferCalledRule
(
medicalTeamList
,
powerTransferDto
.
getAlertCalledId
(),
if
(
monitorTeamList
.
size
()
>
0
)
{
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
());
ruleAlertCalledService
.
powerTransferCalledRule
(
monitorTeamList
,
powerTransferDto
.
getAlertCalledId
(),
FireBrigadeTypeEnum
.
监控大队
.
getKey
());
}
if
(
monitorTeamList
.
size
()
>
0
)
{
}
ruleAlertCalledService
.
powerTransferCalledRule
(
monitorTeamList
,
powerTransferDto
.
getAlertCalledId
(),
}
FireBrigadeTypeEnum
.
监控大队
.
getKey
());
@Override
}
public
List
<
FireBrigadeResourceDto
>
getPowerTree
(
String
type
)
{
}
List
<
FireBrigadeResourceDto
>
fireBrigadeResourceList
=
Lists
.
newArrayList
();
@Override
if
(
type
!=
null
&&
!
""
.
equals
(
type
)
&&
"1214"
.
equals
(
type
))
{
public
List
<
FireBrigadeResourceDto
>
getPowerTree
(
String
type
)
{
// 3.消防队伍-监控大队
List
<
FireBrigadeResourceDto
>
fireBrigadeResourceList
=
Lists
.
newArrayList
();
List
<
FireBrigadeResourceDto
>
monitorFireBrigadeList1
=
fireTeamService
.
listMonitorFireBrigade
(
FireBrigadeTypeEnum
.
医疗救援队
.
getCode
());
if
(
type
!=
null
&&
!
""
.
equals
(
type
)
&&
"1214"
.
equals
(
type
))
{
FireBrigadeResourceDto
monitorResourceDto1
=
new
FireBrigadeResourceDto
();
// 3.消防队伍-监控大队
monitorResourceDto1
.
setId
(
"-1"
);
List
<
FireBrigadeResourceDto
>
monitorFireBrigadeList1
=
fireTeamService
monitorResourceDto1
.
setName
(
FireBrigadeTypeEnum
.
医疗救援队
.
getName
());
.
listMonitorFireBrigade
(
FireBrigadeTypeEnum
.
医疗救援队
.
getCode
());
monitorResourceDto1
.
setType
(
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
());
FireBrigadeResourceDto
monitorResourceDto1
=
new
FireBrigadeResourceDto
();
monitorResourceDto1
.
setChildren
(
monitorFireBrigadeList1
);
monitorResourceDto1
.
setId
(
"-1"
);
if
(!
CollectionUtils
.
isEmpty
(
monitorFireBrigadeList1
))
{
monitorResourceDto1
.
setName
(
FireBrigadeTypeEnum
.
医疗救援队
.
getName
());
fireBrigadeResourceList
.
add
(
monitorResourceDto1
);
monitorResourceDto1
.
setType
(
FireBrigadeTypeEnum
.
医疗救援队
.
getKey
());
}
monitorResourceDto1
.
setChildren
(
monitorFireBrigadeList1
);
}
if
(!
CollectionUtils
.
isEmpty
(
monitorFireBrigadeList1
))
{
fireBrigadeResourceList
.
add
(
monitorResourceDto1
);
// 1.调用装备服务接口查询车辆列表
}
List
<
FireBrigadeResourceDto
>
fireCarDtoList
=
Lists
.
newArrayList
();
}
ResponseModel
<
Object
>
result
=
equipFeignService
.
getFireCarListAll
();
// 1.调用装备服务接口查询车辆列表
List
<
FireBrigadeResourceDto
>
fireCarDtoList
=
Lists
.
newArrayList
();
ResponseModel
<
Object
>
result
=
equipFeignService
.
getFireCarListAll
();
// if (!ObjectUtils.isEmpty(result)) {
// if (!ObjectUtils.isEmpty(result)) {
// List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
// List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
// if (!ValidationUtil.isEmpty(fireCarListMapList)) {
// if (!ValidationUtil.isEmpty(fireCarListMapList)) {
...
@@ -248,76 +242,76 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -248,76 +242,76 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// }
// }
// }
// }
// 查询车辆当前任务状态
// 查询车辆当前任务状态
QueryWrapper
<
PowerTransferCompanyResources
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
PowerTransferCompanyResources
>
queryWrapper
=
new
QueryWrapper
<>();
// queryWrapper.notIn("car_status",
// queryWrapper.notIn("car_status",
// FireCarStatusEnum.返队.getCode(),FireCarStatusEnum.加油.getCode(),FireCarStatusEnum.演练.getCode(),FireCarStatusEnum.训练.getCode(),FireCarStatusEnum.试车.getCode());
// FireCarStatusEnum.返队.getCode(),FireCarStatusEnum.加油.getCode(),FireCarStatusEnum.演练.getCode(),FireCarStatusEnum.训练.getCode(),FireCarStatusEnum.试车.getCode());
queryWrapper
.
eq
(
"status"
,
FireCarStatusEnum
.
执行中
.
getCode
());
queryWrapper
.
eq
(
"status"
,
FireCarStatusEnum
.
执行中
.
getCode
());
List
<
PowerTransferCompanyResources
>
alertFormValue
=
powerTransferCompanyResourcesService
.
list
(
queryWrapper
);
List
<
PowerTransferCompanyResources
>
alertFormValue
=
powerTransferCompanyResourcesService
.
list
(
queryWrapper
);
Map
<
String
,
String
>
appleMap
=
alertFormValue
!=
null
&&
alertFormValue
.
size
()
>
0
Map
<
String
,
String
>
appleMap
=
alertFormValue
!=
null
&&
alertFormValue
.
size
()
>
0
?
alertFormValue
.
stream
().
collect
(
Collectors
.
toMap
(
PowerTransferCompanyResources:
:
getResourcesId
,
?
alertFormValue
.
stream
().
collect
(
Collectors
.
toMap
(
PowerTransferCompanyResources:
:
getResourcesId
,
PowerTransferCompanyResources:
:
getCarStatus
))
PowerTransferCompanyResources:
:
getCarStatus
))
:
null
;
:
null
;
if
(!
ObjectUtils
.
isEmpty
(
result
))
{
if
(!
ObjectUtils
.
isEmpty
(
result
))
{
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
if
(!
ValidationUtil
.
isEmpty
(
fireCarListMapList
))
{
if
(!
ValidationUtil
.
isEmpty
(
fireCarListMapList
))
{
fireCarListMapList
.
stream
().
filter
(
car
->
ObjectUtils
.
isNotEmpty
(
car
.
get
(
"teamId"
))).
forEach
(
car
->
{
fireCarListMapList
.
stream
().
filter
(
car
->
ObjectUtils
.
isNotEmpty
(
car
.
get
(
"teamId"
))).
forEach
(
car
->
{
FireBrigadeResourceDto
fireCarDto
=
(
FireBrigadeResourceDto
)
Bean
.
mapToBean
(
car
,
FireBrigadeResourceDto
fireCarDto
=
(
FireBrigadeResourceDto
)
Bean
.
mapToBean
(
car
,
FireBrigadeResourceDto
.
class
);
FireBrigadeResourceDto
.
class
);
// TODO 后期根据车物联状态来返回,现在为"(装备)在位=执勤","(装备)执勤=出动"
// TODO 后期根据车物联状态来返回,现在为"(装备)在位=执勤","(装备)执勤=出动"
if
(
FireCarStatusEnum
.
执勤
.
getCode
().
equals
(
fireCarDto
.
getCarState
()))
{
if
(
FireCarStatusEnum
.
执勤
.
getCode
().
equals
(
fireCarDto
.
getCarState
()))
{
fireCarDto
.
setCarStateDesc
(
FireCarStatusEnum
.
执勤
.
getName
());
fireCarDto
.
setCarStateDesc
(
FireCarStatusEnum
.
执勤
.
getName
());
}
else
{
}
else
{
if
(
appleMap
!=
null
)
{
if
(
appleMap
!=
null
)
{
String
state
=
appleMap
.
containsKey
(
car
.
get
(
"id"
))
?
appleMap
.
get
(
car
.
get
(
"id"
))
:
null
;
String
state
=
appleMap
.
containsKey
(
car
.
get
(
"id"
))
?
appleMap
.
get
(
car
.
get
(
"id"
))
:
null
;
fireCarDto
.
setCarState
(
state
);
fireCarDto
.
setCarState
(
state
);
fireCarDto
fireCarDto
.
setCarStateDesc
(
state
!=
null
?
FireCarStatusEnum
.
getEnum
(
state
).
getName
()
:
null
);
.
setCarStateDesc
(
state
!=
null
?
FireCarStatusEnum
.
getEnum
(
state
).
getName
()
:
null
);
}
else
{
}
else
{
fireCarDto
.
setCarState
(
null
);
fireCarDto
.
setCarState
(
null
);
fireCarDto
.
setCarStateDesc
(
null
);
fireCarDto
.
setCarStateDesc
(
null
);
}
}
}
}
fireCarDtoList
.
add
(
fireCarDto
);
fireCarDtoList
.
add
(
fireCarDto
);
});
});
}
}
}
}
// 2.查询消防队伍列表
// 2.查询消防队伍列表
List
<
FireTeam
>
fullTimeFireBrigadeList
=
fireTeamService
.
list
(
List
<
FireTeam
>
fullTimeFireBrigadeList
=
fireTeamService
.
list
(
new
QueryWrapper
<
FireTeam
>().
eq
(
"type_code"
,
FireBrigadeTypeEnum
.
专职消防队
.
getCode
()).
eq
(
"is_delete"
,
0
));
new
QueryWrapper
<
FireTeam
>().
eq
(
"type_code"
,
FireBrigadeTypeEnum
.
专职消防队
.
getCode
()).
eq
(
"is_delete"
,
0
));
if
(!
CollectionUtils
.
isEmpty
(
fullTimeFireBrigadeList
))
{
if
(!
CollectionUtils
.
isEmpty
(
fullTimeFireBrigadeList
))
{
Map
<
String
,
List
<
FireBrigadeResourceDto
>>
resultMap
=
fireCarDtoList
.
stream
()
Map
<
String
,
List
<
FireBrigadeResourceDto
>>
resultMap
=
fireCarDtoList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
FireBrigadeResourceDto:
:
getTeamId
));
.
collect
(
Collectors
.
groupingBy
(
FireBrigadeResourceDto:
:
getTeamId
));
if
(!
ValidationUtil
.
isEmpty
(
fullTimeFireBrigadeList
))
{
if
(!
ValidationUtil
.
isEmpty
(
fullTimeFireBrigadeList
))
{
fullTimeFireBrigadeList
.
forEach
(
brigade
->
{
fullTimeFireBrigadeList
.
forEach
(
brigade
->
{
if
(!
CollectionUtils
.
isEmpty
(
resultMap
.
get
(
brigade
.
getSequenceNbr
().
toString
())))
{
if
(!
CollectionUtils
.
isEmpty
(
resultMap
.
get
(
brigade
.
getSequenceNbr
().
toString
())))
{
FireBrigadeResourceDto
fireCarResourceDto
=
new
FireBrigadeResourceDto
();
FireBrigadeResourceDto
fireCarResourceDto
=
new
FireBrigadeResourceDto
();
List
<
FireBrigadeResourceDto
>
fireBrigadeResourceDtoList
=
resultMap
List
<
FireBrigadeResourceDto
>
fireBrigadeResourceDtoList
=
resultMap
.
get
(
brigade
.
getSequenceNbr
().
toString
());
.
get
(
brigade
.
getSequenceNbr
().
toString
());
long
onDutyCarCount
=
fireBrigadeResourceDtoList
.
stream
()
long
onDutyCarCount
=
fireBrigadeResourceDtoList
.
stream
()
.
filter
(
car
->
FireCarStatusEnum
.
执勤
.
getCode
().
equals
(
car
.
getCarState
())).
count
();
.
filter
(
car
->
FireCarStatusEnum
.
执勤
.
getCode
().
equals
(
car
.
getCarState
())).
count
();
long
outCarCount
=
fireBrigadeResourceDtoList
.
size
()
-
onDutyCarCount
;
long
outCarCount
=
fireBrigadeResourceDtoList
.
size
()
-
onDutyCarCount
;
fireCarResourceDto
.
setId
(
brigade
.
getSequenceNbr
().
toString
());
fireCarResourceDto
.
setId
(
brigade
.
getSequenceNbr
().
toString
());
fireCarResourceDto
.
setType
(
FireBrigadeTypeEnum
.
专职消防队
.
getKey
());
fireCarResourceDto
.
setType
(
FireBrigadeTypeEnum
.
专职消防队
.
getKey
());
fireCarResourceDto
.
setName
(
brigade
.
getName
());
fireCarResourceDto
.
setName
(
brigade
.
getName
());
fireCarResourceDto
.
getChildren
().
addAll
(
fireBrigadeResourceDtoList
);
fireCarResourceDto
.
getChildren
().
addAll
(
fireBrigadeResourceDtoList
);
fireCarResourceDto
.
setOutCount
((
int
)
outCarCount
);
fireCarResourceDto
.
setOutCount
((
int
)
outCarCount
);
fireCarResourceDto
.
setOnDutyCount
((
int
)
onDutyCarCount
);
fireCarResourceDto
.
setOnDutyCount
((
int
)
onDutyCarCount
);
fireBrigadeResourceList
.
add
(
fireCarResourceDto
);
fireBrigadeResourceList
.
add
(
fireCarResourceDto
);
}
}
});
});
}
}
}
}
// 3.消防队伍-监控大队
// 3.消防队伍-监控大队
List
<
FireBrigadeResourceDto
>
monitorFireBrigadeList
=
fireTeamService
List
<
FireBrigadeResourceDto
>
monitorFireBrigadeList
=
fireTeamService
.
listMonitorFireBrigade
(
FireBrigadeTypeEnum
.
监控大队
.
getCode
());
.
listMonitorFireBrigade
(
FireBrigadeTypeEnum
.
监控大队
.
getCode
());
// List<FireBrigadeResourceDto> monitorFireBrigadeList =
// List<FireBrigadeResourceDto> monitorFireBrigadeList =
// fireTeamService.listMonitorFireBrigade();
// fireTeamService.listMonitorFireBrigade();
/* bug 2403 队伍未显示图片 2021-09-23 陈召开始 */
/* bug 2403 队伍未显示图片 2021-09-23 陈召开始 */
// for (FireBrigadeResourceDto fireBrigadeResourceDto : monitorFireBrigadeList) {
// for (FireBrigadeResourceDto fireBrigadeResourceDto : monitorFireBrigadeList) {
// if (fireBrigadeResourceDto.getPic() != null) {
// if (fireBrigadeResourceDto.getPic() != null) {
// String[] split = fireBrigadeResourceDto.getPic().split(",");
// String[] split = fireBrigadeResourceDto.getPic().split(",");
...
@@ -330,54 +324,54 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -330,54 +324,54 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// }
// }
// }
// }
// }
// }
/* bug 2403 队伍未显示图片 2021-09-23 陈召结束 */
/* bug 2403 队伍未显示图片 2021-09-23 陈召结束 */
FireBrigadeResourceDto
monitorResourceDto
=
new
FireBrigadeResourceDto
();
FireBrigadeResourceDto
monitorResourceDto
=
new
FireBrigadeResourceDto
();
monitorResourceDto
.
setId
(
"0"
);
monitorResourceDto
.
setId
(
"0"
);
monitorResourceDto
.
setName
(
FireBrigadeTypeEnum
.
监控大队
.
getName
());
monitorResourceDto
.
setName
(
FireBrigadeTypeEnum
.
监控大队
.
getName
());
monitorResourceDto
.
setType
(
FireBrigadeTypeEnum
.
监控大队
.
getKey
());
monitorResourceDto
.
setType
(
FireBrigadeTypeEnum
.
监控大队
.
getKey
());
monitorResourceDto
.
setChildren
(
monitorFireBrigadeList
);
monitorResourceDto
.
setChildren
(
monitorFireBrigadeList
);
if
(!
CollectionUtils
.
isEmpty
(
monitorFireBrigadeList
))
{
if
(!
CollectionUtils
.
isEmpty
(
monitorFireBrigadeList
))
{
fireBrigadeResourceList
.
add
(
monitorResourceDto
);
fireBrigadeResourceList
.
add
(
monitorResourceDto
);
}
}
return
fireBrigadeResourceList
;
return
fireBrigadeResourceList
;
}
}
private
List
<
PowerTransferCompanyResources
>
DtoEntityBatchConvert
(
private
List
<
PowerTransferCompanyResources
>
DtoEntityBatchConvert
(
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesDtoList
,
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesDtoList
,
Long
powerTransferCompanySequenceNbr
)
{
Long
powerTransferCompanySequenceNbr
)
{
ArrayList
<
PowerTransferCompanyResources
>
powerTransferCompanyResourcesList
=
new
ArrayList
<>();
ArrayList
<
PowerTransferCompanyResources
>
powerTransferCompanyResourcesList
=
new
ArrayList
<>();
PowerTransferCompanyResources
powerTransferCompanyResources
;
PowerTransferCompanyResources
powerTransferCompanyResources
;
List
idList
=
powerTransferCompanyResourcesDtoList
.
stream
()
List
idList
=
powerTransferCompanyResourcesDtoList
.
stream
()
.
map
(
PowerTransferCompanyResourcesDto:
:
getResourcesId
).
collect
(
Collectors
.
toList
());
.
map
(
PowerTransferCompanyResourcesDto:
:
getResourcesId
).
collect
(
Collectors
.
toList
());
QueryWrapper
<
PowerTransferCompanyResources
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
PowerTransferCompanyResources
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"status"
,
FireCarStatusEnum
.
执行中
.
getCode
());
queryWrapper
.
eq
(
"status"
,
FireCarStatusEnum
.
执行中
.
getCode
());
queryWrapper
.
in
(
"resources_id"
,
idList
);
queryWrapper
.
in
(
"resources_id"
,
idList
);
List
<
PowerTransferCompanyResources
>
alertFormValue
=
powerTransferCompanyResourcesService
.
list
(
queryWrapper
);
List
<
PowerTransferCompanyResources
>
alertFormValue
=
powerTransferCompanyResourcesService
.
list
(
queryWrapper
);
if
(
alertFormValue
!=
null
&&
alertFormValue
.
size
()
>
0
)
{
if
(
alertFormValue
!=
null
&&
alertFormValue
.
size
()
>
0
)
{
throw
new
RuntimeException
(
"已选车辆有已调派车辆!"
);
throw
new
RuntimeException
(
"已选车辆有已调派车辆!"
);
}
else
{
}
else
{
for
(
PowerTransferCompanyResourcesDto
powerTransferCompanyResourcesDto
:
powerTransferCompanyResourcesDtoList
)
{
for
(
PowerTransferCompanyResourcesDto
powerTransferCompanyResourcesDto
:
powerTransferCompanyResourcesDtoList
)
{
powerTransferCompanyResources
=
new
PowerTransferCompanyResources
();
powerTransferCompanyResources
=
new
PowerTransferCompanyResources
();
BeanUtils
.
copyProperties
(
powerTransferCompanyResourcesDto
,
powerTransferCompanyResources
);
BeanUtils
.
copyProperties
(
powerTransferCompanyResourcesDto
,
powerTransferCompanyResources
);
powerTransferCompanyResources
.
setPowerTransferCompanyId
(
powerTransferCompanySequenceNbr
);
powerTransferCompanyResources
.
setPowerTransferCompanyId
(
powerTransferCompanySequenceNbr
);
// 资源状态
// 资源状态
powerTransferCompanyResources
.
setStatus
(
FireCarStatusEnum
.
执行中
.
getCode
());
powerTransferCompanyResources
.
setStatus
(
FireCarStatusEnum
.
执行中
.
getCode
());
// 资源状态
// 资源状态
powerTransferCompanyResources
.
setCarStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
powerTransferCompanyResources
.
setCarStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
powerTransferCompanyResourcesList
.
add
(
powerTransferCompanyResources
);
powerTransferCompanyResourcesList
.
add
(
powerTransferCompanyResources
);
}
}
return
powerTransferCompanyResourcesList
;
return
powerTransferCompanyResourcesList
;
}
}
}
}
private
void
initDefinitions
(
Map
<
String
,
String
>
definitions
,
AlertCalled
alertCalled
,
private
void
initDefinitions
(
Map
<
String
,
String
>
definitions
,
AlertCalled
alertCalled
,
PowerTransferDto
powerTransferDto
)
{
PowerTransferDto
powerTransferDto
)
{
List
<
AlertFormValue
>
alertFormValue
=
alertFormValueService
List
<
AlertFormValue
>
alertFormValue
=
alertFormValueService
.
list
(
new
QueryWrapper
<
AlertFormValue
>().
eq
(
"alert_called_id"
,
alertCalled
.
getSequenceNbr
()));
.
list
(
new
QueryWrapper
<
AlertFormValue
>().
eq
(
"alert_called_id"
,
alertCalled
.
getSequenceNbr
()));
// definitions.put("rescueGrid", alertCalled.getRescueGrid());
// definitions.put("rescueGrid", alertCalled.getRescueGrid());
// definitions.put("alertType", alertCalled.getAlertType());
// definitions.put("alertType", alertCalled.getAlertType());
// definitions.put("address", alertCalled.getAddress());
// definitions.put("address", alertCalled.getAddress());
...
@@ -385,373 +379,373 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
...
@@ -385,373 +379,373 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
// definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
// definitions.put("companyName", powerTransferDto.getCompanyName());
// definitions.put("companyName", powerTransferDto.getCompanyName());
for
(
AlertFormValue
formValue
:
alertFormValue
)
{
for
(
AlertFormValue
formValue
:
alertFormValue
)
{
definitions
.
put
(
formValue
.
getFieldCode
(),
formValue
.
getFieldValue
());
definitions
.
put
(
formValue
.
getFieldCode
(),
formValue
.
getFieldValue
());
}
}
}
}
private
String
getTaskInformation
(
String
content
,
Map
<
String
,
String
>
definitions
)
{
private
String
getTaskInformation
(
String
content
,
Map
<
String
,
String
>
definitions
)
{
int
size
=
definitions
.
size
();
int
size
=
definitions
.
size
();
String
[]
keys
=
definitions
.
keySet
().
toArray
(
new
String
[
size
]);
String
[]
keys
=
definitions
.
keySet
().
toArray
(
new
String
[
size
]);
String
[]
values
=
definitions
.
values
().
toArray
(
new
String
[
size
]);
String
[]
values
=
definitions
.
values
().
toArray
(
new
String
[
size
]);
return
StringUtils
.
replaceEach
(
content
,
keys
,
values
);
return
StringUtils
.
replaceEach
(
content
,
keys
,
values
);
}
}
private
void
createPowerTransferCompany
(
PowerTransferDto
powerTransferDto
,
Long
powerTransferSequenceNbr
,
private
void
createPowerTransferCompany
(
PowerTransferDto
powerTransferDto
,
Long
powerTransferSequenceNbr
,
Map
<
String
,
String
>
definitions
,
String
content
,
AlertCalledObjsDto
alertCalledObjsDto
)
{
Map
<
String
,
String
>
definitions
,
String
content
,
AlertCalledObjsDto
alertCalledObjsDto
)
{
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDotList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
List
<
PowerTransferCompanyDto
>
powerTransferCompanyDotList
=
powerTransferDto
.
getPowerTransferCompanyDotList
();
PowerTransferCompany
powerTransferCompany
;
PowerTransferCompany
powerTransferCompany
;
List
<
Object
>
carStatusInfoDtoList
=
Lists
.
newArrayList
();
List
<
Object
>
carStatusInfoDtoList
=
Lists
.
newArrayList
();
AlertCalled
alertCalled
=
alertCalledObjsDto
.
getAlertCalled
();
// 初始化警情 信息
AlertCalled
alertCalled
=
alertCalledObjsDto
.
getAlertCalled
();
/**
* 构建警情报送规则对象
// 初始化警情 信息
*/
/**
AlertCalledRo
alertCalledRo
=
new
AlertCalledRo
();
* 构建警情报送规则对象
String
replaceContent
=
""
;
*/
if
(
null
!=
alertCalled
)
{
AlertCalledRo
alertCalledRo
=
new
AlertCalledRo
();
replaceContent
=
RuleAlertCalledService
.
init
(
alertCalledRo
,
alertCalledObjsDto
);
String
replaceContent
=
""
;
}
if
(
null
!=
alertCalled
)
{
definitions
.
put
(
"rescueGrid"
,
alertCalled
.
getAddress
());
replaceContent
=
RuleAlertCalledService
.
init
(
alertCalledRo
,
alertCalledObjsDto
);
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
}
definitions
.
put
(
"contactUser"
,
alertCalled
.
getContactUser
());
definitions
.
put
(
"contactPhone"
,
alertCalled
.
getContactPhone
());
definitions
.
put
(
"rescueGrid"
,
alertCalled
.
getAddress
());
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
definitions
.
put
(
"replaceContent"
,
replaceContent
);
definitions
.
put
(
"contactUser"
,
alertCalled
.
getContactUser
());
definitions
.
put
(
"callTime"
,
definitions
.
put
(
"contactPhone"
,
alertCalled
.
getContactPhone
());
DateUtils
.
convertDateToString
(
alertCalled
.
getCallTime
(),
DateUtils
.
DATE_TIME_PATTERN
));
definitions
.
put
(
"type"
,
alertCalled
.
getAlertType
());
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDotList
)
{
definitions
.
put
(
"replaceContent"
,
replaceContent
);
powerTransferCompany
=
new
PowerTransferCompany
();
definitions
.
put
(
"callTime"
,
BeanUtils
.
copyProperties
(
powerTransferCompanyDto
,
powerTransferCompany
);
DateUtils
.
convertDateToString
(
alertCalled
.
getCallTime
(),
DateUtils
.
DATE_TIME_PATTERN
));
powerTransferCompany
.
setPowerTransferId
(
powerTransferSequenceNbr
);
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesDtoList
=
powerTransferCompanyDto
.
getPowerTransferCompanyResourcesDtoList
();
for
(
PowerTransferCompanyDto
powerTransferCompanyDto
:
powerTransferCompanyDotList
)
{
if
(
powerTransferCompanyResourcesDtoList
.
size
()
==
0
)
{
powerTransferCompany
=
new
PowerTransferCompany
();
powerTransferCompany
.
setIsDistributionAgencies
(
true
);
BeanUtils
.
copyProperties
(
powerTransferCompanyDto
,
powerTransferCompany
);
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
powerTransferCompany
.
setPowerTransferId
(
powerTransferSequenceNbr
);
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesDtoList
=
powerTransferCompanyDto
definitions
.
put
(
"content"
,
""
);
.
getPowerTransferCompanyResourcesDtoList
();
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
if
(
powerTransferCompanyResourcesDtoList
.
size
()
==
0
)
{
powerTransferCompanyService
.
save
(
powerTransferCompany
);
powerTransferCompany
.
setIsDistributionAgencies
(
true
);
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
}
else
{
powerTransferCompany
.
setIsDistributionAgencies
(
false
);
definitions
.
put
(
"content"
,
""
);
StringBuilder
taskInformation
=
new
StringBuilder
();
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
for
(
PowerTransferCompanyResourcesDto
powerTransferCompanyResourcesDto
:
powerTransferCompanyResourcesDtoList
)
{
powerTransferCompanyService
.
save
(
powerTransferCompany
);
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
}
else
{
powerTransferCompany
.
setIsDistributionAgencies
(
false
);
StringBuilder
taskInformation
=
new
StringBuilder
();
for
(
PowerTransferCompanyResourcesDto
powerTransferCompanyResourcesDto
:
powerTransferCompanyResourcesDtoList
)
{
// definitions.put("type", powerTransferCompanyResourcesDto.getType());
// definitions.put("type", powerTransferCompanyResourcesDto.getType());
// definitions.put("resourcesNum", powerTransferCompanyResourcesDto.getResourcesNum());
// definitions.put("resourcesNum", powerTransferCompanyResourcesDto.getResourcesNum());
String
information
=
powerTransferCompanyResourcesDto
.
getType
().
concat
(
"车牌号"
)
String
information
=
powerTransferCompanyResourcesDto
.
getType
().
concat
(
"车牌号"
)
.
concat
(
powerTransferCompanyResourcesDto
.
getResourcesNum
());
.
concat
(
powerTransferCompanyResourcesDto
.
getResourcesNum
());
taskInformation
.
append
(
information
).
append
(
"丶"
);
taskInformation
.
append
(
information
).
append
(
"丶"
);
CarStatusInfoDto
carStatusInfoDto
=
new
CarStatusInfoDto
();
CarStatusInfoDto
carStatusInfoDto
=
new
CarStatusInfoDto
();
carStatusInfoDto
.
setSequenceNbr
(
powerTransferCompanyResourcesDto
.
getResourcesId
());
carStatusInfoDto
.
setSequenceNbr
(
powerTransferCompanyResourcesDto
.
getResourcesId
());
carStatusInfoDto
.
setStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
carStatusInfoDto
.
setStatus
(
FireCarStatusEnum
.
出动
.
getCode
());
carStatusInfoDtoList
.
add
(
carStatusInfoDto
);
carStatusInfoDtoList
.
add
(
carStatusInfoDto
);
}
}
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
definitions
.
put
(
"content"
,
taskInformation
.
toString
());
definitions
.
put
(
"departmentName"
,
powerTransferCompanyDto
.
getCompanyName
());
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
definitions
.
put
(
"content"
,
taskInformation
.
toString
());
powerTransferCompanyService
.
save
(
powerTransferCompany
);
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
powerTransferCompany
.
setTaskInformation
(
getTaskInformation
(
content
,
definitions
));
Long
powerTransferCompanySequenceNbr
=
powerTransferCompany
.
getSequenceNbr
();
powerTransferCompanyService
.
save
(
powerTransferCompany
);
List
<
PowerTransferCompanyResources
>
powerTransferCompanyResourcesList
=
DtoEntityBatchConvert
(
powerTransferCompanyDto
.
setSequenceNbr
(
powerTransferCompany
.
getSequenceNbr
());
powerTransferCompanyResourcesDtoList
,
powerTransferCompanySequenceNbr
);
Long
powerTransferCompanySequenceNbr
=
powerTransferCompany
.
getSequenceNbr
();
powerTransferCompanyResourcesService
.
saveBatch
(
powerTransferCompanyResourcesList
);
List
<
PowerTransferCompanyResources
>
powerTransferCompanyResourcesList
=
DtoEntityBatchConvert
(
List
<
PowerTransferCompanyResourcesDto
>
resourcesDtoList
=
new
ArrayList
<>();
powerTransferCompanyResourcesDtoList
,
powerTransferCompanySequenceNbr
);
powerTransferCompanyResourcesList
.
stream
().
forEach
(
e
->
{
powerTransferCompanyResourcesService
.
saveBatch
(
powerTransferCompanyResourcesList
);
PowerTransferCompanyResourcesDto
dto
=
new
PowerTransferCompanyResourcesDto
();
List
<
PowerTransferCompanyResourcesDto
>
resourcesDtoList
=
new
ArrayList
<>();
Bean
.
toPo
(
e
,
dto
);
powerTransferCompanyResourcesList
.
stream
().
forEach
(
e
->{
resourcesDtoList
.
add
(
dto
);
PowerTransferCompanyResourcesDto
dto
=
new
PowerTransferCompanyResourcesDto
();
});
Bean
.
toPo
(
e
,
dto
);
powerTransferCompanyDto
.
setPowerTransferCompanyResourcesDtoList
(
resourcesDtoList
);
resourcesDtoList
.
add
(
dto
);
// 更新车辆状态
});
equipFeignService
.
updateCarStatus
(
carStatusInfoDtoList
);
powerTransferCompanyDto
.
setPowerTransferCompanyResourcesDtoList
(
resourcesDtoList
);
// 警情力量调派时,点击【任务派发】后,如果被调派的 力量包含消防车,那么该消防车所在的 大队的警铃、广播自动 启动,消防车所在的车库门自动开启
try
{
// 更新车辆状态
List
<
Controller
>
controllers
=
controllerServiceImpl
.
list
(
new
LambdaQueryWrapper
<
Controller
>().
eq
(
Controller:
:
getFireTeamSeq
,
powerTransferCompanyDto
.
getCompanyId
()));
equipFeignService
.
updateCarStatus
(
carStatusInfoDtoList
);
if
(
controllers
.
size
()
>
0
)
{
}
controllerServiceImpl
.
changeControllerState
(
controllers
.
toArray
(
new
Controller
[
0
]));
}
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
@Override
log
.
error
(
"车库门、警铃、广播的 联动 功能出现异常"
);
public
List
<
PowerTransferCompanyDto
>
getLastPowerTransferCompany
(
Long
alertCalledId
)
{
}
return
this
.
baseMapper
.
getLastPowerTransferCompany
(
alertCalledId
);
}
}
}
}
public
List
<
String
>
queryTransferCarIdsByAlertCalledId
(
Long
alertCalledId
)
{
return
this
.
baseMapper
.
queryTransferCarIdsByAlertCalledId
(
alertCalledId
);
@Override
}
public
List
<
PowerTransferCompanyDto
>
getLastPowerTransferCompany
(
Long
alertCalledId
)
{
return
this
.
baseMapper
.
getLastPowerTransferCompany
(
alertCalledId
);
public
Map
<
String
,
Object
>
getPowerTransferList
(
String
beginDate
,
String
endDate
)
{
}
// 获取力量调派信息
List
<
PowerTransferDto
>
powerTransferInfo
=
this
.
baseMapper
.
getPowerTransferInfo
(
beginDate
,
endDate
);
public
List
<
String
>
queryTransferCarIdsByAlertCalledId
(
Long
alertCalledId
)
{
List
<
PowerTransferCompanyDto
>
powerTransferCompanyInfo
=
this
.
baseMapper
.
getPowerTransferCompanyInfo
(
beginDate
,
return
this
.
baseMapper
.
queryTransferCarIdsByAlertCalledId
(
alertCalledId
);
endDate
);
}
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesInfo
=
this
.
baseMapper
.
getPowerTransferCompanyResourcesInfo
(
beginDate
,
endDate
);
public
Map
<
String
,
Object
>
getPowerTransferList
(
String
beginDate
,
String
endDate
)
{
Map
<
String
,
Object
>
transferInfo
=
this
.
baseMapper
.
getPowerTransferInfoCount
(
beginDate
,
endDate
);
// 获取力量调派信息
List
<
PowerTransferDto
>
powerTransferInfo
=
this
.
baseMapper
.
getPowerTransferInfo
(
beginDate
,
endDate
);
// 获取力量出动模板
List
<
PowerTransferCompanyDto
>
powerTransferCompanyInfo
=
this
.
baseMapper
.
getPowerTransferCompanyInfo
(
beginDate
,
Template
template
=
templateService
endDate
);
.
getOne
(
new
QueryWrapper
<
Template
>().
eq
(
"type_code"
,
DutyInfoEnum
.
力量出动
.
getKey
()).
eq
(
"format"
,
false
));
List
<
PowerTransferCompanyResourcesDto
>
powerTransferCompanyResourcesInfo
=
this
.
baseMapper
String
templateContent
=
template
.
getContent
();
.
getPowerTransferCompanyResourcesInfo
(
beginDate
,
endDate
);
List
<
String
>
transferContent
=
new
ArrayList
<>();
Map
<
String
,
Object
>
transferInfo
=
this
.
baseMapper
.
getPowerTransferInfoCount
(
beginDate
,
endDate
);
powerTransferInfo
.
forEach
(
pt
->
{
StringBuilder
transferDetail
=
new
StringBuilder
();
// 获取力量出动模板
Long
powerTransferId
=
pt
.
getSequenceNbr
();
Template
template
=
templateService
String
rescueGrid
=
pt
.
getRescueGrid
();
.
getOne
(
new
QueryWrapper
<
Template
>().
eq
(
"type_code"
,
DutyInfoEnum
.
力量出动
.
getKey
()).
eq
(
"format"
,
false
));
powerTransferCompanyInfo
.
forEach
(
ptc
->
{
String
templateContent
=
template
.
getContent
();
if
(
powerTransferId
.
equals
(
ptc
.
getPowerTransferId
()))
{
List
<
String
>
transferContent
=
new
ArrayList
<>();
transferDetail
.
append
(
ptc
.
getCompanyName
());
powerTransferInfo
.
forEach
(
pt
->
{
if
(!
ptc
.
getIsDistributionAgencies
())
{
StringBuilder
transferDetail
=
new
StringBuilder
();
Long
powerTransferCompanyId
=
ptc
.
getSequenceNbr
();
Long
powerTransferId
=
pt
.
getSequenceNbr
();
transferDetail
.
append
(
"车辆车牌号"
);
String
rescueGrid
=
pt
.
getRescueGrid
();
powerTransferCompanyResourcesInfo
.
forEach
(
ptcr
->
{
powerTransferCompanyInfo
.
forEach
(
ptc
->
{
if
(
powerTransferCompanyId
.
equals
(
ptcr
.
getPowerTransferCompanyId
()))
{
if
(
powerTransferId
.
equals
(
ptc
.
getPowerTransferId
()))
{
transferDetail
.
append
(
ptcr
.
getResourcesNum
()).
append
(
"、"
);
transferDetail
.
append
(
ptc
.
getCompanyName
());
transferDetail
.
append
(
ptcr
.
getStatus
()).
append
(
"、"
);
if
(!
ptc
.
getIsDistributionAgencies
())
{
}
Long
powerTransferCompanyId
=
ptc
.
getSequenceNbr
();
});
transferDetail
.
append
(
"车辆车牌号"
);
transferDetail
.
deleteCharAt
(
transferDetail
.
length
()
-
1
);
powerTransferCompanyResourcesInfo
.
forEach
(
ptcr
->
{
}
if
(
powerTransferCompanyId
.
equals
(
ptcr
.
getPowerTransferCompanyId
()))
{
transferDetail
.
append
(
";"
);
transferDetail
.
append
(
ptcr
.
getResourcesNum
()).
append
(
"、"
);
}
transferDetail
.
append
(
ptcr
.
getStatus
()).
append
(
"、"
);
});
}
transferDetail
.
deleteCharAt
(
transferDetail
.
length
()
-
1
);
});
if
(
transferDetail
.
toString
().
contains
(
"、"
))
{
transferDetail
.
deleteCharAt
(
transferDetail
.
length
()
-
1
);
String
transfer
=
null
;
}
String
taskStatus
=
null
;
transferDetail
.
append
(
";"
);
String
[]
split
=
transferDetail
.
toString
().
split
(
"、"
);
}
if
(
split
.
length
>
1
)
{
});
transfer
=
split
[
0
];
transferDetail
.
deleteCharAt
(
transferDetail
.
length
()
-
1
);
taskStatus
=
split
[
1
];
if
(
transferDetail
.
toString
().
contains
(
"、"
))
{
}
String
transfer
=
null
;
String
transferDetails
=
templateContent
.
replace
(
"departmentName-type-resourcesNum"
,
transfer
)
String
taskStatus
=
null
;
.
replace
(
"rescueGrid"
,
rescueGrid
==
null
?
""
:
rescueGrid
).
replace
(
"taskStatus"
,
String
[]
split
=
transferDetail
.
toString
().
split
(
"、"
);
taskStatus
!=
null
?
FireCarStatusEnum
.
getEnum
(
taskStatus
).
getName
()
:
null
);
if
(
split
.
length
>
1
)
{
transferContent
.
add
(
transferDetails
);
transfer
=
split
[
0
];
}
else
{
taskStatus
=
split
[
1
];
String
transferDetails
=
templateContent
}
.
replace
(
"departmentName-type-resourcesNum"
,
transferDetail
.
toString
())
String
transferDetails
=
templateContent
.
replace
(
"departmentName-type-resourcesNum"
,
transfer
)
.
replace
(
"rescueGrid"
,
rescueGrid
==
null
?
""
:
rescueGrid
).
replace
(
"taskStatus"
,
""
);
.
replace
(
"rescueGrid"
,
rescueGrid
==
null
?
""
:
rescueGrid
).
replace
(
"taskStatus"
,
transferContent
.
add
(
transferDetails
);
taskStatus
!=
null
?
FireCarStatusEnum
.
getEnum
(
taskStatus
).
getName
()
:
null
);
}
transferContent
.
add
(
transferDetails
);
});
}
else
{
transferInfo
.
put
(
"transferContent"
,
transferContent
);
String
transferDetails
=
templateContent
.
replace
(
"departmentName-type-resourcesNum"
,
transferDetail
.
toString
())
return
transferInfo
;
.
replace
(
"rescueGrid"
,
rescueGrid
==
null
?
""
:
rescueGrid
).
replace
(
"taskStatus"
,
""
);
}
transferContent
.
add
(
transferDetails
);
}
@Override
});
public
List
<
PowerCompanyCountDto
>
getPowerCompanyCountDtocount
(
Long
id
)
{
transferInfo
.
put
(
"transferContent"
,
transferContent
);
List
<
PowerCompanyCountDto
>
list
=
powerTransferMapper
.
getPowerCompanyCountDtocount
(
id
);
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
return
transferInfo
;
list
.
stream
().
forEach
(
powerCompanyCountDto
->
{
}
List
<
PowerCarCountDto
>
li
=
powerTransferMapper
.
getPowerCarCountDtocount
(
id
,
powerCompanyCountDto
.
getCompanyId
());
@Override
powerCompanyCountDto
.
setPowerCarCountDto
(
li
);
public
List
<
PowerCompanyCountDto
>
getPowerCompanyCountDtocount
(
Long
id
)
{
});
List
<
PowerCompanyCountDto
>
list
=
powerTransferMapper
.
getPowerCompanyCountDtocount
(
id
);
}
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
return
list
;
list
.
stream
().
forEach
(
powerCompanyCountDto
->
{
}
List
<
PowerCarCountDto
>
li
=
powerTransferMapper
.
getPowerCarCountDtocount
(
id
,
powerCompanyCountDto
.
getCompanyId
());
@Override
powerCompanyCountDto
.
setPowerCarCountDto
(
li
);
public
IPage
<
PowerTransferResourceDto
>
getPowerTransferPageByParam
(
Long
alertCalledId
,
String
type
,
});
Page
<
PowerTransferResourceDto
>
page
)
{
}
if
(
ValidationUtil
.
isEmpty
(
alertCalledId
))
{
return
list
;
throw
new
BaseException
(
"警情id为空"
,
""
,
"警情id为空"
);
}
}
IPage
<
PowerTransferResourceDto
>
resultPage
=
null
;
@Override
switch
(
type
)
{
public
IPage
<
PowerTransferResourceDto
>
getPowerTransferPageByParam
(
Long
alertCalledId
,
String
type
,
case
"team"
:
Page
<
PowerTransferResourceDto
>
page
)
{
resultPage
=
getPowerTransferTeamResource
(
page
,
alertCalledId
);
if
(
ValidationUtil
.
isEmpty
(
alertCalledId
))
{
break
;
throw
new
BaseException
(
"警情id为空"
,
""
,
"警情id为空"
);
case
"car"
:
}
resultPage
=
getPowerTransferCarResource
(
page
,
alertCalledId
);
IPage
<
PowerTransferResourceDto
>
resultPage
=
null
;
break
;
switch
(
type
)
{
case
"person"
:
case
"team"
:
// TODO 暂时没有调度人员
resultPage
=
getPowerTransferTeamResource
(
page
,
alertCalledId
);
resultPage
=
new
Page
<>();
break
;
break
;
case
"car"
:
default
:
resultPage
=
getPowerTransferCarResource
(
page
,
alertCalledId
);
break
;
break
;
}
case
"person"
:
return
resultPage
;
// TODO 暂时没有调度人员
}
resultPage
=
new
Page
<>();
break
;
@Override
default
:
public
List
<
ResourceStatisticsDto
>
getPowerTransferStatistics
(
Long
alertCalledId
,
String
type
)
{
break
;
List
<
ResourceStatisticsDto
>
result
;
}
result
=
powerTransferMapper
.
getPowerTransferTeamResourceCount
(
alertCalledId
,
type
);
return
resultPage
;
if
(
ValidationUtil
.
isEmpty
(
result
))
{
}
ResourceStatisticsDto
team
=
new
ResourceStatisticsDto
(
"team"
,
0
,
0
,
0
);
ResourceStatisticsDto
car
=
new
ResourceStatisticsDto
(
"car"
,
0
,
0
,
0
);
@Override
ResourceStatisticsDto
person
=
new
ResourceStatisticsDto
(
"person"
,
0
,
0
,
0
);
public
List
<
ResourceStatisticsDto
>
getPowerTransferStatistics
(
Long
alertCalledId
,
String
type
)
{
result
.
add
(
team
);
List
<
ResourceStatisticsDto
>
result
;
result
.
add
(
car
);
result
=
powerTransferMapper
.
getPowerTransferTeamResourceCount
(
alertCalledId
,
type
);
result
.
add
(
person
);
if
(
ValidationUtil
.
isEmpty
(
result
))
{
}
ResourceStatisticsDto
team
=
new
ResourceStatisticsDto
(
"team"
,
0
,
0
,
0
);
return
result
;
ResourceStatisticsDto
car
=
new
ResourceStatisticsDto
(
"car"
,
0
,
0
,
0
);
}
ResourceStatisticsDto
person
=
new
ResourceStatisticsDto
(
"person"
,
0
,
0
,
0
);
result
.
add
(
team
);
public
IPage
<
PowerTransferResourceDto
>
getPowerTransferTeamResource
(
Page
<
PowerTransferResourceDto
>
page
,
result
.
add
(
car
);
Long
alertCalledId
)
{
result
.
add
(
person
);
return
powerTransferMapper
.
getPowerTransferTeamResource
(
page
,
alertCalledId
);
}
}
return
result
;
}
private
IPage
<
PowerTransferResourceDto
>
getPowerTransferCarResource
(
Page
<
PowerTransferResourceDto
>
page
,
Long
alertCalledId
)
{
public
IPage
<
PowerTransferResourceDto
>
getPowerTransferTeamResource
(
Page
<
PowerTransferResourceDto
>
page
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
carInfoMap
=
getCarListMap
();
Long
alertCalledId
)
{
return
powerTransferMapper
.
getPowerTransferTeamResource
(
page
,
alertCalledId
);
IPage
<
PowerTransferResourceDto
>
carResourcePage
=
powerTransferMapper
.
getPowerTransferCarResource
(
page
,
}
alertCalledId
);
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
finalCarInfoMap
=
carInfoMap
;
private
IPage
<
PowerTransferResourceDto
>
getPowerTransferCarResource
(
Page
<
PowerTransferResourceDto
>
page
,
carResourcePage
.
getRecords
().
forEach
(
car
->
{
Long
alertCalledId
)
{
String
seq
=
car
.
getSequenceNbr
().
toString
();
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
carInfoMap
=
getCarListMap
();
car
.
setName
((
String
)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"name"
));
String
carStateCode
=
(
String
)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"carState"
);
IPage
<
PowerTransferResourceDto
>
carResourcePage
=
powerTransferMapper
.
getPowerTransferCarResource
(
page
,
car
.
setCarState
(!
ValidationUtil
.
isEmpty
(
FireCarStatusEnum
.
getEnum
(
carStateCode
))
alertCalledId
);
?
FireCarStatusEnum
.
getEnum
(
carStateCode
).
getName
()
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
finalCarInfoMap
=
carInfoMap
;
:
""
);
carResourcePage
.
getRecords
().
forEach
(
car
->
{
List
<
String
>
images
=
(
List
<
String
>)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"image"
);
String
seq
=
car
.
getSequenceNbr
().
toString
();
car
.
setImg
(!
ValidationUtil
.
isEmpty
(
images
)
?
images
.
get
(
0
)
:
""
);
car
.
setName
((
String
)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"name"
));
});
String
carStateCode
=
(
String
)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"carState"
);
return
carResourcePage
;
car
.
setCarState
(!
ValidationUtil
.
isEmpty
(
FireCarStatusEnum
.
getEnum
(
carStateCode
))
}
?
FireCarStatusEnum
.
getEnum
(
carStateCode
).
getName
()
:
""
);
private
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getCarListMap
()
{
List
<
String
>
images
=
(
List
<
String
>)
finalCarInfoMap
.
get
(
seq
).
get
(
0
).
get
(
"image"
);
ResponseModel
<
Object
>
result
=
equipFeignClient
.
getFireCarListAll
();
car
.
setImg
(!
ValidationUtil
.
isEmpty
(
images
)
?
images
.
get
(
0
)
:
""
);
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
carInfoMap
=
Maps
.
newConcurrentMap
();
});
if
(!
ValidationUtil
.
isEmpty
(
result
))
{
return
carResourcePage
;
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
}
if
(!
ValidationUtil
.
isEmpty
(
fireCarListMapList
))
{
carInfoMap
=
fireCarListMapList
.
stream
()
private
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getCarListMap
()
{
.
collect
(
Collectors
.
groupingBy
(
car
->
car
.
get
(
"id"
).
toString
()));
ResponseModel
<
Object
>
result
=
equipFeignClient
.
getFireCarListAll
();
}
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
carInfoMap
=
Maps
.
newConcurrentMap
();
}
if
(!
ValidationUtil
.
isEmpty
(
result
))
{
return
carInfoMap
;
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
}
if
(!
ValidationUtil
.
isEmpty
(
fireCarListMapList
))
{
carInfoMap
=
fireCarListMapList
.
stream
()
private
List
<
Map
<
String
,
Object
>>
getCarList
()
{
.
collect
(
Collectors
.
groupingBy
(
car
->
car
.
get
(
"id"
).
toString
()));
ResponseModel
<
Object
>
result
=
equipFeignClient
.
getFireCarListAll
();
}
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
Lists
.
newArrayList
();
}
if
(!
ValidationUtil
.
isEmpty
(
result
))
{
return
carInfoMap
;
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
}
}
return
fireCarListMapList
;
private
List
<
Map
<
String
,
Object
>>
getCarList
()
{
}
ResponseModel
<
Object
>
result
=
equipFeignClient
.
getFireCarListAll
();
List
<
Map
<
String
,
Object
>>
fireCarListMapList
=
Lists
.
newArrayList
();
@Override
if
(!
ValidationUtil
.
isEmpty
(
result
))
{
public
JSONObject
getPowerTransferCarResourceStatistics
(
Long
alertCalledId
)
{
fireCarListMapList
=
(
List
<
Map
<
String
,
Object
>>)
result
.
getResult
();
// 所有车辆
}
List
<
Map
<
String
,
Object
>>
carList
=
getCarList
();
return
fireCarListMapList
;
}
IPage
<
PowerTransferResourceDto
>
carResourcePage
=
powerTransferMapper
.
getPowerTransferCarResource
(
new
Page
<>(
1L
,
Long
.
MAX_VALUE
),
alertCalledId
);
@Override
// 调派的车辆id列表
public
JSONObject
getPowerTransferCarResourceStatistics
(
Long
alertCalledId
)
{
List
<
Long
>
carIdList
=
Lists
.
transform
(
carResourcePage
.
getRecords
(),
PowerTransferResourceDto:
:
getSequenceNbr
);
// 所有车辆
// 调派的车辆信息列表
List
<
Map
<
String
,
Object
>>
carList
=
getCarList
();
List
<
Map
<
String
,
Object
>>
totalCarList
=
carList
.
stream
()
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)))).
collect
(
Collectors
.
toList
());
IPage
<
PowerTransferResourceDto
>
carResourcePage
=
powerTransferMapper
// TODO 车辆枚举后期修改为已到达状态车辆
.
getPowerTransferCarResource
(
new
Page
<>(
1L
,
Long
.
MAX_VALUE
),
alertCalledId
);
List
<
Map
<
String
,
Object
>>
arrivedCarList
=
carList
.
stream
()
// 调派的车辆id列表
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)))
List
<
Long
>
carIdList
=
Lists
.
transform
(
carResourcePage
.
getRecords
(),
PowerTransferResourceDto:
:
getSequenceNbr
);
&&
FireCarStatusEnum
.
出动
.
getCode
().
equals
(
c
.
get
(
"carState"
)))
// 调派的车辆信息列表
.
collect
(
Collectors
.
toList
());
List
<
Map
<
String
,
Object
>>
totalCarList
=
carList
.
stream
()
// 调派-已到达车辆id列表
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)))).
collect
(
Collectors
.
toList
());
List
<
Long
>
arrivedCarIdList
=
Lists
.
newArrayList
();
// TODO 车辆枚举后期修改为已到达状态车辆
arrivedCarList
.
forEach
(
c
->
{
List
<
Map
<
String
,
Object
>>
arrivedCarList
=
carList
.
stream
()
if
(
FireCarStatusEnum
.
出动
.
getCode
().
equals
(
c
.
get
(
"carState"
)))
{
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)))
arrivedCarIdList
.
add
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)));
&&
FireCarStatusEnum
.
出动
.
getCode
().
equals
(
c
.
get
(
"carState"
)))
}
.
collect
(
Collectors
.
toList
());
});
// 调派-已到达车辆id列表
List
<
Long
>
arrivedCarIdList
=
Lists
.
newArrayList
();
JSONObject
resourceStatistics
=
new
JSONObject
();
arrivedCarList
.
forEach
(
c
->
{
double
carTotal
=
carResourcePage
.
getTotal
();
if
(
FireCarStatusEnum
.
出动
.
getCode
().
equals
(
c
.
get
(
"carState"
)))
{
arrivedCarIdList
.
add
(
Long
.
valueOf
((
String
)
c
.
get
(
"id"
)));
// 车辆统计
}
carCount
(
arrivedCarList
,
resourceStatistics
,
carTotal
,
"car"
);
});
// 车辆人员统计
JSONObject
resourceStatistics
=
new
JSONObject
();
dutyPersonCount
(
carIdList
,
arrivedCarIdList
,
resourceStatistics
);
double
carTotal
=
carResourcePage
.
getTotal
();
// 车载器材统计
// 车辆统计
fireAgentOnCarCount
(
totalCarList
,
arrivedCarList
,
resourceStatistics
,
"equipment"
,
"equip"
);
carCount
(
arrivedCarList
,
resourceStatistics
,
carTotal
,
"car"
);
// TODO 车载水量统计
// 车辆人员统计
carCount
(
arrivedCarList
,
resourceStatistics
,
carTotal
,
"water"
);
dutyPersonCount
(
carIdList
,
arrivedCarIdList
,
resourceStatistics
);
// 车载药剂统计
// 车载器材统计
fireAgentOnCarCount
(
totalCarList
,
arrivedCarList
,
resourceStatistics
,
"fireAgent"
,
"medicament"
);
fireAgentOnCarCount
(
totalCarList
,
arrivedCarList
,
resourceStatistics
,
"equipment"
,
"equip"
);
return
resourceStatistics
;
}
// TODO 车载水量统计
carCount
(
arrivedCarList
,
resourceStatistics
,
carTotal
,
"water"
);
public
void
carCount
(
List
<
Map
<
String
,
Object
>>
arrivedCarList
,
JSONObject
resourceStatistics
,
double
carTotal
,
String
jsoKey
)
{
// 车载药剂统计
JSONObject
car
=
new
JSONObject
();
fireAgentOnCarCount
(
totalCarList
,
arrivedCarList
,
resourceStatistics
,
"fireAgent"
,
"medicament"
);
car
.
put
(
"total"
,
carTotal
);
return
resourceStatistics
;
car
.
put
(
"count"
,
arrivedCarList
.
size
());
}
resourceStatistics
.
put
(
jsoKey
,
car
);
}
public
void
carCount
(
List
<
Map
<
String
,
Object
>>
arrivedCarList
,
JSONObject
resourceStatistics
,
double
carTotal
,
String
jsoKey
)
{
public
void
dutyPersonCount
(
List
<
Long
>
carIdList
,
List
<
Long
>
arrivedCarIdList
,
JSONObject
resourceStatistics
)
{
JSONObject
car
=
new
JSONObject
();
// 当前时间所在班次
car
.
put
(
"total"
,
carTotal
);
List
<
Long
>
shiftIdList
=
dutyCarService
.
getDutyShiftIdList
();
car
.
put
(
"count"
,
arrivedCarList
.
size
());
List
<
Map
<
String
,
Object
>>
allDutyPersonList
=
Lists
.
newArrayList
();
resourceStatistics
.
put
(
jsoKey
,
car
);
if
(!
ValidationUtil
.
isEmpty
(
shiftIdList
))
{
}
// 当前值班车辆-人
allDutyPersonList
=
dutyCarService
.
dayDutyPersonList
(
DateUtils
.
getDateNowShortStr
(),
shiftIdList
.
get
(
0
),
public
void
dutyPersonCount
(
List
<
Long
>
carIdList
,
List
<
Long
>
arrivedCarIdList
,
JSONObject
resourceStatistics
)
{
null
);
// 当前时间所在班次
}
List
<
Long
>
shiftIdList
=
dutyCarService
.
getDutyShiftIdList
();
// 当前车辆执勤人员
List
<
Map
<
String
,
Object
>>
allDutyPersonList
=
Lists
.
newArrayList
();
List
<
Map
<
String
,
Object
>>
allTransferDutyPerson
=
allDutyPersonList
.
stream
()
if
(!
ValidationUtil
.
isEmpty
(
shiftIdList
))
{
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"carId"
)))).
collect
(
Collectors
.
toList
());
// 当前值班车辆-人
// 当前已到达车辆执勤人员
allDutyPersonList
=
dutyCarService
.
dayDutyPersonList
(
DateUtils
.
getDateNowShortStr
(),
shiftIdList
.
get
(
0
),
List
<
Map
<
String
,
Object
>>
allArrivedTransferDutyPerson
=
allDutyPersonList
.
stream
()
null
);
.
filter
(
c
->
arrivedCarIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"carId"
))))
}
.
collect
(
Collectors
.
toList
());
// 当前车辆执勤人员
JSONObject
person
=
new
JSONObject
();
List
<
Map
<
String
,
Object
>>
allTransferDutyPerson
=
allDutyPersonList
.
stream
()
person
.
put
(
"total"
,
allTransferDutyPerson
.
size
());
.
filter
(
c
->
carIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"carId"
)))).
collect
(
Collectors
.
toList
());
person
.
put
(
"count"
,
allArrivedTransferDutyPerson
.
size
());
// 当前已到达车辆执勤人员
resourceStatistics
.
put
(
"person"
,
person
);
List
<
Map
<
String
,
Object
>>
allArrivedTransferDutyPerson
=
allDutyPersonList
.
stream
()
}
.
filter
(
c
->
arrivedCarIdList
.
contains
(
Long
.
valueOf
((
String
)
c
.
get
(
"carId"
))))
.
collect
(
Collectors
.
toList
());
public
void
fireAgentOnCarCount
(
List
<
Map
<
String
,
Object
>>
totalCarList
,
List
<
Map
<
String
,
Object
>>
arrivedCarList
,
JSONObject
person
=
new
JSONObject
();
JSONObject
resourceStatistics
,
String
equipType
,
String
jsonKey
)
{
person
.
put
(
"total"
,
allTransferDutyPerson
.
size
());
double
agentCountAll
=
totalCarList
.
stream
().
mapToDouble
(
person
.
put
(
"count"
,
allArrivedTransferDutyPerson
.
size
());
car
->
car
.
get
(
"resourceList"
)
!=
null
?
((
List
<
Map
<
String
,
Object
>>)
car
.
get
(
"resourceList"
)).
stream
()
resourceStatistics
.
put
(
"person"
,
person
);
.
filter
(
res
->
equipType
.
equals
(
res
.
get
(
"equipType"
)))
}
.
mapToDouble
(
c
->
(
double
)
c
.
get
(
"equipCount"
)).
sum
()
:
0
)
.
sum
();
public
void
fireAgentOnCarCount
(
List
<
Map
<
String
,
Object
>>
totalCarList
,
List
<
Map
<
String
,
Object
>>
arrivedCarList
,
JSONObject
resourceStatistics
,
String
equipType
,
String
jsonKey
)
{
double
agentCountArrived
=
arrivedCarList
.
stream
().
mapToDouble
(
double
agentCountAll
=
totalCarList
.
stream
().
mapToDouble
(
car
->
car
.
get
(
"resourceList"
)
!=
null
?
((
List
<
Map
<
String
,
Object
>>)
car
.
get
(
"resourceList"
)).
stream
()
car
->
car
.
get
(
"resourceList"
)
!=
null
?
((
List
<
Map
<
String
,
Object
>>)
car
.
get
(
"resourceList"
)).
stream
()
.
filter
(
res
->
equipType
.
equals
(
res
.
get
(
"equipType"
)))
.
filter
(
res
->
equipType
.
equals
(
res
.
get
(
"equipType"
)))
.
mapToDouble
(
c
->
(
double
)
c
.
get
(
"equipCount"
)).
sum
()
:
0
)
.
mapToDouble
(
c
->
(
double
)
c
.
get
(
"equipCount"
)).
sum
()
:
0
)
.
sum
();
.
sum
();
JSONObject
jsonObject
=
new
JSONObject
();
double
agentCountArrived
=
arrivedCarList
.
stream
().
mapToDouble
(
jsonObject
.
put
(
"total"
,
agentCountAll
);
car
->
car
.
get
(
"resourceList"
)
!=
null
?
((
List
<
Map
<
String
,
Object
>>)
car
.
get
(
"resourceList"
)).
stream
()
jsonObject
.
put
(
"count"
,
agentCountArrived
);
.
filter
(
res
->
equipType
.
equals
(
res
.
get
(
"equipType"
)))
resourceStatistics
.
put
(
jsonKey
,
jsonObject
);
.
mapToDouble
(
c
->
(
double
)
c
.
get
(
"equipCount"
)).
sum
()
:
0
)
}
.
sum
();
@Override
JSONObject
jsonObject
=
new
JSONObject
();
public
List
<
Map
<
String
,
String
>>
getFireCarStatusList
()
{
jsonObject
.
put
(
"total"
,
agentCountAll
);
return
FireCarStatusEnum
.
toList
();
jsonObject
.
put
(
"count"
,
agentCountArrived
);
}
resourceStatistics
.
put
(
jsonKey
,
jsonObject
);
}
@Override
public
List
<
Map
<
String
,
String
>>
getDispatchTaskStatusList
()
{
@Override
return
AlertFeedbackStatusEnum
.
toList
();
public
List
<
Map
<
String
,
String
>>
getFireCarStatusList
()
{
}
return
FireCarStatusEnum
.
toList
();
}
@Override
public
List
<
Map
<
String
,
String
>>
getDispatchTaskStatusList
()
{
return
AlertFeedbackStatusEnum
.
toList
();
}
}
}
amos-boot-utils/amos-boot-utils-speech/src/main/java/com/yeejoin/amos/speech/AppNslClient.java
View file @
002e6efd
...
@@ -71,7 +71,7 @@ class AppNslClientToken {
...
@@ -71,7 +71,7 @@ class AppNslClientToken {
/**
/**
* 获取访问Token,包含token和过期时间(2021-11-30测试Token过期时间为18天)
* 获取访问Token,包含token和过期时间(2021-11-30测试Token过期时间为18天)
*
集成项目中,token放到缓存中,
避免多次获取可能导致已进行的任务token失效
* 避免多次获取可能导致已进行的任务token失效
*
*
* @return token 访问token
* @return token 访问token
*/
*/
...
...
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