浏览代码

增加报警设置接口

chenwen 2 年之前
父节点
当前提交
306cc4fbe7

+ 74 - 0
src/main/java/com/hb/proj/base/controller/AlarmDefineController.java

@@ -0,0 +1,74 @@
+package com.hb.proj.base.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.hb.proj.allconfig.AccessToken;
+import com.hb.proj.allconfig.SysLog;
+import com.hb.proj.base.service.AlarmDefineService;
+import com.hb.proj.model.AlarmDefinePO;
+import com.hb.proj.model.AlarmDefineVO;
+import com.hb.proj.utils.RespVO;
+import com.hb.proj.utils.RespVOBuilder;
+
+import jakarta.validation.constraints.NotBlank;
+
+@RestController
+@RequestMapping("/base/alarmdefine")
+@Validated
+public class AlarmDefineController {
+
+	@Autowired
+	private AlarmDefineService  service;
+	
+	/**
+	 * 加载井或井参数的报警定义
+	 * @param holderId 井id或参数id
+	 * @return
+	 */
+	@RequestMapping("/loadByHolder")
+	public RespVO<List<AlarmDefineVO>> loadByHolder(@NotBlank(message="缺少报警原参数") String holderId){
+		return RespVOBuilder.ok(service.loadByHolder(holderId));
+	}
+	
+	
+	@RequestMapping("/add")
+	@SysLog("新增报警定义:{arg0.alarmDesc}")
+	public RespVO<String> add(@RequestBody AlarmDefinePO alarm,AccessToken token){
+		 alarm.setModifyBy(token.getTokenId());
+		 return RespVOBuilder.ok(service.add(alarm));
+		
+	}
+	
+	
+	
+	@RequestMapping("/update")
+	@SysLog("更新报警定义:{arg0.alarmDesc}")
+	public RespVO<Object> update(@RequestBody AlarmDefinePO alarm,AccessToken token){
+		
+		alarm.setModifyBy(token.getTokenId());
+		service.update(alarm);
+		
+		return RespVOBuilder.ok();
+	  
+		
+	}
+	
+	
+	/**
+	 * 删除报警定义
+	 * @param alarmId
+	 * @return
+	 */
+	@RequestMapping("/delete")
+	@SysLog("删除参数类型定义:{arg0}")
+	public RespVO<Object> delete(String alarmId){
+		service.delete(alarmId);
+		return RespVOBuilder.ok();
+	}
+}

+ 54 - 0
src/main/java/com/hb/proj/base/service/AlarmDefineService.java

@@ -0,0 +1,54 @@
+package com.hb.proj.base.service;
+
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.hb.proj.model.AlarmDefinePO;
+import com.hb.proj.model.AlarmDefineVO;
+import com.hb.xframework.dao.core.SpringJdbcDAO;
+import com.hb.xframework.dao.util.UUIDHexGenerator;
+
+@Service
+public class AlarmDefineService {
+
+	@Autowired
+	private SpringJdbcDAO  dao;
+	
+	public List<AlarmDefineVO> loadByHolder(String holderId) {
+		String sql="""
+				select alarm_id,alarm_desc,alarm_source,alarm_express,express_desc,alarm_mode,alarm_grade,
+				alm.compose_if,alm.using_if,alm.modify_time,alm.modify_by,
+				ifnull(wp.param_name,w.well_name) alarm_source_name
+				from tzl_alarm alm
+				left join tzl_well_param wp on alm.alarm_source=wp.param_id
+				left join tzl_well w on alm.alarm_source=w.well_id
+				where alm.del_if=false and alm.alarm_source=?
+				""";
+		return dao.queryForList(sql, AlarmDefineVO.class, holderId);
+	}
+	
+	
+	public String add(AlarmDefinePO alarm) {
+		UUIDHexGenerator uuid=UUIDHexGenerator.getInstance();
+		alarm.setAlarmId(uuid.generate());
+		alarm.setModifyTime(new Date());
+		alarm.setDelIf(false);
+		dao.insert(alarm, "tzl_alarm");
+		return alarm.getAlarmId();
+	}
+	
+	public boolean delete(String alarmId) {
+		dao.exeUpdate("update tzl_alarm set del_if=true where alarm_id=?",alarmId);
+		return true;
+	}
+	
+	public boolean update(AlarmDefinePO alarm) {
+		alarm.setModifyTime(new Date());
+		alarm.setDelIf(false);
+		dao.update(alarm, "tzl_alarm", "alarm_id");
+		return true;
+	}
+}

+ 36 - 0
src/main/java/com/hb/proj/model/AlarmDefinePO.java

@@ -0,0 +1,36 @@
+package com.hb.proj.model;
+
+import java.util.Date;
+
+import lombok.Data;
+
+@Data
+public class AlarmDefinePO {
+
+	private String alarmId;
+	
+	private String wellParam;
+	
+	private String alarmSource;
+	
+	private String alarmExpress;
+	
+	private String expressDesc;
+	
+	private String alarmMode;
+	
+	private String alarmGrade;
+	
+	private Boolean composeIf;
+	
+	private Boolean usingIf;
+	
+	private String alarmDesc;
+	
+	private Boolean delIf;
+	
+	private Date modifyTime;
+	
+	private String modifyBy;
+	
+}

+ 52 - 0
src/main/java/com/hb/proj/model/AlarmDefineVO.java

@@ -0,0 +1,52 @@
+package com.hb.proj.model;
+
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class AlarmDefineVO extends AlarmDefinePO {
+
+	private String alarmSourceName;
+	
+	private String alarmGradeName;
+	
+	private String alarmModeName;
+	
+	private static final Map<String,String> modeMapping=Map.of("color","颜色区分","sound","声音报警");
+	
+	public void setAlarmMode(String alarmMode) {
+		super.setAlarmMode(alarmMode);
+		if(StringUtils.isBlank(alarmMode)) {
+			return;
+		}
+		String[] modeCodes=alarmMode.split("\\|");
+		this.alarmModeName="";
+		for(String mc : modeCodes) {
+			this.alarmModeName+=" "+modeMapping.get(mc);
+		}
+		
+	}
+	
+	public void setAlarmGrade(String alarmGrade) {
+		super.setAlarmGrade(alarmGrade);
+		this.alarmGradeName="3".equals(alarmGrade)?"高":("2".equals(alarmGrade)?"中":"低");
+	}
+
+	public String getAlarmSourceName() {
+		return alarmSourceName;
+	}
+
+	public void setAlarmSourceName(String alarmSourceName) {
+		this.alarmSourceName = alarmSourceName;
+	}
+
+	public String getAlarmGradeName() {
+		return alarmGradeName;
+	}
+
+	public String getAlarmModeName() {
+		return alarmModeName;
+	}
+
+	
+}