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
ea45f266
Commit
ea45f266
authored
Aug 21, 2024
by
tianbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:大屏应急接口迁移至统计服务
parent
4197d376
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1001 additions
and
42 deletions
+1001
-42
pom.xml
...module-statistics/amos-boot-module-statistics-api/pom.xml
+0
-5
AlertStatisticsMapper.java
...t/module/statistics/api/mapper/AlertStatisticsMapper.java
+12
-0
AlertStatisticsMapper.xml
...s-api/src/main/resources/mapper/AlertStatisticsMapper.xml
+144
-0
EmergencyBizController.java
...dule/statistcs/biz/controller/EmergencyBizController.java
+62
-5
EmergencyBizServiceImpl.java
...e/statistcs/biz/service/impl/EmergencyBizServiceImpl.java
+508
-26
JsonUtils.java
...ejoin/amos/boot/module/statistcs/biz/utils/JsonUtils.java
+1
-1
dispatchRecordFirst.json
...tics-biz/src/main/resources/json/dispatchRecordFirst.json
+32
-0
dispatchRecordPower.json
...tics-biz/src/main/resources/json/dispatchRecordPower.json
+45
-0
dispatchRecordSecond.json
...ics-biz/src/main/resources/json/dispatchRecordSecond.json
+38
-0
emergency.json
...ule-statistics-biz/src/main/resources/json/emergency.json
+5
-5
emergencyBasic.json
...tatistics-biz/src/main/resources/json/emergencyBasic.json
+83
-0
repairFollow.json
...-statistics-biz/src/main/resources/json/repairFollow.json
+43
-0
rescueFollow.json
...-statistics-biz/src/main/resources/json/rescueFollow.json
+28
-0
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/pom.xml
View file @
ea45f266
...
...
@@ -22,11 +22,6 @@
<artifactId>
amos-boot-module-jg-api
</artifactId>
<version>
${amos-boot-biz.version}
</version>
</dependency>
<dependency>
<groupId>
com.amosframework.boot
</groupId>
<artifactId>
amos-boot-module-96333-api
</artifactId>
<version>
${amos-boot-biz.version}
</version>
</dependency>
</dependencies>
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/AlertStatisticsMapper.java
View file @
ea45f266
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.dto.CountDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.AlertStatistics
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.Elevator
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -48,4 +51,13 @@ public interface AlertStatisticsMapper extends BaseMapper<AlertStatistics> {
Page
<
Map
<
String
,
Object
>>
alertRecordForPage
(
@Param
(
"page"
)
Page
<
Map
<
String
,
Object
>>
page
,
@Param
(
"dto"
)
DPFilterParamForDetailDto
dto
,
@Param
(
"orgCode"
)
String
orgCode
);
Map
<
String
,
Object
>
selectUseUnitByAlertId
(
String
sequenceNbr
);
Map
<
String
,
Object
>
selectElevator
(
@Param
(
"elevator"
)
Elevator
elevator
);
List
<
Map
<
String
,
Object
>>
selectMtByAlertId
(
String
sequenceNbr
);
Page
<
AlertCalledQueryDto
>
getAlertCalledRecords
(
IPage
<
AlertCalledQueryDto
>
page
,
@Param
(
"dto"
)
AlertCalledQueryDto
dto
,
@Param
(
"orgCode"
)
String
orgCode
);
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/AlertStatisticsMapper.xml
View file @
ea45f266
...
...
@@ -264,4 +264,148 @@
ORDER BY rec_date DESC
</select>
<select
id=
"selectUseUnitByAlertId"
resultType=
"java.util.Map"
>
SELECT
ibjui.SAFETY_MANAGER AS manager,
ibjui.PHONE AS managerPhone,
ibjui.USE_UNIT_NAME as useUnitName,
tbei.address AS address,
tbei.sequence_nbr AS unitId
FROM
idx_biz_jg_use_info ibjui
LEFT JOIN tz_base_enterprise_info tbei ON ibjui.USE_UNIT_CREDIT_CODE = tbei.use_code
WHERE
RECORD = #{sequenceNbr}
</select>
<select
id=
"selectElevator"
resultType=
"java.util.Map"
>
SELECT
jui.RECORD AS sequenceNbr,
ifnull ( joi.CODE96333, null ) AS rescueCode,
ifnull ( joi.SUPERVISORY_CODE, null ) AS registerCode,
ifnull ( jui.USE_UNIT_NAME, null ) AS useUnit,
ifnull ( jui.EQU_STATE,'')AS useStatus,
ifnull ( ( SELECT NAME FROM cb_data_dictionary WHERE code = jui.USE_PLACE and type = 'ADDRESS' ), null ) AS useSiteCategory,
ifnull ( jui.ADDRESS, null ) AS address,
ifnull ( jui.PROVINCE_NAME, null ) AS province,
ifnull ( jui.CITY_NAME, null ) AS city,
ifnull ( jui.COUNTY_NAME, null ) AS district,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'latitude', null ) AS latitude,
ifnull ( jui."LONGITUDE_LATITUDE"::json->> 'longitude', null ) AS longitude,
ifnull(jui.FACTORY_USE_SITE_STREET, '') AS street,
concat(jui.PROVINCE, '#',jui.CITY, '#',jui.COUNTY) AS regionCode,
jsi.ORG_BRANCH_CODE as orgCode
FROM
idx_biz_jg_use_info jui
LEFT JOIN idx_biz_jg_other_info joi ON jui.RECORD = joi.RECORD
LEFT JOIN idx_biz_jg_register_info jri ON jri.RECORD = jui.RECORD
LEFT JOIN idx_biz_jg_supervision_info jsi ON jsi.RECORD = jui.RECORD
WHERE
jri.EQU_LIST = '3000'
<if
test=
"elevator.rescueCode!=null and elevator.rescueCode!='' "
>
AND joi.CODE96333 = #{elevator.rescueCode}
</if>
<if
test=
"elevator.registerCode!=null and elevator.registerCode!='' "
>
AND joi.SUPERVISORY_CODE = #{elevator.registerCode}
</if>
<if
test=
"elevator.originalId!=null and elevator.originalId!='' "
>
AND jui.RECORD = #{elevator.originalId}
</if>
</select>
<select
id=
"selectMtByAlertId"
resultType=
"java.util.Map"
>
SELECT
SEQUENCE_NBR AS sequenceNbr,
ME_MASTER AS userName1,
ME_MASTER_PHONE AS phone1,
ME_MASTER1 AS userName2,
ME_MASTER1_PHONE AS phone2,
'' AS address,
ME_UNIT_NAME AS unitName,
ME_UNIT_CREDIT_CODE AS useCode
FROM
idx_biz_jg_maintenance_record_info ibjmri
where
ibjmri.RECORD = #{sequenceNbr}
order by ibjmri.INFORM_START desc
limit 1
</select>
<select
id=
"getAlertCalledRecords"
resultType=
"com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto"
>
SELECT
a.sequence_nbr AS sequenceNbr,
a.work_order_number AS workOrderNumber,
a.rec_user_name AS creator,
a.emergency_person AS emergency,
a.call_time AS callTime,
a.emergency_call AS emergencyCall,
a.device_id AS deviceId,
ibjui.ADDRESS as elevatorAddress,
CONCAT(a.city,a.district) AS address,
a.alarm_type AS alertType,
a.alert_source AS alertSource,
a.alert_stage AS alertStage,
CASE
a.alert_status
WHEN 0 THEN
'未完成'
WHEN 1 THEN
'完成'
ELSE
''
END AS alertStatus
FROM
tz_alert_called a
left join idx_biz_jg_use_info ibjui on ibjui.RECORD = a.equipment_id
WHERE a.is_delete = 0 and a.father_alert is null
and a.biz_org_code like concat(#{orgCode}, '%')
<if
test=
"dto.workOrderNumber != null and dto.workOrderNumber != ''"
>
AND a.work_order_number like
CONCAT(CONCAT('%',#{dto.workOrderNumber}),'%')
</if>
<if
test=
"dto.creator != null and dto.creator != ''"
>
AND a.rec_user_name like
CONCAT(CONCAT('%',#{dto.creator}),'%')
</if>
<if
test=
"dto.emergency != null and dto.emergency != ''"
>
AND a.emergency_person like
CONCAT(CONCAT('%',#{dto.emergency}),'%')
</if>
<if
test=
"dto.emergencyTimeStart != null "
>
and #{dto.emergencyTimeStart}
<![CDATA[ <= ]]>
a.call_time
</if>
<if
test=
"dto.emergencyTimeEnd != null "
>
and a.call_time
<![CDATA[ <= ]]>
#{dto.emergencyTimeEnd}
</if>
<if
test=
"dto.emergencyCall != null and dto.emergencyCall != ''"
>
AND a.emergency_call like
CONCAT(CONCAT('%',#{dto.emergencyCall}),'%')
</if>
<if
test=
"dto.deviceId != null and dto.deviceId != ''"
>
AND a.device_id like CONCAT(CONCAT('%',#{dto.deviceId}),'%')
</if>
<if
test=
"dto.elevatorAddress != null and dto.elevatorAddress != ''"
>
AND ibjui.ADDRESS like
CONCAT(CONCAT('%',#{dto.elevatorAddress}),'%')
</if>
<if
test=
"dto.district != null and dto.district != ''"
>
AND a.district like
CONCAT(CONCAT('%',#{dto.district}),'%')
</if>
<if
test=
"dto.alertType != null and dto.alertType != ''"
>
AND a.alarm_type_code = #{dto.alertType}
</if>
<if
test=
"dto.alertSource != null and dto.alertSource != ''"
>
AND a.alert_source_code = #{dto.alertSource}
</if>
<if
test=
"dto.alertStage != null and dto.alertStage != ''"
>
AND a.alert_stage_code = #{dto.alertStage}
</if>
<if
test=
"dto.alertStatus != null and dto.alertStatus != ''"
>
AND a.alert_status = #{dto.alertStatus}
</if>
ORDER BY a.call_time desc
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/EmergencyBizController.java
View file @
ea45f266
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.EmergencyBizServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto
;
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.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
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
;
...
...
@@ -36,4 +34,63 @@ public class EmergencyBizController {
public
ResponseModel
<
Object
>
getDetail
(
@PathVariable
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getDetail
(
id
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/basicDetail/{id}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取救援信息"
,
notes
=
"根据id获取救援信息"
)
public
ResponseModel
<
Object
>
getBasicDetail
(
@PathVariable
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getBasicDetail
(
id
));
}
/**
* 应急大屏使用
*
* @param id 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/dispatchRecord/{id}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取调派信息"
,
notes
=
"根据id获取调派信息"
)
public
ResponseModel
<
Object
>
getDispatchRecord
(
@PathVariable
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getDispatchRecord
(
id
));
}
/**
* 应急大屏使用
*
* @param id 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/followRecords/{id}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取回访信息"
,
notes
=
"根据id获取回访信息"
)
public
ResponseModel
<
Object
>
getFollowRecords
(
@PathVariable
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getFollowRecords
(
id
));
}
/**
* 应急大屏使用
*
* @param id 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/callRecords/{id}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取通话记录信息"
,
notes
=
"根据id获取通话记录信息"
)
public
ResponseModel
<
Object
>
getCallRecords
(
@PathVariable
Long
id
,
@RequestParam
int
number
,
@RequestParam
int
size
)
{
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getCallRecords
(
id
,
number
,
size
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"应急大屏使用"
,
notes
=
"查询警情事件记录"
)
@GetMapping
(
"/selectRecord/dp"
)
public
ResponseModel
<
Page
<
AlertCalledQueryDto
>>
getAlertCalledRecords
(
AlertCalledQueryDto
alertCalledQueryDto
,
@RequestParam
(
value
=
"pageNum"
)
int
pageNum
,
@RequestParam
(
value
=
"pageSize"
)
int
pageSize
,
@RequestParam
(
value
=
"cityCode"
)
String
cityCode
)
{
Page
<
AlertCalledQueryDto
>
page
=
new
Page
<>();
page
.
setCurrent
(
pageNum
);
page
.
setSize
(
pageSize
);
return
ResponseHelper
.
buildResponse
(
emergencyBizService
.
getAlertCalledRecords
(
page
,
alertCalledQueryDto
,
cityCode
));
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/EmergencyBizServiceImpl.java
View file @
ea45f266
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.FormValue
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.VoiceRecordFile
;
import
com.yeejoin.amos.boot.module.elevator.api.mapper.*
;
import
com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledDto
;
import
com.yeejoin.amos.boot.module.elevator.api.dto.AlertCalledFormDto
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertCalled
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.AlertFormValue
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.Elevator
;
import
com.yeejoin.amos.boot.module.elevator.api.entity.RepairConsult
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.DispatchPaperEnums
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.TzsCommonParam
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -22,8 +25,15 @@ import org.typroject.tyboot.core.foundation.utils.DateUtil;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.stream.Collectors
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
parseArray
;
import
static
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
utils
.
JsonUtils
.
getJsonData
;
@Service
public
class
EmergencyBizServiceImpl
{
...
...
@@ -31,30 +41,64 @@ public class EmergencyBizServiceImpl {
@Value
(
"classpath:/json/emergencyInformation.json"
)
private
Resource
emergencyInformation
;
@Value
(
"classpath:/json/emergencyBasic.json"
)
private
Resource
emergencyBasic
;
@Value
(
"classpath:/json/dispatchRecordFirst.json"
)
private
Resource
dispatchRecordFirst
;
@Value
(
"classpath:/json/dispatchRecordSecond.json"
)
private
Resource
dispatchRecordSecond
;
@Value
(
"classpath:/json/dispatchRecordPower.json"
)
private
Resource
dispatchRecordPower
;
@Value
(
"classpath:/json/rescueFollow.json"
)
private
Resource
rescueFollowJson
;
@Value
(
"classpath:/json/repairFollow.json"
)
private
Resource
repairFollowJson
;
@Autowired
public
EmergencyBizServiceImpl
(
ElevatorMapper
elevator
Mapper
,
public
EmergencyBizServiceImpl
(
AlertStatisticsMapper
alertStatistics
Mapper
,
AlertCalledMapper
alertCalledMapper
,
RepairConsultMapper
repairConsultMapper
,
AlertFormValueMapper
alertFormValueMapper
,
VoiceRecordFileMapper
voiceRecordFileMapper
)
{
this
.
elevatorMapper
=
elevatorMapper
;
VoiceRecordFileMapper
voiceRecordFileMapper
,
RescueProcessMapper
rescueProcessMapper
,
DataDictionaryServiceImpl
dataDictionaryService
,
CommonBaseMapper
commonMapper
,
RescueStationMapper
rescueStationMapper
,
DispatchTaskMapper
dispatchTaskMapper
,
DispatchPaperMapper
dispatchPaperMapper
,
ElevatorMapper
elevatorMapper
)
{
this
.
alertStatisticsMapper
=
alertStatisticsMapper
;
this
.
alertCalledMapper
=
alertCalledMapper
;
this
.
repairConsultMapper
=
repairConsultMapper
;
this
.
alertFormValueMapper
=
alertFormValueMapper
;
this
.
voiceRecordFileMapper
=
voiceRecordFileMapper
;
this
.
rescueProcessMapper
=
rescueProcessMapper
;
this
.
dataDictionaryService
=
dataDictionaryService
;
this
.
commonMapper
=
commonMapper
;
this
.
rescueStationMapper
=
rescueStationMapper
;
this
.
dispatchTaskMapper
=
dispatchTaskMapper
;
this
.
dispatchPaperMapper
=
dispatchPaperMapper
;
this
.
elevatorMapper
=
elevatorMapper
;
}
private
ElevatorMapper
elevatorMapper
;
private
AlertCalledMapper
alertCalledMapper
;
private
RepairConsultMapper
repairConsultMapper
;
private
AlertFormValueMapper
alertFormValueMapper
;
private
VoiceRecordFileMapper
voiceRecordFileMapper
;
private
final
AlertStatisticsMapper
alertStatisticsMapper
;
private
final
AlertCalledMapper
alertCalledMapper
;
private
final
RepairConsultMapper
repairConsultMapper
;
private
final
AlertFormValueMapper
alertFormValueMapper
;
private
final
VoiceRecordFileMapper
voiceRecordFileMapper
;
private
final
RescueProcessMapper
rescueProcessMapper
;
private
final
DataDictionaryServiceImpl
dataDictionaryService
;
private
final
CommonBaseMapper
commonMapper
;
private
final
RescueStationMapper
rescueStationMapper
;
private
final
DispatchTaskMapper
dispatchTaskMapper
;
private
final
DispatchPaperMapper
dispatchPaperMapper
;
private
final
ElevatorMapper
elevatorMapper
;
private
static
final
Map
<
String
,
String
>
regionCodeOrgCodeMap
=
new
ConcurrentHashMap
<>();
public
Object
getDetail
(
Long
id
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
HashMap
<
String
,
Object
>
keyinfoData
=
new
HashMap
<>();
// 基本信息
List
<
FormValue
>
jsonData
=
JsonUtils
.
getJsonData
(
emergencyInformation
);
List
<
FormValue
>
jsonData
=
getJsonData
(
emergencyInformation
);
AlertCalledFormDto
alertCalledFormVo
=
getAlertCalledFormDto
(
id
);
Map
<
String
,
Object
>
objectMap
=
Bean
.
BeantoMap
(
alertCalledFormVo
.
getAlertCalledDto
());
List
<
FormValue
>
dynamicFormAlert
=
alertCalledFormVo
.
getDynamicFormAlert
();
...
...
@@ -72,7 +116,7 @@ public class EmergencyBizServiceImpl {
// 获取根据警情获取电梯信息
Map
<
String
,
Object
>
map
=
this
.
selectByAlertId
(
id
);
// 根据设备id 获取使用单位信息
Map
<
String
,
Object
>
useUnitMap
=
elevator
Mapper
.
selectUseUnitByAlertId
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
Map
<
String
,
Object
>
useUnitMap
=
alertStatistics
Mapper
.
selectUseUnitByAlertId
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
if
(!
ObjectUtils
.
isEmpty
(
useUnitMap
))
{
jsonData
.
forEach
(
f
->
{
// 单位名称
...
...
@@ -94,7 +138,7 @@ public class EmergencyBizServiceImpl {
});
}
// 处置记录
LambdaQueryWrapper
<
RepairConsult
>
queryWrapper
=
new
LambdaQueryWrapper
<
RepairConsult
>();
LambdaQueryWrapper
<
RepairConsult
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
RepairConsult:
:
getParentId
,
id
).
orderByDesc
(
RepairConsult:
:
getRecDate
);
List
<
RepairConsult
>
list
=
repairConsultMapper
.
selectList
(
queryWrapper
);
HashMap
<
String
,
Object
>
datas
=
new
HashMap
<>();
...
...
@@ -155,13 +199,13 @@ public class EmergencyBizServiceImpl {
Elevator
elevator
=
new
Elevator
();
elevator
.
setRescueCode
(
Integer
.
valueOf
(
alertCalled
.
getDeviceId
()));
elevator
.
setRegisterCode
(
alertCalled
.
getRegistrationCode
());
Map
<
String
,
Object
>
map
=
elevator
Mapper
.
selectElevator
(
elevator
);
Map
<
String
,
Object
>
map
=
alertStatistics
Mapper
.
selectElevator
(
elevator
);
if
(!
ObjectUtils
.
isEmpty
(
map
))
{
alertCalledDto
.
setAddress
(
String
.
valueOf
(
map
.
get
(
"address"
)));
alertCalledDto
.
setProvince
(
String
.
valueOf
(
map
.
get
(
"province"
)));
alertCalledDto
.
setCity
(
String
.
valueOf
(
map
.
get
(
"city"
)));
alertCalledDto
.
setDistrict
(
String
.
valueOf
(
map
.
get
(
"district"
)));
alertCalledDto
.
setUseStatus
(
String
.
valueOf
(
map
.
get
(
"useStatus"
)));
alertCalledDto
.
setUseStatus
(
Integer
.
valueOf
(
String
.
valueOf
(
map
.
get
(
"useStatus"
)
)));
alertCalledDto
.
setUseSiteCategory
(
ObjectUtils
.
isEmpty
(
map
.
get
(
"useSiteCategory"
))
||
"null"
.
equals
(
String
.
valueOf
(
map
.
get
(
"useSiteCategory"
)))
?
null
:
String
.
valueOf
(
map
.
get
(
"useSiteCategory"
)));
alertCalledDto
.
setUseUnit
(
String
.
valueOf
(
map
.
get
(
"useUnit"
)));
alertCalledDto
.
setRegionCode
(
String
.
valueOf
(
map
.
get
(
"regionCode"
)));
...
...
@@ -182,15 +226,453 @@ public class EmergencyBizServiceImpl {
throw
new
BadRequest
(
"警情不存在或者设备编码不存在"
);
}
// 设备类型 和 编码 确定设备的使用单位或者维保单位
String
equipmentClassificationCode
=
alertCalled
.
getEquipmentClassificationCode
();
String
deviceId
=
alertCalled
.
getEquipmentId
();
String
deviceId
=
String
.
valueOf
(
alertCalled
.
getEquipmentId
());
// 目前只有电梯类型
Elevator
elevator
=
new
Elevator
();
elevator
.
setOriginalId
(
deviceId
);
Map
<
String
,
Object
>
map
=
elevator
Mapper
.
selectElevator
(
elevator
);
Map
<
String
,
Object
>
map
=
alertStatistics
Mapper
.
selectElevator
(
elevator
);
if
(
ValidationUtil
.
isEmpty
(
map
))
{
throw
new
BadRequest
(
"设备未找到"
);
}
return
map
;
}
public
Object
getBasicDetail
(
Long
id
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
List
<
FormValue
>
jsonData
=
getJsonData
(
emergencyBasic
);
RescueProcessDto
dto
=
this
.
getProcessByAlertId
(
id
);
Map
<
String
,
Object
>
objectMap
=
Bean
.
BeantoMap
(
dto
);
jsonData
.
forEach
(
f
->
{
Object
o
=
objectMap
.
get
(
f
.
getKey
());
if
(!
ObjectUtils
.
isEmpty
(
o
))
{
f
.
setValue
(
o
.
toString
());
}
// 派遣状态
if
(
"dispatchStatus"
.
equals
(
f
.
getKey
()))
{
if
(
Boolean
.
TRUE
.
equals
(
dto
.
getDispatchStatus
()))
{
f
.
setValue
(
"已通知已派遣"
);
}
else
{
f
.
setValue
(
"未通知未派遣"
);
}
}
// 到达状态
if
(
"arriveStatus"
.
equals
(
f
.
getKey
()))
{
if
(
Boolean
.
TRUE
.
equals
(
dto
.
getArriveStatus
()))
{
f
.
setValue
(
"已到达"
);
}
else
{
f
.
setValue
(
"未到达"
);
}
}
// 伤亡状态
if
(
"casualtiesStatus"
.
equals
(
f
.
getKey
()))
{
if
(
Boolean
.
TRUE
.
equals
(
dto
.
getCasualtiesStatus
()))
{
f
.
setValue
(
"出现伤亡"
);
}
else
{
f
.
setValue
(
"未出现伤亡"
);
}
}
// 救援状态
if
(
"rescueStatus"
.
equals
(
f
.
getKey
()))
{
if
(
Boolean
.
TRUE
.
equals
(
dto
.
getRescueStatus
()))
{
f
.
setValue
(
"救援成功"
);
}
else
{
f
.
setValue
(
"未救援成功"
);
}
}
// 是否超时
if
(
"isTimeout"
.
equals
(
f
.
getKey
()))
{
if
(
Boolean
.
TRUE
.
equals
(
dto
.
getIsTimeout
()))
{
f
.
setValue
(
"是"
);
}
else
{
f
.
setValue
(
"否"
);
}
}
// 派遣时间
if
(
"dispatchTime"
.
equals
(
f
.
getKey
())
&&
!
ObjectUtils
.
isEmpty
(
dto
.
getDispatchTime
()))
{
f
.
setValue
(
simpleDateFormat
.
format
(
dto
.
getDispatchTime
()));
}
// 到达时间
if
(
"arriveTime"
.
equals
(
f
.
getKey
())
&&
!
ObjectUtils
.
isEmpty
(
dto
.
getArriveTime
()))
{
f
.
setValue
(
simpleDateFormat
.
format
(
dto
.
getArriveTime
()));
}
// 完成时间
if
(
"rescueTime"
.
equals
(
f
.
getKey
())
&&
!
ObjectUtils
.
isEmpty
(
dto
.
getRescueTime
()))
{
f
.
setValue
(
simpleDateFormat
.
format
(
dto
.
getRescueTime
()));
}
});
map
.
put
(
"datas"
,
jsonData
);
map
.
put
(
"columns"
,
2
);
return
map
;
}
public
RescueProcessDto
getProcessByAlertId
(
Long
alertId
)
{
// 先通过id 查找过程表
RescueProcessDto
rescueProcessDto
=
new
RescueProcessDto
();
QueryWrapper
<
RescueProcess
>
templateQueryWrapper
=
new
QueryWrapper
<>();
templateQueryWrapper
.
eq
(
"alert_id"
,
alertId
);
RescueProcess
rescueProcess
=
rescueProcessMapper
.
selectOne
(
templateQueryWrapper
);
Bean
.
toModel
(
rescueProcess
,
rescueProcessDto
);
// 到达时长 不超过30分钟为否,超过为是
// 到达时长 救援响应人员到达时间—救援派遣成功时间
//判断是否存在到达时间
Date
dispatchTime
=
rescueProcessDto
.
getDispatchTime
();
Date
arriveTime
=
rescueProcessDto
.
getArriveTime
();
Date
rescueTime
=
rescueProcessDto
.
getRescueTime
();
if
(
arriveTime
!=
null
&&
dispatchTime
!=
null
)
{
long
arriveTimes
=
arriveTime
.
getTime
()
-
dispatchTime
.
getTime
();
// 相差毫秒数
rescueProcessDto
.
setIsTimeout
(
arriveTimes
>=
1800000
);
}
// 救援时长 用到达时间减去派遣时间
if
(
dispatchTime
!=
null
&&
arriveTime
!=
null
)
{
String
hms
=
DateUtils
.
getTimeDiffString
(
arriveTime
,
dispatchTime
);
rescueProcessDto
.
setArriveUseTime
(
hms
);
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss"
);
if
(
dispatchTime
!=
null
)
rescueProcessDto
.
setDispatchTimeStr
(
sdf
.
format
(
dispatchTime
));
if
(
arriveTime
!=
null
)
rescueProcessDto
.
setArriveTimeStr
(
sdf
.
format
(
arriveTime
));
if
(
rescueTime
!=
null
)
rescueProcessDto
.
setRescueTimeStr
(
sdf
.
format
(
rescueTime
));
return
rescueProcessDto
;
}
public
Object
getDispatchRecord
(
Long
id
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
ArrayList
<
Map
<
String
,
Object
>>
group
=
new
ArrayList
<>();
String
json
;
try
{
json
=
IOUtils
.
toString
(
dispatchRecordFirst
.
getInputStream
(),
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
List
<
Map
>
columns
=
parseArray
(
json
,
Map
.
class
);
// 一级调派
// 获取根据警情获取电梯信息
Map
<
String
,
Object
>
map
=
this
.
selectByAlertId
(
id
);
if
(
ObjectUtils
.
isEmpty
(
map
))
{
throw
new
BadRequest
(
"设备未找到"
);
}
// 根据设备使用id 获取维保单位信息
HashMap
<
String
,
Object
>
first
=
new
HashMap
<>();
ArrayList
<
Map
>
firstDatas
=
new
ArrayList
<>();
HashMap
<
String
,
Object
>
firstData
=
new
HashMap
<>();
first
.
put
(
"key"
,
"firstLevelDispatch"
);
first
.
put
(
"renderType"
,
"table"
);
first
.
put
(
"columns"
,
columns
);
first
.
put
(
"displayName"
,
"一级调派"
);
List
<
Map
<
String
,
Object
>>
list
=
alertStatisticsMapper
.
selectMtByAlertId
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
)));
firstDatas
.
add
(
firstData
);
first
.
put
(
"dataList"
,
list
);
first
.
put
(
"rowKey"
,
"sequenceNbr"
);
// 二级调派
String
secondJson
;
try
{
secondJson
=
IOUtils
.
toString
(
dispatchRecordSecond
.
getInputStream
(),
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
List
<
Map
>
secondColumns
=
parseArray
(
secondJson
,
Map
.
class
);
// 获取根据警情获取电梯信息
Map
<
String
,
Object
>
map2
=
this
.
selectByAlertId
(
id
);
String
longitude
=
String
.
valueOf
(
map2
.
get
(
"longitude"
));
String
latitude
=
String
.
valueOf
(
map2
.
get
(
"latitude"
));
// 根据经纬度和距离返回救援机构信息
HashMap
<
String
,
Object
>
second
=
new
HashMap
<>();
second
.
put
(
"key"
,
"secondLevelDispatch"
);
second
.
put
(
"renderType"
,
"table"
);
second
.
put
(
"columns"
,
secondColumns
);
second
.
put
(
"displayName"
,
"二级调派"
);
List
<
RescueStationDto
>
listByLatLonDistance
=
rescueStationMapper
.
getListByLatLonDistance
(
latitude
,
longitude
,
1000
);
second
.
put
(
"dataList"
,
listByLatLonDistance
);
second
.
put
(
"rowKey"
,
"sequenceNbr"
);
// 力量调派
String
powerJson
;
try
{
powerJson
=
IOUtils
.
toString
(
dispatchRecordPower
.
getInputStream
(),
String
.
valueOf
(
StandardCharsets
.
UTF_8
));
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
List
<
Map
>
powerColumns
=
parseArray
(
powerJson
,
Map
.
class
);
LambdaQueryWrapper
<
DispatchTask
>
queryWrapper
=
new
LambdaQueryWrapper
<
DispatchTask
>();
queryWrapper
.
eq
(
DispatchTask:
:
getAlertId
,
id
);
HashMap
<
String
,
Object
>
power
=
new
HashMap
<>();
ArrayList
<
Map
>
powerDatas
=
new
ArrayList
<>();
power
.
put
(
"key"
,
"powerLevelDispatch"
);
power
.
put
(
"renderType"
,
"table"
);
power
.
put
(
"columns"
,
powerColumns
);
power
.
put
(
"displayName"
,
"使用单位"
);
List
<
DispatchTask
>
powerList
=
dispatchTaskMapper
.
selectList
(
queryWrapper
);
if
(!
ObjectUtils
.
isEmpty
(
powerList
))
{
powerList
.
forEach
(
p
->
{
Map
<
String
,
Object
>
objectMap
=
Bean
.
BeantoMap
(
p
);
if
(!
ObjectUtils
.
isEmpty
(
p
.
getDispatchTime
()))
{
objectMap
.
put
(
"dispatchTime"
,
simpleDateFormat
.
format
(
p
.
getDispatchTime
()));
}
if
(!
ObjectUtils
.
isEmpty
(
p
.
getArriveTime
()))
{
objectMap
.
put
(
"arriveTime"
,
simpleDateFormat
.
format
(
p
.
getArriveTime
()));
}
powerDatas
.
add
(
objectMap
);
});
}
power
.
put
(
"dataList"
,
powerDatas
);
power
.
put
(
"rowKey"
,
"sequenceNbr"
);
group
.
add
(
power
);
group
.
add
(
first
);
group
.
add
(
second
);
result
.
put
(
"subs"
,
group
);
return
result
;
}
public
Object
getFollowRecords
(
Long
id
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
HashMap
<
String
,
Object
>
result
=
new
HashMap
<>();
ArrayList
<
Map
<
String
,
Object
>>
group
=
new
ArrayList
<>();
DispatchSaveFeedbackDto
dispatchSaveFeedbackDto
=
this
.
getDispatchSaveFeedbackDtoByAlertId
(
id
);
Map
<
String
,
Object
>
objectMap
=
Bean
.
BeantoMap
(
dispatchSaveFeedbackDto
);
// 救援回访
HashMap
<
String
,
Object
>
rescueFollow
=
new
HashMap
<>();
List
<
FormValue
>
jsonData
=
getJsonData
(
rescueFollowJson
);
jsonData
.
forEach
(
formValue
->
{
Object
o
=
objectMap
.
get
(
formValue
.
getKey
());
if
(!
ObjectUtils
.
isEmpty
(
o
))
{
formValue
.
setValue
(
o
.
toString
());
if
(
"saveFeedbackTime"
.
equals
(
formValue
.
getKey
()))
{
formValue
.
setValue
(
simpleDateFormat
.
format
(
dispatchSaveFeedbackDto
.
getSaveFeedbackTime
()));
}
}
});
rescueFollow
.
put
(
"columns"
,
2
);
rescueFollow
.
put
(
"datas"
,
jsonData
);
rescueFollow
.
put
(
"renderType"
,
"basic"
);
rescueFollow
.
put
(
"key"
,
"rescueFollow"
);
rescueFollow
.
put
(
"displayName"
,
"救援回访"
);
group
.
add
(
rescueFollow
);
// 维修反馈
HashMap
<
String
,
Object
>
repairFollow
=
new
HashMap
<>();
List
<
FormValue
>
repairJson
=
getJsonData
(
repairFollowJson
);
repairJson
.
forEach
(
f
->
{
Object
o
=
objectMap
.
get
(
f
.
getKey
());
if
(!
ObjectUtils
.
isEmpty
(
o
))
{
f
.
setValue
(
o
.
toString
());
if
(
"feedbackFinishTime"
.
equals
(
f
.
getKey
()))
{
f
.
setValue
(
simpleDateFormat
.
format
(
dispatchSaveFeedbackDto
.
getFeedbackFinishTime
()));
}
if
(
"fixResult"
.
equals
(
f
.
getKey
()))
{
f
.
setValue
(
dataDictionaryService
.
getById
(
dispatchSaveFeedbackDto
.
getFixResult
()).
getName
());
}
if
(
"errorResult"
.
equals
(
f
.
getKey
()))
{
f
.
setValue
(
dataDictionaryService
.
getById
(
dispatchSaveFeedbackDto
.
getErrorResult
()).
getName
());
}
}
});
repairFollow
.
put
(
"columns"
,
2
);
repairFollow
.
put
(
"datas"
,
repairJson
);
repairFollow
.
put
(
"renderType"
,
"basic"
);
repairFollow
.
put
(
"key"
,
"repairFollow"
);
repairFollow
.
put
(
"displayName"
,
"维修反馈"
);
group
.
add
(
repairFollow
);
result
.
put
(
"subs"
,
group
);
return
result
;
}
public
Object
getCallRecords
(
Long
id
,
int
number
,
int
size
)
{
Page
<
VoiceRecordFileDto
>
voiceRecordFileDtoPage
=
new
Page
<>();
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
LambdaQueryWrapper
<
VoiceRecordFile
>
queryWrapper
=
new
LambdaQueryWrapper
<
VoiceRecordFile
>();
queryWrapper
.
eq
(
VoiceRecordFile:
:
getAlertId
,
id
).
orderByDesc
(
VoiceRecordFile:
:
getRecDate
);
List
<
VoiceRecordFile
>
list
=
voiceRecordFileMapper
.
selectList
(
queryWrapper
);
List
<
VoiceRecordFileDto
>
dtoList
=
new
ArrayList
<>(
list
.
size
());
list
.
forEach
(
voiceRecord
->
{
// 创建新的对象实例
VoiceRecordFileDto
target
=
new
VoiceRecordFileDto
();
// 把原对象数据拷贝到新对象
BeanUtils
.
copyProperties
(
voiceRecord
,
target
);
dtoList
.
add
(
target
);
});
List
<
VoiceRecordFileDto
>
collect
=
dtoList
.
stream
()
.
skip
((
long
)
(
number
-
1
)
*
size
)
.
limit
(
size
)
.
collect
(
Collectors
.
toList
());
voiceRecordFileDtoPage
.
setRecords
(
collect
);
voiceRecordFileDtoPage
.
setCurrent
(
number
);
voiceRecordFileDtoPage
.
setSize
(
size
);
return
voiceRecordFileDtoPage
;
}
public
Page
<
AlertCalledQueryDto
>
getAlertCalledRecords
(
Page
<
AlertCalledQueryDto
>
page
,
AlertCalledQueryDto
alertCalledQueryDto
,
String
cityCode
)
{
String
orgCode
=
getAndSetOrgCode
(
cityCode
);
return
alertStatisticsMapper
.
getAlertCalledRecords
(
page
,
alertCalledQueryDto
,
orgCode
);
}
public
String
getAndSetOrgCode
(
String
cityCode
)
{
String
orgCode
=
regionCodeOrgCodeMap
.
get
(
cityCode
);
if
(
orgCode
==
null
)
{
orgCode
=
commonMapper
.
getOrgCodeByCompanyCode
(
cityCode
);
if
(
orgCode
!=
null
)
{
regionCodeOrgCodeMap
.
put
(
cityCode
,
orgCode
);
}
}
return
orgCode
;
}
public
DispatchSaveFeedbackDto
getDispatchSaveFeedbackDtoByAlertId
(
Long
alertId
)
{
DispatchSaveFeedbackDto
dispatchSaveFeedbackDto
=
new
DispatchSaveFeedbackDto
();
dispatchSaveFeedbackDto
.
setAlertId
(
alertId
);
AlertCalledFormDto
alertCalledFormVo
=
this
.
selectAlertCalledByIdNoCache
(
alertId
);
// 警情信息
AlertCalledDto
alertCalledDto
=
alertCalledFormVo
.
getAlertCalledDto
();
dispatchSaveFeedbackDto
.
setEmergency
(
alertCalledDto
.
getEmergencyPerson
());
dispatchSaveFeedbackDto
.
setEmergencyCall
(
alertCalledDto
.
getEmergencyCall
());
// 派遣单信息
DispatchPaperFormDto
dispatchPaperFormDto
=
this
.
selectDispatchPaperDtoByAlertId
(
alertId
);
if
(
dispatchPaperFormDto
==
null
||
dispatchPaperFormDto
.
getDispatchPaper
()
==
null
)
{
return
new
DispatchSaveFeedbackDto
();
// 如果没有派遣就没有派遣反馈信息
}
DispatchPaper
dispatchPaper
=
dispatchPaperFormDto
.
getDispatchPaper
();
dispatchSaveFeedbackDto
.
setFeedbackFinishTime
(
dispatchPaper
.
getFeedbackFinishTime
());
if
(
StringUtils
.
isBlank
(
dispatchPaper
.
getFeedbackUid
()))
{
dispatchSaveFeedbackDto
.
setFeedbackUid
(
null
);
}
else
{
dispatchSaveFeedbackDto
.
setFeedbackUid
(
dispatchPaper
.
getFeedbackUid
());
}
if
(
StringUtils
.
isBlank
(
dispatchPaper
.
getFeedbackUname
()))
{
dispatchSaveFeedbackDto
.
setFeedbackUname
(
null
);
}
else
{
dispatchSaveFeedbackDto
.
setFeedbackUname
(
dispatchPaper
.
getFeedbackUname
());
}
//救援响应人和维保响应人
Long
useOrgTaskId
=
dispatchPaper
.
getUseOrgTaskId
();
Long
repairOrgTaskId
=
dispatchPaper
.
getRepairOrgTaskId
();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask
dispatchTask
;
if
(
repairOrgTaskId
!=
null
)
{
dispatchTask
=
dispatchTaskMapper
.
selectById
(
repairOrgTaskId
);
dispatchSaveFeedbackDto
.
setResponseUserName
(
dispatchTask
.
getResponseUserName
());
dispatchSaveFeedbackDto
.
setResponseUserTel
(
dispatchTask
.
getResponseUserTel
());
}
else
if
(
useOrgTaskId
!=
null
)
{
dispatchTask
=
dispatchTaskMapper
.
selectById
(
useOrgTaskId
);
dispatchSaveFeedbackDto
.
setResponseUserName
(
dispatchTask
.
getResponseUserName
());
dispatchSaveFeedbackDto
.
setResponseUserTel
(
dispatchTask
.
getResponseUserTel
());
}
// 动态字段
List
<
AlertFormValue
>
dynamicFormAlert
=
dispatchPaperFormDto
.
getDynamicFormAlert
();
dynamicFormAlert
.
forEach
(
alertFormValue
->
{
String
value
=
null
;
switch
(
alertFormValue
.
getFieldCode
())
{
case
TzsCommonParam
.
SAVE_FEEDBACK_TIME
:
value
=
alertFormValue
.
getFieldValue
();
if
(
StringUtils
.
isBlank
(
value
))
{
dispatchSaveFeedbackDto
.
setSaveFeedbackTime
(
null
);
}
else
{
try
{
dispatchSaveFeedbackDto
.
setSaveFeedbackTime
(
DateUtils
.
longStr2Date
(
value
));
}
catch
(
Exception
e
)
{
throw
new
BadRequest
(
"救援时间格式错误"
);
}
}
break
;
case
TzsCommonParam
.
SAVE_FEEDBACK_USER
:
value
=
alertFormValue
.
getFieldValue
();
if
(
StringUtils
.
isBlank
(
value
))
{
dispatchSaveFeedbackDto
.
setSaveFeedbackUser
(
null
);
}
else
{
dispatchSaveFeedbackDto
.
setSaveFeedbackUser
(
value
);
}
break
;
case
TzsCommonParam
.
SAVE_FEEDBACK_UID
:
value
=
alertFormValue
.
getFieldValue
();
if
(
StringUtils
.
isBlank
(
value
))
{
dispatchSaveFeedbackDto
.
setSaveFeedbackUid
(
null
);
}
else
{
dispatchSaveFeedbackDto
.
setSaveFeedbackUid
(
value
);
}
break
;
case
TzsCommonParam
.
SAVE_FEEDBACK_RESULT
:
value
=
alertFormValue
.
getFieldValue
();
dispatchSaveFeedbackDto
.
setSaveFeedbackResult
(
value
);
break
;
case
TzsCommonParam
.
FIX_RESULT
:
value
=
alertFormValue
.
getFieldValueCode
();
dispatchSaveFeedbackDto
.
setFixResult
(
value
);
break
;
case
TzsCommonParam
.
ERROR_RESULT
:
value
=
alertFormValue
.
getFieldValueCode
();
dispatchSaveFeedbackDto
.
setErrorResult
(
value
);
break
;
case
TzsCommonParam
.
FIX_REMARK
:
value
=
alertFormValue
.
getFieldValue
();
dispatchSaveFeedbackDto
.
setFixRemark
(
value
);
break
;
case
TzsCommonParam
.
FIX_FEEDBACK_TYPE
:
// 保修反馈方式
value
=
alertFormValue
.
getFieldValueCode
();
dispatchSaveFeedbackDto
.
setFeedbackCode
(
value
);
dispatchSaveFeedbackDto
.
setFeedbackType
(
alertFormValue
.
getFieldValue
());
break
;
}
});
return
dispatchSaveFeedbackDto
;
}
public
AlertCalledFormDto
selectAlertCalledByIdNoCache
(
Long
id
)
{
// 警情基本信息
AlertCalled
alertCalled
=
alertCalledMapper
.
selectById
(
id
);
LambdaQueryWrapper
<
AlertFormValue
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
AlertFormValue:
:
getAlertCalledId
,
id
);
// 警情动态表单数据
List
<
AlertFormValue
>
list
=
alertFormValueMapper
.
selectList
(
queryWrapper
);
List
<
FormValue
>
formValue
=
new
ArrayList
<
FormValue
>();
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
for
(
AlertFormValue
alertFormValue
:
list
)
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
"text"
,
alertFormValue
.
getFieldValue
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
}
AlertCalledDto
alertCalledDto
=
new
AlertCalledDto
();
BeanUtils
.
copyProperties
(
alertCalled
,
alertCalledDto
);
LambdaQueryWrapper
<
Elevator
>
elevatorQueryWrapper
=
new
LambdaQueryWrapper
<>();
elevatorQueryWrapper
.
eq
(
Elevator:
:
getRescueCode
,
alertCalled
.
getDeviceId
());
elevatorQueryWrapper
.
eq
(
Elevator:
:
getRegisterCode
,
alertCalled
.
getRegistrationCode
());
Elevator
elevator
=
elevatorMapper
.
selectOne
(
elevatorQueryWrapper
);
if
(
null
!=
elevator
)
{
alertCalledDto
.
setAddress
(
elevator
.
getAddress
());
alertCalledDto
.
setProvince
(
elevator
.
getProvince
());
alertCalledDto
.
setCity
(
elevator
.
getCity
());
alertCalledDto
.
setDistrict
(
elevator
.
getDistrict
());
alertCalledDto
.
setUseStatus
(
Integer
.
valueOf
(
String
.
valueOf
(
elevator
.
getUseStatus
())));
alertCalledDto
.
setUseSiteCategory
(
elevator
.
getUseSiteCategory
());
alertCalledDto
.
setUseUnit
(
elevator
.
getUseUnit
());
alertCalledDto
.
setRegionCode
(
elevator
.
getRegionCode
());
}
String
voiceRecord
=
""
;
return
new
AlertCalledFormDto
(
alertCalledDto
,
formValue
,
voiceRecord
);
}
public
DispatchPaperFormDto
selectDispatchPaperDtoByAlertId
(
Long
alertId
)
{
// 根据警情id 获取 派遣单信息
DispatchPaper
dispatchPaper
=
selectDispatchPaperByAlertId
(
alertId
);
// 封装dto
DispatchPaperFormDto
dispatchPaperFormDto
=
new
DispatchPaperFormDto
();
if
(
dispatchPaper
==
null
)
{
//如果没有找到paper 返回空Dto
return
dispatchPaperFormDto
;
}
dispatchPaperFormDto
.
setDispatchPaper
(
dispatchPaper
);
LambdaQueryWrapper
<
AlertFormValue
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
AlertFormValue:
:
getAlertCalledId
,
dispatchPaper
.
getSequenceNbr
()).
eq
(
AlertFormValue:
:
getAlertTypeCode
,
DispatchPaperEnums
.
getEnumById
(
dispatchPaper
.
getAlertCode
()).
getDynamicCode
());
// 派遣单动态表单数据
List
<
AlertFormValue
>
list
=
alertFormValueMapper
.
selectList
(
queryWrapper
);
dispatchPaperFormDto
.
setDynamicFormAlert
(
list
);
return
dispatchPaperFormDto
;
}
public
DispatchPaper
selectDispatchPaperByAlertId
(
Long
alertId
)
{
LambdaQueryWrapper
<
DispatchPaper
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
DispatchPaper:
:
getAlertId
,
alertId
);
// 警情动态表单数据
return
dispatchPaperMapper
.
selectOne
(
queryWrapper
);
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/utils/JsonUtils.java
View file @
ea45f266
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
utils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.
elevator
.api.dto.FormValue
;
import
com.yeejoin.amos.boot.module.
ymt
.api.dto.FormValue
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.core.io.Resource
;
import
java.io.IOException
;
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/dispatchRecordFirst.json
0 → 100644
View file @
ea45f266
[
{
"dataIndex"
:
"unitName"
,
"width"
:
"33%"
,
"align"
:
"left"
,
"title"
:
"维保单位"
,
"key"
:
"AA6DE857-C788-494F-8F16-2ECFC7E34528"
},
{
"dataIndex"
:
"address"
,
"width"
:
"33%"
,
"align"
:
"left"
,
"title"
:
"地址"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA"
},
{
"dataIndex"
:
"userName1"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"主要负责人"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA2"
},
{
"dataIndex"
:
"phone1"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"主要负责人电话"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA3"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/dispatchRecordPower.json
0 → 100644
View file @
ea45f266
[
{
"dataIndex"
:
"orgType"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"响应级别"
,
"key"
:
"AA6DE857-C788-494F-8F16-2ECFC7E34528"
},
{
"dataIndex"
:
"responseOrgName"
,
"width"
:
"26%"
,
"align"
:
"left"
,
"title"
:
"单位名称"
,
"key"
:
"D1CB84A4-E037-446A-9469-65B76E381585"
},
{
"dataIndex"
:
"responseUserName"
,
"width"
:
"10%"
,
"align"
:
"left"
,
"title"
:
"联系人"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA"
},
{
"dataIndex"
:
"responseUserTel"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"联系电话"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA1"
},
{
"dataIndex"
:
"dispatchTime"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"派遣时间"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA2"
},
{
"dataIndex"
:
"arriveTime"
,
"width"
:
"15%"
,
"align"
:
"left"
,
"title"
:
"到达时间"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA3"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/dispatchRecordSecond.json
0 → 100644
View file @
ea45f266
[
{
"dataIndex"
:
"name"
,
"width"
:
"23%"
,
"align"
:
"left"
,
"title"
:
"名称"
,
"key"
:
"AA6DE857-C788-494F-8F16-2ECFC7E34528"
},
{
"dataIndex"
:
"address"
,
"width"
:
"33%"
,
"align"
:
"left"
,
"title"
:
"地址"
,
"key"
:
"D1CB84A4-E037-446A-9469-65B76E381585"
},
{
"dataIndex"
:
"distance"
,
"width"
:
"20%"
,
"align"
:
"left"
,
"title"
:
"距离"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA"
},
{
"dataIndex"
:
"rescueLeader"
,
"width"
:
"10%"
,
"align"
:
"left"
,
"title"
:
"救援负责人"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA1"
},
{
"dataIndex"
:
"rescueLeaderPhone"
,
"width"
:
"10%"
,
"align"
:
"left"
,
"title"
:
"电话"
,
"key"
:
"611DAF3D-5B79-466C-BEF2-CC91580091FA2"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/emergency.json
View file @
ea45f266
...
...
@@ -8,7 +8,7 @@
"dataConfig"
:
{
"api"
:
{
"httpMethod"
:
"GET"
,
"apiPath"
:
"/
elevator/alert-called
/detail/{sequenceNbr}"
"apiPath"
:
"/
statistics/dp/biz/emergency
/detail/{sequenceNbr}"
}
}
},
...
...
@@ -20,7 +20,7 @@
"dataConfig"
:
{
"api"
:
{
"httpMethod"
:
"GET"
,
"apiPath"
:
"/
elevator/alert-called
/basicDetail/{sequenceNbr}"
"apiPath"
:
"/
statistics/dp/biz/emergency
/basicDetail/{sequenceNbr}"
}
}
},
...
...
@@ -32,7 +32,7 @@
"dataConfig"
:
{
"api"
:
{
"httpMethod"
:
"GET"
,
"apiPath"
:
"/
elevator/alert-called
/dispatchRecord/{sequenceNbr}"
"apiPath"
:
"/
statistics/dp/biz/emergency
/dispatchRecord/{sequenceNbr}"
}
}
},
...
...
@@ -44,7 +44,7 @@
"dataConfig"
:
{
"api"
:
{
"httpMethod"
:
"GET"
,
"apiPath"
:
"/
elevator/alert-called
/followRecords/{sequenceNbr}"
"apiPath"
:
"/
statistics/dp/biz/emergency
/followRecords/{sequenceNbr}"
}
}
},
...
...
@@ -55,7 +55,7 @@
"dataConfig"
:
{
"api"
:
{
"httpMethod"
:
"GET"
,
"apiPath"
:
"/
elevator/alert-called
/callRecords/{sequenceNbr}"
,
"apiPath"
:
"/
statistics/dp/biz/emergency
/callRecords/{sequenceNbr}"
,
"params"
:
{
"number"
:
1
,
"size"
:
10
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/emergencyBasic.json
0 → 100644
View file @
ea45f266
[
{
"key"
:
"dispatchStatus"
,
"label"
:
"派遣状态"
,
"type"
:
"text"
},
{
"key"
:
"dispatchUserName"
,
"label"
:
"派遣人"
,
"type"
:
"text"
},
{
"key"
:
"dispatchTime"
,
"label"
:
"派遣时间"
,
"type"
:
"text"
},
{
"key"
:
"arriveStatus"
,
"label"
:
"到达状态"
,
"type"
:
"text"
},
{
"key"
:
"arriveTime"
,
"label"
:
"到达时间"
,
"type"
:
"text"
},
{
"key"
:
"arriveUserName"
,
"label"
:
"记录人"
,
"type"
:
"text"
},
{
"key"
:
"arriveFeedbackType"
,
"label"
:
"反馈方式"
,
"type"
:
"text"
},
{
"key"
:
"casualtiesStatus"
,
"label"
:
"伤亡状态"
,
"type"
:
"text"
},
{
"key"
:
"casualtiesInfo"
,
"label"
:
"受伤人数"
,
"type"
:
"text"
},
{
"key"
:
"dieNum"
,
"label"
:
"死亡人数"
,
"type"
:
"text"
},
{
"key"
:
"rescueStatus"
,
"label"
:
"救援状态"
,
"type"
:
"text"
},
{
"key"
:
"rescueTime"
,
"label"
:
"完成时间"
,
"type"
:
"text"
},
{
"key"
:
"rescueUserName"
,
"label"
:
"记录人"
,
"type"
:
"text"
},
{
"key"
:
"rescueFeedbackType"
,
"label"
:
"反馈方式"
,
"type"
:
"text"
},
{
"key"
:
"isTimeout"
,
"label"
:
"是否超时"
,
"type"
:
"text"
},
{
"key"
:
"arriveUseTime"
,
"label"
:
"救援时长"
,
"type"
:
"text"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/repairFollow.json
0 → 100644
View file @
ea45f266
[
{
"key"
:
"responseUserName"
,
"label"
:
"维保响应人"
,
"type"
:
"text"
},
{
"key"
:
"responseUserTel"
,
"label"
:
"响应电话"
,
"type"
:
"text"
},
{
"key"
:
"feedbackType"
,
"label"
:
"反馈方式"
,
"type"
:
"text"
},
{
"key"
:
"fixResult"
,
"label"
:
"维修结果"
,
"type"
:
"text"
},
{
"key"
:
"feedbackFinishTime"
,
"label"
:
"维修完成时间"
,
"type"
:
"text"
},
{
"key"
:
"saveFeedbackUser"
,
"label"
:
"维修回访人"
,
"type"
:
"text"
},
{
"key"
:
"errorResult"
,
"label"
:
"故障原因"
,
"type"
:
"text"
},
{
"key"
:
"fixRemark"
,
"label"
:
"备注"
,
"type"
:
"text"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/resources/json/rescueFollow.json
0 → 100644
View file @
ea45f266
[
{
"key"
:
"emergency"
,
"label"
:
"救援人"
,
"type"
:
"text"
},
{
"key"
:
"emergencyCall"
,
"label"
:
"救援电话"
,
"type"
:
"text"
},
{
"key"
:
"saveFeedbackTime"
,
"label"
:
"回访时间"
,
"type"
:
"text"
},
{
"key"
:
"feedbackUname"
,
"label"
:
"救援回访人"
,
"type"
:
"text"
},
{
"key"
:
"saveFeedbackResult"
,
"label"
:
"回访结果"
,
"type"
:
"text"
}
]
\ No newline at end of file
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