【Java开源代码栏目提醒】:以下是网学会员为您推荐的Java开源代码-BackupArchiveListAction.java,希望本篇文章对您学习有所帮助。
package com.stsc.archive.backup;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Properties;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;
import com.stsc.util.STPoolDataSet;
import com.stsc.util.STResultSet;
import com.stsc.util.PageCt;
import com.stsc.archive.manage.*;
/**
* Implementation of <strong>Action</strong> that show archive list.
*
* @author Lu Tianxiong
* @version $Revision: 1.0 $ $Date: 2003/04/04 11:56:08 $
*/
public final class BackupArchiveListAction extends Action {
// --------------------------------------------------------- private Methods
/**
* 逻辑变量flag控制sql语句后面是加where还是加and。
*/
private boolean flag = false;
/**
* 方法generateSql调用方法createSql根据输入条件创建查询语句。
*/
private String generateSql(HttpServletRequest request){
//String sql = "SELECT * FROM FARCHIVE ";
String sql="";
flag = true;
sql = sql + createSql(request.getParameter("serialno"),"SERIALNO","Int")
+ createSql(request.getParameter("archivetype"),"ARCHIVETYPE","String")
+ createSql(request.getParameter("code"),"CODE","String")
+ createSql(request.getParameter("category"),"CATEGORY","String")
+ createSql(request.getParameter("filetype"),"FILETYPE","String")
//2003-05-22 add by liqf add
//一般文献类型标识
+ createSql(request.getParameter("literaturetype"),"literaturetype","String")
//流程跟踪
+createSql(request.getParameter("recordtransfer"),"recordtransfer","String")
//页数
+createSql(request.getParameter("pagenumber"),"pagenumber","Int")
//电子文档名
+ createSql(request.getParameter("electronicfilename"),"electronicfilename","String")
//份数
+createSql(request.getParameter("copys"),"copys","Int")
//实物借出份数
+ createSql(request.getParameter("lendnum"),"lendnum","Int")
//传阅意见
+ createSql(request.getParameter("suggest"),"suggest","String")
//保管期限(天)
+ createSql(request.getParameter("securityterm"),"securityterm","Int")
//归档稿本、版本情况说明
+ createSql(request.getParameter("filingscripts"),"filingscripts","String")
//历次物理归档情况
+ createSql(request.getParameter("filingtrace"),"filingtrace","String")
//解密日期
+ createSql(request.getParameter("startdecryptiondate"),"decryptiondate","StartDate")
+ createSql(request.getParameter("enddecryptiondate"),"decryptiondate","EndDate")
//销毁日期
+ createSql(request.getParameter("startdestroydate"),"destroydate","StartDate")
+ createSql(request.getParameter("enddestroydate"),"destroydate","EndDate")
//档案人员再次鉴定时间
+ createSql(request.getParameter("startreappraisedates"),"reappraisedates","StartDate")
+ createSql(request.getParameter("startreappraisedates"),"reappraisedates","EndDate")
//案卷号
+ createSql(request.getParameter("volumnno"),"volumnno","String")
+ createSql(request.getParameter("flowno"),"flowno","String")
+ createSql(request.getParameter("title"),"TITLE","String")
+ createSql(request.getParameter("titleremark"),"TITLEREMARK","String")
+ createSql(request.getParameter("fileno"),"FILENO","String")
+ createSql(request.getParameter("startfiledate"),"FILEDATE","StartDate")
+ createSql(request.getParameter("endfiledate"),"FILEDATE","EndDate")
+ createSql(request.getParameter("duty"),"DUTY","String")
+ createSql(request.getParameter("otherduty"),"OTHERDUTY","String")
+ createSql(request.getParameter("attachmenttitle"),"ATTACHMENTTITLE","String")
+ createSql(request.getParameter("keyword"),"KEYWORD","String")
+ createSql(request.getParameter("memo"),"MEMO","String")
+ createSql(request.getParameter("annotation"),"ANNOTATION","String")
+ createSql(request.getParameter("abstractmsg"),"ABSTRACT","String")
+ createSql(request.getParameter("securityclass"),"SECURITYCLASS","String")
+ createSql(request.getParameter("retentionperiod"),"RETENTIONPERIOD","String")
+ createSql(request.getParameter("startarchivedate"),"ARCHIVEDATE","StartDate")
+ createSql(request.getParameter("endarchivedate"),"ARCHIVEDATE","EndDate")
+ createSql(request.getParameter("archivalcode"),"ARCHIVALCODE","String")
+ createSql(request.getParameter("archiveno"),"ARCHIVENO","String")
+ createSql(request.getParameter("handover"),"HANDOVER","String");
System.out.println("sql==="+sql);
return sql;
}
/**
* 方法createSql根据传入的字段值valueField,字段名valueName,和字段类型valueType构成sql语句。
* 同时对于逻辑变量flag进行判断和控制,使sql语句后面加上正确的and或者where。
*/
private String createSql(String valueField,String valueName,String valueType){
String sql = "";
if ((valueField != null)&&(!valueField.trim().equals(""))){
if (valueType.equals("String"))
{
sql += valueName+" like '%"+valueField.trim()+"%'";
} else if (valueType.equals("Int"))
{
sql += valueName+" = "+valueField.trim();
} else if (valueType.equals("StartDate"))
{
sql += valueName+" >= cdate('"+valueField.trim()+"')";
}else if (valueType.equals("EndDate"))
{
sql += valueName+" <= cdate('"+valueField.trim()+"')";
}
if (flag)
{
sql = " AND " + sql;
} else {
sql = " WHERE " + sql;
flag = true;
}
}
return sql;
}
// --------------------------------------------------------- Public Methods
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletExce
上一篇:
BackupArchiveForm.java
下一篇:
白色姜花,略微开了