📄 pagebuildutil.java
字号:
package com.gs.pageBuilder.util;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import java.util.*;
import java.sql.*;
import com.gs.util.*;
import com.gs.pageBuilder.model.*;
import com.gs.pageBuilder.dao.*;
import com.gs.component.enterprise.model.*;
import java.lang.reflect.*;
public class PageBuildUtil{
static private PageBuildUtil instance;
public PageBuildUtil(){
}
//创建实例
public static synchronized PageBuildUtil getInstance(){
if(instance == null){
instance = new PageBuildUtil();
}
return instance;
}
//获得平衡函数
public static StringBuffer getExpressionJS(ArrayList reportExpressionList){
ReportExpressionModel reportExpressionModel = null;
StringBuffer reportExpressionOutStr = new StringBuffer();
String reportExpressionStr = "";
String tempStr = "";
int log = 0;
//获得报表公式数据
reportExpressionOutStr.append("\n\n function tableEquipoiseInner(){\n");
reportExpressionOutStr.append("var errorPrintMsg=\"\";\n");
Debug.println("reportExpressionList.size():" + reportExpressionList.size());
for(int j = 0;j < reportExpressionList.size();j++){
reportExpressionModel = new ReportExpressionModel();
reportExpressionModel = (ReportExpressionModel) reportExpressionList.get(j);
//表达示为空返回
reportExpressionStr = reportExpressionModel.getCategory1();
if(reportExpressionStr == null){
Debug.print("[PageBuildUtil]getExpressionJS--->exception:reportExpressionModel.getCategory1() is null! ");
return reportExpressionOutStr;
}
//拼凑JS函数
reportExpressionOutStr.append("if(!(");
try{
//获得表带式转换公式 =
Debug.println("[PageBuildUtil]getExpressionJS--->reportExpressionStr.length():" + reportExpressionStr.length() + " reportExpressionStr:" +
reportExpressionStr);
for(int i = 0;i < reportExpressionStr.length();i++){
if("x".equals(reportExpressionStr.substring(i,i + 1))){
log = 1;
}
if("$".equals(reportExpressionStr.substring(i,i + 1))){
tempStr += "$";
reportExpressionOutStr.append("divNameConversion(\"" + tempStr + "\")");
log = 0;
tempStr = "";
} else
if(log == 1){
tempStr += reportExpressionStr.substring(i,i + 1);
} else{
reportExpressionOutStr.append(reportExpressionStr.substring(i,i + 1));
}
Debug.println("[PageBuildUtil]getExpressionJS--->temp:" + reportExpressionStr.substring(i,i + 1) + " tempStr:" + tempStr + " log:" +
log);
}
} catch(Exception ex){
Debug.print("[PageBuildUtil]getExpressionJS--->exception:reportExpressionModel.getCategory1(): " + reportExpressionModel.getCategory1() +
" ex.getMessage():" + ex.getMessage());
return reportExpressionOutStr;
}
//js if(){}
reportExpressionOutStr.append(")){\n errorPrintMsg=errorPrintMsg+\"" + reportExpressionModel.getCategory2() + "\"+\"\\n\";\n}\n");
}
reportExpressionOutStr.append("\nif(errorPrintMsg!=\"\"){alert(errorPrintMsg);}else{alert('该报表表内平衡!');}\n}\n");
//输出JS 关于转换为数值的函数
reportExpressionOutStr.append("\n\n function divNameConversion(divNameStr){\n");
reportExpressionOutStr.append("var divNameConversionValue=0;\n");
reportExpressionOutStr.append("try{\n");
reportExpressionOutStr.append(" //div文本值提取转换成数值\n");
reportExpressionOutStr.append(" if(eval(divNameStr).children[0].value==null){\n");
reportExpressionOutStr.append(" divNameConversionValue=Math.round(eval(divNameStr).children[0].innerHTML);\n");
reportExpressionOutStr.append(" }else{\n");
reportExpressionOutStr.append(" divNameConversionValue=Math.round(eval(divNameStr).children[0].value);\n");
reportExpressionOutStr.append(" }\n");
reportExpressionOutStr.append(" return divNameConversionValue;\n");
reportExpressionOutStr.append("}catch(exception){\n");
reportExpressionOutStr.append(" alert(\"[\"+divNameStr+\"]不能输入非数字字符或不存在该定义!\");\n");
reportExpressionOutStr.append(" return divNameConversionValue;\n");
reportExpressionOutStr.append("}\n");
reportExpressionOutStr.append("}\n");
return reportExpressionOutStr;
}
//获得打印格式
public static ArrayList getPagePrintSetup(HashMap strParment,String code){
ArrayList printSetupList = new ArrayList();
String printSetupValue = "";
int i;
try{
PageDefineDAO dao = PageDefineDAOFactory.getDAO();
for(i = 0;i < strParment.size();i++){
ArrayList tempArray = new ArrayList();
tempArray = (ArrayList) strParment.get((Object) (new Integer(i)));
if("printSetup".equals(tempArray.get(0))){
printSetupValue = (tempArray.get(1)).toString();
break;
}
}
if(printSetupValue != null && !"".equals(printSetupValue) && code != null && code.startsWith("licensePrin")){
printSetupList = (ArrayList) dao.getPagePrintSetup(printSetupValue);
} else{
printSetupList.add(0,"0");
printSetupList.add(1,"0");
}
} catch(Exception ex){
Debug.println("[PageBuildUtil]getPagePrintSetup--->exception:" + ex.getMessage());
}
return printSetupList;
}
//获得样式
public static String getPageStyle(ArrayList sub){
String resultStyle = "";
String tempStr;
if(sub != null && sub.size() > 27){
tempStr = (String) sub.get(5);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " width=" + tempStr;
}
}
tempStr = (String) sub.get(6);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " height=" + tempStr;
}
}
tempStr = (String) sub.get(9);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
if("top".equals(tempStr) || "bottom".equals(tempStr)){
resultStyle = resultStyle + " valign=" + tempStr;
} else{
resultStyle = resultStyle + " align=" + tempStr;
}
}
}
tempStr = (String) sub.get(10);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " rowspan=" + tempStr;
}
}
tempStr = (String) sub.get(11);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " colspan=" + tempStr;
}
}
tempStr = (String) sub.get(27);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " style=\"" + tempStr + "\"";
}
}
tempStr = (String) sub.get(7);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " class=" + tempStr + " ";
}
}
resultStyle += " style=\"";
tempStr = (String) sub.get(6);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " height:" + tempStr + ";";
}
}
tempStr = (String) sub.get(8);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " color:" + tempStr + ";";
}
}
tempStr = (String) sub.get(9);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " text-align:" + tempStr + ";";
}
}
tempStr = (String) sub.get(25);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " font-family:" + tempStr + ";";
}
}
tempStr = (String) sub.get(26);
if(tempStr != null){
tempStr = tempStr.trim();
if(!"".equals(tempStr) && !"0".equals(tempStr)){
resultStyle = resultStyle + " font-size:" + tempStr + "pt;";
}
}
tempStr = (String) sub.get(13);
if("1".equals(tempStr)){
resultStyle += "border-left:1px black solid;";
} else{
resultStyle += "border-left:0px black solid;";
}
tempStr = (String) sub.get(14);
if("1".equals(tempStr)){
resultStyle += "border-right:1px black solid;";
} else{
resultStyle += "border-right:0px black solid;";
}
tempStr = (String) sub.get(15);
if("1".equals(tempStr)){
resultStyle += "border-top:1px black solid;";
} else{
resultStyle += "border-top:0px black solid;";
}
tempStr = (String) sub.get(16);
if("1".equals(tempStr)){
resultStyle += "border-bottom:1px black solid;";
} else{
resultStyle += "border-bottom:0px black solid;";
}
resultStyle += "\"";
} else{
Debug.println("[PageBuildUtil]--->>>getPageStyle exception!");
}
return resultStyle;
}
public static ArrayList getGroupResult(String pageCode,String logic_mark,
HashMap strParment,int uploadrowNum,
int uploadcolNum,ArrayList reportList,String outPutType){
Connection conn = null;
Statement stmt = null;
Statement stmt2 = null;
ResultSet rs = null;
ResultSet resu = null;
HashMap al = new HashMap();
ArrayList sub = null;
ArrayList colList = new ArrayList();
ArrayList tempResult = new ArrayList();
ArrayList styleTemp = null;
Integer integer = null;
int m = 0;
int n = 0;
int i = 0;
int j = 0;
int colNum = 0;
int sum = 0;
int log = 0;
String lineLogicSQL = ""; //行逻辑sql
String sql = "";
String fieldTemp = ""; //行列交叉关键字?
String typelogic = ""; //组逻辑:对应sql行
String outStr = ""; //输出返回串
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -