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

📄 reportconfigaction.java

📁 OBPM是一个开源
💻 JAVA
📖 第 1 页 / 共 4 页
字号:

		sb
				.append("<textField isStretchWithOverflow=\"false\" pattern=\"\" isBlankWhenNull=\"false\" evaluationTime=\"Now\" hyperlinkType=\"None\"  hyperlinkTarget=\"Self\" >");
		sb
				.append("<reportElement x=\"102\" y=\"2\"  width=\"106\" height=\"23\"  forecolor=\"#ff0000\" key=\"textField\"/> ");
		sb
				.append("<box topBorder=\"None\" topBorderColor=\"#000000\" leftBorder=\"None\" leftBorderColor=\"#000000\" rightBorder=\"None\" rightBorderColor=\"#000000\" bottomBorder=\"None\" bottomBorderColor=\"#000000\"/>");
		sb.append("<textElement textAlignment=\"Left\">");
		sb.append("<font size=\"12\"/>");
		sb.append("</textElement>");
		sb
				.append(
						"<textFieldExpression   class=\"java.lang.String\"><![CDATA[$F{")
				.append(sortField).append("}]]></textFieldExpression>");
		sb.append("</textField>");
		sb.append("</band>");

		sb.append("</groupHeader>");
		sb.append("<groupFooter>");
		sb.append("<band height=\"30\">");
		sb.append("<line>");
		sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(pageWidth)
				.append("\" height=\"1\" forecolor=\"#ff0000\"/>");
		sb.append("<graphicElement/>");
		sb.append("</line>");

		for (Iterator iter = coll.iterator(); iter.hasNext();) {
			TableColumn em = (TableColumn) iter.next();
			if (!em.isSort()) {
				sb.append("<staticText>");
				sb.append("<reportElement x=\"").append(pageWidth - 200)
						.append("\" y=\"4\" width=\"150\" height=\"15\"/>");
				sb.append("<textElement textAlignment=\"Right\"/>");
				sb.append("<text>");
				sb.append("<![CDATA[").append(
						em.getName() + "--" + em.getCalculateMode() + ":")
						.append("]]>");
				sb.append("</text>");
				sb.append("</staticText>");
				sb.append("<textField pattern=\"###0.00\">");
				sb.append("<reportElement x=\"").append(pageWidth - 50).append(
						"\" y=\"4\" width=\"50\" height=\"15\"/>");
				sb.append("<textElement textAlignment=\"Left\"/>");
				sb.append("<textFieldExpression class=\"java.lang.Double\">");
				sb.append("$V{").append(em.getType() + "_" + em.getName())
						.append("}"); // ****
				sb.append("</textFieldExpression>");
				sb.append("</textField>");
				pageWidth = pageWidth - 200;
			}
		}
		sb.append("</band>");
		sb.append("</groupFooter>");
		sb.append("</group>");
		sb.append("\n");
		return sb.toString();
	}

	public String creatColumnHeader(Map detial) {
		if (detial == null || detial.size() == 0)
			return "";
		int totalWidth = 0;

		for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
			TableColumn em = (TableColumn) iter.next();
			if (em.getWidth() != null && em.getWidth().length() > 0)
				totalWidth += Integer.parseInt(em.getWidth());
			else
				totalWidth += 50;
		}
		StringBuffer sb = new StringBuffer();
		sb.append("<columnHeader>");
		sb.append("<band height=\"20\">");
		sb.append("<rectangle>");
		sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(totalWidth)
				.append("\" height=\"10\" backcolor=\"#333111\"/>");
		sb.append("<graphicElement/>");
		sb.append("</rectangle>");

		int excursion = 0;
		for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
			TableColumn em = (TableColumn) iter.next();
			int width = 50;
			if (em.getWidth() != null && em.getWidth().length() > 0)
				width = Integer.parseInt(em.getWidth());
			sb.append("<staticText>");
			sb
					.append("<reportElement mode=\"Opaque\"  x=\"")
					.append(excursion)
					.append("\" y=\"0\" width=\"")
					.append(width)
					.append(
							"\" height=\"15\"  backcolor=\"lightGray\" style=\"Arial_Bold\"/>");
			// sb.append("<textElement
			// textAlignment=\"Center\"><font/></textElement>");
			sb.append("<text><![CDATA[").append(em.getName()).append(
					"]]></text>");
			sb.append("</staticText>");
			sb.append("\n");
			excursion += width;
		}
		sb.append("</band>");
		sb.append("</columnHeader>");
		return sb.toString();
	}

	public String creatColumnFooter() {
		StringBuffer sb = new StringBuffer();
		sb.append("<columnFooter>");
		sb.append("<band height=\"11\">");
		sb.append("</band>");
		sb.append("</columnFooter>");
		return sb.toString();
	}

	public String creatDetial(Map detial) {

		if (detial == null || detial.size() == 0)
			return "";

		StringBuffer sb = new StringBuffer();
		sb.append("<detail>");
		sb.append("<band height=\"30\">");
		int i = 0;
		int excursion = 0;
		for (Iterator iter = detial.keySet().iterator(); iter.hasNext();) {
			TableColumn em = (TableColumn) iter.next();
			String dataType = (String) detial.get(em);
			int width = 50; // 默认宽度大小
			if (em.getWidth() != null && em.getWidth().length() > 0)
				width = Integer.parseInt(em.getWidth());

			sb.append("<textField isBlankWhenNull=\"true\">");
			sb.append("<reportElement x=\"").append(excursion).append(
					"\" y=\"4\" width=\"").append(width).append(
					"\" height=\"15\" style=\"Arial_Normal\"/>");
			// sb.append("<textElement textAlignment=\"Right\"/>");
			sb.append("<textFieldExpression class=\"").append(dataType).append(
					"\">");
			sb.append("$F{").append(em.getName()).append("}");// ///////
			sb.append("</textFieldExpression>");
			sb.append("</textField>");
			sb.append("\n");
			excursion += width;
			i++;
		}
		sb.append("</band>");
		sb.append("</detail>");
		sb.append("\n");
		return sb.toString();
	}

	public String creatSummary(DataPackage data, int pageWidth) {

		if (data == null || data.datas == null || data.datas.size() == 0)
			return "";
		StringBuffer sb = new StringBuffer();
		sb.append("<summary>");
		sb.append("<band height=\"60\">");

		sb.append("<line>");
		sb.append("<reportElement x=\"0\" y=\"0\" width=\"").append(pageWidth)
				.append("\" height=\"1\" forecolor=\"#faacf\"/>");
		sb.append("<graphicElement/>");
		sb.append("</line>");

		sb.append("<staticText>");
		sb.append("<reportElement x=\"").append(0).append(
				"\" y=\"4\" width=\"150\" height=\"15\"/>");
		sb.append("<textElement textAlignment=\"Right\"/>");
		sb.append("<text>");
		sb.append("<![CDATA[Summary:]]>");
		sb.append("</text>");
		sb.append("</staticText>");

		for (Iterator iter = data.datas.iterator(); iter.hasNext();) {
			TableColumn em = (TableColumn) iter.next();
			if (!em.isSort()) {
				sb.append("<staticText>");
				sb.append("<reportElement x=\"").append(pageWidth - 200)
						.append("\" y=\"4\" width=\"150\" height=\"15\"/>");
				sb.append("<textElement textAlignment=\"Right\"/>");
				sb.append("<text>");
				sb.append("<![CDATA[").append(
						em.getName() + "--" + em.getCalculateMode() + ":")
						.append("]]>");
				sb.append("</text>");
				sb.append("</staticText>");
				sb.append("<textField pattern=\"###0.00\">");
				sb.append("<reportElement x=\"").append(pageWidth - 50).append(
						"\" y=\"4\" width=\"50\" height=\"15\"/>");
				sb.append("<textElement textAlignment=\"Left\"/>");
				sb.append("<textFieldExpression class=\"java.lang.Double\">");
				sb.append("$V{").append(em.getType() + "_" + em.getName())
						.append("}"); // ****
				sb.append("</textFieldExpression>");
				sb.append("</textField>");
				pageWidth = pageWidth - 200;
			}
		}
		sb.append("</band>");
		sb.append("</summary>");
		sb.append("\n");
		return sb.toString();
	}

	public String creatPageHeader() {
		StringBuffer sb = new StringBuffer();
		sb.append("<pageHeader>");
		sb.append("<band height=\"20\">");
		sb.append("</band>");
		sb.append("</pageHeader>");
		sb.append("\n");
		return sb.toString();
	}

	public String creatPageFooter() {
		StringBuffer sb = new StringBuffer();
		sb.append("<pageFooter>");
		sb.append("<band height=\"20\">");
		sb.append("</band>");
		sb.append("</pageFooter>");
		sb.append("\n");
		return sb.toString();
	}

	public String creatTitel(String title) {
		StringBuffer sb = new StringBuffer();
		sb.append("<title>");
		sb.append("<band height=\"30\">");
		sb.append("<staticText>");
		sb
				.append("<reportElement x=\"0\" y=\"0\" width=\"700\" height=\"30\"/>");
		// sb.append("<textElement textAlignment=\"Center\"/>");
		// sb.append("<text>");
		sb.append("<textElement textAlignment=\"Center\">");
		sb.append("<font size=\"18\"/>");
		sb.append("</textElement>");
		sb.append("<text>");
		sb.append("<![CDATA[").append(title).append("]]>");
		sb.append("</text>");
		sb.append("</staticText>");
		sb.append("</band>");
		sb.append("</title>");
		sb.append("\n");
		return sb.toString();
	}

	public String QueryStringAppendOrderBy(DataPackage group1,
			DataPackage group2, DataPackage group3, DataPackage group4) {
		String orderby = "";
		if (group1 != null && group1.datas != null && group1.datas.size() > 0) {
			for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
				TableColumn em = (TableColumn) iter.next();
				if (em.isSort())
					orderby += em.getName() + ",";
			}
		}
		if (group2 != null && group2.datas != null && group2.datas.size() > 0) {
			for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
				TableColumn em = (TableColumn) iter.next();
				if (em.isSort())
					orderby += em.getName() + ",";
			}
		}
		if (group3 != null && group3.datas != null && group3.datas.size() > 0) {
			for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
				TableColumn em = (TableColumn) iter.next();
				if (em.isSort())
					orderby += em.getName() + ",";
			}
		}
		if (group4 != null && group4.datas != null && group4.datas.size() > 0) {
			for (Iterator iter = group1.datas.iterator(); iter.hasNext();) {
				TableColumn em = (TableColumn) iter.next();
				if (em.isSort())
					orderby += em.getName();
			}
		}
		if (orderby.trim().length() > 0
				&& orderby.substring(orderby.length() - 1, orderby.length())
						.endsWith(","))
			orderby = orderby.substring(0, orderby.length() - 1);
		return orderby.trim().length() > 0 ? " order by " + orderby : "";
	}

	public String creatQueryString(String queryString) {
		StringBuffer sb = new StringBuffer();
		sb.append("<queryString><![CDATA[").append(queryString).append(
				"]]></queryString>");
		sb.append("\n");
		return sb.toString();
	}

	public Map get_tableColumnFromDateBase(String sql, DataSource dts)
			throws Exception { // 根椐sql取得结果集中各项数据的类型
		if (sql == null || sql.length() == 0)
			return null;
		Map map = new HashMap();
		Connection conn = null;
		Statement stmt = null;
		try {
			DriverManager.registerDriver((Driver) Class.forName(
					dts.getDriverClass()).newInstance());
			conn = DriverManager.getConnection(dts.getUrl(), dts.getUsername(),
					dts.getPassword());
			String tmpsql = "select * from (" + sql + ") where 1<>1";
			PreparedStatement ps = conn.prepareStatement(tmpsql);
			ResultSet tmprs = ps.executeQuery();

			ResultSetMetaData dma = tmprs.getMetaData();
			for (int i = 1; i <= dma.getColumnCount(); i++) {
				String columnName = dma.getColumnName(i);
				String dataType = dma.getColumnTypeName(i);
				if (dataType.equals("NUMBER"))
					map.put(columnName, DATA_TYPE_DOUBLE);
				else if (dataType.equals("VARCHAR2")
						|| dataType.equals("VARCHAR"))
					map.put(columnName, DATA_TYPE_STRING);
				else
					map.put(columnName, DATA_TYPE_STRING); // *********
			}

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (stmt != null) {
				stmt.close();
				stmt = null;
			}
			if (conn != null && !conn.isClosed()) {
				conn.close();
				conn = null;
			}
		}

⌨️ 快捷键说明

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