📄 pagebuildutil.java
字号:
String result = "";
StringBuffer String1 = new StringBuffer(""); //过程累加字符串变量
String tempStr = ""; //临时串
String style = ""; //边线样式UNIVERSAL_PAGEELEMENT_DEFINE
String tempResultNum = "";
ReportPageDataModel reportPageDataModel = null;
BuildGoupColModel buildGoupColModel = new BuildGoupColModel(); //列model
try{
conn = Common.getConnection();
stmt = conn.createStatement();
stmt2 = conn.createStatement();
Debug.println("[AddSqlResult]getAddResult------>>>>start:组逻辑输出!");
//取得该组所有列值
sql = "select * from "
+ TableNameUtil.UNIVERSAL_PAGEELEMENT_DEFINE
+ " where page_code='"
+ pageCode
+ "' and ( unit_code>='10000000' and unit_code<'80000000') and logic_mark='"
+ logic_mark
+ "' order by unit_code";
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp1:取得该组所有列值>>>>sql:" +
sql);
rs = stmt.executeQuery(sql);
//取得该组所有列值
while(rs.next()){
lineLogicSQL = PubFunc.decodeGB(rs.getString("typelogic")); //得到行逻辑
buildGoupColModel = new BuildGoupColModel();
buildGoupColModel.setCode("" + (++colNum));
tempStr = PubFunc.decodeGB(rs.getString("input_value"));
//变量替换
for(m = 0;m < strParment.size();m++){
ArrayList tempArray = new ArrayList();
tempArray = (ArrayList) strParment.get((Object) (new
Integer(m)));
//Debug.println("tempArray:["+m+"]"+tempArray.get(0)+" ,"+tempArray.get(1));
tempStr = PubFunc.replace(tempStr,
":" + tempArray.get(0) + "",
tempArray.get(1) + ""); //content 变量初始化
lineLogicSQL = PubFunc.replace(lineLogicSQL,
":" + tempArray.get(0) + "",tempArray.get(1) + ""); //lineLogicSQL变量初始化
}
Debug.println("setContent:" + tempStr);
buildGoupColModel.setContent(tempStr);
buildGoupColModel.setResult("0");
//得到样式
styleTemp = new ArrayList();
styleTemp.add(PubFunc.decodeGB(rs.getString("code"))); //0
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_type"))); //1
styleTemp.add(PubFunc.decodeGB(rs.getString("input_value"))); //2
styleTemp.add(PubFunc.decodeGB(rs.getString("output_value"))); //3
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_style"))); //4
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_width"))); //5
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_height"))); //6
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_class"))); //7
styleTemp.add(PubFunc.decodeGB(rs.getString("font_color"))); //8
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_position"))); //9
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_rowspan"))); //10
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_colspan"))); //11
styleTemp.add(PubFunc.decodeGB(rs.getString("unit_rowcolendpoint"))); //12
styleTemp.add(PubFunc.decodeGB(rs.getString("left_haveno_sign"))); //13
styleTemp.add(PubFunc.decodeGB(rs.getString("right_haveno_sign"))); //14
styleTemp.add(PubFunc.decodeGB(rs.getString("top_haveno_sign"))); //15
styleTemp.add(PubFunc.decodeGB(rs.getString("bottom_haveno_sign"))); //16
styleTemp.add(PubFunc.decodeGB(rs.getString("logic_mark"))); //17
styleTemp.add(""); //18
styleTemp.add(PubFunc.decodeGB(rs.getString("positionlock"))); //19
styleTemp.add(PubFunc.decodeGB(rs.getString("typelogic"))); //20
styleTemp.add(PubFunc.decodeGB(rs.getString("positionLeft"))); //21
styleTemp.add(PubFunc.decodeGB(rs.getString("positiontop"))); //22
styleTemp.add(PubFunc.decodeGB(rs.getString("data_type"))); //23
styleTemp.add(PubFunc.decodeGB(rs.getString("data_format"))); //24
styleTemp.add(PubFunc.decodeGB(rs.getString("font_type"))); //25
styleTemp.add(PubFunc.decodeGB(rs.getString("font_size"))); //26
styleTemp.add(PubFunc.decodeGB(rs.getString("font_style"))); //27
styleTemp.add(PubFunc.decodeGB(rs.getString("edit_item"))); //28
tempStr = PageBuildUtil.getPageStyle(styleTemp);
styleTemp = null;
buildGoupColModel.setStyle(tempStr);
buildGoupColModel.setUnitStyle(PubFunc.nullToStr(rs.getString("unit_style")));
buildGoupColModel.setType(PubFunc.nullToStr(rs.getString("unit_type")));
buildGoupColModel.setUpload(PubFunc.nullToStr(rs.getString(
"edit_item")));
buildGoupColModel.setRowColEndPoint(PubFunc.nullToStr(rs.
getString("unit_rowcolendpoint")));
buildGoupColModel.setDataType(PubFunc.decodeGB(rs.getString("data_type")));
buildGoupColModel.setDataFormat(PubFunc.decodeGB(rs.getString("data_format")));
buildGoupColModel.setOutputValue(PubFunc.decodeGB(rs.getString("output_value")));
Debug.println("rowcolendpoint:" +
PubFunc.nullToStr(rs.getString("unit_rowcolendpoint")));
colList.add(buildGoupColModel);
}
rs.close();
//异常处理
if(lineLogicSQL.equals("")){
outStr = ""; //返回空串
Debug.println(
"[AddSqlResult]getAddResult------>>>>no group logic!");
//初始化返回值
tempResult.add("" + uploadrowNum);
tempResult.add("" + uploadcolNum);
tempResult.add(outStr);
tempResult.add(reportList);
return tempResult;
}
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp2,colList 'size:" +
colList.size() + " lineLogicSQL:" + lineLogicSQL);
//lineLogicSQL 行逻辑所有记录
rs = stmt.executeQuery(lineLogicSQL);
Debug.println("[AddSqlResult]getAddResult------>>>>uploadrowNum:" + uploadrowNum + " uploadcolNum:" + uploadcolNum);
m = 0; //自动编号
while(rs.next()){
sub = new ArrayList();
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp2.0,fieldTemp:" +
fieldTemp);
fieldTemp = PubFunc.nullToStr(rs.getString(1)); //行列交叉关键字?
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp2.1,fieldTemp:" +
fieldTemp);
//初始化列值
for(i = 0;i < colList.size();i++){
buildGoupColModel = (BuildGoupColModel) colList.get(i);
tempStr = buildGoupColModel.getType();
if("1".equals(tempStr)){ //单列输出
tempResultNum = buildGoupColModel.getContent();
if(tempResultNum == null || "".equals(tempResultNum)){
Debug.println("列号为空!");
sub.add(" ");
} else{
if(rs.getString(Integer.parseInt(tempResultNum)) == null || "".equals((rs.getString(Integer.parseInt(tempResultNum))).trim())){
sub.add(" ");
} else{
sub.add(PubFunc.decodeGB(rs.getString(Integer.parseInt(tempResultNum))));
}
}
} else
if("2".equals(tempStr)){ //行列交叉逻辑
tempStr = buildGoupColModel.getContent();
tempStr = PubFunc.replace(tempStr,"?",
"" + fieldTemp + "");
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp3,type==2,sql转换:" +
tempStr);
resu = stmt2.executeQuery(tempStr);
if(resu.next()){
tempStr = resu.getString(1);
if(tempStr == null || "".equals(tempStr)){
tempStr = "0";
}
} else{
tempStr = "0";
}
sub.add(tempStr);
resu.close();
} else
if("3".equals(tempStr)){ //计算输出
sub.add("0");
} else
if("4".equals(tempStr)){ //机器编码
tempStr = buildGoupColModel.getContent();
sub.add("" + (Integer.parseInt(tempStr) + m));
} else
if("5".equals(tempStr)){ //标签输出
tempStr = buildGoupColModel.getContent();
sub.add(tempStr);
}
}
al.put((Object) (integer = new Integer(m++)),sub); //存储行
} //while end
rs.close();
Debug.println(
"[AddSqlResult]getAddResult------>>>>setp4 line size:" +
al.size());
//计算逻辑,得到返回值串,得到报出数据
//如果不为替换输出,则以套用表格输出
if(!"*".equals(outPutType)){
String1.append(
"<table border=1 cellpadding=0 cellspacing=0 bordercolorlight=#000000 bordercolordark=#FFFFFF style=\"border-style: solid; border-color: #ffffff\">");
}
for(m = 0;m < al.size();m++){
//换行
uploadcolNum = 0;
uploadrowNum += 1;
log = 0;
sub = (ArrayList) al.get((Object) (new Integer(m))); //每一行
//初始化列值
String1.append("<tr>");
for(i = 0;i < colList.size();i++){
buildGoupColModel = (BuildGoupColModel) colList.get(i);
style = buildGoupColModel.getStyle();
tempStr = buildGoupColModel.getType();
if("3".equals(tempStr)){ //计算输出
//1+2+2+2+5
tempStr = buildGoupColModel.getContent();
StringTokenizer subTokenizer = new StringTokenizer(
tempStr,"+");
sum = 0;
while(subTokenizer.hasMoreTokens()){
j = Integer.parseInt((String) (subTokenizer.
nextToken()));
tempResultNum = (String) (sub.get(j));
if(tempResultNum == null || "".equals(tempResultNum)){
tempResultNum = "0";
}
Debug.println("tempResultNum:" + tempResultNum);
try{
sum += Integer.parseInt(tempResultNum);
} catch(Exception ex){
sum = 0;
}
}
tempStr = "" + sum;
} else{
tempStr = (String) (sub.get(i));
}
//输出格式转换
String tempStrResult = tempStr; //原始值
tempStr = dataTypeConversion(tempStr,buildGoupColModel.getDataType(),buildGoupColModel.getDataFormat());
//是否已经换行
if(log == 1){
log = 0;
uploadrowNum++;
uploadcolNum = 0;
String1.append("</tr><tr>");
}
//行结束
Debug.println("是否行结束:" +
buildGoupColModel.getRowColEndPoint());
if("1".equals(buildGoupColModel.getRowColEndPoint())){
log = 1;
} else{
log = 0;
}
//得到上报数据
if(("1").equals(buildGoupColModel.getUpload())){
reportPageDataModel = new ReportPageDataModel();
if(log == 1){
reportPageDataModel.setRowColEndPoint("1");
} else{
reportPageDataModel.setRowColEndPoint("0");
}
reportPageDataModel.setCode("0");
reportPageDataModel.setPageCode(pageCode);
reportPageDataModel.setContent(tempStr);
reportPageDataModel.setTableRow("" + uploadrowNum);
reportPageDataModel.setTableCol("" + uploadcolNum);
reportList.add(reportPageDataModel);
Debug.println("得到上报数据: uploadrowNum:" + uploadrowNum +
" uploadcolNum:" + uploadcolNum +
" reportList'size:" + reportList.size());
//输出串
String1.append("<td " + style + "><div id=x" + uploadcolNum + "y" + uploadrowNum + "$>" + tempStr + "</div></td>");
uploadcolNum++; //换下一列
} else{
//输出串
//判断输出格式
//text
if("1".equals(buildGoupColModel.getUnitStyle())){
String1.append("<td " + style + " " + buildGoupColModel.getOutputValue() + " >" + tempStr + "</td>");
} else{
if(tempStr == null || " ".equals(tempStr)){
tempStr = "";
}
//input text
if("2".equals(buildGoupColModel.getUnitStyle())){
String1.append("<td " + style + "> <input type=text style=\"WIDTH: 90%;\" value='" + (tempStr).trim() + "' " +
buildGoupColModel.getOutputValue() + "></td>");
} else
//查询条件输入页面的下拉框输出
if("3".equals(buildGoupColModel.getUnitStyle())){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -