⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmrecommandproductservice.java

📁 电信的网厅的整站代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			}
			
			this.add_product_affair(recommandid,lst_product,lst_affair);//增加推荐产品条件信息,传入推荐产品id

			dacClient.endTransaction(true);//事务提交
			
			return 1;
			
		} catch (SQLException e) {
			try {
				dacClient.endTransaction(false);//回滚事务
			} catch (SQLException e1) {
				log.error("事务回滚失败!");
			}
			log.error("增加推荐产品信息失败!");
		}
		return 0;
	}
	
	/**
	 * 修改推荐产品
	 * @param rmrpb RMRecommandProductBean对象
	 * @param rmrcb[] RMRecommendConditionBean对象数组
	 * @return 1-正常,0-出异常
	 */
	public int updateRMRecommandProduct(RMRecommandProductBean rmrpb,List lst_product,List lst_affair){
		
		if(rmrpb==null) return 0;
		
		try {
			//启动事务
			dacClient.beginTransaction(-1);	
			
			//先修改推荐产品信息
			//rmrDAO.updateRMRecommandProduct(rmrpb);
			
			TD_RecommandProduct bean=this.buildTD_RecommandProduct(rmrpb);
			bean.save();
			
			
			//获取推荐产品id
			long recommandid=rmrpb.getRecommandId();
			
			//再删除对应推荐产品的所有条件
			rmrDAO.deleteRMRecommandCondition(new Long(recommandid));
			
			//增加条件信息
			this.add_product_affair(recommandid,lst_product,lst_affair);
			
			//事务提交
			dacClient.endTransaction(true);
			
		} catch (SQLException e) {
			try {
				dacClient.endTransaction(false);//回滚事务
			} catch (SQLException e1) {
				log.error("事务回滚失败!");
			}
			log.error("修改推荐产品信息失败!");
		}
		return 0;
	}
	
	
	/**
	 * 删除推荐产品条件
	 * @param number 产品序号
	 * @return
	 * @throws SQLException
	 */
	public int deleteRMRecommand(String[] id){
		try {
			if(id!=null){
				//启动事务
				dacClient.beginTransaction(-1);
				for(int i=0;i<id.length;i++){
					//先删除推荐产品条件信息
					rmrDAO.deleteRMRecommandCondition(new Long(id[i]));
					//再删除推荐产品信息
					rmrDAO.deleteRMRecommandProduct(new Long(id[i]));
				}
				//事务提交
				dacClient.endTransaction(true);
			}
		} catch (SQLException e) {
			try {
				//回滚事务
				dacClient.endTransaction(false);
			} 
			catch(SQLException e1) {
				log.error("事务回滚失败!");
			}
			log.error("修改推荐产品信息失败!");
		}
		return 0;
	}
	
	/**
	 * 通过产品序号获取产品信息及产品条件信息
	 * @param number 产品序号
	 * @return Map,RMRecommandProductBean(key)产品信息
	 * 			   RMRecommendConditionBeanList(key)产品条件列表
	 */
	public RMRecommandProductBean getRMRecommandProductBean(Long number){

		DataTable dt1=null;
		try {
			dt1 = rmrDAO.getRMRecommandProductBean(number);
		} catch (SQLException e) {
			log.error(e.getMessage());
		}
		if(dt1!=null && dt1.getRows().getCount()>0){
			DataRow dr=dt1.getRow(0);
			
			//获取各字段信息
			long lRecommendId=dr.getLong("RECOMMENDID");
			String sTitle=dr.getString("TITLE");
			String sCity=dr.getString("CITYCODE");
			String sAbstract=dr.getString("ABSTRACT");
			Date dStartTime=dr.getDate("STARTTIME");
			Date dEndTime=dr.getDate("ENDTIME");
			int sRmindex=dr.getInt("RMINDEX");
			String sDisplayType=dr.getString("DISPLAYTYPE");
			String sDescription=dr.getString("DESCRIPTION");
			String sState=dr.getString("STATE");
			
			//构造RMRecommandProductBean对象
			RMRecommandProductBean rmrpb=new RMRecommandProductBean(
					lRecommendId,sTitle,sCity,sAbstract,dStartTime,
					dEndTime,sRmindex,sDisplayType,sDescription,sState);
			return rmrpb;
		}
		return null;
	}


	/**
	 * 获取所有的产品列表
	 * @return
	 * @throws SQLException
	 */
	public DataTable getProduct(){
		try {
			return rmrDAO.getProduct();
		} catch (SQLException e) {
			log.error("获取所有的产品列表时出现异常");
			return null;
		}
	}
	
	/**
	 * 获取产品所属的地区程控
	 * @param request
	 * @param response
	 * @param map
	 * @return
	 */
	public DataTable getProgrammedByProduct(ServletRequest request,ServletResponse response,Map map){
		try {
			//产品序号
			String productId=(String)map.get("productId");
			//地市编号
			String cityCode=(String)map.get("cityCode");
			return rmrDAO.getProgrammedByProduct(productId,cityCode);
		} catch (SQLException e){
			log.error("获取产品所属的地区程控时出现异常!");
			return null;
		}
	}
	
	/**
	 * 根据标识字符获取最高,最低,普通级别指数
	 * @param request
	 * @param response
	 * @param map
	 * @return
	 */
	public int get_max_min_avg_rmindex(ServletRequest request,ServletResponse response,Map map){
		try{
			String flag=(String)map.get("flag");
			int i=rmrDAO.get_max_min_avg_rmindex(flag);
			//如果是获取最高,则+1
			if(flag.equals("H")){
				i++;
			}
			return i;
		}catch(SQLException e){
			log.error("获取产品所属的地区程控时出现异常!");
			return 0;
		}
	}
	
	/**
	 * 获取产品,程控字符串
	 * @param request
	 * @param response
	 * @param map
	 * @return
	 * @throws SQLException 
	 * @throws NumberFormatException 
	 */
	public String getProgrammedByReommandId(String cityCode,String recommandId) {
		StringBuffer sb=new StringBuffer();
		sb.append("<table id='product_table' width='100%'>");
		sb.append("<input type='button' onclick='add_row();' value='增加行'>");
		
		if(recommandId==null || recommandId.equals("")){
			//sb.append("<tr><td><table id='programmed_table' name='programmed_table' width='100%'></table></td></tr>");
			sb.append("</table>");
			return sb.toString();
		}
		DataTable dt=null;
		try {
			dt = rmrDAO.getUpRMRecommend(Long.valueOf(recommandId));
		} catch (NumberFormatException e) {
			log.error("NumberFormatException");
		} catch (SQLException e) {
			log.error("SQLException");
		}
		if(dt==null || dt.getRows().getCount()==0){
			//sb.append("<tr><td><table id='programmed_table' name='programmed_table' width='100%'></table></td></tr></table>");
			sb.append("</table>");
			return sb.toString();
		}

		for(int i=0;i<dt.getRows().getCount();i++){
			DataRow row=dt.getRow(i);
			String upconditionid=row.getString("CONDITIONID");
			String parameter=row.getString("PARAMETER");
			sb.append(this.parse(upconditionid,parameter,cityCode));
		}
		
		sb.append("</table>");
		return sb.toString();
	}
	
	/**
	 * 获取某推荐产品下的程控
	 * @param upconditionid 父条件编号
	 * @param parameter 产品编号
	 * @param cityCode 城市编号 传入城市编号只是为了获取该地区所支持的程控
	 * @return
	 * @throws SQLException 
	 */
	private String parse(String upconditionid,String parameter,String cityCode){
		StringBuffer s=new StringBuffer();
		StringBuffer body=new StringBuffer();
		DataTable dt=null;
		try {
			dt = rmrDAO.getProgrammed(upconditionid);

		ArrayList list=new ArrayList();
		if(dt!=null){
			for(int i=0;i<dt.getRows().getCount();i++){
				String prodfunid=dt.getRow(i).getString("PRODFUNID");
				list.add(prodfunid);
			}
			
			//获取所有的程控
			DataTable all=rmrDAO.getProgrammedByProduct(parameter,cityCode);
			if(all!=null){
				body.append("<tr><td>");
				for(int j=0;j<all.getRows().getCount();j++){
					String prodfunid=all.getRow(j).getString("PRODFUNID");
					String funname=all.getRow(j).getString("FUNNAME");
					
					//循环判断所有的程控在某产品下属程控中是否存在
					boolean exist=list.contains(prodfunid);
					body.append("<input type='checkbox' name='AFFAIRTYPE'")
						.append(" value='").append(prodfunid).append("'")
						.append(exist?" checked":"").append(">").append(funname);
				}
				body.append("</td></tr>");
			}
		}
		
		s.append("<tr>");
		s.append("<td width='20%' nowrap='nowrap'>");
		
		
		DataTable product=this.getProduct();
		if(product!=null){
			//产品下拉框
			s.append("<select name='PRODUCT' id='PRODUCT' style='width:80%' onChange='showProgrammed(this);' onClick='checkCity(this)'>")
			 .append("<option value='0'>--请选择--</option>");	
			for(int i=0;i<product.getRows().getCount();i++){
				DataRow row=product.getRow(i);
				String value=row.getString("PRODUCTID");
				String name=row.getString("PRODUCTNAME");
				if(value.equals(parameter)){
					s.append("<option value='"+value+"' selected>"+name+"</option>");
				}else{
					s.append("<option value='"+value+"'>"+name+"</option>");
				}
			}
			s.append(" </select>");
		}

		//body为动态程控的块
		s.append("</td>");
		s.append("<td width='65%'>")
		 .append("<table id='programmed_table' name='programmed_table' width='100%'>")
		 .append(body)
		 .append("</table></td>");
		s.append("<td width='10%'>");
		
		//删除按钮
		s.append("<input type='button' onclick='del_row();' value='删除行'>");
		s.append("</td>");
		s.append("</tr>");
		} catch (SQLException e) {
			log.error("SQLException");
		}
		return s.toString();
	}
	
	
	
	
}

⌨️ 快捷键说明

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