apzl_leasing/calc/com/tenwa/reckon/product/GenHtmlInvokerCalc.java
2018-06-03 22:26:41 +08:00

62 lines
2.7 KiB
Java

package com.tenwa.reckon.product;
import java.util.ArrayList;
import java.util.Hashtable;
import com.amarsoft.awe.dw.ASDataObject;
import com.amarsoft.awe.dw.ui.datamodel.MData;
import com.amarsoft.awe.dw.ui.datamodel.MDataBuilder;
import com.amarsoft.awe.dw.ui.invoke.GenHtmlInvokerFilter;
import com.amarsoft.awe.dw.ui.page.FilterDatasByGroup;
import com.amarsoft.awe.dw.ui.page.GenHtml;
import com.amarsoft.awe.dw.ui.page.GenHtmlImp;
import com.amarsoft.awe.dw.ui.style.data.PageStyleData;
public class GenHtmlInvokerCalc extends GenHtmlInvokerFilter{
public ASObjectWindowCalc datawindow;
public GenHtmlInvokerCalc(ASObjectWindowCalc datawindow){
this.datawindow=datawindow;
}
public String generate(ASDataObject asObj, String styleId,Hashtable values, int editstauts, boolean outputControlHtml,String webRootPath) throws Exception {
datawindow.setData(values);
datalist = MDataBuilder.getData(asObj);
filter = new FilterDatasByGroup(asObj.getDONO(), datalist,outputControlHtml);
((FilterDatasByGroup) filter).setAsDataObject(asObj);
filter.run();
String groupInfo[][] = filter.getGroupInfo();
Hashtable groupDatas = filter.getGroupdatas();
String sHtml = "";
//租金测算
PageStyleData pstyle = GenHtmlImpCalc.getPageStyleData(asObj.getDONO(),styleId, webRootPath, asObj.getClientID());
if (outputControlHtml)
sHtml = (new StringBuilder()).append(sHtml).append(pstyle.draghead).toString();
sHtml = (new StringBuilder()).append(sHtml).append(pstyle.head).toString();
for (int i = 0; i < groupInfo.length; i++) {
//循环获取分组表格
ArrayList data = (ArrayList) groupDatas.get(groupInfo[i][0]);
if (data == null && "NOGROUPSYS@".equals(groupInfo[i][0]))
continue;
//租金测算
GenHtml html = new GenHtmlImpCalc(asObj, data, pstyle, groupInfo[i],editstauts, webRootPath,filter.getHiddenDatas(),datawindow);
if (groupInfo.length <= 1)
html.setHidGroupHeadAndFoot(true);
sHtml = (new StringBuilder()).append(sHtml).append(html.gen(values)).toString();
}
for (int i = 0; i < filter.getHiddenDatas().size(); i++) {
MData hidden = (MData) filter.getHiddenDatas().get(i);
String colName = hidden.getField(MDataBuilder.getColumnsIndex2("COLNAME")).getValue();
String value = values.get(colName) != null ? values.get(colName).toString() : "";
sHtml = (new StringBuilder()).append(sHtml).append("<input type=\"hidden\" name=\"").append(colName).append("\" value=\"").append(value.replace("\"", "&#34;")).append("\" alstype=\"hidden\">\n").toString();
}
sHtml = (new StringBuilder()).append(sHtml).append(pstyle.foot).toString();
if (outputControlHtml)
sHtml = (new StringBuilder()).append(sHtml).append(pstyle.dragfoot).toString();
return sHtml;
}
}