package com.jiuqi.njt.db;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;
import com.jiuqi.mobile.nigo.comeclose.bean.base.RoleClientModuleBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserClientModuleBean;
import com.jiuqi.njt.model.CModuleBean;
import com.jiuqi.njt.util.ModuleUtil;
public class ModuleDBHelper extends DBHelper<CModuleBean> {
private Context context;
/*
* public ModuleDBHelper(Context context) { super(context); this.context =
* context; // TODO Auto-generated constructor stub try {
* TableUtils.createTableIfNotExists(getConnectionSource(), getBeanClass());
*
* } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }
* }
*/
public ModuleDBHelper(Context context) {
super(context);
this.context = context;
try {
TableUtils.createTableIfNotExists(getConnectionSource(),
getBeanClass());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Override
protected Class<CModuleBean> getBeanClass() {
// TODO Auto-generated method stub
return CModuleBean.class;
}
@Override
public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1,
int oldVersion, int newVersion) {
try {
TableUtils.dropTable(arg1, CModuleBean.class, true);
TableUtils.createTable(arg1, CModuleBean.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查询用户所有已定制的模块 里面均用try catch
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryUserModule(String userGuid) {
List<CModuleBean> userList = null;
ModuleUtil moduleUtil = new ModuleUtil();
// writeFile.writeToFileAdditional("查询用户所有已定制的模块");
try {
CModuleBean cmModuleBean = new CModuleBean();
cmModuleBean.setTypeModule("1");
cmModuleBean.setUserGuid(userGuid);
userList = getDao().queryForMatching(cmModuleBean);
// writeFile.writeToFileAdditional("查询成功" + userList.size());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.wtf("抛出异常", e + "");
// writeFile.writeToFileAdditional("查询失败" + e.toString());
}
for (int i = 0; i < userList.size(); i++) {
userList.get(i).setImg(
moduleUtil.getMapImg(userList.get(i).getCode(), context));
userList.get(i).setModuleFlag(
moduleUtil.getModuleType(userList.get(i).getCode()));
if (null == moduleUtil.getMapActivity(userList.get(i).getCode())) {
} else {
userList.get(i).setModuleActivity(
moduleUtil.getMapActivity(userList.get(i).getCode()));
}
}
Collections.sort(userList, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return userList;
}
/**
* 保存用户已定制的模块,create()
*
*/
@SuppressLint("NewApi")
public void addUserModule(List<CModuleBean> list, String userGuid) {
// writeFile.writeToFileAdditional("开始保存用户已定制的模块,create()");
if (null != list) {
// writeFile.writeToFileAdditional("用户已定制的模块大小" + list.size());
for (int i = 0; i < list.size(); i++) {
try {
list.get(i).setTypeModule("1");
list.get(i).setUserGuid(userGuid);
getDao().create(list.get(i));
// writeFile.writeToFileAdditional("数据成功");
} catch (Exception e) {
// TODO: handle exception
// writeFile.writeToFileAdditional("数据异常" + e.toString());
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
}
}
}
/**
* 删除所有用户已定制模块
*/
@SuppressLint("NewApi")
public int deleteUserModule() {
int returnValue = -9;
try {
CModuleBean cmModuleBean = new CModuleBean();
cmModuleBean.setTypeModule("1");
List<CModuleBean> list = getDao().queryForMatching(cmModuleBean);
List<Integer> ids = new ArrayList<Integer>();
if (list.size() > 0) {
for (CModuleBean cModuleBean : list) {
ids.add(cModuleBean.getId());
}
returnValue = getDao().deleteIds(ids);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
return returnValue;
}
/**
* 查询所有角色模块
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryRoleModule(String roleGuid) {
List<CModuleBean> roleList = null;
ModuleUtil moduleUtil = new ModuleUtil();
// writeFile.writeToFileAdditional("-------查询所有角色模块-------");
try {
CModuleBean cModuleBean = new CModuleBean();
cModuleBean.setTypeModule("2");
cModuleBean.setRoleGuid(roleGuid);
roleList = getDao().queryForMatching(cModuleBean);
// writeFile.writeToFileAdditional("-------查询所有角色模块成功------"+ roleList.size());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.wtf("抛出异常", e + "");
// writeFile.writeToFileAdditional("------查询所有角色模块失败-------"+ e.toString());
}
for (int i = 0; i < roleList.size(); i++) {
roleList.get(i).setImg(
moduleUtil.getMapImg(roleList.get(i).getCode(), context));
roleList.get(i).setModuleFlag(
moduleUtil.getModuleType(roleList.get(i).getCode()));
if (null == moduleUtil.getMapActivity(roleList.get(i).getCode())) {
} else {
roleList.get(i).setModuleActivity(
moduleUtil.getMapActivity(roleList.get(i).getCode()));
}
}
Collections.sort(roleList, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return roleList;
}
/**
* 查询所有一级角色模块
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryRoleFirstModule(String roleGuid) {
List<CModuleBean> roleList = null;
List<CModuleBean> firRoleList = new ArrayList<CModuleBean>();
ModuleUtil moduleUtil = new ModuleUtil();
try {
CModuleBean cModuleBean = new CModuleBean();
cModuleBean.setTypeModule("2");
cModuleBean.setRoleGuid(roleGuid);
roleList = getDao().queryForMatching(cModuleBean);
for (int i = 0; i < roleList.size(); i++) {
if (roleList.get(i).getpCode() == 0) {
firRoleList.add(roleList.get(i));
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
for (int i = 0; i < firRoleList.size(); i++) {
firRoleList.get(i)
.setImg(moduleUtil.getMapImg(firRoleList.get(i).getCode(),
context));
firRoleList.get(i).setModuleFlag(
moduleUtil.getModuleType(firRoleList.get(i).getCode()));
if (null == moduleUtil.getMapActivity(roleList.get(i).getCode())) {
} else {
firRoleList.get(i)
.setModuleActivity(
moduleUtil.getMapActivity(firRoleList.get(i)
.getCode()));
}
}
Collections.sort(firRoleList, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return firRoleList;
}
/**
* 查询角色所有默认展示模块
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryRoleModuleDefaultDisplay(String roleGuid) {
List<CModuleBean> roleDefaultDisplayList = null;
ModuleUtil moduleUtil = new ModuleUtil();
try {
CModuleBean cModuleBean = new CModuleBean();
cModuleBean.setTypeModule("2");
cModuleBean.setRoleGuid(roleGuid);
cModuleBean.setDefaultDisplay(true);
roleDefaultDisplayList = getDao().queryForMatching(cModuleBean);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
for (int i = 0; i < roleDefaultDisplayList.size(); i++) {
roleDefaultDisplayList.get(i).setImg(
moduleUtil.getMapImg(roleDefaultDisplayList.get(i)
.getCode(), context));
roleDefaultDisplayList.get(i).setModuleFlag(
moduleUtil.getModuleType(roleDefaultDisplayList.get(i)
.getCode()));
if (null == moduleUtil.getMapActivity(roleDefaultDisplayList.get(i)
.getCode())) {
} else {
roleDefaultDisplayList.get(i).setModuleActivity(
moduleUtil.getMapActivity(roleDefaultDisplayList.get(i)
.getCode()));
}
}
Collections.sort(roleDefaultDisplayList, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return roleDefaultDisplayList;
}
/**
* 保存角色模块
*/
@SuppressLint("NewApi")
public void addRoleModule(List<CModuleBean> list) {
// writeFile.writeToFileAdditional("-------保存角色模块-------");
if (null != list) {
Log.wtf("249", list.size() + "");
for (int i = 0; i < list.size(); i++) {
try {
list.get(i).setTypeModule("2");
getDao().create(list.get(i));
// writeFile.writeToFileAdditional("-------保存角色模块成功-------");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
// writeFile.writeToFileAdditional("------保存角色模块失败--------"+ e.toString());
Log.wtf("164抛出异常", e + "");
}
}
}
}
/**
* 删除所有角色模块
*/
@SuppressLint("NewApi")
public int deleteRolseModule() {
int returnValue = -9;
try {
CModuleBean cMBean = new CModuleBean();
cMBean.setTypeModule("2");
List<CModuleBean> list = getDao().queryForMatching(cMBean);
List<Integer> ids = new ArrayList<Integer>();
if (list.size() > 0) {
for (CModuleBean cModuleBean : list) {
ids.add(cModuleBean.getId());
}
returnValue = getDao().deleteIds(ids);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
return returnValue;
}
/**
* 根据模块标志、模块父ID获取用户二级模块表数据
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryUserModuleById(String userGuid, int pCode) {
List<CModuleBean> list = new ArrayList<CModuleBean>();
ModuleUtil moduleUtil = new ModuleUtil();
CModuleBean cm = new CModuleBean();
cm.setUserGuid(userGuid);
cm.setpCode(pCode);
cm.setTypeModule("1");
try {
list = getDao().queryForMatching(cm);
} catch (Exception e) {
// TODO: handle exception
Log.wtf("抛出异常", e + "");
}
for (int i = 0; i < list.size(); i++) {
list.get(i).setImg(
moduleUtil.getMapImg(list.get(i).getCode(), context));
list.get(i).setModuleFlag(
moduleUtil.getModuleType(list.get(i).getCode()));
if (null == moduleUtil.getMapActivity(list.get(i).getCode())) {
} else {
list.get(i).setModuleActivity(
moduleUtil.getMapActivity(list.get(i).getCode()));
}
}
Collections.sort(list, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return list;
}
/**
* 根据模块标识获取角色模块下级模块表数据
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryRolerModuleById(String userGuid, int pCode) {
List<CModuleBean> list = new ArrayList<CModuleBean>();
ModuleUtil moduleUtil = new ModuleUtil();
CModuleBean cm = new CModuleBean();
cm.setUserGuid(userGuid);
cm.setpCode(pCode);
cm.setTypeModule("2");
try {
list = getDao().queryForMatching(cm);
} catch (Exception e) {
// TODO: handle exception
Log.wtf("抛出异常", e + "");
}
for (int i = 0; i < list.size(); i++) {
list.get(i).setImg(
moduleUtil.getMapImg(list.get(i).getCode(), context));
list.get(i).setModuleFlag(
moduleUtil.getModuleType(list.get(i).getCode()));
if (null == moduleUtil.getMapActivity(list.get(i).getCode())) {
} else {
list.get(i).setModuleActivity(
moduleUtil.getMapActivity(list.get(i).getCode()));
}
}
Collections.sort(list, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return list;
}
/**
* 根据模块标识获取角色模块二级模块表数据
*/
@SuppressLint("NewApi")
public List<CModuleBean> queryRolerSecondModuleByPcode(String roleGuid,
int pCode) {
List<CModuleBean> list = new ArrayList<CModuleBean>();
ModuleUtil moduleUtil = new ModuleUtil();
CModuleBean cm = new CModuleBean();
cm.setTypeModule("2");
cm.setRoleGuid(roleGuid);
cm.setpCode(pCode);
try {
list = getDao().queryForMatching(cm);
} catch (Exception e) {
// TODO: handle exception
Log.wtf("抛出异常", e + "");
}
for (int i = 0; i < list.size(); i++) {
list.get(i).setImg(
moduleUtil.getMapImg(list.get(i).getCode(), context));
list.get(i).setModuleFlag(
moduleUtil.getModuleType(list.get(i).getCode()));
if (null == moduleUtil.getMapActivity(list.get(i).getCode())) {
} else {
list.get(i).setModuleActivity(
moduleUtil.getMapActivity(list.get(i).getCode()));
}
}
Collections.sort(list, new Comparator<CModuleBean>() {
@Override
public int compare(CModuleBean cmOne, CModuleBean cmTwo) {
// TODO Auto-generated method stub
if (cmOne.getOrderNumber() > cmTwo.getOrderNumber()) {
return 1;
}
if (cmOne.getOrderNumber() == cmTwo.getOrderNumber()) {
return 0;
}
return -1;
}
});
return list;
}
// 根据userGuid和模块标识(code),查询用户是否定制该模块
public boolean queryUserModuleForThis(String userGuid, int code) {
List<CModuleBean> list = new ArrayList<CModuleBean>();
CModuleBean cmm = new CModuleBean();
cmm.setCode(code);
cmm.setUserGuid(userGuid);
cmm.setTypeModule("1");
try {
list = getDao().queryForMatching(cmm);
} catch (Exception e) {
// TODO: handle exception
}
if (list.size() == 0) {
return false;
} else {
return true;
}
}
// 根据userGuid和模块标识(code),查询用户是否定制该模块
public boolean queryRoleModuleForThis(String roleGuid, int code) {
List<CModuleBean> list = new ArrayList<CModuleBean>();
CModuleBean cmm = new CModuleBean();
cmm.setCode(code);
cmm.setRoleGuid(roleGuid);
cmm.setTypeModule("2");
try {
list = getDao().queryForMatching(cmm);
} catch (Exception e) {
// TODO: handle exception
}
if (list.size() == 0) {
return false;
} else {
return true;
}
}
// 根据模块标识删除用户已定制模块表数据 void deleteUserModuleById()
@SuppressLint("NewApi")
public int deleteUserModuleById(String userGuid) {
int returnValue = -9;
try {
CModuleBean cMBean = new CModuleBean();
cMBean.setTypeModule("1");
List<CModuleBean> list = getDao().queryForMatching(cMBean);
List<Integer> ids = new ArrayList<Integer>();
if (list.size() > 0) {
for (CModuleBean cModuleBean : list) {
ids.add(cModuleBean.getId());
}
returnValue = getDao().deleteIds(ids);
}
;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
return returnValue;
}
// 根据模块标识删除用户已定制模块表数据 void deleteUserModuleById()
@SuppressLint("NewApi")
public int deleteUserModuleBean(CModuleBean bean) {
int returnValue = -9;
try {
getDao().delete(bean);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.wtf("抛出异常", e + "");
}
return returnValue;
}
/**
* 客户端表对象和服务器用户和角色模块对象的转换方法:list集合的迭代
*/
public List<UserClientModuleBean> getUserModuleBeans(List<CModuleBean> list) {
UserClientModuleBean userClientModuleBean;
List<UserClientModuleBean> userList = new ArrayList<UserClientModuleBean>();
if (list == null || list.size() < 1) {
return null;
} else {
for (int i = 0; i < list.size(); i++) {
userClientModuleBean = new UserClientModuleBean();
userClientModuleBean.setCode(list.get(i).getCode());
userClientModuleBean.setpCode(list.get(i).getpCode());
userClientModuleBean.setName(list.get(i).getName());
userClientModuleBean.setUserGuid(list.get(i).getUserGuid());
userClientModuleBean.setOrderNumber(list.get(i)
.getOrderNumber());
userClientModuleBean.setLeavel(list.get(i).getLevel());
if (list.get(i).isDefaultDisplay()) {
userClientModuleBean.setDefaultDisplay(true);
} else {
userClientModuleBean.setDefaultDisplay(false);
}
userList.add(userClientModuleBean);
}
return userList;
}
}
/**
* 将服务端的用户模块数据转化成客户端的用户模块数据
* @param list
* 用户模块数据集合
* @return
*/
public List<CModuleBean> getModuleBeanFromUser(
List<UserClientModuleBean> list) {
CModuleBean cmoduleBean;
List<CModuleBean> cmList = new ArrayList<CModuleBean>();
if (list == null || list.size() < 1) {
return cmList;
} else {
for (int i = 0; i < list.size(); i++) {
cmoduleBean = new CModuleBean();
cmoduleBean.setCode(list.get(i).getCode());
cmoduleBean.setpCode(list.get(i).getpCode());
cmoduleBean.setName(list.get(i).getName());
// userClientModuleBean.setImage(list.get(i).getImage());
cmoduleBean.setUserGuid(list.get(i).getUserGuid());
cmoduleBean.setOrderNumber(list.get(i).getOrderNumber());
cmoduleBean.setLevel(list.get(i).getLevel());
if (list.get(i).isDefaultDisplay()) {
cmoduleBean.setDefaultDisplay(true);
} else {
cmoduleBean.setDefaultDisplay(false);
}
cmList.add(cmoduleBean);
}
return cmList;
}
}
/**
* 将服务端的角色模块数据集合转化成客户端的角色数据集合
* @param list
* 用户角色模块数据集合
* @return
*/
@SuppressLint("NewApi")
public List<CModuleBean> getModuleBeanFromRole(
List<RoleClientModuleBean> list,String roleGuid) {
CModuleBean cm;
List<CModuleBean> cmList = new ArrayList<CModuleBean>();
if (list == null || list.size() < 1) {
return cmList;
} else {
for (int i = 0; i < list.size(); i++) {
cm = new CModuleBean();
cm.setCode(list.get(i).getCode());
cm.setpCode(list.get(i).getpCode());
cm.setName(list.get(i).getName());
cm.setRoleGuid(roleGuid);
cm.setOrderNumber(list.get(i).getOrderNumber());
cm.setLevel(list.get(i).getLevel());
if (list.get(i).isDefaultDisplay()) {
cm.setDefaultDisplay(true);
} else {
cm.setDefaultDisplay(false);
}
;
cmList.add(cm);
}
return cmList;
}
}
}