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

📄 agdeldeptpersons.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 java.util.Vector;
import com.fzet.cois.common.scriptLib.*;

import lotus.domino.*;

import java.util.StringTokenizer;
public class AgDelDeptPersons extends AgentBase {

	public void NotesMain() {
		ErrHandle err = null; // 错误日志
		Session session = null; // 当前会话
		AgentContext ac = null; // 当前上下文环境
		Database dbMain = null;
		Database db = null; // 当前数据库
		View vwCalendar = null; // 日程安排查询视图
		ViewEntryCollection vecReturn = null; // 日程安排返回查询结果记录集实体
		ViewEntry veReturn = null; // 查询结果集中一条实体
		ViewEntry veTemp = null;
		Document doc = null, docPerson = null; // 当前文档

		PrintWriter pw = null; // 输出流
		String sQuery = null; // 查询参数

		String sDeptName = null, sUNID = null; // 查询条件------当前用户名称

		StringBuffer sbResult = new StringBuffer(); // 输出结果字符串缓冲:查询结果

		Document docTemp = null; // 条目字符串变量

		DocumentCollection dc = null;

		try {
			// 初始化过程
			session = getSession();
			ac = session.getAgentContext();
			doc = ac.getDocumentContext();
			db = ac.getCurrentDatabase();
			pw = getAgentOutput();
			dbMain = Common.getMainDb(session);
			// 初始化错误日志类
			err = new ErrHandle(session, 0, "", "agDelDeptPersons.xml");

			// 取得查询参数
			sQuery = doc.getItemValueString("Query_String_Decoded");
			// 取UNID
			sUNID = Common.parseParameter(sQuery, "UNID");
			// 提取当部门户名称
			sDeptName = Common.parseParameter(sQuery, "DeptName");

			if (sDeptName == null)
				throw new NotesException(NotesError.NOTES_ERR_OBJECT_NOT_FOUND,
						"未找到参数DeptName");
			String sStartday = Common.parseParameter(sQuery, "start_day");
			// 提取视图名称
			String sViewName = Common.parseParameter(sQuery, "ViewName");
			// 取值的类型 0:从本库中取 1:从配置中心取
			String sType = Common.parseParameter(sQuery, "Type");
			// 是否新文档
			String sIsNewDoc = Common.parseParameter(sQuery, "NewDoc");

			if (sIsNewDoc.equals("0")) {
				Document oriDoc = db.getDocumentByUNID(sUNID);
				if (oriDoc != null) { // 说明是已保存过的文档
					//System.out.println("保存过的文档");
					View vwPersonPaib = db.getView("vwPaibIndx");
					if (vwPersonPaib == null) {
						//System.out.println("error");
						Common
								.returnXML(pw,
										"<root><Return>0</Return><Error>vwPaibIndx!</Error></root>");
						return;
					}
					vwPersonPaib = db.getView("vwPersonPaib");
					if (vwPersonPaib == null) {
						Common
								.returnXML(pw,
										"<root><Return>0</Return><Error>未找到视图vwPersonPaib!</Error></root>");
						return;
					}
					// 开始计算返回值
					sbResult.append("<root><Return>1</Return><Content>");
					sbResult.append("<Data>");
					vecReturn = vwPersonPaib.getAllEntriesByKey(sStartday
							+ sDeptName, true);
					veReturn = vecReturn.getFirstEntry();
					while (veReturn != null) {
						// 2、数据体

						// 开始
						sbResult.append("<Document>");
						docPerson = veReturn.getDocument();
						System.out.println("zj"+docPerson.getItemValueString("Zj"));
						// asResult.addElement(vCategory);
						// 周1到周7数据及周计,累计
						sbResult.append("<name>").append(
								docPerson.getItemValueString("name")).append(
								"</name>");
						sbResult.append("<day1>").append(
								docPerson.getItemValueString("day1")).append(
								"</day1>");
						sbResult.append("<day2>").append(
								docPerson.getItemValueString("day2"))
								.append("</day2>");
						sbResult.append("<day3>").append(
								docPerson.getItemValueString("day3"))
								.append("</day3>");
						sbResult.append("<day4>").append(
								docPerson.getItemValueString("day4"))
								.append("</day4>");
						sbResult.append("<day5>").append(
								docPerson.getItemValueString("day5")).append(
								"</day5>");
						sbResult.append("<day6>").append(
								docPerson.getItemValueString("day6"))
								.append("</day6>");
						sbResult.append("<day7>").append(
								docPerson.getItemValueString("day7")).append(
								"</day7>");
						sbResult.append("<Zj>").append(
								docPerson.getItemValueString("Zj")).append(
								"</Zj>");
						sbResult.append("<Lj>").append(
								docPerson.getItemValueString("Lj")).append(
								"</Lj>");
						// 结束
						sbResult.append("</Document>");
						docPerson.recycle();

						veTemp = veReturn;
						veReturn = vecReturn.getNextEntry(veReturn);
						veTemp.recycle();
					}
					sbResult.append("</Data></Content></root>");
					//System.out.println(sbResult);

					// 返回结果
					Common.returnXML(pw, sbResult.toString());
					return;
				}
			}
			// 如果是新文档,判断是从本库中取还是从配置中心取
			String sName[] = new String[1]; // 姓名------------返回值
			Document doc1 = null;

			if (sType.equals("0")) {
				// 从本库中取
				View vwUsers = db.getView(sViewName);
				doc1 = vwUsers.getDocumentByKey(sDeptName);
				if (doc1 != null) {
					Vector vTemp1 = session.evaluate(
							"@Implode(DeptUsers;\";\")", doc1);
					int len = split(vTemp1.firstElement().toString(), ";").length;
					sName = new String[len];
					sName = split(vTemp1.firstElement().toString(), ";");
				}
			} else {
				View vwUsers = dbMain.getView("vwUserByDeptName");
				doc1 = vwUsers.getDocumentByKey(sDeptName);

				dc = vwUsers.getAllDocumentsByKey(sDeptName);
				sName = new String[dc.getCount()];   //重新定义sName数组的长度
				doc1 = dc.getFirstDocument();
				int i = 0;
				while (doc1 != null) {
					sName[i] = doc1.getItemValueString("LastName");
					i++;
					docTemp = doc1;
					doc1 = dc.getNextDocument(doc1);
					docTemp.recycle();
				}
			}

			// 输出结果
			// sbResult.append("<root><Return>1</Return><Content><Day>");
			// 开始计算返回值
			sbResult.append("<root><Return>1</Return><Content>");
			sbResult.append("<Data>");
			for (int j = 0; j < sName.length; j++) {
				sbResult.append("<Document>");
				sbResult.append("<name>").append(sName[j]).append("</name>");

				sbResult.append("<day1></day1>");
				sbResult.append("<day2></day2>");
				sbResult.append("<day3></day3>");
				sbResult.append("<day4></day4>");
				sbResult.append("<day5></day5>");
				sbResult.append("<day6></day6>");
				sbResult.append("<day7></day7>");
				sbResult.append("<Zj></Zj>");
				sbResult.append("<Lj></Lj>");
				// 结束

				sbResult.append("</Document>");
			}

			sbResult.append("</Data></Content></root>");
			Common.returnXML(pw, sbResult.toString());
		} 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();
		} catch (Exception e) {
			StringBuffer sbReturn = new StringBuffer().append(
					"<root><Return>0</Return><Error>").append(e.toString())
					.append("</Error></root>");
			Common.returnXML(pw, sbReturn.toString());
			err.record(true, 0, e.toString());
			e.printStackTrace();
		} finally {
			// 释放所有申请的资源
			try {
				if (doc != null)
					doc.recycle();

				if (veReturn != null)
					veReturn.recycle();
				if (vecReturn != null)
					vecReturn.recycle();
				if (vwCalendar != null)
					vwCalendar.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();
			}
		}
	}

	public String[] split(String source, String sign) {
		StringTokenizer commaToker = new StringTokenizer(source, sign);
		String[] result = new String[commaToker.countTokens()];
		for (int i = 0; commaToker.hasMoreTokens(); i++)
			result[i] = commaToker.nextToken();
		return result;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -