Commit e47aa31e authored by 李秀明's avatar 李秀明

Merge branch 'refs/heads/develop_dl' into develop_dl_bugfix

parents d027cd35 4c68fcc1
......@@ -671,8 +671,11 @@ public class FireFightingSystemController extends AbstractBaseController {
@PostMapping(value = "/getMonitoringUnitList")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "查询监测部件列表", notes = "查询监测部件列表")
public IPage<EquipTypeImgAmountVO> getMonitoringUnitList(@RequestBody EquipTypeAmountPageDTO equipTypeAmountPage) {
return equipmentSpecificSerivce.getMonitoringUnitList(equipTypeAmountPage);
public IPage<EquipTypeImgAmountVO> getMonitoringUnitList(
@RequestBody EquipTypeAmountPageDTO equipTypeAmountPage,
@RequestParam(value = "useSource", required = false) String useSource
) {
return equipmentSpecificSerivce.getMonitoringUnitList(equipTypeAmountPage, useSource);
}
@GetMapping(value = "/getMonitoringCount")
......
......@@ -308,7 +308,11 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
List<Map<String, Object>> getListByCode(@Param("code") String code, @Param("bizOrgCode") String bizOrgCode);
IPage<EquipTypeImgAmountVO> getMonitoringUnitList(@Param("page") IPage page,@Param("equipTypeAmountPage") EquipTypeAmountPageDTO equipTypeAmountPage);
IPage<EquipTypeImgAmountVO> getMonitoringUnitList(
@Param("page") IPage page,
@Param("equipTypeAmountPage") EquipTypeAmountPageDTO equipTypeAmountPage,
@Param("useSource") String useSource
);
List<Map<String, Object >> getMonitoringCount(String bizOrgCode);
......
......@@ -305,7 +305,7 @@ public interface IEquipmentSpecificSerivce extends IService<EquipmentSpecific> {
String updateEquipSpecificStatusByCheckInput( String id);
IPage<EquipTypeImgAmountVO> getMonitoringUnitList(EquipTypeAmountPageDTO equipTypeAmountPage);
IPage<EquipTypeImgAmountVO> getMonitoringUnitList(EquipTypeAmountPageDTO equipTypeAmountPage, String useSource);
List<Map<String, Object >> getMonitoringCount(String bizOrgCode);
......
......@@ -65,6 +65,7 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
......@@ -555,12 +556,14 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
}
private List<BuildingTreeVo> getBuildingTreeVos(Boolean isContainRootNode, String bizOrgCode) {
FormGroup formGroup = iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode());
List<Map<String, Object>> allList = iFormInstanceService.getSpecialChildrenList(null, bizOrgCode);
List<BuildingTreeVo> allListVo = buildBuildingData(formGroup, allList, isContainRootNode);
Map<Long, String> absolutePositionMap = getBuildingAbsolutePosition(allListVo);
allListVo.forEach(s -> s.setAbsolutePosition(absolutePositionMap.get(s.getId())));
return allListVo;
CompletableFuture<FormGroup> formGroupFuture = CompletableFuture.supplyAsync(() -> iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode()));
CompletableFuture<List<Map<String, Object>> > allListFuture = CompletableFuture.supplyAsync(() -> iFormInstanceService.getSpecialChildrenList(null, bizOrgCode));
return CompletableFuture.allOf(formGroupFuture, allListFuture).thenApply(v -> {
List<BuildingTreeVo> allListVo = buildBuildingData(formGroupFuture.join(), allListFuture.join(), isContainRootNode);
Map<Long, String> absolutePositionMap = getBuildingAbsolutePosition(allListVo);
allListVo.forEach(s -> s.setAbsolutePosition(absolutePositionMap.get(s.getId())));
return allListVo;
}).join();
}
......@@ -1323,10 +1326,16 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
@Override
public Map<Long, String> getBuildingAbsolutePosition() {
FormGroup formGroup = iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode());
List<Map<String, Object>> allList = iFormInstanceService.getSpecialChildrenList(null, null);
List<BuildingTreeVo> allListVo = buildBuildingData(formGroup, allList, true);
return getBuildingAbsolutePosition(allListVo);
CompletableFuture<FormGroup> formGroupCompletableFuture = CompletableFuture.supplyAsync(() ->
iFormGroupService.getByUniqueKey(GroupCodeEnum.ALL_BUILDING.getGroupCode())
);
CompletableFuture<List<Map<String, Object>>> allListCompletableFuture = CompletableFuture.supplyAsync(() ->
iFormInstanceService.getSpecialChildrenList(null, null)
);
return formGroupCompletableFuture.thenCombine(allListCompletableFuture, (formGroup, allList) -> {
List<BuildingTreeVo> allListVo = buildBuildingData(formGroup, allList, true);
return getBuildingAbsolutePosition(allListVo);
}).join();
}
@Override
......@@ -1432,23 +1441,25 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
//1.组装数据
List<BuildingTreeVo> companyBuildingList = buildBuildingAndCompanyListVos(authKey, type,"building");
//2.list to tree
List<BuildingTreeVo> buildingTreeVos = companyBuildingList.stream().filter(a -> companyBuildingList.stream().noneMatch(c -> c.getId().toString().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId().toString(), companyBuildingList))).collect(Collectors.toList());
List<BuildingTreeVo> buildingTreeVos = companyBuildingList.parallelStream()
.filter(
a -> companyBuildingList.stream().noneMatch(c -> c.getId().toString().equals(a.getParentId()))
).peek(
b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId().toString(), companyBuildingList))
).collect(Collectors.toList());
// 任务 7481
if(buildingTreeVos.size() == 1 && buildingTreeVos.get(0).getChildren().size() > 0) {
List<BuildingTreeVo> buildingTreeVosNew = buildingTreeVos.get(0).getChildren().stream().sorted(new Comparator<BuildingTreeVo>() {
@Override
public int compare(BuildingTreeVo o1, BuildingTreeVo o2) {
if(o1.getGroupType().equals(o2.getGroupType())) {
return 0;
}
if(o1.getGroupType().equals("building") ) {
return -1;
}
if(o2.getGroupType().equals("building") ) {
return 1;
}
if(buildingTreeVos.size() == 1 && !CollectionUtils.isEmpty(buildingTreeVos.get(0).getChildren())) {
List<BuildingTreeVo> buildingTreeVosNew = buildingTreeVos.get(0).getChildren().stream().sorted((o1, o2) -> {
if(o1.getGroupType().equals(o2.getGroupType())) {
return 0;
}
if(o1.getGroupType().equals("building") ) {
return -1;
}
if(o2.getGroupType().equals("building") ) {
return 1;
}
return 0;
}).collect(Collectors.toList());
buildingTreeVos.get(0).setChildren(buildingTreeVosNew);
}
......@@ -1690,7 +1701,7 @@ public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> i
}
private List<BuildingTreeVo> getCompanyBuildingChildrenTree(String parentId, List<BuildingTreeVo> all) {
return all.stream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
return all.parallelStream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
a.setChildren(getCompanyBuildingChildrenTree(a.getId().toString(), all));
}).collect(Collectors.toList());
}
......
......@@ -426,7 +426,7 @@ public class EquipmentDetailServiceImpl extends ServiceImpl<EquipmentDetailMappe
for (FireFightingSystemEntity entity : sys) {
sb.append(entity.getName()).append(",");
}
equipmentSpecific.setSystemName(Objects.isNull(sb.toString()) ? "" : sb.deleteCharAt(sb.lastIndexOf(",")).toString());
equipmentSpecific.setSystemName(sb.toString());
}
// 装备分类
Equipment equipment = equipmentDetail.getEquipment();
......
......@@ -2178,8 +2178,8 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
}
@Override
public IPage<EquipTypeImgAmountVO> getMonitoringUnitList(EquipTypeAmountPageDTO equipTypeAmountPage) {
IPage<EquipTypeImgAmountVO> record = equipmentSpecificMapper.getMonitoringUnitList(equipTypeAmountPage.getPage(), equipTypeAmountPage);
public IPage<EquipTypeImgAmountVO> getMonitoringUnitList(EquipTypeAmountPageDTO equipTypeAmountPage, String useSource) {
IPage<EquipTypeImgAmountVO> record = equipmentSpecificMapper.getMonitoringUnitList(equipTypeAmountPage.getPage(), equipTypeAmountPage, useSource);
record.getRecords().forEach(e -> {
e.setEquip(equipmentSpecificMapper.getMonitoringEquip(String.valueOf(e.getId())).get("num").toString());
e.setOther(equipmentSpecificMapper.getMonitoringOther(String.valueOf(e.getId())).get("num").toString());
......
......@@ -2673,7 +2673,12 @@
</if>
AND wed.equipment_name is not null
</where>
ORDER BY CONVERT(bizOrgName USING gbk) ASC, equipStatus DESC , wes.create_date DESC
<if test="useSource == null or useSource == ''">
ORDER BY CONVERT(bizOrgName USING gbk) ASC, equipStatus DESC , wes.create_date DESC
</if>
<if test="useSource == 'cardscreen'">
ORDER BY equipStatus DESC , wes.create_date DESC
</if>
</select>
<select id="getMonitoringCount" resultType="java.util.Map">
SELECT
......@@ -2691,10 +2696,10 @@
</select>
<select id="getMonitoringEquip" resultType="java.util.Map">
SELECT IFNULL(SUM(IF(aqr.SOURCE = 'equip', 1, 0)), 0) as num FROM dl_amos_idx_biz.idx_access_qrcode_record aqr WHERE aqr.buss_id = #{id}
SELECT IFNULL(SUM(IF(aqr.SOURCE = 'equip' AND aqr.TYPE = 'equipment' AND CLEAN_TIME IS NULL, 1, 0)), 0) as num FROM dl_amos_idx_biz.idx_access_qrcode_record aqr WHERE aqr.buss_id = #{id}
</select>
<select id="getMonitoringOther" resultType="java.util.Map">
SELECT IFNULL(SUM(IF(aqr.SOURCE != 'equip', 1, 0)), 0) as num FROM dl_amos_idx_biz.idx_access_qrcode_record aqr WHERE aqr.buss_id = #{id}
SELECT IFNULL(SUM(IF(aqr.SOURCE != 'equip' AND aqr.TYPE = 'equipment' AND CLEAN_TIME IS NULL, 1, 0)), 0) as num FROM dl_amos_idx_biz.idx_access_qrcode_record aqr WHERE aqr.buss_id = #{id}
</select>
<update id="updateEquipQrCode" parameterType="list">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment