Merge remote-tracking branch 'origin/jtdev' into jtdev
8 files modified
1 files added
| | |
| | | .eq("temp_code", uuid) |
| | | .eq("alarm_rule_id", alarmRule.getId()) |
| | | .eq("reservoir_number", list.get(1)) |
| | | .eq("alarm_survey_station_code",list.get(0)) |
| | | // .eq("alarm_survey_station_code",list.get(0)) |
| | | ); |
| | | |
| | | if (null != alarmRecord) { |
| | | if (null!=alarmRecord) { |
| | | //删除测值 |
| | | list.remove(3); |
| | | // 删除测站编号 |
| | |
| | | alarm.setMonitorData(list.get(3)); |
| | | //删除测值 |
| | | list.remove(3); |
| | | |
| | | //一个水库同个规则中保存一次处理--Shit mountain code |
| | | AlarmRecord alarmRecord2 = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>() |
| | | .eq("alarm_rule_id", alarmRule.getId()) |
| | | .eq("reservoir_number", list.get(1)) |
| | | .gt("create_time", DateUtil.format(new Date(),"yyyy-MM-dd")) |
| | | ); |
| | | boolean save = true; |
| | | if (null == alarmRecord2) { |
| | | // 新增 |
| | | save = alarmRecordService.save(alarm); |
| | | } |
| | | |
| | | // 新增 |
| | | boolean save = alarmRecordService.save(alarm); |
| | | // 删除测站编号 |
| | | list.remove(0); |
| | | if (save) { |
| | |
| | | |
| | | public AlarmRecord saveAlarmRecord(List<String> list, AlarmRule alarmRule, String uuid, String remark) { |
| | | AlarmRecord alarmRecord = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>() |
| | | .eq("temp_code", uuid) |
| | | .eq("temp_code", uuid) |
| | | .eq("alarm_rule_id", alarmRule.getId()) |
| | | .eq("reservoir_number", list.get(1)) |
| | | .eq("alarm_survey_station_code",list.get(0)) |
| | | // .eq("alarm_survey_station_code",list.get(0)) |
| | | ); |
| | | if (null != alarmRecord) { |
| | | if (null!=alarmRecord) { |
| | | //删除测值 |
| | | list.remove(3); |
| | | // 删除测站编号 |
| | |
| | | return "水位小幅超汛限告警"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 策略7.1: 水位小幅超汛限告警2--水位高于汛限水位20cm |
| | | * |
| | | * @param arg1 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | | public String waterSmallScaleOver20Handle(String arg1, String arg2) { |
| | | // String adCode = "421303000000"; |
| | | String adCode = null; |
| | | String uuid = UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null != alarmRule) { |
| | | // 查询告警详情信息 |
| | | List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId())); |
| | | if (alarmRuleDetailList.size() > 0) { |
| | | // 遍历 |
| | | if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) { |
| | | asyncNoticeHandle.waterSmallScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid); |
| | | } |
| | | if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) { |
| | | asyncNoticeHandle.waterSmallScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid); |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "水位小幅超汛限告警"; |
| | | } |
| | | |
| | | /** |
| | | * 策略8: 水位大幅超汛限告警 |
| | | * |
| | |
| | | // 遍历 |
| | | for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) { |
| | | if (alarmRuleDetail.getAlarmMode().equals("短信")) { |
| | | asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, true, adCode, false, uuid); |
| | | asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid); |
| | | } |
| | | // if (alarmRuleDetail.getAlarmMode().equals("电话")) { |
| | | // asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid); |
| | |
| | | return "6小时降雨告警"; |
| | | } |
| | | |
| | | /** |
| | | * 策略18: 6小时降雨告警 |
| | | * |
| | | * @param arg1 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | | public String sixHourRainHandle2(String arg1, String arg2) { |
| | | //String adCode = "420607000000"; |
| | | String uuid = UUID.randomUUID().toString(); |
| | | String adCode = null; |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null != alarmRule) { |
| | | // 查询告警详情信息 |
| | | List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId())); |
| | | if (alarmRuleDetailList.size() > 0) { |
| | | // 遍历 |
| | | for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) { |
| | | if (alarmRuleDetail.getAlarmMode().equals("短信")) { |
| | | // asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid); |
| | | } |
| | | if (alarmRuleDetail.getAlarmMode().equals("电话")) { |
| | | asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "6小时降雨告警"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 策略19: 大坝安全监测告警-数据缺失 |
| | |
| | | strategyMap.put("waterFirstOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterFirstOverHandle(arg1, arg2)); |
| | | //7 |
| | | strategyMap.put("waterSmallScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOverHandle(arg1, arg2)); |
| | | //7.1 |
| | | strategyMap.put("waterSmallScaleOver20Handle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOver20Handle(arg1, arg2)); |
| | | //8 |
| | | strategyMap.put("waterBigScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterBigScaleOverHandle(arg1, arg2)); |
| | | //9 |
| | |
| | | strategyMap.put("twoHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.twoHourRainHandle(arg1, arg2)); |
| | | //18 6小时降雨告警 |
| | | strategyMap.put("sixHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle(arg1, arg2)); |
| | | //18 6小时降雨告警2 |
| | | strategyMap.put("sixHourRainHandle2", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle2(arg1, arg2)); |
| | | //19 大坝安全监测告警-数据缺失 |
| | | strategyMap.put("damSafetyHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetyHandle(arg1, arg2)); |
| | | //20 大坝安全监测告警-渗压管水位 |
| | |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.node.ForestNodeMerger; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | |
| | | public void exportAttResBaseUser(@RequestParam Map<String, Object> params, HttpServletResponse response) { |
| | | |
| | | List<AttResBaseUserExcel> list = attResBaseService.exportAttResBaseUser(params); |
| | | |
| | | /** |
| | | * 如果不是超级管理员数据需要处理 处理逻辑如下 |
| | | * (1)大中型水库的行政责任人电话都不显示。 |
| | | * (2)省直管且是大中型的6座水库(漳河、高关、富水、王英、吴岭、蔡贤水库)的主管部门负责人手机号不显示。 |
| | | * (3)三峡、葛洲坝、隔河岩、高坝州、丹江口(以后可以手动加)除了巡查责任人外的责任人的手机号码不显示。 |
| | | */ |
| | | if (!AuthUtil.isAdministrator()) { |
| | | for (AttResBaseUserExcel excel:list) { |
| | | if (excel.getEngScal().equals("大(1)型") || excel.getEngScal().equals("大(2)型") || excel.getEngScal().equals("中型")) { |
| | | excel.setAreaPhone(""); |
| | | } |
| | | if (excel.getName().equals("漳河水库") || excel.getName().equals("高关水库") || excel.getName().equals("富水漳河水库") |
| | | || excel.getName().equals("王英水库") || excel.getName().equals("吴岭水库") || excel.getName().equals("蔡贤水库")) { |
| | | excel.setCustomsPhone(""); |
| | | } |
| | | if (excel.getName().equals("三峡") || excel.getName().equals("葛洲坝") || excel.getName().equals("隔河岩") |
| | | || excel.getName().equals("高坝州") || excel.getName().equals("丹江口")) { |
| | | excel.setAreaPhone("");//行政 |
| | | excel.setCustomsPhone("");//主管 |
| | | excel.setManageUnitPhone("");//管理单位 |
| | | excel.setTechnologyPhone("");//技术 |
| | | } |
| | | } |
| | | } |
| | | |
| | | ExcelUtil.export(response, "水库责任人数据数据" + DateUtil.time(), "水库责任人数据表", list, AttResBaseUserExcel.class); |
| | | } |
| | | |
| | |
| | | import cn.gistack.sm.sjztmd.entity.StBdData; |
| | | import cn.gistack.sm.sjztmd.service.IStBdDataService; |
| | | import cn.gistack.sm.sjztmd.vo.StBdDataVO; |
| | | import cn.gistack.sm.sjztmd.vo.StBdVO; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | */ |
| | | @ApiOperation(value="分页查询北斗平台监测数据", notes="分页查询北斗平台监测数据") |
| | | @GetMapping("/list") |
| | | public R<IPage<StBdData>> list(StBdData stBdData, Query query) throws Exception { |
| | | IPage<StBdData> pageList = stBdDataService.page(Condition.getPage(query), Condition.getQueryWrapper(stBdData)); |
| | | public R<IPage<StBdData>> list(StBdVO stBdData, Query query) throws Exception { |
| | | IPage<StBdData> pageList = stBdDataService.selectAlarmRecordPage( query, stBdData); |
| | | return R.data(pageList); |
| | | } |
| | | |
| | |
| | | LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code" |
| | | where (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid") |
| | | <!--控制只有待审核和已审核数据才显示--> |
| | | and (trgis."check_state" = 1 or trgis."check_state" = 2) |
| | | <!--只有已审核数据才显示--> |
| | | and (trgis."check_state" = 3) |
| | | ) |
| | | ) dangerNum |
| | | FROM YWXT."att_ad_base" aab |
| | |
| | | <if test="params.tbYear != null and params.tbYear !=''"> |
| | | and tdis."tb_year" = #{params.tbYear} |
| | | </if> |
| | | and tdis."check_state" = 2 |
| | | and tdis."check_state" = 3 |
| | | </where> |
| | | ) trd |
| | | LEFT JOIN ywxt."att_ad_base" county on county."ad_code" = trd."ad_code" |
| | |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.StBdData; |
| | | import cn.gistack.sm.sjztmd.vo.StBdDataVO; |
| | | import cn.gistack.sm.sjztmd.vo.StBdVO; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.springblade.core.mp.support.Query; |
| | | |
| | | public interface IStBdDataService extends IService<StBdData>{ |
| | | |
| | | Boolean insertData(StBdDataVO stBdDataVO) throws Exception; |
| | | |
| | | IPage<StBdData> selectAlarmRecordPage(Query query, StBdVO stBdVO); |
| | | } |
| | |
| | | import cn.gistack.sm.sjztmd.mapper.StBdDataMapper; |
| | | import cn.gistack.sm.sjztmd.service.IStBdDataService; |
| | | import cn.gistack.sm.sjztmd.vo.StBdDataVO; |
| | | import cn.gistack.sm.sjztmd.vo.StBdVO; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<StBdData> selectAlarmRecordPage(Query query, StBdVO stBdVO) { |
| | | LambdaQueryWrapper<StBdData> queryWrapper = Wrappers.<StBdData>query().lambda() |
| | | .eq(StrUtil.isNotEmpty(stBdVO.getCodeType()), StBdData::getCodeType, stBdVO.getCodeType()) |
| | | .eq(StrUtil.isNotEmpty(stBdVO.getFromAddr()), StBdData::getFromAddr, stBdVO.getFromAddr()) |
| | | .eq(StrUtil.isNotEmpty(stBdVO.getToAddr()), StBdData::getToAddr, stBdVO.getToAddr()) |
| | | .ge(stBdVO.getStartTime() != null, StBdData::getTm, stBdVO.getStartTime()) |
| | | .le(stBdVO.getEndTime() != null, StBdData::getTm, stBdVO.getEndTime()); |
| | | return page(Condition.getPage(query), queryWrapper); |
| | | } |
| | | |
| | | private boolean contentIsContainChinese(String content) { |
| | | if (content == null || content.isEmpty()) { |
| | | return false; |
| New file |
| | |
| | | package cn.gistack.sm.sjztmd.vo; |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.StBdData; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class StBdVO extends StBdData { |
| | | /** |
| | | * 开始时间 |
| | | */ |
| | | private String startTime; |
| | | |
| | | /** |
| | | * 结束时间 |
| | | */ |
| | | private String endTime; |
| | | } |