package com.project.zcustom.tools; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.project.common.utils.StringUtils; import com.project.common.utils.http.HttpUtils; import com.project.zcustom.domain.addional.LargeBuilding; import com.project.zcustom.domain.addional.LargeBuildingControl; import com.project.zcustom.domain.addional.LargeBuildingControlAmmeterDetail; import com.project.zcustom.domain.addional.LargeBuildingLoadDetail; import com.project.zcustom.domain.plat.PlatApiRecord; import com.project.zcustom.mapper.unit.PlatBuildingMapper; import com.project.zcustom.service.plat.IPlatApiRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * @Description 楼宇运行监控接口 * @Author bqyang * @Date 2025/2/10 16:58 * @Version 1.0 */ @Service public class BuildingService { @Autowired private PlatBuildingMapper platBuildingMapper; @Resource IPlatApiRecordService iPlatApiRecordService; /** * 楼宇中控 接口数据同步 */ public void getLeftBuildingData(){ String controlEquipment = repeat(ApiUrlConfig.getControlEquipment(), null); JSONObject jsonObject = JSONObject.parseObject(controlEquipment); Long normalNum = Long.valueOf(jsonObject.getJSONObject("sj").getString("zcdw")); Long abnormalNum = Long.valueOf(jsonObject.getJSONObject("sj").getString("ycdw")); LargeBuildingControl largeBuildingControl = new LargeBuildingControl( repeat(ApiUrlConfig.getControlElectricity(), null), repeat(ApiUrlConfig.getControlElevator(), null), repeat(ApiUrlConfig.getControlElectricityRoom(), null), repeat(ApiUrlConfig.getControlTodaySum(), null), repeat(ApiUrlConfig.getControlMonthSum(), "type=一号配电室"), repeat(ApiUrlConfig.getControlMonthSum(), "type=二号配电室"), repeat(ApiUrlConfig.getControlMonthSum(), "type=三号配电室"), repeat(ApiUrlConfig.getControlImportantSum(), "type=一号配电室"), repeat(ApiUrlConfig.getControlImportantSum(), "type=二号配电室"), repeat(ApiUrlConfig.getControlImportantSum(), "type=三号配电室"), repeat(ApiUrlConfig.getControlEquipment(), null), normalNum, abnormalNum, repeat(ApiUrlConfig.getControlAlarm(), null), repeat(ApiUrlConfig.getControlWater(), "position=23F"), repeat(ApiUrlConfig.getControlWater(), "position=负二"), repeat(ApiUrlConfig.getPhotovoltaicPower(), null), repeat(ApiUrlConfig.getControlAlertDetails(), "type=电表"), repeat(ApiUrlConfig.getControlAlertDetails(), "type=水浸"), repeat(ApiUrlConfig.getControlAlertDetails(), "type=烟雾"), repeat(ApiUrlConfig.getControlAlertDetails(), "type=液位") ); if (platBuildingMapper.getExist() > 0){ platBuildingMapper.updateBuildingControl(largeBuildingControl); } else platBuildingMapper.addBuildingControl(largeBuildingControl); } /** * 电表、异常、负载明细 */ public void getLeftBuildingDataDetail(){ platBuildingMapper.deleteAmmeterDetails(); String[] arr = { "制冷机组", "公共照明", "生活水泵", "楼外设备", "消防", "供热设备", "冷源泵", "充电桩", "电梯", "厨房", "热源泵", "地下室", "办公", "通信辅助设备", "信息UPS", "信息空调", "调度UPS", "调度空调", "通信UPS", "通信空调", "交易机房", "管控机房空调" }; List list = new ArrayList<>(); for (int i=0; i