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
966c001e
Commit
966c001e
authored
Sep 25, 2023
by
zhangsen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分析需求 API开发,bug修改
parent
257e2379
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
216 additions
and
12 deletions
+216
-12
BigScreenAnalyseController.java
...dule/jxiop/biz/controller/BigScreenAnalyseController.java
+107
-0
FullViewRecallDataDTO.java
...amos/boot/module/jxiop/biz/dto/FullViewRecallDataDTO.java
+13
-0
FullViewRecallInfoDTO.java
...amos/boot/module/jxiop/biz/dto/FullViewRecallInfoDTO.java
+13
-0
IdxBizFanHealthIndexMapper.java
.../module/jxiop/biz/mapper2/IdxBizFanHealthIndexMapper.java
+5
-0
IdxBizFanHealthIndexMapper.xml
...n/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
+78
-12
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/controller/BigScreenAnalyseController.java
View file @
966c001e
...
...
@@ -14,6 +14,8 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import
com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments
;
import
com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.ESEquipmentsDTO
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallInfoDTO
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanPointProcessVariableClassification
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanWarningRecord
;
...
...
@@ -646,5 +648,110 @@ public class BigScreenAnalyseController extends BaseController {
}
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"全景诊断回溯"
)
@GetMapping
(
"/getFullViewRecall"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
getFullViewRecall
()
{
HashMap
<
String
,
Object
>
resultMapFinally
=
new
HashMap
<>();
List
<
Map
<
String
,
Object
>>
stationIndexInfo
=
idxBizFanHealthIndexMapper
.
getStationIndexInfo
();
Map
<
String
,
Double
>
stationHealthIndexMap
=
stationIndexInfo
.
stream
().
collect
(
Collectors
.
toMap
(
t
->
t
.
get
(
"station"
).
toString
(),
t
->
Double
.
parseDouble
(
t
.
get
(
"healthIndex"
).
toString
())));
List
<
FullViewRecallDataDTO
>
list
=
idxBizFanHealthIndexMapper
.
getFullViewRecall
();
Map
<
String
,
Map
<
String
,
Map
<
String
,
Map
<
String
,
Map
<
String
,
List
<
FullViewRecallDataDTO
>>>>>>
resultMap
=
list
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
FullViewRecallDataDTO:
:
getArea
,
Collectors
.
groupingBy
(
FullViewRecallDataDTO:
:
getStation
,
Collectors
.
groupingBy
(
FullViewRecallDataDTO:
:
getEquipmentName
,
Collectors
.
groupingBy
(
FullViewRecallDataDTO:
:
getSubSystem
,
Collectors
.
groupingBy
(
FullViewRecallDataDTO:
:
getPointName
))))));
int
areaInt
=
1
;
int
pointNameInt
=
1
;
int
stationInt
=
1
;
int
equipmentInt
=
1
;
int
subSystemInt
=
1
;
List
<
FullViewRecallInfoDTO
>
fullViewRecallList
=
new
ArrayList
<>();
List
<
Map
<
String
,
String
>>
resultMapFromToList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Map
<
String
,
Map
<
String
,
Map
<
String
,
Map
<
String
,
List
<
FullViewRecallDataDTO
>>>>>>
areaMap
:
resultMap
.
entrySet
())
{
FullViewRecallInfoDTO
areaMapDto
=
new
FullViewRecallInfoDTO
();
areaMapDto
.
setKey
(
"0-"
+
areaInt
);
areaMapDto
.
setName
(
areaMap
.
getKey
());
areaMapDto
.
setLoc
(
null
);
areaMapDto
.
setScoreRange
(
null
);
areaMapDto
.
setStatus
(
null
);
areaMapDto
.
setScore
(
null
);
fullViewRecallList
.
add
(
areaMapDto
);
HashMap
<
String
,
String
>
areaMapFromTo
=
new
HashMap
<>();
areaMapFromTo
.
put
(
"from"
,
"0"
);
areaMapFromTo
.
put
(
"to"
,
areaMapDto
.
getKey
());
resultMapFromToList
.
add
(
areaMapFromTo
);
areaInt
++;
for
(
Map
.
Entry
<
String
,
Map
<
String
,
Map
<
String
,
Map
<
String
,
List
<
FullViewRecallDataDTO
>>>>>
stationMap
:
areaMap
.
getValue
().
entrySet
())
{
FullViewRecallInfoDTO
stationDto
=
new
FullViewRecallInfoDTO
();
stationDto
.
setKey
(
areaMapDto
.
getKey
()
+
"-"
+
stationInt
);
stationDto
.
setName
(
stationMap
.
getKey
());
stationDto
.
setLoc
(
null
);
stationDto
.
setScoreRange
(
null
);
stationDto
.
setStatus
(
null
);
stationDto
.
setScore
(
stationHealthIndexMap
.
getOrDefault
(
stationMap
.
getKey
(),
100.0
));
fullViewRecallList
.
add
(
stationDto
);
HashMap
<
String
,
String
>
stationMapFromTo
=
new
HashMap
<>();
stationMapFromTo
.
put
(
"from"
,
areaMapDto
.
getKey
());
stationMapFromTo
.
put
(
"to"
,
stationDto
.
getKey
());
resultMapFromToList
.
add
(
stationMapFromTo
);
stationInt
++;
for
(
Map
.
Entry
<
String
,
Map
<
String
,
Map
<
String
,
List
<
FullViewRecallDataDTO
>>>>
equipmentMap
:
stationMap
.
getValue
().
entrySet
())
{
FullViewRecallInfoDTO
equipmentMapDto
=
new
FullViewRecallInfoDTO
();
equipmentMapDto
.
setKey
(
stationDto
.
getKey
()
+
"-"
+
equipmentInt
);
equipmentMapDto
.
setName
(
equipmentMap
.
getKey
());
equipmentMapDto
.
setLoc
(
null
);
equipmentMapDto
.
setScoreRange
(
null
);
equipmentMapDto
.
setStatus
(
null
);
equipmentMapDto
.
setScore
(
null
);
fullViewRecallList
.
add
(
equipmentMapDto
);
HashMap
<
String
,
String
>
equipmentMapFromTo
=
new
HashMap
<>();
equipmentMapFromTo
.
put
(
"from"
,
stationDto
.
getKey
());
equipmentMapFromTo
.
put
(
"to"
,
equipmentMapDto
.
getKey
());
resultMapFromToList
.
add
(
equipmentMapFromTo
);
equipmentInt
++;
for
(
Map
.
Entry
<
String
,
Map
<
String
,
List
<
FullViewRecallDataDTO
>>>
subSystemMap
:
equipmentMap
.
getValue
().
entrySet
())
{
FullViewRecallInfoDTO
subSystemMapDto
=
new
FullViewRecallInfoDTO
();
subSystemMapDto
.
setKey
(
equipmentMapDto
.
getKey
()
+
"-"
+
subSystemInt
);
subSystemMapDto
.
setName
(
subSystemMap
.
getKey
());
subSystemMapDto
.
setLoc
(
null
);
subSystemMapDto
.
setScoreRange
(
null
);
subSystemMapDto
.
setStatus
(
null
);
subSystemMapDto
.
setScore
(
null
);
fullViewRecallList
.
add
(
subSystemMapDto
);
HashMap
<
String
,
String
>
subSystemMapFromTo
=
new
HashMap
<>();
subSystemMapFromTo
.
put
(
"from"
,
equipmentMapDto
.
getKey
());
subSystemMapFromTo
.
put
(
"to"
,
subSystemMapDto
.
getKey
());
resultMapFromToList
.
add
(
subSystemMapFromTo
);
subSystemInt
++;
for
(
Map
.
Entry
<
String
,
List
<
FullViewRecallDataDTO
>>
pointNameMap
:
subSystemMap
.
getValue
().
entrySet
())
{
FullViewRecallInfoDTO
pointNameMapDto
=
new
FullViewRecallInfoDTO
();
pointNameMapDto
.
setKey
(
subSystemMapDto
.
getKey
()
+
"-"
+
pointNameInt
);
pointNameMapDto
.
setName
(
pointNameMap
.
getKey
());
pointNameMapDto
.
setLoc
(
null
);
pointNameMapDto
.
setScoreRange
(
null
);
pointNameMapDto
.
setStatus
(
null
);
pointNameMapDto
.
setScore
(
null
);
fullViewRecallList
.
add
(
pointNameMapDto
);
HashMap
<
String
,
String
>
pointNameMapFromTo
=
new
HashMap
<>();
pointNameMapFromTo
.
put
(
"from"
,
subSystemMapDto
.
getKey
());
pointNameMapFromTo
.
put
(
"to"
,
pointNameMapDto
.
getKey
());
resultMapFromToList
.
add
(
pointNameMapFromTo
);
pointNameInt
++;
}
}
}
}
}
resultMapFinally
.
put
(
"nodeDataArray"
,
fullViewRecallList
);
resultMapFinally
.
put
(
"linkDataArray"
,
resultMapFromToList
);
resultMapFinally
.
put
(
"class"
,
"GraphLinksModel"
);
return
ResponseHelper
.
buildResponse
(
resultMapFinally
);
}
}
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/dto/FullViewRecallDataDTO.java
0 → 100644
View file @
966c001e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
dto
;
import
lombok.Data
;
@Data
public
class
FullViewRecallDataDTO
{
private
String
rowNumber
;
private
String
area
;
private
String
station
;
private
String
equipmentName
;
private
String
subSystem
;
private
String
pointName
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/dto/FullViewRecallInfoDTO.java
0 → 100644
View file @
966c001e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
dto
;
import
lombok.Data
;
@Data
public
class
FullViewRecallInfoDTO
{
private
String
key
;
private
String
loc
;
private
String
name
;
private
Double
score
;
private
String
scoreRange
;
private
String
status
;
}
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/mapper2/IdxBizFanHealthIndexMapper.java
View file @
966c001e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
mapper2
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO
;
import
com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthIndex
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -76,4 +77,8 @@ public interface IdxBizFanHealthIndexMapper extends BaseMapper<IdxBizFanHealthIn
String
getPointNameByIndexAddress
(
@Param
(
"varDesc"
)
String
varDesc
,
@Param
(
"tableName"
)
String
tableName
);
List
<
FullViewRecallDataDTO
>
getFullViewRecall
();
List
<
Map
<
String
,
Object
>>
getStationIndexInfo
();
}
amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/resources/mapper/cluster/IdxBizFanHealthIndexMapper.xml
View file @
966c001e
...
...
@@ -13,7 +13,7 @@
idx_biz_fan_health_index
<where>
ANALYSIS_TYPE = '按天'
AND
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
</if>
...
...
@@ -32,7 +32,7 @@
idx_biz_pv_health_index
<where>
ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
</if>
...
...
@@ -130,7 +130,7 @@
WHERE
( STATION IS NULL OR STATION = '' )
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
GROUP BY
ARAE UNION ALL
(
...
...
@@ -142,7 +142,7 @@
WHERE
( STATION IS NULL OR STATION = '' )
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
GROUP BY
ARAE
)
...
...
@@ -188,7 +188,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
</if>
...
...
@@ -205,7 +205,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"areaCode != null and areaCode != ''"
>
AND ARAE like concat('%', #{areaCode}, '%')
</if>
...
...
@@ -315,7 +315,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
CURRENT_DATE
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
<if
test=
"equipmentName != null and equipmentName != ''"
>
AND EQUIPMENT_NAME like concat( '%', #{equipmentName} '风机系统')
</if>
...
...
@@ -354,7 +354,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"gatewayId != null and gatewayId != ''"
>
AND GATEWAY_ID = #{gatewayId}
</if>
...
...
@@ -409,7 +409,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
CURRENT_DATE
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if
test=
"subSystem != null and subSystem != ''"
>
...
...
@@ -464,7 +464,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
FORMAT( NOW(), "%Y-%m-%d"
)
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_
SUB( CURRENT_DATE, INTERVAL 1 DAY
)
<if
test=
"gatewayId != null and gatewayId != ''"
>
AND GATEWAY_ID = #{gatewayId}
</if>
...
...
@@ -483,7 +483,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
CURRENT_DATE
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
<if
test=
"subarray != null and subarray != ''"
>
AND SUBARRAY = #{subarray}
</if>
...
...
@@ -529,7 +529,7 @@
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
CURRENT_DATE
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) =
DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
AND POINT_NAME IS NOT NULL
AND POINT_NAME != ''
<if
test=
"equipmentName != null and equipmentName != ''"
>
...
...
@@ -570,4 +570,70 @@
limit 1
</select>
<select
id=
"getFullViewRecall"
resultType=
"com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO"
>
SELECT
a.*,
row_number () over ( ORDER BY pointName ) AS id
FROM
(
SELECT
ARAE AS area,
GATEWAY_ID AS station,
EQUIPMENT_NAME AS equipmentName,
SUB_SYSTEM AS subSystem,
POINT_NAME AS pointName
FROM
idx_biz_fan_point_process_variable_classification
WHERE
TAG_CODE = '分析变量' UNION ALL
SELECT
ARAE AS area,
GATEWAY_ID AS station,
SUBARRAY AS equipmentName,
EQUIPMENT_NAME AS subSystem,
POINT_NAME AS pointName
FROM
idx_biz_pv_point_process_variable_classification
WHERE
TAG_CODE = '分析变量'
) a
</select>
<select
id=
"getStationIndexInfo"
resultType=
"java.util.Map"
>
SELECT
a.STATION AS station,
ROUND( avg( a.avgHealthIndex ), 2 ) AS healthIndex
FROM
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
GATEWAY_ID AS STATION
FROM
idx_biz_fan_health_index
WHERE
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
GROUP BY
GATEWAY_ID UNION ALL
(
SELECT
IFNULL( AVG( HEALTH_INDEX ), 100 ) AS avgHealthIndex,
GATEWAY_ID AS STATION
FROM
idx_biz_pv_health_index
WHERE
STATION IS NOT NULL
AND STATION != ''
AND ANALYSIS_TYPE = '按天'
AND DATE_FORMAT( REC_DATE, "%Y-%m-%d" ) = DATE_SUB( CURRENT_DATE, INTERVAL 1 DAY )
GROUP BY
GATEWAY_ID
)
) a
GROUP BY
a.STATION
</select>
</mapper>
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