123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- package com.huimv.sj.dao;
- import java.sql.SQLException;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import org.springframework.orm.ibatis.SqlMapClientCallback;
- import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
- import org.springframework.util.StringUtils;
- import com.huimv.busi.xt.constant.XtAppConstant;
- import com.huimv.busi.xt.constant.XtSqlMapConstant;
- import com.huimv.busi.xt.utils.CommonUtil;
- import com.huimv.sj.dataobject.SjSsqtjc;
- import com.huimv.sj.dataobject.SjSsqtjcExample;
- import com.huimv.xt.dataobject.XtHjbjcs;
- import com.huimv.xx.dataobject.XxXxtz;
- import com.ibatis.sqlmap.client.SqlMapExecutor;
- public class SjSsqtjcDAOImpl extends SqlMapClientDaoSupport implements SjSsqtjcDAO {
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public SjSsqtjcDAOImpl() {
- super();
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int countByExample(SjSsqtjcExample example) {
- Integer count = (Integer) getSqlMapClientTemplate().queryForObject("sj_ssqtjc.ibatorgenerated_countByExample", example);
- return count;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int deleteByExample(SjSsqtjcExample example) {
- int rows = getSqlMapClientTemplate().delete("sj_ssqtjc.ibatorgenerated_deleteByExample", example);
- return rows;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int deleteByPrimaryKey(Integer id) {
- SjSsqtjc key = new SjSsqtjc();
- key.setId(id);
- int rows = getSqlMapClientTemplate().delete("sj_ssqtjc.ibatorgenerated_deleteByPrimaryKey", key);
- return rows;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public void insert(SjSsqtjc record) {
- getSqlMapClientTemplate().insert("sj_ssqtjc.ibatorgenerated_insert", record);
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public void insertSelective(SjSsqtjc record) {
- getSqlMapClientTemplate().insert("sj_ssqtjc.ibatorgenerated_insertSelective", record);
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- @SuppressWarnings("unchecked")
- public List<SjSsqtjc> selectByExample(SjSsqtjcExample example) {
- List<SjSsqtjc> list = getSqlMapClientTemplate().queryForList("sj_ssqtjc.ibatorgenerated_selectByExample", example);
- return list;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public SjSsqtjc selectByPrimaryKey(Integer id) {
- SjSsqtjc key = new SjSsqtjc();
- key.setId(id);
- SjSsqtjc record = (SjSsqtjc) getSqlMapClientTemplate().queryForObject("sj_ssqtjc.ibatorgenerated_selectByPrimaryKey", key);
- return record;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int updateByExampleSelective(SjSsqtjc record, SjSsqtjcExample example) {
- UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
- int rows = getSqlMapClientTemplate().update("sj_ssqtjc.ibatorgenerated_updateByExampleSelective", parms);
- return rows;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int updateByExample(SjSsqtjc record, SjSsqtjcExample example) {
- UpdateByExampleParms parms = new UpdateByExampleParms(record, example);
- int rows = getSqlMapClientTemplate().update("sj_ssqtjc.ibatorgenerated_updateByExample", parms);
- return rows;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int updateByPrimaryKeySelective(SjSsqtjc record) {
- int rows = getSqlMapClientTemplate().update("sj_ssqtjc.ibatorgenerated_updateByPrimaryKeySelective", record);
- return rows;
- }
- /**
- * This method was generated by Apache iBATIS ibator.
- * This method corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- public int updateByPrimaryKey(SjSsqtjc record) {
- int rows = getSqlMapClientTemplate().update("sj_ssqtjc.ibatorgenerated_updateByPrimaryKey", record);
- return rows;
- }
- /**
- * This class was generated by Apache iBATIS ibator.
- * This class corresponds to the database table sj_ssqtjc
- *
- * @ibatorgenerated Thu Jul 31 12:39:05 CST 2014
- */
- private static class UpdateByExampleParms extends SjSsqtjcExample {
- private Object record;
- public UpdateByExampleParms(Object record, SjSsqtjcExample example) {
- super(example);
- this.record = record;
- }
- @SuppressWarnings("unused")
- public Object getRecord() {
- return record;
- }
- }
-
- /**
- * 获取气体检测记录最大时间
- */
- public Date selectMaxSsqtjcTimeByParam(Map<String, Object> searchParam) {
- Date date = (Date) getSqlMapClientTemplate().queryForObject(XtSqlMapConstant.SQLMAP_SELECT_MAX_SSQTJC_TIME_BY_PARAM, searchParam);
- return date;
- }
-
- /**
- * 插入实时气体检测记录
- */
- public void insertSsqtjcByParam(List<Map<String, Object>> paramMapList, HashMap<String, Object> hm) {
- SsqtjcSqlMapClientCallback ssqtjcSqlMapClientCallback = new SsqtjcSqlMapClientCallback();
- ssqtjcSqlMapClientCallback.setParamMapList(paramMapList,hm);
- getSqlMapClientTemplate().execute(ssqtjcSqlMapClientCallback);
- }
-
- /**
- * 插入数据的回调类
- */
- private class SsqtjcSqlMapClientCallback implements SqlMapClientCallback {
- private List<Map<String, Object>> paramMapList;
- // private HashMap<String, Object> hm;
-
- public void setParamMapList(List<Map<String, Object>> paramMapList, HashMap<String, Object> hm) {
- this.paramMapList = paramMapList;
- // this.hm = hm;
- }
- @Override
- public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
- //判断当前机器所属栏期的报警功能是否开启
- // List<XtHjbjcs> hjcsList = executor.queryForList(XtSqlMapConstant.SQLMAP_SELECT_HJBJCS_BY_PARAM, hm);
- // boolean flag = hjcsList.size() > 0 ? true : false;
- executor.startBatch();
- String dqlq = "";
- String jqid = "";
- for (Map<String, Object> paramMap : paramMapList) {
- // //报警之前判断之前记录是否已经报警
- // Map<String, Object> map = new HashMap<String, Object>();
- // if (flag) {
- // SjSsqtjc sjSsqtjc = (SjSsqtjc)executor.queryForObject(XtSqlMapConstant.SQLMAP_SELECT_MAX_SSQTJC_BY_PARAM, hm);
- // if (sjSsqtjc != null) {
- // Map<String, Object> qtmap = new HashMap<String, Object>();
- // qtmap.put("nh3", sjSsqtjc.getAqnd());
- // qtmap.put("h2s", sjSsqtjc.getLhqnd());
- // qtmap.put("ch4", sjSsqtjc.getJwnd());
- // qtmap.put("o2", sjSsqtjc.getYqnd());
- // XtHjbjcs xtHjbjcs = hjcsList.get(0);
- // map = compareBjCs(xtHjbjcs, qtmap, map, 1);
- // }
- // }
- jqid = (String) paramMap.get("jqid");
- dqlq = (String) executor.queryForObject(XtSqlMapConstant.SQLMAP_SELECT_DQLQ_FROM_ZSDA_AND_JQDA_BY_JQID, jqid);
- if (StringUtils.hasText(dqlq)) {
- paramMap.put("dqlq", dqlq);
- executor.insert(XtSqlMapConstant.SQLMAP_INSERT_SSQTJC_BY_PARAM, paramMap);
- }
- // if (flag) {
- // XtHjbjcs xtHjbjcs = hjcsList.get(0);
- // compareBjCs(xtHjbjcs, paramMap, map, 2);
- // }
- }
- executor.executeBatch();
- return null;
- }
- }
-
- public Map<String, Object> compareBjCs(XtHjbjcs xtHjbjcs, Map<String, Object> paramMap, Map<String, Object> map, int flag) {
- int aqCount = 0; //氨气报警
- int lhqCount = 0; //硫化氢报警
- int jwCount = 0; //甲烷报警
- int yqCount = 0; //氧气报警
- try {
- String regEx = "^[1-9,-.]+"; //数据格式 第一级报警下限-第一级报警上线#报警级别, 第二级报警下限-第二级报警上线#报警级别。。。。。22-28#1,20-30#2
- Pattern pat = Pattern.compile(regEx);
- Matcher aqMat = pat.matcher(StringUtils.hasText(xtHjbjcs.getAqnd()) ? xtHjbjcs.getAqnd() : "&&");
- Matcher lhqMat = pat.matcher(StringUtils.hasText(xtHjbjcs.getLhqnd()) ? xtHjbjcs.getLhqnd() : "&&");
- Matcher jwMat = pat.matcher(StringUtils.hasText(xtHjbjcs.getJwnd()) ? xtHjbjcs.getJwnd() : "&&");
- Matcher yqMat = pat.matcher(StringUtils.hasText(xtHjbjcs.getYqnd()) ? xtHjbjcs.getYqnd() : "&&");
- if (StringUtils.hasText(xtHjbjcs.getAqnd()) && aqMat.find()) {
- aqCount = CommonUtil.mathCompare(xtHjbjcs.getAqnd(), paramMap, "nh3");
- }
- if (StringUtils.hasText(xtHjbjcs.getLhqnd()) && lhqMat.find()) {
- lhqCount = CommonUtil.mathCompare(xtHjbjcs.getLhqnd(), paramMap, "h2s");
- }
- if (StringUtils.hasText(xtHjbjcs.getJwnd()) && jwMat.find()) {
- jwCount = CommonUtil.mathCompare(xtHjbjcs.getJwnd(), paramMap, "ch4");
- }
- if (StringUtils.hasText(xtHjbjcs.getYqnd()) && yqMat.find()) {
- yqCount = CommonUtil.mathCompare(xtHjbjcs.getYqnd(), paramMap, "o2");
- }
- //超出 插入报警数据
- if (aqCount > 0 && (map.get("aqFlag") == null || "".equals(map.get("aqFlag")) || aqCount != (int)map.get("aqFlag")) && flag == 2) {
- insertXxtz(xtHjbjcs, (String)paramMap.get("time"), aqCount, paramMap.get("nh3") + "ppm", "氨气");
- }
- map.put("aqFlag", aqCount);
- if (lhqCount > 0 && (map.get("lhqFlag") == null || "".equals(map.get("lhqFlag")) || lhqCount != (int)map.get("lhqFlag")) && flag == 2) {
- insertXxtz(xtHjbjcs, (String)paramMap.get("time"), lhqCount, paramMap.get("h2s") + "ppm", "硫化氢");
- }
- map.put("lhqFlag", lhqCount);
- if (jwCount > 0 && (map.get("jwFlag") == null || "".equals(map.get("jwFlag")) || jwCount != (int)map.get("jwFlag")) && flag == 2) {
- insertXxtz(xtHjbjcs, (String)paramMap.get("time"), jwCount, paramMap.get("ch4") + "ppm", "甲烷");
- }
- map.put("jwFlag", jwCount);
- if (yqCount > 0 && (map.get("yqFlag") == null || "".equals(map.get("yqFlag")) || yqCount != (int)map.get("yqFlag")) && flag == 2) {
- insertXxtz(xtHjbjcs, (String)paramMap.get("time"), yqCount, paramMap.get("o2") + "%", "氧气");
- }
- map.put("yqFlag", yqCount);
- } catch (Exception e) {
- System.out.println("可能当前栏期" + xtHjbjcs.getLqid() + "参数不符合规范");
- e.printStackTrace();
- }
- return map;
- }
-
- public void insertXxtz(XtHjbjcs xtHjbjcs, String time, int jb, String sz, String type) {
- XxXxtz xxXxtz = new XxXxtz();
- Date nowdate = new Date();
- xxXxtz.setBt(xtHjbjcs.getZsmc() + type + "超过警戒线");
- xxXxtz.setXxlx("1");
- xxXxtz.setZz(xtHjbjcs.getMcmc());
- xxXxtz.setZw("<p><font color=red>在大概" + time + type + "超出警戒线,目前" + sz + "</font></p>");
- xxXxtz.setFbsj(nowdate);
- xxXxtz.setFbr(1);
- xxXxtz.setZy("机器设备");
- xxXxtz.setKssj(nowdate);
- xxXxtz.setMcid(Integer.parseInt(xtHjbjcs.getMcid()));
- Calendar rightNow = Calendar.getInstance();
- rightNow.setTime(nowdate);
- rightNow.add(Calendar.DATE, +7);
- xxXxtz.setJssj(rightNow.getTime());
- xxXxtz.setZfbz(XtAppConstant.ZFBZ_VALID);
-
- xxXxtz.setXxbz(jb);
- //xxXxtz.setXfzt(XtAppConstant.XXTZ_XFZT_1);
- xxXxtz.setClzt(XtAppConstant.XXTZ_CLZT_1);
- getSqlMapClientTemplate().insert("xx_xxtz.ibatorgenerated_insert", xxXxtz);
- }
- }
|