「java交接文档模板」文件资料交接单模板

博主:adminadmin 2022-11-27 04:34:05 47

本篇文章给大家谈谈java交接文档模板,以及文件资料交接单模板对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java如何根据word模板生成word文档

首先是action的createDoc方法:

[java]

/**

* 通过HttpCient调用报告服务器的方法生成报告 DOC

*/

public String createDoc() throws Exception {

//定义放回成功与否的判断码

String prMsg="";

// 获取当前登录的用户

UserVo userVo = CommonUtils.getUserMessage();

//获取模版类型

docType = Struts2Utils.getParameter("docType");

//重新创建文档

String creatOrnot = Struts2Utils.getParameter("creatOrnot");

//获取组组编号参数

workgroupId = Struts2Utils.getParameter("workgroupId");

//获取评估用例实例ID参数

evtcaseInstId = Struts2Utils.getParameter("evtcaseInstId");

if(CommonUtils.isNotNull(docType)){

//获取项目Id

projectId = Struts2Utils.getParameter("projectId");

if(!CommonUtils.isNotNull(projectId)){

if(CommonUtils.isNotNull(this.getIdFromSession("PM_PROJECTID"))){

projectId = this.getIdFromSession("PM_PROJECTID").toString();

}else{

Struts2Utils.getRequest().setAttribute("msg", "请先选择项目!");

}

}

if(CommonUtils.isNotNull(projectId)){

prMsg = infoSystemDescService.downloadFileByUrl(projectId, userVo.getUserId(), workgroupId, evtcaseInstId, docType, creatOrnot);

}

}

return "docList";

}

注:在我贴出来的代码中,能看懂就行了,有些不用管他(可能是其他业务方面的判断),关于最后返回的prMsg---代表各种状态 主要表示成功与否或者是出错的信息。

接着我贴出service层的方法downloadFileByUrl

[java]

/prep/pp/ppre name="code" class="java"pre name="code" class="java"/**

* 功能:

* 1.(生成报告文档)

* 2.保存指定URL的源文件到指定路径下

* @param projectId

* @param userId

* @param workgroupId

* @param evtcaseInstId

* @param docType

* @param creatOrnot

* @return

* @throws Exception

*/

@SuppressWarnings("deprecation")

public synchronized String downloadFileByUrl(String projectId,String userId,String workgroupId,String evtcaseInstId,String docType,String creatOrnot) throws Exception {

String msg = "1";//"1":默认为创建成功的提示信息 "2":标识创建失败

String srcUrl = ""; //报告服务器的执行路径

HttpResponse response = null;

FileOutputStream out = null;

HttpClient httpclient = null;

HttpGet httpget = null;

long time1 = System.currentTimeMillis();

//获取保存后的路径

TProjDoc projDoc = projectDocDao.findFileByType(userId, Integer.parseInt(docType), Long.parseLong(projectId), workgroupId,evtcaseInstId);

if(projDoc == null || (projDoc != null CommonUtils.isNotNull(creatOrnot) creatOrnot.equals("1"))){ //FT_任务编号_[FID]

try {

//获取报告服务器的执行路径

srcUrl = xmlPathDef.getActionUrl(docType, projectId,userId,workgroupId,evtcaseInstId);

HttpParams httpParams = new BasicHttpParams();

// 设置最大连接数

ConnManagerParams.setMaxTotalConnections(httpParams, 1);

// 设置获取连接的最大等待时间

//ConnManagerParams.setTimeout(httpParams, 6000);

// 设置每个路由最大连接数

ConnPerRouteBean connPerRoute = new ConnPerRouteBean(1);

ConnManagerParams.setMaxConnectionsPerRoute(httpParams,connPerRoute);

// 设置连接超时时间

HttpConnectionParams.setConnectionTimeout(httpParams, 6000);

// 设置读取超时时间

if(docType.toString().equals(XmlPathDef.SPOTTEST_DOC) docType.toString().equals(XmlPathDef.FTEST_DOC)){

HttpConnectionParams.setSoTimeout(httpParams, 2400000);

}else{

HttpConnectionParams.setSoTimeout(httpParams, 600000);

}

SchemeRegistry registry = new SchemeRegistry();

registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));

registry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));

ClientConnectionManager connectionManager = new ThreadSafeClientConnManager(httpParams, registry);

httpclient = new DefaultHttpClient(connectionManager, httpParams);

httpget = new HttpGet(srcUrl);

//执行返回

response = httpclient.execute(httpget);

//如果是本机既当服务器,又当报表服务器,那么就只生成一遍

String ipvalues = xmlPathDef.getRepUrl();

if(CommonUtils.isNotNull(ipvalues)){

if(ipvalues.indexOf(":") != -1){

ipvalues = ipvalues.substring(0,ipvalues.lastIndexOf(":"));

}

}

HttpEntity entity = response.getEntity();

//获取保存后的路径

projDoc = projectDocDao.findFileByType(userId,Integer.parseInt(docType), Long.parseLong(projectId), workgroupId,evtcaseInstId);

String filePath = "";

if(projDoc != null)

filePath = projDoc.getPath();

if(CommonUtils.isNotNull(filePath)){

String basepath = XmlPathDef.getBasePath();

String outFilePath = (basepath + filePath).replaceAll("\\\\", "\\/");

XmlPathDef.isExists(outFilePath);

File wdFile = new File(outFilePath);

out = new FileOutputStream(wdFile);

int l;

byte[] tmp = new byte[2048];

while ((l = instream.read(tmp)) != -1) {

out.write(tmp, 0, l);

}

out.flush();

out.close();

System.out.println("****************************** ");

System.out.println("");

System.out.println("*************** 恭喜! 报告创建成功 结束 ***************");

System.out.println("");

}else{

msg = "8";//说明word创建成功,但是数据没有保存成功

response = null;

}

}else{

msg = "2";

}

} catch (ClientProtocolException e) {

msg = "7";

e.printStackTrace();

} catch (IOException e) {

msg = "7";

logger.error("数据库报告服务器地址配置错误或网络不通!!2.连接是否超时" + e.getMessage());

e.printStackTrace();

}finally{

if(out!=null){

try {

out.close();

} catch (IOException e) {

msg = "7";

logger.error("数据库报告服务器地址配置错误或网络不通!!2.连接是否超时" + e.getMessage());

e.printStackTrace();

}

}

}

}

long time2 = System.currentTimeMillis();

long numTime = time2 - time1;

if(docType.toString().equals(XmlPathDef.SPOTTEST_DOC) docType.toString().equals(XmlPathDef.FTEST_DOC)){

if(numTime = 2401000){

msg = "9";

}

}else{

if(numTime = 601000){

msg = "9";

}

}

System.out.println("");

String loggerinfo = "********* 报告类型为 :" + docType + " 执行时间为: " + (time2 - time1) /1000 + " 秒!***************";

System.out.println(loggerinfo);

System.out.println("");

System.out.println("*****************************");

logger.info(loggerinfo);

return msg;

}

程序员的交接工作

人在场的情况下进行,如果有一段交接期就更好了,可以让接替人在这段时间内参加交接人的项目,根据该程序员的重要性按下面顺序[重要性递增],交接工作主要针对未完成的项目任务进行:

1.目前未完成的软件代码和文档,代码和文档应相对应,关键代码应该有详细注释,各个模块的解释性文档,设计文档等.[这块如果公司有好的规范是很方便的,如果没有一个好的规范一般只有代码没有文档就很麻烦了,要求重新写出代码说明,规范代码注释.对关键代码要求交接人和接受人之间有口头的说明和解释]

2.目前未完成的设计任务,其中按其担当职责不同有下面几个东西需要交接:模块设计文档[系统架构/主程序员],模块变动文档[主程序员],模块测试文档[主程序员/程序员],系统测试文档[主程序员/系统架构],系统分析书[系统架构],需求分析书[系统架构/主程序员].要求所有交接必须项目经理,交接人,接收人三人在场,并口头解释说明.

3.人事关系交接,这块应该不属于项目交接了呵呵.

4.长期有效的联系地址或电话.

交接工作的成效考核:接收人必须对原有项目有充分的认识,能够完全代替交接人进行工作.所有文档符合规范,代码有充分的注释.已完成的测试文档必须详细.至此交接工作应该算是圆满完成了.

上面是一般性交接工作的流程和需要注意的地方,一个好的交接必须有完善的规范做支撑,才能达到事半功倍的效果,希望对LZ有帮助.

java 调用word模板实现循环套打生成word文档

1,模版里做循环,需要循环的地方 在模版里加入 #list reportListas a /#list 编辑好。

2,代码里

MapString,Object resMap = new HashMap();

resMap.put("reportList", list);

t.process(resMap,out);

关于java交接文档模板和文件资料交接单模板的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。