%@page import="com.amarsoft.biz.formatdoc.model.FormatDocHelp"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/IncludeBeginMD.jsp"%><%
/*
Author: xdhou 2005.02.25
Content: 从FORMATDOC_DATA生成文件
Input Param:
DocID: formatdoc_catalog中的文档类别(调查报告,贷后检查报告,...)
ObjectNo:业务流水号
Output param:
History Log: cdeng 2009-02-12 修改文档存储路径,增加以当年年份命名的目录
*/
//获得组件参数
String sObjectNo = CurPage.getParameter("ObjectNo");
String sObjectType = CurPage.getParameter("ObjectType");
String sDocID = CurPage.getParameter("DocID");
String sCustomerID = CurPage.getParameter("CustomerID");
String sAttribute = CurPage.getParameter("Attribute");
String sOrgID = FormatDocHelp.getBranchOrgID(CurOrg.getOrgID());
%>
调查报告
正在打开报告,请稍候......
<%
StringTokenizer st = null;
String sDirID = "";
String sSql = "",sSerialNo="";
String Produce="Yes";
int i=0; //已完成报告页数
st = new StringTokenizer(sAttribute,",");
while(st.hasMoreTokens()){
sDirID += "'"+st.nextToken()+"',";
}
if(sDirID.length()>=1)
sDirID = sDirID.substring(0,sDirID.length()-1);
else{
Produce="No";
}
if(Produce.equals("Yes")){
sSql = " select O.serialno,O.objectno,O.docid,O.dirid,O.dirname,f2.jspfilename " +
" from O,jbo.formatdoc.FORMATDOC_DEF f2" +
" where f2.docid=O.docid and f2.dirid =O.dirid and O.dirid in ("+sDirID+")"+
" and O.objectno='"+sObjectNo+"' and O.objecttype='"+sObjectType+"' and O.docid='"+sDocID+"' "+
" and f2.JspFileName is not null and f2.JspFileName <>'NULL'"+
" order by treeno ";
//out.println(sSql);
List list = JBOFactory.createBizObjectQuery("jbo.formatdoc.FORMATDOC_DATA", sSql).getResultList(false);
String sFirstSection = "1";
for(BizObject bo : list){
sSerialNo = bo.getAttribute("serialno").getString();
String sJspFileName = DataConvert.toString(bo.getAttribute("jspfilename").getString());
String sDirName = DataConvert.toString(bo.getAttribute("dirname").getString());
out.println("*************"+sDirName+"***********************完成"+"
");
if(!sJspFileName.trim().equals("")){
i++;
if(i==list.size()){
//尾页
sFirstSection = "END";
}else if(i>1){
sFirstSection = "0";
}
%>
<%
}else{ //如果没有jsp,仅为一个标题
String sSerialNoNew = MessageDigest.getDigestAsUpperHexString("MD5", sDocID+sObjectNo+sObjectType);
//判断路径是否存在,如果不存在自动创建;文档存储路径中增加以当年年份命名的目录 cdeng 2009-02-12
java.io.File dFile=null;
String sBasePath = CurConfig.getConfigure("WorkDocSavePath");
if(sBasePath ==null || sBasePath.equals(""))
sBasePath=application.getRealPath("/FormatDoc/WorkDoc");
String sFileSavePath=sBasePath+"/"+StringFunction.getToday().substring(0,4);
try {
dFile=new java.io.File(sFileSavePath);
if(!dFile.exists()) {
dFile.mkdirs();
}
}catch (Exception e) {
ARE.getLog().error(e.getMessage(),e);
throw e;
}
String sFileName = sFileSavePath+"/"+sSerialNoNew+".html";
java.io.File file = new java.io.File(sFileName);
java.io.FileOutputStream fileOut = null;
String sSql1="",sSavePath="",sfSerialNo="",sSql2="";
BizObjectManager bm = JBOFactory.getBizObjectManager("jbo.formatdoc.FORMATDOC_RECORD");
BizObject boRD = null;
if(sFirstSection.equals("1")){
sSql1=" select SerialNo,SavePath from O where ObjectType=:ObjectType and ObjectNo=:ObjectNo and DocID=:DocID";
boRD = bm.createQuery(sSql1).setParameter("ObjectType", sObjectType).setParameter("ObjectNo", sObjectNo).setParameter("DocID", sDocID).getSingleResult(true);
if(boRD != null){
sfSerialNo = boRD.getAttribute("SerialNo").getString();
sSavePath = boRD.getAttribute("SavePath").getString();
}
if(sfSerialNo==null) sfSerialNo="";
if(sSavePath==null) sSavePath="";
if(sfSerialNo.equals("")){
boRD = bm.newObject();
boRD.setAttributeValue("SerialNo", sSerialNo).setAttributeValue("ObjectType", sObjectType).setAttributeValue("ObjectNo", sObjectNo)
.setAttributeValue("DocID", sDocID).setAttributeValue("SavePath", sFileName);
}else if(!sfSerialNo.equals("") && !sSavePath.equals(sFileName)){
boRD.setAttributeValue("SavePath", sFileName);
}
}
if(sFirstSection.equals("1")){
fileOut = new java.io.FileOutputStream(file,false);
sFirstSection = "0";
}else{
fileOut = new java.io.FileOutputStream(file,true);
}
String sContent = bo.getAttribute("dirname").getString()+"
";
fileOut.write(sContent.getBytes());
fileOut.close();
if(sFirstSection.equals("1")){
bm.saveObject(boRD);
}
}
}
}
%>
<%@ include file="/IncludeEnd.jsp"%>