81041
2019-10-31 2edd919b4ae7eb04a766ba034518ab420f4860f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
package com.fgkj.dao.impl;
 
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.dao.LimitNumberFactory;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.db.DBUtil;
import com.fgkj.dto.Batt_replace;
import com.fgkj.dto.Page;
import com.fgkj.dto.User_log;
import com.fgkj.services.User_logService;
import com.sun.org.apache.regexp.internal.recompile;
 
public class Batt_replaceImpl implements BaseDAO,CallBack{
    //添加机房电池更改记录
    @Override
    public boolean add(Object obj) {
        Batt_replace re=(Batt_replace) obj;
        String sql=" insert into web_site.tb_batt_replace(stationid,replaced_producer,replaced_moncapstd,replaced_monvolstd,replaced_moncount,replaced_uid,replaced_time,replaced_reason) values(?,?,?,?,?,?,?,?) ";
        boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[] {re.getStationid(),re.getReplaced_producer(),re.getReplaced_moncapstd(),re.getReplaced_monvolstd(),re.getReplaced_moncount()
                ,re.getReplaced_uid(),re.getReplaced_time(),re.getReplaced_reason()});
        return bl;
    }
    //修改机房电池更改记录
    @Override
    public boolean update(Object obj) {
        Batt_replace re=(Batt_replace) obj;
        String sql=" update web_site.tb_batt_replace set replaced_producer=?,replaced_moncapstd=?,replaced_monvolstd=?,replaced_moncount=?,replaced_uid=?,replaced_time=?,replaced_reason=? where stationid=? and num=? ";
        boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[] {re.getReplaced_producer(),re.getReplaced_moncapstd(),re.getReplaced_monvolstd(),re.getReplaced_moncount()
                ,re.getReplaced_uid(),re.getReplaced_time(),re.getReplaced_reason(),re.getStationid(),re.getNum()});
        return bl;
    }
    //删除机房电池更改记录(多条)
    @Override
    public boolean del(Object obj) {
        List<Batt_replace> list=(List<Batt_replace>) obj;
        ArrayList sql_str=new ArrayList();
        List<User_log> listU=new ArrayList<User_log>();//存放user_log
        if(list!=null&&list.size()>0) {
            for (int i = 0; i < list.size(); i++) {
                Batt_replace re=list.get(i);
                String sql=" delete from  web_site.tb_batt_replace where stationid="+re.getStationid()+" and num="+re.getNum();
                sql_str.add(sql);
                {
                    String msg="删除"+re.getStationid()+"机房的电池更改记录";
                    User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
                    listU.add(ulog);
                 }
            }
        }
        boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
        (new User_logService()).addPro(listU);//将用户的操作记录下来
        return bl;
    }
 
    @Override
    public List searchAll() {
        // TODO Auto-generated method stub
        return null;
    }
    //机房电池更换管理查询
    @Override
    public List serchByCondition(Object obj) {
        Batt_replace breplace=(Batt_replace) obj;
        Page p=breplace.getPage();
        String numberSql=" SELECT FOUND_ROWS() number";
        Connection conn=DBUtil.getConn();
        String sql=" select SQL_CALC_FOUND_ROWS distinct tb_batt_replace.num, tb_batt_replace.stationid,replaced_producer,replaced_moncapstd,replaced_monvolstd"
                + ",replaced_moncount,replaced_uid,replaced_time,replaced_reason"
                + ",db_battinf.tb_battinf.stationname "
                + " from db_battinf.tb_battinf,web_site.tb_batt_replace "
                + " where db_battinf.tb_battinf.stationid=tb_batt_replace.stationid "
                + " and stationname1 like ? and stationname2 like ? and stationname5  like ?  and tb_batt_replace.stationid like ? "
                + " order by stationid ";
        String limitSql=" limit ?,? ";
        sql+=limitSql;
        List<Batt_replace> list=DAOHelper.executeQueryLimit(sql, conn, new Object [] {"%"+breplace.getStationname1()+"%","%"+breplace.getStationname2()+"%","%"+breplace.getStationname5()+"%","%"+breplace.getStationid()+"%"
                ,(p.getPageCurr() - 1)* p.getPageSize(),p.getPageSize() }, new CallBack() {
            
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()) {
                        Batt_replace re=new Batt_replace();
                        re.setNum(rs.getInt("num"));
                        re.setStationid(rs.getString("stationid"));
                        re.setStationname(rs.getString("stationname"));
                        re.setReplaced_producer(rs.getString("replaced_producer"));
                        re.setReplaced_moncapstd(rs.getInt("replaced_moncapstd"));
                        re.setReplaced_monvolstd(rs.getFloat("replaced_monvolstd"));
                        re.setReplaced_moncount(rs.getInt("replaced_moncount"));
                        re.setReplaced_time(rs.getTimestamp("replaced_time"));
                        re.setReplaced_uid(rs.getInt("replaced_uid"));
                        re.setReplaced_uname((new User_infImpl()).changeUidToUname(rs.getInt("replaced_uid")));
                        re.setReplaced_reason(rs.getString("replaced_reason"));
                        Page p=new Page();
                        re.setPage(p);
                        list.add(re);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        //去掉limit条件后的总数
        int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
        //System.out.println("number: "+number);
        if(list!=null&&list.size()>0){
            list.get(list.size()-1).getPage().setPageAll(number);
        }
        return list;
    }
 
    @Override
    public List serchByInfo(Object obj) {
        // TODO Auto-generated method stub
        return null;
    }
 
    @Override
    public List getResults(ResultSet rs) {
        // TODO Auto-generated method stub
        return null;
    }
    public static void main(String[] args) {
        Batt_replaceImpl bimpl=new Batt_replaceImpl();
        Batt_replace re=new Batt_replace();
        re.setStationid("42000011");
        re.setStationname1("");
        re.setStationname2("");
        re.setStationname5("");
        Page p=new Page();
        p.setPageCurr(1);
        p.setPageSize(10);
        re.setPage(p);
        List<Batt_replace> list=bimpl.serchByCondition(re);
        for (Batt_replace b : list) {
            System.out.println(b);
        }
    }
}