// Path: src/main/java/com/ht/scada/oildata/model/WellInfoWrapper.java
// public class WellInfoWrapper {
//     private String beng_jing;
//     private String han_shui;
//     private String yymd;
// 
//     public String getBeng_jing() {
//         return beng_jing;
//     }
// 
//     public void setBeng_jing(String beng_jing) {
//         this.beng_jing = beng_jing;
//     }
// 
//     public String getHan_shui() {
//         return han_shui;
//     }
// 
//     public void setHan_shui(String han_shui) {
//         this.han_shui = han_shui;
//     }
// 
//     public String getYymd() {
//         return yymd;
//     }
// 
//     public void setYymd(String yymd) {
//         this.yymd = yymd;
//     }
// }
// 
// Path: src/main/java/com/ht/scada/oildata/service/WellInfoService.java
// public interface WellInfoService {
// 
//     Sql2o getSql2o();
// 
//     void setSql2o(Sql2o sql2o);
// 
//     WellInfoWrapper findWellInfoByCode(String code);
// 
//     /**
//      * 获得系统内所有井的井号(游梁式和高原机器)
//      *
//      * @return
//      */
//     List<Map<String, Object>> findAllEndtagsCode();
// 
//     /**
//      * 根据井号， 获得某口井的基础量油信息 目前包括: 泵径, 含水率, 原油密度, 水密度
//      *
//      * @param 井号
//      * @return [rq, hs, 1, bj, dmyymd]
//      */
//     Map<String, Object> findBasicCalculateInforsByCode(String code);
// 
//     /**
//      * 插入一条self量油信息
//      *
//      * @param id
//      * @param code
//      * @param bengJing
//      * @param hanShui
//      * @param SMD
//      * @param YYMD
//      * @param lrqi
//      */
//     void addOneTWellInforRecord(String id, String code, float bengJing,
//             float hanShui, float SMD, float YYMD, Date lrqi);
// }


import com.ht.scada.oildata.model.WellInfoWrapper;
import com.ht.scada.oildata.service.WellInfoService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.sql2o.Connection;
import org.sql2o.Sql2o;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ht.scada.oildata.service.impl;


/**
 *
 * @author 赵磊 2014-8-3 15:03:50
 */
@Transactional
@Service("wellInfoService")
public class WellInfoServiceImpl implements WellInfoService {

    @Inject
    protected Sql2o sql2o;

    @Override
    public Sql2o getSql2o() {
        return sql2o;
    }

    @Override
    public void setSql2o(Sql2o sql2o) {
        this.sql2o = sql2o;
    }

    @Override
    public WellInfoWrapper findWellInfoByCode(String code) {
        String sql = "SELECT beng_jing,han_shui,yymd FROM T_WELL_INFO WHERE CODE =:CODE ORDER BY LRSJ DESC ";//
        try (Connection con = sql2o.open()) {  //
            return con.createQuery(sql)
                    .addParameter("CODE", code)
                    .executeAndFetchFirst(WellInfoWrapper.class);
        }
    }

    /**
     * 获得系统内所有井的井号(游梁式和高原机器)
     *
     * @return
     */
    @Override
    public List<Map<String, Object>> findAllEndtagsCode() {
        String sql = "SELECT code FROM t_end_tag WHERE TYPE ='YOU_JING' and SUB_TYPE = 'YOU_LIANG_SHI' or SUB_TYPE='GAO_YUAN_JI'";//
        List<Map<String, Object>> list;
        try (Connection con = sql2o.open()) { //
            list = con.createQuery(sql)
// Path: src/main/java/com/ht/scada/oildata/model/WellInfoWrapper.java
// public class WellInfoWrapper {
//     private String beng_jing;
//     private String han_shui;
//     private String yymd;
// 
//     public String getBeng_jing() {
//         return beng_jing;
//     }
// 
//     public void setBeng_jing(String beng_jing) {
//         this.beng_jing = beng_jing;
//     }
// 
//     public String getHan_shui() {
//         return han_shui;
//     }
// 
//     public void setHan_shui(String han_shui) {
//         this.han_shui = han_shui;
//     }
// 
//     public String getYymd() {
//         return yymd;
//     }
// 
//     public void setYymd(String yymd) {
//         this.yymd = yymd;
//     }
// }
// 
// Path: src/main/java/com/ht/scada/oildata/service/WellInfoService.java
// public interface WellInfoService {
// 
//     Sql2o getSql2o();
// 
//     void setSql2o(Sql2o sql2o);
// 
//     WellInfoWrapper findWellInfoByCode(String code);
// 
//     /**
//      * 获得系统内所有井的井号(游梁式和高原机器)
//      *
//      * @return
//      */
//     List<Map<String, Object>> findAllEndtagsCode();
// 
//     /**
//      * 根据井号， 获得某口井的基础量油信息 目前包括: 泵径, 含水率, 原油密度, 水密度
//      *
//      * @param 井号
//      * @return [rq, hs, 1, bj, dmyymd]
//      */
//     Map<String, Object> findBasicCalculateInforsByCode(String code);
// 
//     /**
//      * 插入一条self量油信息
//      *
//      * @param id
//      * @param code
//      * @param bengJing
//      * @param hanShui
//      * @param SMD
//      * @param YYMD
//      * @param lrqi
//      */
//     void addOneTWellInforRecord(String id, String code, float bengJing,
//             float hanShui, float SMD, float YYMD, Date lrqi);
// }


// Path: src/main/java/com/ht/scada/oildata/service/impl/WellInfoServiceImpl.java
import com.ht.scada.oildata.model.WellInfoWrapper;
import com.ht.scada.oildata.service.WellInfoService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.sql2o.Connection;
import org.sql2o.Sql2o;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ht.scada.oildata.service.impl;


/**
 *
 * @author 赵磊 2014-8-3 15:03:50
 */
@Transactional
@Service("wellInfoService")
public class WellInfoServiceImpl implements WellInfoService {

    @Inject
    protected Sql2o sql2o;

    @Override
    public Sql2o getSql2o() {
        return sql2o;
    }

    @Override
    public void setSql2o(Sql2o sql2o) {
        this.sql2o = sql2o;
    }

    @Override
    public WellInfoWrapper findWellInfoByCode(String code) {
        String sql = "SELECT beng_jing,han_shui,yymd FROM T_WELL_INFO WHERE CODE =:CODE ORDER BY LRSJ DESC ";//
        try (Connection con = sql2o.open()) {  //
            return con.createQuery(sql)
                    .addParameter("CODE", code)
                    .executeAndFetchFirst(WellInfoWrapper.class);
        }
    }

    /**
     * 获得系统内所有井的井号(游梁式和高原机器)
     *
     * @return
     */
    @Override
    public List<Map<String, Object>> findAllEndtagsCode() {
        String sql = "SELECT code FROM t_end_tag WHERE TYPE ='YOU_JING' and SUB_TYPE = 'YOU_LIANG_SHI' or SUB_TYPE='GAO_YUAN_JI'";//
        List<Map<String, Object>> list;
        try (Connection con = sql2o.open()) { //
            list = con.createQuery(sql)
                    .executeAndFetchTable().asList();