DocumentTempletManager.java
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:9k
源码类别:

OA系统

开发平台:

Java

  1. package com.gforce.gfoa;
  2. import com.gforce.currency.database.*;
  3. import java.util.*;
  4. /**
  5.  * <p>Title: GForce Office Automation </p>
  6.  * <p>Description: GForce Office Automation</p>
  7.  * <p>Copyright: 版权所有 2003 (c) 西安吉力科技发展有限公司  Copyright (c) 2003 GForce Sceince & Technology Co.,LTD</p>
  8.  * <p>Company: 西安吉力科技发展有限公司 (2003 GForce Sceince & Technology Co.,LTD)</p>
  9.  * @author 王华
  10.  * @version 2.0
  11.  * Date 2003/12/01
  12.  * 公文模板管理类
  13.  */
  14. public class DocumentTempletManager extends RecordManager
  15. {
  16.   public DocumentTempletManager()
  17.   {
  18.   }
  19.   protected final static String TableName = "DocumentTemplet"; //定义声明本类操作表名称
  20.   protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  21.   protected final static String[] NumericFieldsName = {"BuildUserID","SysDirID","IsAutoBuild"}; //声明数值型字段名称
  22.   protected final static String[] StringFieldsName = {"TempletName","TempletNumber","EnglishAb",
  23.                                                       "WritableUserIDs","WritableDepartIDs",
  24.                                                       "ReadOnlyUserIDs","ReadOnlyDepartIDs",
  25.                                                       "FormEvent"}; //声明字符型字段名称
  26.   protected final static String[] DatetimeFieldsName = {"BuildTime"}; //声明日期时间型字段名称
  27.   protected final static String[] TextFieldsName =     {"PrintHTMLCode","TypesetHTMLCode","JavaScriptCode"}; //声明大字符串型字段名称
  28.   /**
  29.    * 根据字段名称获取插入数据时表单元素名称
  30.    * @param strFieldName  字段名称
  31.    * @return  表单素名称
  32.    */
  33.   protected String InsertParament(String strFieldName) {
  34.       return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  35.   }
  36.   /**
  37.    * 根据字段名称获取修改数据时表单元素名称
  38.    * @param strFieldName  字段名称
  39.    * @return  表单素名称
  40.    */
  41.   protected String UpdateParament(String strFieldName) {
  42.       return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  43.   }
  44.   /**
  45.    * 获取本类操作表名称
  46.    * @return  表名称
  47.    */
  48.   public String getTableName() { //获取本类操作表名称
  49.       return TableName;
  50.   }
  51.   protected String getIDFieldName() { //获取主键或者可以确定唯一记录的字段名称
  52.       return IDFieldName;
  53.   }
  54.   protected String[] getNumericFieldsName() { //获取数值型字段名称
  55.       return NumericFieldsName;
  56.   }
  57.   protected String[] getStringFieldsName() { //获取字符型字段名称
  58.       return StringFieldsName;
  59.   }
  60.   protected String[] getDatetimeFieldsName() { //获取日期时间型字段名称
  61.       return DatetimeFieldsName;
  62.   }
  63.   protected String[] getTextFieldsName() { //获取大字符串型字段名称
  64.       return TextFieldsName;
  65.   }
  66.   /**
  67.    * 通过ID获取指定记录
  68.    * @param intRecordID  记录ID
  69.    * @return 指定记录向量集
  70.    */
  71.   public static Vector getRecordByID(int intRecordID)
  72.   {
  73.     Vector vt = SQLManager.GetResultSet("SELECT [ID],[TempletName],[BuildTime],[BuildUserID],[TempletNumber],[EnglishAb],[WritableUserIDs],[WritableDepartIDs],[ReadOnlyUserIDs],[ReadOnlyDepartIDs],[PrintHTMLCode],[SysDirID],[IsAutoBuild],[TypesetHTMLCode],[FormEvent],[JavaScriptCode] FROM " + TableName + " WHERE ID = " + intRecordID + "");
  74.     return vt;
  75.   }
  76.   /**
  77.    * 获取符合指定条件的公文模板记录集
  78.    * @param strBuildUserID 创建用户ID
  79.    * @param iSysDirID 系统目录ID
  80.    * @param strIsAutoBuild 是否自动生成
  81.    * @param strTempletName 模板名称
  82.    * @param strTempletNumber 模板编号
  83.    * @param strEnglishAb 英文缩写
  84.    * @param strWritableUserIDs 可写用户IDs
  85.    * @param strWritableDepartIDs 可写部门IDs
  86.    * @param strReadOnlyUserIDs 只读用户IDs
  87.    * @param strReadOnlyDepartIDs 只读部门IDs
  88.    * @param strFormEvent 表单事件
  89.    * @param strPrintHTMLCode 打印HTML代码
  90.    * @param strTypesetHTMLCode 排版格式HTML代码
  91.    * @param strJavaScriptCode 嵌套JavaScript代码
  92.    * @param strBuildTimeFrom 建立时间起始
  93.    * @param strBuildTimeTo 建立时间截至
  94.    * @param strOrderBy 排序字段
  95.    * @param bIsDesc 是否降序排序
  96.    * @return 符合条件记录向量集
  97.    */
  98.   public static Vector getRecordBySearch(String strBuildUserName, int iSysDirID, String strIsAutoBuild, String strTempletName, String strTempletNumber,
  99.                                          String strEnglishAb, String strWritableUserIDs, String strWritableDepartIDs, String strReadOnlyUserIDs, String strReadOnlyDepartIDs,
  100.                                          String strFormEvent, String strPrintHTMLCode, String strTypesetHTMLCode, String strJavaScriptCode,
  101.                                          String strBuildTimeFrom, String strBuildTimeTo, String strOrderBy, boolean bIsDesc)
  102.   {
  103.     return getRecordBySearch(strBuildUserName,iSysDirID,strIsAutoBuild,strTempletName,strTempletNumber,strEnglishAb,strWritableUserIDs,strWritableDepartIDs,strReadOnlyUserIDs,strReadOnlyDepartIDs,strFormEvent,strPrintHTMLCode,strTypesetHTMLCode,strJavaScriptCode,strBuildTimeFrom,strBuildTimeTo,strOrderBy,bIsDesc,true);
  104.   }
  105.   /**
  106.    * 获取符合指定条件的公文模板记录集
  107.    * @param strBuildUserID 创建用户ID
  108.    * @param iSysDirID 系统目录ID
  109.    * @param strIsAutoBuild 是否自动生成
  110.    * @param strTempletName 模板名称
  111.    * @param strTempletNumber 模板编号
  112.    * @param strEnglishAb 英文缩写
  113.    * @param strWritableUserIDs 可写用户IDs
  114.    * @param strWritableDepartIDs 可写部门IDs
  115.    * @param strReadOnlyUserIDs 只读用户IDs
  116.    * @param strReadOnlyDepartIDs 只读部门IDs
  117.    * @param strFormEvent 表单事件
  118.    * @param strPrintHTMLCode 打印HTML代码
  119.    * @param strTypesetHTMLCode 排版格式HTML代码
  120.    * @param strJavaScriptCode 嵌套JavaScript代码
  121.    * @param strBuildTimeFrom 建立时间起始
  122.    * @param strBuildTimeTo 建立时间截至
  123.    * @param strOrderBy 排序字段
  124.    * @param bIsDesc 是否降序排序
  125.    * @param bHiddenUsing 是否隐藏正在使用的模板
  126.    * @return 符合条件记录向量集
  127.    */
  128.   public static Vector getRecordBySearch(String strBuildUserName, int iSysDirID, String strIsAutoBuild, String strTempletName, String strTempletNumber,
  129.                                          String strEnglishAb, String strWritableUserIDs, String strWritableDepartIDs, String strReadOnlyUserIDs, String strReadOnlyDepartIDs,
  130.                                          String strFormEvent, String strPrintHTMLCode, String strTypesetHTMLCode, String strJavaScriptCode,
  131.                                          String strBuildTimeFrom, String strBuildTimeTo, String strOrderBy, boolean bIsDesc,boolean bHiddenUsing)
  132.   {
  133.     String strSQL = "Select a.[ID],a.[SysDirID],a.[IsAutoBuild],a.[TempletName],a.[TempletNumber],a.[EnglishAb],a.[WritableUserIDs],a.[WritableDepartIDs], a.[ReadOnlyUserIDs], a.[ReadOnlyDepartIDs], a.[FormEvent], a.[BuildTime], a.[PrintHTMLCode], a.[TypesetHTMLCode], a.[JavaScriptCode], c.[Name] from ["+ TableName + "] as a left outer join [UserInfo] as b on(a.BuildUserID=b.ID) left outer join [PersonnelInfo] as c on (b.PersonnelID=c.ID) where 1=1";
  134.     if(strBuildUserName.trim().length()>0)
  135.       strSQL += " and c.[Name] like '%" + strBuildUserName + "%'";
  136.     if (iSysDirID > 0)
  137.       strSQL += " and a.[SysDirID] = " + iSysDirID + "";
  138.     if (strIsAutoBuild.trim().length() > 0)
  139.       strSQL += " and a.[IsAutoBuild] like '%" + strIsAutoBuild + "%'";
  140.     if (strTempletName.trim().length() > 0)
  141.       strSQL += " and a.[TempletName] like '%" + strTempletName + "%'";
  142.     if (strTempletNumber.trim().length() > 0)
  143.       strSQL += " and a.[TempletNumber] like '%" + strTempletNumber + "%'";
  144.     if (strEnglishAb.trim().length() > 0)
  145.       strSQL += " and a.[EnglishAb] like '%" + strEnglishAb + "%'";
  146.     if (strWritableUserIDs.trim().length() > 0)
  147.       strSQL += " and a.[WritableUserIDs] like '%" + strWritableUserIDs + "%'";
  148.     if (strWritableDepartIDs.trim().length() > 0)
  149.       strSQL += " and a.[WritableDepartIDs] like '%" + strWritableDepartIDs + "%'";
  150.     if (strReadOnlyUserIDs.trim().length() > 0)
  151.       strSQL += " and a.[ReadOnlyUserIDs] like '%" + strReadOnlyUserIDs + "%'";
  152.     if (strReadOnlyDepartIDs.trim().length() > 0)
  153.       strSQL += " and a.[ReadOnlyDepartIDs] like '%" + strReadOnlyDepartIDs + "%'";
  154.     if (strFormEvent.trim().length() > 0)
  155.       strSQL += " and a.[FormEvent] like '%" + strFormEvent + "%'";
  156.     if(strBuildTimeFrom.trim().length()>0)
  157.       strSQL += " and a.[BuildTime]>='" + strBuildTimeFrom + " 00:00:00.000'";
  158.     if(strBuildTimeTo.trim().length()>0)
  159.       strSQL += " and a.[BuildTime]<='" + strBuildTimeTo + " 23:59:59.999'";
  160.     if (strPrintHTMLCode.trim().length() > 0)
  161.       strSQL += " and a.[PrintHTMLCode] like '%" + strPrintHTMLCode + "%'";
  162.     if (strTypesetHTMLCode.trim().length() > 0)
  163.       strSQL += " and a.[TypesetHTMLCode] like '%" + strTypesetHTMLCode + "%'";
  164.     if (strJavaScriptCode.trim().length() > 0)
  165.       strSQL += " and a.[JavaScriptCode] like '%" + strJavaScriptCode + "%'";
  166.     if(bHiddenUsing)
  167.       strSQL += " and (a.[ID] not in (Select DocTempletID from DocTempletMoveFlow where IsUseful=1 and DocTempletTableName='" + TableName + "'))";
  168.     if (strOrderBy.trim().length() > 0)
  169.     {
  170.       if (bIsDesc)
  171.         strSQL += " Order by " + strOrderBy + " desc";
  172.       else
  173.         strSQL += " Order by " + strOrderBy + "";
  174.     }
  175.     Vector vt = SQLManager.GetResultSet(strSQL);
  176.     return vt;
  177.   }
  178. }