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
package com.fgkj.service;
 
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Handler;
import android.os.Looper;
import android.util.Base64DataException;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
 
import com.fgkj.action.ServiceModel;
import com.fgkj.dao.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.dao.DBHelper;
import com.fgkj.dto.Battinf;
import com.google.gson.Gson;
import com.socket.FBS9600S_DeviceService;
import com.sqlite_DaoHelper.DAOHelper;
 
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
 
public class BattinfService {  
    private BaseDAO dao;
    private ServiceModel model;
    private WebView webView;
    public static final String BATTINFSERVICE_NAME = "BattinfService";//JS调用类名
    private DBHelper dbHelper;
 
    public BattinfService( WebView webView,DBHelper dbHelper) {
        this.dao = BaseDAOFactory.getBaseDAO(BaseDAO.BATTINF);
        this.model = new ServiceModel();
        this.webView = webView;
        this.dbHelper=dbHelper;
    }
   //查询库中存在的所有电池组信息
    @JavascriptInterface
    public void searchAll() {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        List list=dao.searchAll(db);
        if(list!=null&&list.size()>0){
            model.code=1;
            model.data=list;
            model.msg="查询成功";
        }else{
            model.code=0;
            model.msg="查询失败";
        }
        db.close();
        ActionUtil.SendCallDataToJS(BATTINFSERVICE_NAME,"searchAll",model,webView,ActionUtil.getGson("yyyy-MM-dd"));
    }
    //根据电池组id查询电池组信息
    @JavascriptInterface
    public void serchByCondition(String obj) {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Battinf binf=ActionUtil.getGson("yyyy-MM-dd").fromJson(obj,Battinf.class);
        List list=dao.serchByCondition(db,binf);
        if(list!=null&&list.size()>0){
            model.code=1;
            model.data=list;
            model.msg="查询成功";
        }else{
            model.code=0;
            model.msg="查询失败";
        }
        db.close();
        ActionUtil.SendCallDataToJS(BATTINFSERVICE_NAME,"serchByCondition",model,webView,ActionUtil.getGson("yyyy-MM-dd"));
    }
    //根据battgroupid修改电池组信息
    @JavascriptInterface
    public void update(String obj) {
        // 获取数据库对象
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Battinf binf=ActionUtil.getGson("yyyy-MM-dd").fromJson(obj,Battinf.class);
        //List<App_Param> params = getGson().fromJson(json, new TypeToken<List<App_Param>>(){}.getType());
        boolean bl=dao.update(db,binf);
        if(bl){
            FBS9600S_DeviceService.allBattDatt.get(binf.getBattGroupId()-1).isInstall = binf.getStation_install()==1;
            model.code=1;
            model.msg="修改成功";
        }else{
            model.code=0;
            model.msg="修改失败";
        }
        db.close();
        ActionUtil.SendCallDataToJS(BATTINFSERVICE_NAME,"update",model,webView,ActionUtil.getGson("yyyy-MM-dd"));
    }
    //插入数据
    @JavascriptInterface
    public void add(String obj) {
        // 获取数据库对象
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Battinf binf=ActionUtil.getGson("yyyy-MM-dd").fromJson(obj,Battinf.class);
        boolean bl=dao.add(db,binf);
        if(bl){
            model.code=1;
            model.msg="插入成功";
        }else{
            model.code=0;
            model.msg="插入失败";
        }
        db.close();
        ActionUtil.SendCallDataToJS(BATTINFSERVICE_NAME,"add",model,webView,ActionUtil.getGson("yyyy-MM-dd"));
    }
    //根据battgroupid删除信息
    @JavascriptInterface
    public void del(String obj) {
        // 获取数据库对象
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Battinf binf=ActionUtil.getGson("yyyy-MM-dd").fromJson(obj,Battinf.class);
        
        boolean bl=dao.del(db,binf);
        if(bl){
            model.code=1;
            model.msg="修改成功";
        }else{
            model.code=0;
            model.msg="修改失败";
        }
        db.close();
        ActionUtil.SendCallDataToJS(BATTINFSERVICE_NAME,"del",model,webView,ActionUtil.getGson("yyyy-MM-dd"));
    }
}