⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aggetuserbyname.java.svn-base

📁 一个包含排班信息的模块 2.1. 最新排班 6 2.2. 所有排班 6 2.3. 日常排班统计 7 2.4. 排班管理 7 2.5. 班次配置 7 2.6. 部门人员配置 7
💻 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 + -