prodfunbean.java

来自「电信的网厅的整站代码」· Java 代码 · 共 789 行 · 第 1/2 页

JAVA
789
字号
package com.doone.fj1w.fjmgr.config;


import com.doone.data.DacClient;
import com.doone.data.DataRow;
import com.doone.data.DataTable;
import com.doone.fj1w.fj1w.login.app.CommitDate;
import com.doone.util.FileLogger;
import com.doone.fj1w.common.*;

public class ProdfunBean {
	public static final String FUNAUTO_0 = "自助";
	public static final String FUNAUTO_1 = "人工干涉";
	public static final String PWDLEVEL_0 = "初始密码";
	public static final String PWDLEVEL_1 = "高级密码";
	public static final String CALLERTYPE_1 = "游客";
	public static final String CALLERTYPE_2 = "网上注册客户,但没有与产品关联";
	public static final String CALLERTYPE_3 = "网上注册客户,但与产品关联";
	public static final String SETUPSTATE_1 = "不需要设置";
	public static final String SETUPSTATE_2 = "需要设置";
	public static final String FUNSTATE_E = "在用";
	public static final String FUNSTATE_D = "禁用";
	public static final String OUTPUT_0 = "禁止";
	public static final String OUTPUT_1 = "开放";
	public static final String FUNTYPE_C = "程控";
	public static final String FUNTYPE_N = "新业务";
	public static final String FUNTYPE_T = "套餐";
	public static final String PAGEATTEMPERPARE_1 = "此字段在是否需要程控设置字段值为1时,才有用到";
	public static final String PAGEATTEMPERPARE_2 = "此字段由新东网维护";
	DataRow repositoryInfo;
	private DacClient _dbClient;
	private String FunCode;
	private String FunName;
	private String AffairUrl;
	private String FunAuto;
	private String PwdLevel;
	private String CallerType;
	private String OpenState;
	private String SetupState;
	private String FunDesc;
	private String FunState;
	private String Output;
	private String FunType;
	private String FunName_bss;
	private String IfNew;
	private CommitDate cd = null;
	private final int pageSize = 20; // 默认每页20条
	
	public ProdfunBean() {
		cd =CommitDate.getInstance();
	}
	/**
	 * 找出某地区的某种程控产品的所有程控功能(分页显示)
	 * @param dbClient
	 * @return
	 */
	public DataTable getProdfunByProductId(DacClient dbClient,String sProductId,String sCity,String funType,int pageNo) {
		try {
			
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select ");
			sql.append("d.ProdfunId, ");
			sql.append("d.PRODUCTID, ");
			sql.append("d.FUNCODE, ");
			sql.append("d.FUNNAME, ");
			sql.append("d.FUNAUTO, ");
			sql.append("d.PwdLevel, ");
			sql.append("d.CallerType, ");
			sql.append("d.SetupState, ");
			sql.append("d.FunDesc, ");
			sql.append("d.FunState, ");
			sql.append("d.Output, ");
			sql.append("d.FunType, ");
			sql.append("d.PageAttemperPara, ");
			sql.append("d.FunName_bss");
			sql.append(" from ");
			sql.append("(select c.*,rownum num  from Td_Prodfun c where");
			if(sCity==null || sCity.equals("")){
				sql.append(" c.PRODUCTID=? and c.FunType=?)d ");
				sql.append("where num>="+((pageNo - 1) * pageSize)+" and num<="+(pageNo * pageSize));
				Object[] aParam = new Object[2];
				aParam[0] = sProductId;//按地域权限的
				aParam[1] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}
			else{
				sql.append(" c.citycode=? and c.PRODUCTID=? and c.FunType=?)d ");
				sql.append("where num>="+((pageNo - 1) * pageSize)+" and num<="+(pageNo * pageSize));
				Object[] aParam = new Object[3];
				aParam[0] = sCity;//按地域权限的
				aParam[1] = sProductId;
				aParam[2] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}//否则默认找所有的 
			
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	/**
	 * 找出某地区的某种程控产品某种类型(套餐等等)的所有程控功能
	 * @param dbClient
	 * @return
	 */
	public DataTable getProdfunByProductId(DacClient dbClient,String sProductId,String funType,String sCity) {
		try {
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select ");
			sql.append("ProdfunId, ");
			sql.append("PRODUCTID, ");
			sql.append("FUNCODE, ");
			sql.append("FUNNAME, ");
			sql.append("FUNAUTO, ");
			sql.append("PwdLevel, ");
			sql.append("CallerType, ");
			sql.append("SetupState, ");
			sql.append("FunDesc, ");
			sql.append("FunState, ");
			sql.append("Output, ");
			sql.append("FunType, ");
			sql.append("PageAttemperPara, ");
			sql.append("FunName_bss");
			sql.append(" from ");
			sql.append("Td_Prodfun where");
			if(sCity==null || sCity.equals("")){
				sql.append(" PRODUCTID=? and FUNTYPE=?");
				Object[] aParam = new Object[2];
				aParam[0] = sProductId;//按地域权限的
				aParam[1] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}
			else{
				sql.append(" citycode=? and FUNTYPE=? and PRODUCTID=? ");
				Object[] aParam = new Object[3];
				aParam[0] = sCity;//按地域权限的
				aParam[1] = funType;
				aParam[2] = sProductId;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}//否则默认找所有的 
			
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	/**
	 * 找出某地区的某种程控产品某种类型(套餐等等)的所有程控功能(分页)
	 * @param dbClient
	 * @return
	 */
	public DataTable getProdfunByProductId(DacClient dbClient,String sProductId,String funType,String sCity,int pageNo,String ifConfig) {
		try {
			String str ="";
			if(ifConfig.equals("1")){//查找有变更套餐的套餐信息 
				str = "in";
			}
			else{
				str ="not in";
			}
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select ");
			sql.append("d.ProdfunId, ");
			sql.append("d.PRODUCTID, ");
			sql.append("d.FUNCODE, ");
			sql.append("d.FUNNAME, ");
			sql.append("d.FUNAUTO, ");
			sql.append("d.PwdLevel, ");
			sql.append("d.CallerType, ");
			sql.append("d.SetupState, ");
			sql.append("d.FunDesc, ");
			sql.append("d.FunState, ");
			sql.append("d.Output, ");
			sql.append("d.FunType, ");
			sql.append("d.PageAttemperPara, ");
			sql.append("d.FunName_bss");
			sql.append(" from ");
			sql.append("(select c.*,rownum num from td_prodfun c ");
			if(sCity==null || sCity.equals("")){
				sql.append("where c.funcode "+str+" (select funcode from TD_USERWARE_CONF) ");
				sql.append("and c.productid=? and c.funtype=? order by c.ProdfunId)d ");
				sql.append("where num>="+((pageNo - 1) * pageSize)+" and num<="+(pageNo * pageSize));
				Object[] aParam = new Object[2];
				aParam[0] = sProductId;//按地域权限的
				aParam[1] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}
			else{
				sql.append("where c.funcode "+str+" (select funcode from TD_USERWARE_CONF where cityCode=?) ");
				sql.append("and c.productid=? and c.funtype=? and c.citycode=? order by c.ProdfunId)d ");
				sql.append("where num>="+((pageNo - 1) * pageSize)+" and num<="+(pageNo * pageSize));
				Object[] aParam = new Object[4];
				aParam[0] = sCity;//按地域权限的
				aParam[1] = sProductId;
				aParam[2] = funType;
				aParam[3] = sCity;//按地域权限的
				dt = dbClient.executeQuery(sql.toString(),aParam);
				return dt;
			}//否则默认找所有的 
			
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	
	/**
	 * 通过ProductId的条件查询产品程控功能的页数
	 * @param dbClient
	 * @param cityCode
	 * @param condition
	 * @return
	 */
	public int getPrudfunCount(DacClient dbClient,String sProductId,String cityCode,String funType) {
		FileLogger.getLogger().debug(cityCode);
		try {
			int count = 0;
			int pageNum = 0;
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select count(*) cnt from Td_Prodfun where ");
			if(cityCode==null || cityCode.equals("")){
				sql.append("PRODUCTID=? and funType=?");
				Object[] aParam = new Object[2];
				aParam[0] = sProductId;//按地域权限的
				aParam[1] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				for(int i=0;i<dt.getRows().getCount();i++){
					count = Integer.parseInt(dt.getRow(i).getString("cnt"));
				}
				if((count%pageSize)==0){
					pageNum = count/pageSize;
				}
				else{
					pageNum = count/pageSize+1;
				}
				return pageNum;
			}
			else{
				sql.append("citycode=? and PRODUCTID=? and funType=?");
				Object[] aParam = new Object[3];
				aParam[0] = cityCode;//按地域权限的
				aParam[1] = sProductId;
				aParam[2] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				for(int i=0;i<dt.getRows().getCount();i++){
					count = Integer.parseInt(dt.getRow(i).getString("cnt"));
				}
				if((count%pageSize)==0){
					pageNum = count/pageSize;
				}
				else{
					pageNum = count/pageSize+1;
				}
				return pageNum;
			}//否则默认找所有的      
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	/**获取全部的sProductId(产品)funType(类型)的条数
	 * 
	 * @param dbClient
	 * @param sProductId
	 * @param funType
	 * @param cityCode
	 * @return
	 */
	public int getPrudfunCount(DacClient dbClient,String sProductId,String funType,String cityCode,String ifConfig) {
		try {
			String str ="";
			if(ifConfig.equals("1")){//查找有变更套餐的套餐信息 
				str = "in";
			}
			else{
				str ="not in";
			}
			int count = 0;
			int pageNum = 0;
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select count(*) cnt from td_prodfun c ");
			if(cityCode==null || cityCode.equals("")){
				sql.append("where c.funcode "+str+" (select funcode from TD_USERWARE_CONF) ");
				sql.append("and c.productid=? and c.funtype=?");
				Object[] aParam = new Object[2];
				aParam[0] = sProductId;//按地域权限的
				aParam[1] = funType;
				dt = dbClient.executeQuery(sql.toString(),aParam);
				for(int i=0;i<dt.getRows().getCount();i++){
					count = Integer.parseInt(dt.getRow(i).getString("cnt"));
				}
				if((count%pageSize)==0){
					pageNum = count/pageSize;
				}
				else{
					pageNum = count/pageSize+1;
				}
				return pageNum;
			}
			else{
				sql.append("where c.funcode "+str+" (select funcode from TD_USERWARE_CONF where cityCode=?) ");
				sql.append("and c.productid=? and c.funtype=? and c.citycode=?");
				Object[] aParam = new Object[4];
				aParam[0] = cityCode;//按地域权限的
				aParam[1] = sProductId;
				aParam[2] = funType;
				aParam[3] = cityCode;//按地域权限的
				dt = dbClient.executeQuery(sql.toString(),aParam);
				for(int i=0;i<dt.getRows().getCount();i++){
					count = Integer.parseInt(dt.getRow(i).getString("cnt"));
				}
				if((count%pageSize)==0){
					pageNum = count/pageSize;
				}
				else{
					pageNum = count/pageSize+1;
				}
				return pageNum;
			}//否则默认找所有的      
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	public int getChangeTaoCanCount(DacClient dbClient,String funCode,String cityCode) {
		try {
			int count = 0;
			int pageNum = 0;
			StringBuffer sql = new StringBuffer();
			DataTable dt = null;
			sql.append("select count(*) cnt from TD_USERWARE_CONF where ");
			sql.append("citycode=? and FUNCODE=?");
			Object[] aParam = new Object[2];
			aParam[0] = cityCode;//按地域权限的
			aParam[1] = funCode;
			dt = dbClient.executeQuery(sql.toString(),aParam);
			for(int i=0;i<dt.getRows().getCount();i++){
				count = Integer.parseInt(dt.getRow(i).getString("cnt"));
			}
			if(count != 0) {
			    if((count%pageSize)==0){
			        pageNum = count/pageSize;
			    }
			    else{
			        pageNum = count/pageSize+1;
			    }
			}
			else pageNum = 0;
			return pageNum;  
		}
		catch (Exception ex) {
			FileLogger.getLogger().warn(ex);
			ex.printStackTrace();
			throw new RuntimeException(ex);
		}
	}
	/**
	 * 根据ProdfunId找到程控功能
	 * @param dbClient 
	 * @param sProdfunId 
	 */
	public DataTable getProdfunByProdfunId(DacClient dbClient,String sProdfunId) {
		try {
			StringBuffer sql = new StringBuffer();
			
			sql.append("select ");
			sql.append("ProdfunId, ");
			sql.append("PRODUCTID, ");
			sql.append("FUNCODE, ");
			sql.append("FUNNAME, ");
			sql.append("AFFAIRURL, ");
			sql.append("FUNAUTO, ");
			sql.append("PwdLevel, ");
			sql.append("CallerType, ");
			sql.append("OpenState, ");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?