??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
]]>
import java.net.URL;
import java.sql.*;
import java.util.Properties;
import lotus.notes.*;
import java.util.*;
public class savetonewdatabase extends AgentBase {
public void NotesMain() {
Driver drv = null;
PrintWriter out = null;
try {
Session session = getSession();
AgentContext ac = session.getAgentContext();
Database db = ac.getCurrentDatabase();
Database SendDB = session.getDatabase(db.getServer(),"lt_getfile.nsf");
Document doc = ac.getDocumentContext();
out = getAgentOutput();
String docUnid;
//Get the new record's unid
docUnid = uniqueID();
//Get the sql insert statement
StringBuffer SqlUrl = new StringBuffer("Insert into Shouwen_stat (");
StringBuffer SqlValue = new StringBuffer(" values (");
String temp= doc.getItemValueString("F_hao");
if(temp!=null){
temp = doc.getItemValueString("F_ziTitle")+"?+doc.getItemValueString("F_zi")+"?+doc.getItemValueString("F_hao")+"?;
}else{
temp = "?+doc.getItemValueString("F_zi")+"?;
}
if (temp!= null){
SqlUrl.append("doc_no");
SqlValue.append("'" + temp+"'");
}
String doc_id = doc.getItemValueString("CurDocId");
if (doc_id != null) {
SqlUrl.append(",doc_id");
SqlValue.append(",'" + doc_id + "'");
}
String sqlField = doc.getItemValueString("F_title");
if (sqlField != null) {
SqlUrl.append(",doc_title");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("shenghr");
if (sqlField != null) {
SqlUrl.append(",niban_people");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_BigSpecies");
if (sqlField != null) {
SqlUrl.append(",wen_zhong");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("text");
if (sqlField != null) {
SqlUrl.append(",file_content");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("timewrite"); //收文日期
if (sqlField != null) {
SqlUrl.append(",shouwen_date");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_FilekeyWord");
if (sqlField != null) {
SqlUrl.append(",title_word");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_emergency");
if (sqlField != null) {
SqlUrl.append(",huan_ji");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_UnitName");
if (sqlField != null) {
SqlUrl.append(",laiwen_unit");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_Secret");
if (sqlField != null) {
SqlUrl.append(",mi_ji");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("laiwfs");
if (sqlField != null) {
SqlUrl.append(",laiwen_mode");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("shengpyj");
if (sqlField != null) {
SqlUrl.append(",niban_date");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("shenghyj");
if (sqlField != null) {
SqlUrl.append(",niban_yijian");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("F_EndTime");
if (sqlField != null) {
SqlUrl.append(",banli_qixian");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("lind");
if (sqlField != null) {
SqlUrl.append(",chengban_yj");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("pisyj");
if (sqlField != null) {
SqlUrl.append(",piban_date");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("lindps");
if (sqlField != null) {
SqlUrl.append(",piban_yijian");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("banlyj");
if (sqlField != null) {
SqlUrl.append(",banli_jieguo");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("banlr");
if (sqlField != null) {
SqlUrl.append(",banli_people");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("banlsj");
if (sqlField != null) {
SqlUrl.append(",banli_date");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("chengbyj");
if (sqlField != null) {
SqlUrl.append(",piban_people");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("chengbr");
if (sqlField != null) {
SqlUrl.append(",chengban_people");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("chengbsj");
if (sqlField != null) {
SqlUrl.append(",chengban_date");
SqlValue.append(",'" + sqlField + "'");
}
sqlField = doc.getItemValueString("temp"); //水?br />
if (sqlField != null) {
SqlUrl.append(",shouwen_bianhao");
SqlValue.append(",'" + sqlField + "'");
}
sqlField=doc.getItemValueString("shihgd"); //文g是否归档
if(sqlField!=null){
SqlUrl.append(",document_state");
SqlValue.append(",'"+sqlField+"'");
}
sqlField=doc.getItemValueString("wenjzx"); //文g走向
if(sqlField!=null){
SqlUrl.append(",send_file");
SqlValue.append(",'"+sqlField+"'");
}
SqlUrl.append(")");
SqlValue.append(")");
String Va = SqlValue.toString();
SqlUrl.append(Va);
// Connect to data source
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
drv = new sun.jdbc.odbc.JdbcOdbcDriver();
String url = "jdbc:odbc:is_archive";
Properties props = new Properties();
props.put("user","isa");
props.put("password","gxmi");
Connection con = drv.connect(url,props);
if (con==null){
out.println("<h1>Con't Connect to DB!</h1>");
return;
}
Statement stmt = con.createStatement();
//Insert a record to the Fwdj table
Va = SqlUrl.toString();
Va =new String(Va.getBytes("gb2312"),"ISO-8859-1");
stmt.executeUpdate(Va);
out.println("<link rel='stylesheet' href='/oa.css'><br><br><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>");
out.println("<TR VALIGN=top><TD WIDTH=232><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.25E!OpenElement&FieldElemFormat=gif' WIDTH=208 HEIGHT=21></TD>");
out.println("<TD WIDTH=416 VALIGN=middle><DIV ALIGN=center><B><FONT SIZE=5 COLOR='0000FF'>操作反馈信息</FONT></B></DIV></TD></TR></TABLE>");
out.println("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR VALIGN=top>");
out.println("<TD WIDTH=689><IMG SRC='/Lt_getfile.nsf/c01a1dee4878d8a648256b270024a88c/$Body/0.CFA!OpenElement&FieldElemFormat=jpg' WIDTH=688 HEIGHT=4></TD></TR>");
out.println("</TABLE><BR><br><br><br><br><P><BR><BR><BR><BR>");
out.println("<table border=0 bgColor=#0099cc borderColorLight=#000000 cellPadding=1 cellSpacing=2 align='center'><tr><td bgcolor=#EFEFEF>文g发送给下一办理?+doc.getItemValue("sendtobak")+"办理!</td></tr></table>");
} catch (Exception e) {
out.println(e.getMessage());
e.printStackTrace();
}
}
public static String uniqueID()
{
StringBuffer sb=new StringBuffer(20);
java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyy/MM/dd");
java.util.Date currentTime=new java.util.Date();
String sid=formatter.format(currentTime);
return sid;
}
public static String replaceAll(String operStr,String oldStr ,String replaceStr){
int fromIndex=0;
int index=0;
int oldStrLen=oldStr.length();
int replaceStrLen=replaceStr.length();
while((index=operStr.indexOf(oldStr,fromIndex))!=-1){
//新的位置L
//fromIndex+replaceStrLen-oldStrLen+1
fromIndex=index + replaceStrLen;
operStr=operStr.substring(0,index)+replaceStr+
operStr.substring(index+oldStrLen,operStr.length());
}
return operStr;
}
}
~号
域名
含义
cd
说明
01
SaveOptions
防止使用该表单创建文?br />
文本?br />
该域是系l域当gؓ”0”的时候当前表单不会创建文档,因ؓq里使用该表单仅仅是Z选择查询条gQ不需要创建文档,所以该域的gؓ“0”
02
biaoti
发文标题
文本?br />
03
zhutici
主题?br />
文本?br />
04
laiwenhao
发文?br />
文本?br />
05
nigaoren
拟稿?br />
文本?br />
06
danwei
拟稿人单?br />
文本?br />
07
syear
文档所属年?br />
文本?br />
08
smonth
文档所属月?br />
文本?br />
在表单上按照用户要求和用习惯利用表格布局好上q元素后Q在表单上创Z个热Ҏ(gu)?#8220;现在查找“Q执行@Command([ToolsRunMacro];"(wFaWenSearch)") 的公式命令,其中wFaWenSearch 是一个共享代理,代码如下QSub Initialize ‘//定义变量 Dim session As New NotesSession Dim cDoc As NotesDocument Dim db As NotesDatabase Dim sResult , Set sResultemp As NotesDocumentCollection Dim sql As String Set db=session.currentDatabase ‘//获得当前数据?Set cDoc=session.DocumentContext() ‘//获得当前文档Q即用户打开的选择条g的表单Fsearch Set view=db.getView("($UNID)") ‘//获得($UNID)视图Q该视图里现实所有文?‘//============获取查询条g=========// sYear=cDoc.syear(0) sMonth=cDoc.smonth(0) biaoti=cDoc.biaoti(0) zhutici=cDoc.zhutici(0) laiwenhao=cDoc.laiwenhao(0) danwei=cDoc.danwei(0) nigaoren=cDoc.nigaoren(0) ‘//================END================//‘//=====l合查询条g======//sql="form=""fwmain"""+"&(@Contains(biaoti;"""+biaoti+""")"+"|@Contains(zhutici;"""+zhutici''>|@Contains(zhutici;"""+zhutici+""")"+_"|@Contains(t1+""[""+@text(t2)+""]""+@text(t3''>|@Contains(t1+""[""+@text(t2)+""]""+@text(t3)+ ""?"+;"""+laiwenhao+""")"+"|@contains(danwei">|@contains(danwei; """+danwei+""")"+_"|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear''>|@Contains(nigaoren;"""+nigaoren+""")"+"|@Contains(sYear;"""+sYear+""")"+"| @Contains(sMonth;"""+sMonth+"""))"Set sResultemp= db.search(sql,Nothing,0) ‘//在数据库中搜索满上q条件的所有文档,获得该文档集Q但是由于用search语法会把当前?#8217;//作者没有阅L限的文档也搜索到Q所以先把搜索到的文档集赋予临时变量sResultemp 再进行处?Set sResult=db.search("@Contains(sYear;''1'')",Nothing,0) ‘//初始化一个文档集sResulQ这文档集中没有文g?#8216;//========下面q@环主要是利用视图Ҏ(gu)档读者权限的限制功能把sResultemp====//‘//========q个文档集中当前用户有阅L限的文档d到文档集sResul中去=====// For i=1 To sResultemp.count Set sDoc=sResultemp.getNthDocument(i) key=sDoc.bh(0) Set Sview=db.getView("default") Set sDoc=Sview.Getdocumentbykey(key,True) If Not sDoc Is Nothing Then Set sDoctmp=sResult.Getdocument(sDoc) If sDoctmp Is Nothing Then Call sResult.Adddocument(sDoc) End If End If Next If sResult.count=0 Then Print "没有扑ֈ(zhn)要查找的文? Exit Sub End If ''//=========创徏|页来显C查询结?======// Print "<html>" Print "<head>" Print "<link rel=stylesheet type=text/css href=ViewCss.css>" Print "</script>" Print "</head>"Print "<body>" Print "<table width=100%>" Print "<tr>" Print "<td colspan=6 align=right style=border-style:solid;border-width:0 0 2px;border-color:#669933>查找?amp;nbsp;"+Cstr(jjj)+" 份文?amp;nbsp;<br>" Print "</td>" Print "</tr>" Print "<tr>" Print "<td width=5% class=td1></td>" Print "<td width=10% class=td1>q度</td>" Print "<td width=10% class=td1>月䆾</td>" Print "<td width=40% class=td1>标题</td>" Print "<td width=20% class=td1>d部门</td>" Print "<td width=15% class=td1>拟稿?lt;/td>" Print "</tr>" For i=1 To sResult.count Set sDoc=sResult.getNthDocument(i) Set sDoc=view.getDocumentByKey(sDoc.bh(0),True) If Not sDoc Is Nothing Then Print "<tr>" Print "<td class=tdx><a href=/"+sDoc.DBPath(0)+"/merit_gwgl.nsf/($UNID)/"+sDoc.UniversalID+"?opendocument target=_blank><img src=01.gif border=0 ></a></td>" Print "<td class=tdx>"+sDoc.sYear(0)+"</td>" Print "<td class=tdx>"+sDoc.sMonth(0)+"</td>" Print "<td class=tdx>"+sDoc.biaoti(0)+"</td>" Print "<td class=tdx>"+sDoc.danwei(0)+"</td>" Print "<td class=tdx>"+sDoc.nigaoren(0)+"</td>" Print "</tr>" End If Next Print "</table>" Print "</body>" Print "</html>" End Sub
说明Qdccnews@ibm.com为邮件的通信地址Q不需要单独ؓ此在names.nsf中注册。只需要将其在外发的邮件服务器中设|,q样q来的邮件可以识别即可。我们可以通过创徏cd?#8220;邮gq入?#8221;的代理即可解析和接收邮g的信息?br />