diff --git a/src/main/java/com/lanhai/controller/SurvAlertRecordController.java b/src/main/java/com/lanhai/controller/SurvAlertRecordController.java index a62b434..ed3a8f3 100644 --- a/src/main/java/com/lanhai/controller/SurvAlertRecordController.java +++ b/src/main/java/com/lanhai/controller/SurvAlertRecordController.java @@ -1,9 +1,14 @@ package com.lanhai.controller; +import com.lanhai.service.ISurvAlertRecordService; +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.stereotype.Controller; +import org.springframework.web.bind.annotation.ResponseBody; /** *

@@ -17,5 +22,20 @@ import org.springframework.stereotype.Controller; @RequestMapping("/survAlertRecord") public class SurvAlertRecordController { +// @Autowired +// private ISurvAlertRecordService alertRecordService; +// +// +// @ApiOperation(value = "13. 站点设备多项统计图", notes = "") +// @GetMapping(value = "/temp") +// @ResponseBody +// public String temp() { +// boolean b = alertRecordService.reprocessAlert(); +// if(b){ +// return "ok"; +// }else{ +// return "fatal"; +// } +// } } diff --git a/src/main/java/com/lanhai/enums/PollutionEnum.java b/src/main/java/com/lanhai/enums/PollutionEnum.java new file mode 100644 index 0000000..46439dc --- /dev/null +++ b/src/main/java/com/lanhai/enums/PollutionEnum.java @@ -0,0 +1,341 @@ +package com.lanhai.enums; + +import com.alibaba.fastjson.JSONObject; + +import java.util.HashMap; +import java.util.Map; + +public enum PollutionEnum { + dataAirTemp("dataAirTemp", "大气温度", "℃", "sys/icon/shebei_icon_qixiang.png", "air", "#22BB8A", "sys/mobile/icon/shebei_icon_qixiang.png", "sys/bs/icon/shebei_icon_qixiang.png", "shebei_icon_qixiang.png"), + dataAirWet("dataAirWet", "大气湿度", "%RH", "sys/icon/zhandian_icon_kongqishidu.png", "air", "#EE701C", "sys/mobile/icon/zhandian_icon_kongqishidu.png", "sys/bs/icon/zhandian_icon_kongqishidu.png", "zhandian_icon_kongqishidu.png"), + dataAirPress("dataAirPress", "大气压力", "hPa", "sys/icon/zhandian_icon_daqiyali.png", "air", "#52AC2A", "sys/mobile/icon/zhandian_icon_daqiyali.png", "sys/bs/icon/zhandian_icon_daqiyali.png", "zhandian_icon_daqiyali.png"), + dataRainFall("dataRainFall", "雨量", "mm", "sys/icon/zhandian_icon_jiangyuliang.png", "air", "#2BADB9", "sys/mobile/icon/zhandian_icon_jiangyuliang.png", "sys/bs/icon/zhandian_icon_jiangyuliang.png", "zhandian_icon_jiangyuliang.png"), + dataRainTotal("dataRainTotal", "雨量累计", "mm", "sys/icon/zhandian_icon_jiangyuliangtotal.png", "air", "#102B6A", "sys/mobile/icon/zhandian_icon_jiangyuliangtotal.png", "sys/bs/icon/zhandian_icon_jiangyuliangtotal.png", "zhandian_icon_jiangyuliangtotal.png"), + dataWindSpeed("dataWindSpeed", "风速", "m/s", "sys/icon/zhandian_icon_fengsu.png", "air", "#7CD6CF", "sys/mobile/icon/zhandian_icon_fengsu.png", "sys/bs/icon/zhandian_icon_fengsu.png", "zhandian_icon_fengsu.png"), + dataWindDirection("dataWindDirection", "风向", "°", "sys/icon/zhandian_icon_fengxiang.png", "air", "#26A3CC", "sys/mobile/icon/zhandian_icon_fengxiang.png", "sys/bs/icon/zhandian_icon_fengxiang.png", "zhandian_icon_fengxiang.png"), + dataSunTotal("dataSunTotal", "辐射累计", "MJ/m2", "sys/icon/zhandian_icon_fusheleiji.png", "air", "#6C48C7", "sys/mobile/icon/zhandian_icon_fusheleiji.png", "sys/bs/icon/zhandian_icon_fusheleiji.png", "zhandian_icon_fusheleiji.png"), + dataSunFallout("dataSunFallout", "太阳全辐射", "W/m2", "sys/icon/zhandian_icon_taiyangquanfushe.png", "air", "#22BB8A", "sys/mobile/icon/zhandian_icon_taiyangquanfushe.png", "sys/bs/icon/zhandian_icon_taiyangquanfushe.png", "zhandian_icon_taiyangquanfushe.png"), + dataSunHour("dataSunHour", "日照时数", "h", "sys/icon/shebei_icon_sunhour.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_sunhour.png", "sys/bs/icon/shebei_icon_sunhour.png", "shebei_icon_sunhour.png"), + dataPhotosynthetic("dataPhotosynthetic", "光合", "W/M2", "sys/icon/shebei_icon_photosynthetic.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_photosynthetic.png", "sys/bs/icon/shebei_icon_photosynthetic.png", "shebei_icon_photosynthetic.png"), + dataEvaporation("dataEvaporation", "蒸发", "mm", "sys/icon/shebei_icon_evaporation.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_evaporation.png", "sys/bs/icon/shebei_icon_evaporation.png", "shebei_icon_evaporation.png"), + + dataSunRate("dataSunRate", "照度", "Lux", "sys/icon/zhandian_icon_sunrate.png", "air", "#EE400F", "sys/mobile/icon/zhandian_icon_sunrate.png", "sys/bs/icon/zhandian_icon_sunrate.png", "zhandian_icon_sunrate.png"), + dataPm25("dataPm25", "PM2.5", "ug/m3", "sys/icon/zhandian_icon_pm25.png", "air", "#26A3AA", "sys/mobile/icon/zhandian_icon_pm25.png", "sys/bs/icon/zhandian_icon_pm25.png", "zhandian_icon_pm25.png"), + dataAirCod("dataAirCod", "二氧化碳", "ppm", "sys/icon/zhandian_icon_cod2.png", "air", "#72a680", "sys/mobile/icon/zhandian_icon_cod2.png", "sys/bs/icon/zhandian_icon_cod2.png", "zhandian_icon_cod2.png"), + + dataAirNeo("dataAirNeo", "负氧离子", "个/cm³", "sys/icon/shebei_icon_airneo.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_airneo.png", "sys/bs/icon/shebei_icon_airneo.png", "shebei_icon_airneo.png"), + dataAirTotalRadiation("dataAirTotalRadiation", "全辐射", "mm", "sys/icon/shebei_icon_total_radiation.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_total_radiation.png", "sys/bs/icon/shebei_icon_total_radiation.png", "shebei_icon_total_radiation.png"), + + //仁科 20250911 + dataAirNh("dataAirNh", "氨气", "ppm", "sys/icon/shebei_icon_airnh3.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_airnh3.png", "sys/bs/icon/shebei_icon_airnh3.png", "shebei_icon_airnh3.png"), + dataAirHs("dataAirHs", "硫化氢", "ppm", "sys/icon/shebei_icon_airh2s.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_airh2s.png", "sys/bs/icon/shebei_icon_airh2s.png", "shebei_icon_airh2s.png"), + dataAirEone("dataAirEone", "预留1", "ppm", "sys/icon/shebei_icon_eone.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_eone.png", "sys/bs/icon/shebei_icon_eone.png", "shebei_icon_eone.png"), + dataAirETwo("dataAirETWO", "预留2", "ppm", "sys/icon/shebei_icon_etwo.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_etwo.png", "sys/bs/icon/shebei_icon_etwo.png", "shebei_icon_etwo.png"), + dataAirEThree("dataAirEThree", "预留3", "ppm", "sys/icon/shebei_icon_ethree.png", "air", "#72a680", "sys/mobile/icon/shebei_icon_ethree.png", "sys/bs/icon/shebei_icon_ethree.png", "shebei_icon_ethree.png"), + + + dataSoilWet("dataSoilWet", "土壤湿度", "%", "sys/icon/zhandian_icon_turangshidu.png", "soil", "#6495ED", "sys/mobile/icon/zhandian_icon_turangshidu.png", "sys/bs/icon/zhandian_icon_turangshidu.png", "zhandian_icon_turangshidu.png"), + dataSoilWet2("dataSoilWet2", "40CM土壤湿度", "%", "sys/icon/zhandian_icon_turangshidu.png", "soil", "#4169E1", "sys/mobile/icon/zhandian_icon_turangshidu.png", "sys/bs/icon/zhandian_icon_turangshidu.png", "zhandian_icon_turangshidu.png"), + dataSoilWet3("dataSoilWet3", "60CM土壤湿度", "%", "sys/icon/zhandian_icon_turangshidu.png", "soil", "#0000CD", "sys/mobile/icon/zhandian_icon_turangshidu.png", "sys/bs/icon/zhandian_icon_turangshidu.png", "zhandian_icon_turangshidu.png"), + dataSoilWet4("dataSoilWet4", "80CM土壤湿度", "%", "sys/icon/zhandian_icon_turangshidu.png", "soil", "#0000CG", "sys/mobile/icon/zhandian_icon_turangshidu.png", "sys/bs/icon/zhandian_icon_turangshidu.png", "zhandian_icon_turangshidu.png"), + dataSoilTemp("dataSoilTemp", "土壤温度", "℃", "sys/icon/zhandian_icon_turangwendu.png", "soil", "#C71585", "sys/mobile/icon/zhandian_icon_turangwendu.png", "sys/bs/icon/zhandian_icon_turangwendu.png", "zhandian_icon_turangwendu.png"), + dataSoilTemp2("dataSoilTemp2", "40CM土壤温度", "℃", "sys/icon/zhandian_icon_turangwendu.png", "soil", "#FF1493", "sys/mobile/icon/zhandian_icon_turangwendu.png", "sys/bs/icon/zhandian_icon_turangwendu.png", "zhandian_icon_turangwendu.png"), + dataSoilTemp3("dataSoilTemp3", "60CM土壤温度", "℃", "sys/icon/zhandian_icon_turangwendu.png", "soil", "#FF69B4", "sys/mobile/icon/zhandian_icon_turangwendu.png", "sys/bs/icon/zhandian_icon_turangwendu.png", "zhandian_icon_turangwendu.png"), + dataSoilTemp4("dataSoilTemp4", "80CM土壤温度", "℃", "sys/icon/zhandian_icon_turangwendu.png", "soil", "#FF69B9", "sys/mobile/icon/zhandian_icon_turangwendu.png", "sys/bs/icon/zhandian_icon_turangwendu.png", "zhandian_icon_turangwendu.png"), + dataSoilDdl("dataSoilDdl", "电导率", "uS/cm", "sys/icon/zhandian_icon_ec.png", "soil", "#92D0D0", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + dataSoilDdl2("dataSoilDdl2", "40CM电导率", "uS/cm", "sys/icon/zhandian_icon_ec.png", "soil", "#73A2A2", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + dataSoilDdl3("dataSoilDdl3", "60CM电导率", "uS/cm", "sys/icon/zhandian_icon_ec.png", "soil", "#567777", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + dataSoilDdl4("dataSoilDdl4", "80CM电导率", "uS/cm", "sys/icon/zhandian_icon_ec.png", "soil", "#567789", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + + dataSoilSalt("dataSoilSalt", "土壤盐分", "", "sys/icon/zhandian_icon_ec.png", "soil", "#4F5555", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + + dataSoilWetMark("dataSoilWetMark", "土壤湿度mark", "%", "sys/icon/zhandian_icon_turangshidu.png", "soil", "#6495ED", "sys/mobile/icon/zhandian_icon_turangshidu.png", "sys/bs/icon/zhandian_icon_turangshidu.png", "zhandian_icon_turangshidu.png"), + dataSoilMark("dataSoilMark", "土壤温度mark", "℃", "sys/icon/zhandian_icon_turangwendu.png", "soil", "#C71585", "sys/mobile/icon/zhandian_icon_turangwendu.png", "sys/bs/icon/zhandian_icon_turangwendu.png", "zhandian_icon_turangwendu.png"), + dataSoilDdlMark("dataSoilDdlMark", "电导率mark", "uS/cm", "sys/icon/zhandian_icon_ec.png", "soil", "#92D0D0", "sys/mobile/icon/zhandian_icon_ec.png", "sys/bs/icon/zhandian_icon_ec.png", "zhandian_icon_ec.png"), + + + dataLeafTemp("dataLeafTemp", "叶面温度", "℃", "sys/icon/zhandian_icon_leaftemp.png", "air", "#FF1493", "sys/mobile/icon/zhandian_icon_leaftemp.png", "sys/bs/icon/zhandian_icon_leaftemp.png", "zhandian_icon_leaftemp.png"), + dataLeafWet("dataLeafWet", "叶面湿度", "%", "sys/icon/zhandian_icon_leafwet.png", "air", "#4169E1", "sys/mobile/icon/zhandian_icon_leafwet.png", "sys/bs/icon/zhandian_icon_leafwet.png", "zhandian_icon_leafwet.png"), + + dataSoilPh("dataSoilPh", "土壤PH", "", "sys/icon/zhandian_icon_ph.png", "soil", "#92D0F1", "sys/mobile/icon/zhandian_icon_ph.png", "sys/bs/icon/zhandian_icon_ph.png", "zhandian_icon_ph.png"), + dataSoilNion("dataSoilNion", "氮离子", "mg/KG", "sys/icon/zhandian_icon_nion.png", "soil", "#92D0F3", "sys/mobile/icon/zhandian_icon_nion.png", "sys/bs/icon/zhandian_icon_nion.png", "zhandian_icon_nion.png"), + dataSoilPion("dataSoilPion", "磷离子", "mg/KG", "sys/icon/zhandian_icon_pion.png", "soil", "#92D0F5", "sys/mobile/icon/zhandian_icon_pion.png", "sys/bs/icon/zhandian_icon_pion.png", "zhandian_icon_pion.png"), + dataSoilKion("dataSoilKion", "钾离子", "mg/KG", "sys/icon/shebei_icon_k-.png", "soil", "#92D0F7", "sys/mobile/icon/shebei_icon_k-.png", "sys/bs/icon/shebei_icon_k-.png", "shebei_icon_k-.png"), + + dataSoilNion2("dataSoilNion2", "氮离子", "mg/KG", "sys/icon/zhandian_icon_nion.png", "soil", "#92D0F3", "sys/mobile/icon/zhandian_icon_nion.png", "sys/bs/icon/zhandian_icon_nion.png", "zhandian_icon_nion.png"), + dataSoilPion2("dataSoilPion2", "磷离子", "mg/KG", "sys/icon/zhandian_icon_pion.png", "soil", "#92D0F5", "sys/mobile/icon/zhandian_icon_pion.png", "sys/bs/icon/zhandian_icon_pion.png", "zhandian_icon_pion.png"), + dataSoilKion2("dataSoilKion2", "钾离子", "mg/KG", "sys/icon/shebei_icon_k-.png", "soil", "#92D0F7", "sys/mobile/icon/shebei_icon_k-.png", "sys/bs/icon/shebei_icon_k-.png", "shebei_icon_k-.png"), + + + dataSoilNion3("dataSoilNion3", "氮离子", "mg/KG", "sys/icon/zhandian_icon_nion.png", "soil", "#92D0F3", "sys/mobile/icon/zhandian_icon_nion.png", "sys/bs/icon/zhandian_icon_nion.png", "zhandian_icon_nion.png"), + dataSoilPion3("dataSoilPion3", "磷离子", "mg/KG", "sys/icon/zhandian_icon_pion.png", "soil", "#92D0F5", "sys/mobile/icon/zhandian_icon_pion.png", "sys/bs/icon/zhandian_icon_pion.png", "zhandian_icon_pion.png"), + dataSoilKion3("dataSoilKion3", "钾离子", "mg/KG", "sys/icon/shebei_icon_k-.png", "soil", "#92D0F7", "sys/mobile/icon/shebei_icon_k-.png", "sys/bs/icon/shebei_icon_k-.png", "shebei_icon_k-.png"), + + + dataSoilNion4("dataSoilNion4", "氮离子", "mg/KG", "sys/icon/zhandian_icon_nion.png", "soil", "#92D0F3", "sys/mobile/icon/zhandian_icon_nion.png", "sys/bs/icon/zhandian_icon_nion.png", "zhandian_icon_nion.png"), + dataSoilPion4("dataSoilPion4", "磷离子", "mg/KG", "sys/icon/zhandian_icon_pion.png", "soil", "#92D0F5", "sys/mobile/icon/zhandian_icon_pion.png", "sys/bs/icon/zhandian_icon_pion.png", "zhandian_icon_pion.png"), + dataSoilKion4("dataSoilKion4", "钾离子", "mg/KG", "sys/icon/shebei_icon_k-.png", "soil", "#92D0F7", "sys/mobile/icon/shebei_icon_k-.png", "sys/bs/icon/shebei_icon_k-.png", "shebei_icon_k-.png"), + + + dataSoilNhion("dataSoilNhion", "土壤铵离子", "mg-L", "sys/icon/shebei_icon_nh4-.png", "soil", "#92D0F9", "sys/mobile/icon/shebei_icon_nh4-.png", "sys/bs/icon/shebei_icon_nh4-.png", "shebei_icon_nh4-.png"), + dataSoilNoion("dataSoilNoion", "土壤硝酸根离子", "ppm", "sys/icon/shebei_icon_no3-.png", "soil", "#92D0FE", "sys/mobile/icon/shebei_icon_no3-.png", "sys/bs/icon/shebei_icon_no3-.png", "shebei_icon_no3-.png"), + dataSoilCuion("dataSoilCuion", "土壤铜离子", "ppm", "sys/icon/zhandian_icon_cu-.png", "soil", "#92D1F1", "sys/mobile/icon/zhandian_icon_cu-.png", "sys/bs/icon/zhandian_icon_cu-.png", "zhandian_icon_cu-.png"), + dataSoilPbion("dataSoilPbion", "土壤铅离子", "ppm", "sys/icon/zhandian_icon_pb-.png", "soil", "#92D1F3", "sys/mobile/icon/zhandian_icon_pb-.png", "sys/bs/icon/zhandian_icon_pb-.png", "zhandian_icon_pb-.png"), + dataSoilCdion("dataSoilCdion", "土壤镉离子", "ppm", "sys/icon/zhandian_icon_cd-.png", "soil", "#92D1F5", "sys/mobile/icon/zhandian_icon_cd-.png", "sys/bs/icon/zhandian_icon_cd-.png", "zhandian_icon_cd-.png"), + + //20251122 新增五常 + dataWaterNtu("dataWaterNtu", "浊度", "ntu", "sys/icon/shebei_icon_ntu.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_ntu.png", "sys/bs/icon/shebei_icon_nto.png", "shebei_icon_nto.png"), + dataWaterDo("dataWaterDo", "溶解氧", "mg/L", "sys/icon/shebei_icon_do.png", "6_water", "#92D0F5", "sys/mobile/icon/shebei_icon_do.png", "sys/bs/icon/shebei_icon_do.png", "shebei_icon_do.png"), + dataWaterPh("dataWaterPh", "pH", "", "sys/icon/shebei_icon_waterph.png", "6_water", "#92D1F3", "sys/mobile/icon/shebei_icon_waterph.png", "sys/bs/icon/shebei_icon_waterph.png", "shebei_icon_waterph.png"), + dataWaterTemp("dataWaterTemp", "水温", "℃", "sys/icon/shebei_icon_watertemp.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_watertemp.png", "sys/bs/icon/shebei_icon_watertemp.png", "shebei_icon_watertemp.png"), + dataWaterDdl("dataWaterDdl", "电导率", "uS/cm", "sys/icon/shebei_icon_waterddl.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_waterddl.png", "sys/bs/icon/shebei_icon_waterddl.png", "shebei_icon_waterddl.png"), + + //面源数据 + dataWaterTp("dataWaterTp", "总磷", "mg/L", "sys/icon/shebei_icon_tp.png", "water", "#C8CC00", "sys/mobile/icon/shebei_icon_tp.png", "sys/bs/icon/shebei_icon_tp.png", "shebei_icon_tp.png"), + dataWaterTn("dataWaterTn", "总氮", "mg/L", "sys/icon/shebei_icon_tn.png", "water", "#009DB2", "sys/mobile/icon/shebei_icon_tn.png", "sys/bs/icon/shebei_icon_tn.png", "shebei_icon_tn.png"), + dataWaterNo("dataWaterNo", "硝态氮", "mg/L", "sys/icon/shebei_icon_no3n.png", "water_orient", "#72BAA7", "sys/mobile/icon/shebei_icon_no3n.png", "sys/bs/icon/shebei_icon_no3n.png", "shebei_icon_no3n.png"), + dataWaterNh("dataWaterNh", "氨氮", "mg/L", "sys/icon/shebei_icon_nh3n.png", "water_live", "#225A1F", "sys/mobile/icon/shebei_icon_nh3n.png", "sys/bs/icon/shebei_icon_nh3n.png", "shebei_icon_nh3n.png"), + dataWaterCod("dataWaterCod", "化学需氧量", "mg/L", "sys/icon/shebei_icon_cod.png", "water_live", "#FDB933", "sys/mobile/icon/shebei_icon_cod.png", "sys/bs/icon/shebei_icon_cod.png", "shebei_icon_cod.png"), + dataWaterTpSy("dataWaterTpSy", "总磷水样", "mg/L", "sys/icon/shebei_icon_tp.png", "water", "#C8CC00", "sys/mobile/icon/shebei_icon_tp.png", "sys/bs/icon/shebei_icon_tp.png", "shebei_icon_tp.png"), + dataWaterTnSy("dataWaterTnSy", "总氮水样", "mg/L", "sys/icon/shebei_icon_tn.png", "water", "#009DB2", "sys/mobile/icon/shebei_icon_tn.png", "sys/bs/icon/shebei_icon_tn.png", "shebei_icon_tn.png"), + dataWaterNoSy("dataWaterNoSy", "硝态氮水样", "mg/L", "sys/icon/shebei_icon_no3n.png", "water_orient", "#72BAA7", "sys/mobile/icon/shebei_icon_no3n.png", "sys/bs/icon/shebei_icon_no3n.png", "shebei_icon_no3n.png"), + dataWaterNhSy("dataWaterNhSy", "氨氮水样", "mg/L", "sys/icon/shebei_icon_nh3n.png", "water_live", "#225A1F", "sys/mobile/icon/shebei_icon_nh3n.png", "sys/bs/icon/shebei_icon_nh3n.png", "shebei_icon_nh3n.png"), + dataWaterCodSy("dataWaterCodSy", "化学需氧量水样", "mg/L", "sys/icon/shebei_icon_cod.png", "water_live", "#FDB933", "sys/mobile/icon/shebei_icon_cod.png", "sys/bs/icon/shebei_icon_cod.png", "shebei_icon_cod.png"), + + + //恶臭 + dataStinkOu("dataOu","臭气浓度","mg/m³","sys/icon/zhandian_icon_ou.png","stink","#f47a75", "sys/mobile/icon/shebei_icon_ou.png", "sys/bs/icon/shebei_icon_ou.png", "shebei_icon_ou.png"), + dataStinkNh3("dataNh3","氨气","mg/m³","sys/icon/zhandian_icon_nh3.png","stink","#d05c7c", "sys/mobile/icon/shebei_icon_nh3.png", "sys/bs/icon/shebei_icon_nh3.png", "shebei_icon_nh3.png"), + dataStinkH2s("dataH2s","硫化氢","mg/m³","sys/icon/zhandian_icon_h2s.png","stink","#d05c9f", "sys/mobile/icon/shebei_icon_h2s.png", "sys/bs/icon/shebei_icon_h2s.png", "shebei_icon_h2s.png"), + dataStinkTvoc("dataTvoc","总挥发性有机物","mg/m³","sys/icon/zhandian_icon_tvoc.png","stink","#f06464", "sys/mobile/icon/shebei_icon_tvoc.png", "sys/bs/icon/shebei_icon_tvoc.png", "shebei_icon_tvoc.png"), + + //流量计 + dataMeterFlowTotal("sData1","累计流量","m³","sys/icon/shebei_icon_flowTotal.png","meter","#f47a75", "sys/mobile/icon/shebei_icon_flowTotal.png", "sys/bs/icon/shebei_icon_flowTotal.png", "shebei_icon_flowTotal.png"), + dataMeterFlowRate("sData2","瞬时流量","mg/m³","sys/icon/shebei_icon_flowRate.png","meter","#d05c7c", "sys/mobile/icon/shebei_icon_flowRate.png", "sys/bs/icon/shebei_icon_flowRate.png", "shebei_icon_flowRate.png"), + dataMeterOutage("sData3","空高值","mm","sys/icon/shebei_icon_outage.png","meter","#d05c9f", "sys/mobile/icon/shebei_icon_outage.png", "sys/bs/icon/shebei_icon_outage.png", "shebei_icon_outage.png"), + dataMeterLevel("sData4","液位值","mm","sys/icon/shebei_icon_level.png","meter","#f06464", "sys/mobile/icon/shebei_icon_level.png", "sys/bs/icon/shebei_icon_level.png", "shebei_icon_level.png"), + dataMeterVelocity("sData5","当前流速值","cm/s","sys/icon/shebei_icon_velocity.png","meter","#f06464", "sys/mobile/icon/shebei_icon_velocity.png", "sys/bs/icon/shebei_icon_velocity.png", "shebei_icon_velocity.png"), + + + + //杀虫灯 + dataPestLight("ct","杀虫次数","次","","9_pestlight","","","",""), + + dataDefault("default", "默认", "台", "", "default", "#DEAB8A", "", "", ""); + + /** + * 类型 + */ + private String code; + /** + * 描述 + */ + private String description; + + /** + * 单位 + */ + private String unit; + + /** + * 污染物类别 + */ + private String type; + + /** + * 图标 + */ + private String icon; + + /** + * 图标 + */ + private String color; + + + /** + * 手机端图标 + */ + private String mobileIcon; + + /** + * 大屏图标 + */ + private String bsIcon; + + /** + * 大屏图标 + */ + private String iconName; + + private static final Map ORDINAL_MAP = new HashMap<>(); + + static { + for (int i = 0; i < values().length; i++) { + ORDINAL_MAP.put(values()[i], i); + } + } + + private static class PaletteData { + static final String[] COLORS = { + // 红色 - 蓝色 - 绿色 - 紫色 - 棕色 - 粉色 - 灰色 - 青色 - 暗色 - 补充色 + "#8B0000", "#00008B", "#006400", "#4B0082", "#8B4513", "#C71585", "#2F4F4F", "#008B8B", "#800000", "#00688B", + "#B22222", "#0000CD", "#228B22", "#483D8B", "#A0522D", "#DB7093", "#696969", "#2F4F4F", "#8B2500", "#00868B", + "#DC143C", "#4169E1", "#2E8B57", "#6A5ACD", "#D2691E", "#BA55D3", "#708090", "#20B2AA", "#8B3A62", "#8B2500", + "#CD2626", "#1E90FF", "#3CB371", "#7B68EE", "#CD853F", "#8B008B", "#4F4F4F", "#00CED1", "#8B2252", "#8B1C62", + "#CD3278", "#191970", "#32CD32", "#8A2BE2", "#FF8C00", "#8B475D", "#363636", "#5F9EA0", "#B03060", "#8B008B", + "#8B1A1A", "#436EEE", "#556B2F", "#9400D3", "#FF4500", "#8B4789", "#2E2E2E", "#4682B4", "#8B475D", "#8A2BE2", + "#8B2252", "#4876FF", "#008080", "#9932CC", "#FF6347", "#8B6969", "#1C1C1C", "#6495ED", "#8B3E2F", "#0000CD", + "#8B3A62", "#6495ED", "#20B2AA", "#9B30FF", "#8B4726", "#8B7355", "#0A0A0A", "#4169E1", "#8B4789", "#228B22", + "#8B0A50", "#4682B4", "#48D1CC", "#912CEE", "#8B5A2B", "#BC8F8F", "#424242", "#436EEE", "#8B6969", "#8B4513", + "#8B1C62", "#5F9EA0", "#00CED1", "#551A8B", "#8B3E2F", "#7D26CD", "#525252", "#00868B", "#8B7355", "#8B0000" + }; + int index = 0; + + } + + PollutionEnum(String code, String description, String unit, String icon, String type, String color, String mobileIcon, String bsIcon, String iconName) { + String[] palette = PaletteData.COLORS; + int randomIndex = (int) (Math.random() * palette.length); + this.code = code; + this.description = description; + this.unit = unit; + this.icon = icon; + this.type = type; + this.color = color; + this.mobileIcon = mobileIcon; + this.bsIcon = bsIcon; + this.iconName = iconName; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getMobileIcon() { + return mobileIcon; + } + + public void setMobileIcon(String mobileIcon) { + this.mobileIcon = mobileIcon; + } + + public String getBsIcon() { + return bsIcon; + } + + public void setBsIcon(String bsIcon) { + this.bsIcon = bsIcon; + } + + + public String getIconName() { + return iconName; + } + + public void setIconName(String iconName) { + this.iconName = iconName; + } + public static PollutionEnum catchMessage(String msg) { + + PollutionEnum result = null; + String[] palette = PaletteData.COLORS; + for (PollutionEnum s : values()) { + if (s.description.equals(msg)) { + int arrs = ORDINAL_MAP.get(s); + s.color = palette[arrs]; + result = s; + break; + } + } + + if(result==null){ + return dataDefault; + } + return result; + } + + + public static PollutionEnum catchPollution(String survItem) { + + PollutionEnum result = null; + String[] palette = PaletteData.COLORS; + for (PollutionEnum s : values()) { + if (s.code.equals(survItem)) { + int arrs = ORDINAL_MAP.get(s); + s.color = palette[arrs]; + result = s; + break; + } + } + + if(result==null){ + return dataDefault; + } + return result; + } + + public JSONObject getJsonStr() { + int arrs = ORDINAL_MAP.get(this); + String[] palette = PaletteData.COLORS; + JSONObject job = new JSONObject(); + job.put("code", this.code); + job.put("description", this.description); + job.put("unit", this.unit); + job.put("type", this.type); + job.put("icon", this.icon); + job.put("color", palette[arrs]); + job.put("mobileIcon", this.mobileIcon); + job.put("bsIcon", this.bsIcon); + job.put("iconName", this.iconName); + return job; + } + + + + +} diff --git a/src/main/java/com/lanhai/service/ISurvAlertRecordService.java b/src/main/java/com/lanhai/service/ISurvAlertRecordService.java index 9e5e313..6238c50 100644 --- a/src/main/java/com/lanhai/service/ISurvAlertRecordService.java +++ b/src/main/java/com/lanhai/service/ISurvAlertRecordService.java @@ -18,4 +18,6 @@ public interface ISurvAlertRecordService extends IService { void saveBaojingV2(Map baowenMap, SurvDeviceDeploy deploy,Map deviceDeployMap); + + boolean reprocessAlert(); } diff --git a/src/main/java/com/lanhai/service/Impl/SurvAlertRecordServiceImpl.java b/src/main/java/com/lanhai/service/Impl/SurvAlertRecordServiceImpl.java index 60b6c51..2af690d 100644 --- a/src/main/java/com/lanhai/service/Impl/SurvAlertRecordServiceImpl.java +++ b/src/main/java/com/lanhai/service/Impl/SurvAlertRecordServiceImpl.java @@ -2,14 +2,20 @@ package com.lanhai.service.Impl; import cn.hutool.core.date.DateUtil; //import cn.hutool.extra.mail.MailUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lanhai.constant.CommonConstant; import com.lanhai.constant.DeviceReadConstants; +import com.lanhai.entity.ScEquZhibiao; import com.lanhai.entity.SurvAlertRecord; import com.lanhai.entity.SurvDeviceDeploy; import com.lanhai.entity.SurvStationInfo; +import com.lanhai.enums.PollutionEnum; import com.lanhai.mapper.SurvAlertRecordMapper; import com.lanhai.service.IScEquZhibiaoService; import com.lanhai.service.ISurvAlertRecordService; @@ -22,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -265,4 +272,121 @@ public class SurvAlertRecordServiceImpl extends ServiceImpl page = new Page<>(1,1000); + IPage data = lambdaQuery() + .isNull(SurvAlertRecord::getNormalValue) + .eq(SurvAlertRecord::getTenantId,"1004") + .page(page); + int pageCount =1; + + if(!data.getRecords().isEmpty()){ + + List survStationInfoList = survStationInfoService.list(new LambdaQueryWrapper().eq(SurvStationInfo::getTenantId,"1004")); + Map stationInfoMap = new HashMap<>(); + for (SurvStationInfo survStationInfo : survStationInfoList) { + stationInfoMap.put(survStationInfo.getStationCode(),survStationInfo); + } + + List deviceDeployList = deviceDeployService.list(new LambdaQueryWrapper().eq(SurvDeviceDeploy::getTenantId,"1004")); + + Map deviceDeployMap = new HashMap<>(); + List depIds = new ArrayList<>(); + for (SurvDeviceDeploy deviceDeploy : deviceDeployList) { + depIds.add(deviceDeploy.getId()); + deviceDeployMap.put(deviceDeploy.getDeployCode(),deviceDeploy); + } + + List zhibiaoList = zhibiaoService.getListByEquid(depIds); + Map lowMap = new HashMap<>(); + Map hightMap = new HashMap<>(); + if(!zhibiaoList.isEmpty()){ + for (ScEquZhibiao scEquZhibiao : zhibiaoList) { + lowMap.put(scEquZhibiao.getEquId()+"_"+scEquZhibiao.getEntityField(),scEquZhibiao.getValLow()); + hightMap.put(scEquZhibiao.getEquId()+"_"+scEquZhibiao.getEntityField(),scEquZhibiao.getValHeight()); + } + } + + long allPages =data.getPages(); + System.out.println("^^^^^^^^^^^^^^^共"+allPages+"页^^^^^^^^^^^^^^^^^"); + for (int i = 1; i <= allPages; i++) { + System.out.println("=========当前第"+i+"页============="); + if(i >1){ + Page page2 = new Page<>(i,1000); + data = lambdaQuery() + .eq(SurvAlertRecord::getTenantId,"1004") + .isNull(SurvAlertRecord::getNormalValue) + .page(page2); + } + List upd = new ArrayList<>(); + for (SurvAlertRecord record : data.getRecords()) { + String jsonArray = record.getAlertContent(); + if(jsonArray!=null){ + cn.hutool.json.JSONArray jsonArray1 = JSONUtil.parseArray(jsonArray); + cn.hutool.json.JSONObject jsonObject = jsonArray1.getJSONObject(0); + String val = jsonObject.getStr("val"); + String unit = jsonObject.getStr("unit"); + String valLow = jsonObject.getStr("valLow"); + String valHigh = jsonObject.getStr("valHeight"); + String name = jsonObject.getStr("name"); + name = name.replace("20CM",""); + + String itemCode = PollutionEnum.catchMessage(name).getCode(); + System.out.println("itemCode=========="+itemCode); + if("default".equals(itemCode)){//跳过默认 + continue; + } + + if(itemCode.startsWith("dataWater") && !itemCode.contains("Sy")){ + itemCode = itemCode +"Sy"; + } + + + SurvAlertRecord newRecord = new SurvAlertRecord(); + newRecord.setId(record.getId()); + + + SurvDeviceDeploy deviceDeploy = deviceDeployMap.get(record.getDeployCode()); + if(deviceDeploy!=null){ + newRecord.setDeviceCode(deviceDeploy.getDeployCode()); + SurvStationInfo stationInfo = stationInfoMap.get(deviceDeploy.getStationCode()); + if(stationInfo!=null){ + newRecord.setStationName(stationInfo.getStationName()); + newRecord.setStationCdoe(stationInfo.getStationCode()); + } + newRecord.setDeviceName(deviceDeploy.getDeployDes()); + String low = lowMap.get(deviceDeploy.getId()+"_"+itemCode).toString(); + String high = hightMap.get(deviceDeploy.getId()+"_"+itemCode).toString(); + newRecord.setNormalValue(low+"~"+high); + } + + newRecord.setItemCode(itemCode); + newRecord.setItemName(name); + newRecord.setSurvValue(val); + if(StringUtils.isNotBlank(valLow)){ + newRecord.setReadStatus(DeviceReadConstants.READ_TOO_LOW); + }else if(StringUtils.isNotBlank(valHigh)){ + newRecord.setReadStatus(DeviceReadConstants.READ_TOO_HIGH); + } + newRecord.setSurvUnit(unit); + upd.add(newRecord); + } + + + } + pageCount++; + if(!upd.isEmpty()){ + System.out.println("xxxxxxxxx成功入库"+upd.size()+"条xxxxxxxxxxxx"); + updateBatchById(upd); + } + + } + System.out.println("----------------任务完成---------------"); + } + + return false; + } } diff --git a/src/main/java/com/lanhai/service/Impl/SurvHisdataLivestockwaterServiceImpl.java b/src/main/java/com/lanhai/service/Impl/SurvHisdataLivestockwaterServiceImpl.java index c67113c..bf51d05 100644 --- a/src/main/java/com/lanhai/service/Impl/SurvHisdataLivestockwaterServiceImpl.java +++ b/src/main/java/com/lanhai/service/Impl/SurvHisdataLivestockwaterServiceImpl.java @@ -311,6 +311,11 @@ public class SurvHisdataLivestockwaterServiceImpl extends ServiceImpl