📄 aggetuserbyname.java.svn-base
字号:
package com.fzet.cois.dividework.agents;
import java.io.PrintWriter;
import com.fzet.cois.common.scriptLib.Common;
import com.fzet.cois.common.scriptLib.ErrHandle;
import lotus.domino.AgentBase;
import lotus.domino.AgentContext;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.DocumentCollection;
import lotus.domino.NotesError;
import lotus.domino.NotesException;
import lotus.domino.Session;
import lotus.domino.View;
import lotus.domino.ViewEntry;
import lotus.domino.ViewEntryCollection;
/**
* @author yeshq 根据用户名取用户的个人排班数据
* 返回值:
* Case 1: <Return>0</Return>
* <Error>
* 错误消息
* </Error>
*
* Case 2: <Return>1</Return>
* <Content>
* <rows>
* 数据体,包括所有返回的数据
* <row>
* <cell>0/1</cell> //记录是否存在 0-不存 1-存在
* <cell>姓名</cell>
* <cell>组名</cell>
* <cell>周1数据</cell>
* <cell>周2数据</cell>
* <cell>周3数据</cell>
* <cell>周4数据</cell>
* <cell>周5数据</cell>
* <cell>周6数据</cell>
* <cell>周7数据</cell>
* <cell>周计数据</cell>
* <cell>累计数据</cell>
* </row>
* </rows>
* </Content>
*/
public class AgGetUserByName extends AgentBase {
public void NotesMain() {
ErrHandle err = null; // 错误日志
Session session = null; // 当前会话
AgentContext ac = null; // 当前上下文环境
Database db = null; // 当前数据库
Document doc = null, docPerson = null; // 当前文档
PrintWriter pw = null; // 输出流
String sQuery = null; // 查询参数
StringBuffer sbResult = new StringBuffer(); // 输出结果字符串缓冲:查询结果
DocumentCollection dc = null;
try {
// 初始化过程
session = getSession();
ac = session.getAgentContext();
doc = ac.getDocumentContext();
db = ac.getCurrentDatabase();
pw = getAgentOutput();
// 初始化错误日志类
err = new ErrHandle(session, 0, "", "AgGetUserByName.xml");
// 取得查询参数
sQuery = doc.getItemValueString("Query_String_Decoded");
// 提取当用户名
String sUserName = Common.parseParameter(sQuery, "UserName");
if (sUserName == null)
throw new NotesException(NotesError.NOTES_ERR_OBJECT_NOT_FOUND, "未找到参数UserName");
String sStartday = Common.parseParameter(sQuery, "Start_day");
if (sStartday == null)
throw new NotesException(NotesError.NOTES_ERR_OBJECT_NOT_FOUND, "未找到参数Startday");
View vwPersonPaibByName = db.getView("vwPersonPaibForStat");
if (vwPersonPaibByName == null) {
Common.returnXML(pw, "<root><Return>0</Return><Error>未找到视图vwPersonPaibForStat!</Error></root>");
return;
}
// 开始计算返回值
sbResult.append("<root><Return>1</Return><Content>");
sbResult.append("<rows>");
dc = vwPersonPaibByName.getAllDocumentsByKey(sStartday + sUserName, true);
docPerson = dc.getFirstDocument();
if (docPerson != null) {
// 2、数据体
// 开始
sbResult.append("<row>");
// 周1到周7数据及周计,累计
sbResult.append("<cell>1</cell>"); //记录存在标识
sbResult.append("<cell>").append(docPerson.getItemValueString("name")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("group")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day1")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day2")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day3")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day4")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day5")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day6")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("day7")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("Zj")).append("</cell>");
sbResult.append("<cell>").append(docPerson.getItemValueString("Lj")).append("</cell>");
// 结束
sbResult.append("</row>");
docPerson.recycle();
} else {
sbResult.append("<row>");
sbResult.append("<cell>0</cell>"); //记录不存在标识
sbResult.append("<cell>").append(sUserName).append("</cell>");
// 组名,周1到周7数据
for (int k = 0; k < 8; k++)
sbResult.append("<cell></cell>");
// 返回周计、累计
sbResult.append("<cell>0.0</cell>");
sbResult.append("<cell>0.0</cell>");
// 结束
sbResult.append("</row>");
}
sbResult.append("</rows></Content></root>");
// 返回结果
Common.returnXML(pw, sbResult.toString());
return;
} catch (NotesException e) {
StringBuffer sbReturn = new StringBuffer().append("<root><Return>0</Return><Error>").append(e.text).append(
"</Error></root>");
Common.returnXML(pw, sbReturn.toString());
err.record(true, e.id, e.text);
e.printStackTrace();
} finally {
// 释放所有申请的资源
try {
if (docPerson != null)
docPerson.recycle();
if (db != null)
db.recycle();
if (ac != null)
ac.recycle();
if (session != null)
session.recycle();
} catch (NotesException e) {
System.out.println(e.text);
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -