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; } } }