123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package com.hb.proj.gather.rep;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.hb.proj.gather.model.AlarmDefineVO;
- import com.hb.proj.gather.model.WellParamVO;
- import com.hb.xframework.dao.core.SpringJdbcDAO;
- /**
- * 获取井的参数配置信息、报警设置
- * @author cwen
- *
- */
- @Service
- public class WellConfigService {
- @Autowired
- private SpringJdbcDAO dao;
-
- /**
- * 加载所有井的参数配置
- * @return
- */
- public Map<String,WellParamVO> loadWellParams(){
- return loadWellParams(null);
- }
-
- /**
- * 加载指定井的参数配置
- */
- public Map<String,WellParamVO> loadWellParams(String wellId){
-
- Object[] args=null;
-
- String sql="""
- select
- (select device_code from tzl_gather_device d where d.well_id=wp.well_id and d.del_if=false limit 1) device_code,
- param_id,well_id,param_code,gat_ins_scale,gat_ins_scale2,calibrate_a,calibrate_b,calibrate_c,
- calibrate_a2,calibrate_b2,calibrate_c2,display_format,dis_ins_scale
- from tzl_well_param wp
- where del_if=false
- """;
- if(wellId!=null) {
- sql+=" and wp.well_id=?";
- args=new Object[] {wellId};
- }
- List<WellParamVO> wellParams=dao.queryForList(sql, WellParamVO.class,args);
-
-
- if(wellParams==null||wellParams.size()==0) {
- return null;
- }
-
- Map<String,WellParamVO> mapping=new HashMap<String,WellParamVO>();
-
- for(WellParamVO wellParam : wellParams) {
- mapping.put(wellParam.getDeviceCode()+"_"+wellParam.getParamCode(), wellParam);
- }
-
- return mapping;
-
- }
-
-
- /**
- * 加载所有井的报警设置
- * @return
- */
- public Map<String,AlarmDefineVO> loadAlarmDefines(){
- return loadAlarmDefines(null);
- }
-
- /**
- * 加载指定井的报警设置
- * @param wellId
- * @return
- */
- public Map<String,AlarmDefineVO> loadAlarmDefines(String wellId){
- Object[] args=null;
- String sql="""
- select
- am.alarm_source,am.alarm_desc,am.alarm_express,am.alarm_mode,ifnull(wp.param_code,'comb_alarm') param_code,
- ifnull(wp.well_id,am.alarm_source) well_id,
- ifnull(wp.param_name,'') param_name
- from tzl_alarm am
- left join tzl_well_param wp on am.alarm_source=wp.param_id and wp.del_if=false
- where am.del_if=false and am.using_if=true
-
- """;
-
- if(wellId!=null) {
- sql+=" and (wp.well_id=? or am.alarm_source=?)";
- args=new Object[] {wellId,wellId};
- }
-
- sql+=" order by alarm_grade desc";
-
- List<AlarmDefineVO> alarms=dao.queryForList(sql, AlarmDefineVO.class,args);
- if(alarms==null||alarms.size()==0) {
- return null;
- }
-
- Map<String,AlarmDefineVO> mapping=new HashMap<>();
-
- for(AlarmDefineVO alarm : alarms) {
- mapping.put(alarm.getWellId()+"_"+alarm.getParamCode(), alarm);
- }
-
- return mapping;
-
- }
-
-
- /**
- * 获得指定设备的关联井
- * @param serial
- * @return
- */
- public String getWellIdByDev(String serial) {
- String sql="select well_id from tzl_gather_device where device_code=? and del_if=false limit 1";
- Map<String,Object> rst=dao.queryForMap(sql, serial);
-
- return rst!=null?((String)rst.get("wellId")):null;
-
- }
- }
|