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

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/06
  12.  * 公文流转模板管理类
  13.  */
  14. public class MoveFlowTempletManager
  15.   extends RecordManager
  16. {
  17.   public MoveFlowTempletManager()
  18.   {
  19.   }
  20.   protected final static String TableName = "MoveFlowInfo"; //定义声明本类操作表名称
  21.   protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  22.   protected final static String[] NumericFieldsName =
  23.     {
  24.     "BuildUserID"}; //声明数值型字段名称
  25.   protected final static String[] StringFieldsName =
  26.     {
  27.     "FlowName", "FlowContent", "WritableUserIDs", "WritableDepartIDs"}; //声明字符型字段名称
  28.   protected final static String[] DatetimeFieldsName =
  29.     {
  30.     "BuildTime"}; //声明日期时间型字段名称
  31.   protected final static String[] TextFieldsName =
  32.     {}; //声明大字符串型字段名称
  33.   /**
  34.    * 根据字段名称获取插入数据时表单元素名称
  35.    * @param strFieldName  字段名称
  36.    * @return  表单素名称
  37.    */
  38.   protected String InsertParament(String strFieldName)
  39.   {
  40.     return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  41.   }
  42.   /**
  43.    * 根据字段名称获取修改数据时表单元素名称
  44.    * @param strFieldName  字段名称
  45.    * @return  表单素名称
  46.    */
  47.   protected String UpdateParament(String strFieldName)
  48.   {
  49.     return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  50.   }
  51.   /**
  52.    * 获取本类操作表名称
  53.    * @return  表名称
  54.    */
  55.   public String getTableName()
  56.   { //获取本类操作表名称
  57.     return TableName;
  58.   }
  59.   protected String getIDFieldName()
  60.   { //获取主键或者可以确定唯一记录的字段名称
  61.     return IDFieldName;
  62.   }
  63.   protected String[] getNumericFieldsName()
  64.   { //获取数值型字段名称
  65.     return NumericFieldsName;
  66.   }
  67.   protected String[] getStringFieldsName()
  68.   { //获取字符型字段名称
  69.     return StringFieldsName;
  70.   }
  71.   protected String[] getDatetimeFieldsName()
  72.   { //获取日期时间型字段名称
  73.     return DatetimeFieldsName;
  74.   }
  75.   protected String[] getTextFieldsName()
  76.   { //获取大字符串型字段名称
  77.     return TextFieldsName;
  78.   }
  79.   /**
  80.    * 通过ID获取指定记录
  81.    * @param intRecordID  记录ID
  82.    * @return 指定记录向量集
  83.    */
  84.   public static Vector getRecordByID(int intRecordID)
  85.   {
  86.     Vector vt = SQLManager.GetResultSet(
  87.       "SELECT [ID], [FlowName], [BuildTime], [BuildUserID], [FlowContent], [WritableUserIDs], [WritableDepartIDs] FROM "
  88.       + TableName + " WHERE ID = " + intRecordID + "");
  89.     return vt;
  90.   }
  91.   /**
  92.    * 获取符合指定条件的流转模板记录集
  93.    * @param strBuildUserName 建立用户名称
  94.    * @param strFlowName 流转模板名称
  95.    * @param strWritableUserIDs 可写用户IDs
  96.    * @param strWritableDepartIDs 可写部门IDs
  97.    * @param strBuildTimeFrom 流转模板建立时间起始
  98.    * @param strBuildTimeTo 流转模板建立时间终止
  99.    * @param strFlowContent 流转模板描述
  100.    * @param strOrderBy 排序字段
  101.    * @param bIsDesc 是否降序排序
  102.    * @return 制定记录向量集
  103.    */
  104.   public static Vector getRecordBySearch(String strBuildUserName, String strFlowName, String strWritableUserIDs
  105.                                          , String strWritableDepartIDs,
  106.                                          String strBuildTimeFrom, String strBuildTimeTo, String strFlowContent
  107.                                          , String strOrderBy, boolean bIsDesc)
  108.   {
  109.     return  getRecordBySearch(strBuildUserName,strFlowName,strWritableUserIDs,strWritableDepartIDs,strBuildTimeFrom,strBuildTimeTo,strFlowContent,strOrderBy,bIsDesc,true);
  110.   }
  111.   /**
  112.    * 获取符合指定条件的流转模板记录集
  113.    * @param strBuildUserName 建立用户名称
  114.    * @param strFlowName 流转模板名称
  115.    * @param strWritableUserIDs 可写用户IDs
  116.    * @param strWritableDepartIDs 可写部门IDs
  117.    * @param strBuildTimeFrom 流转模板建立时间起始
  118.    * @param strBuildTimeTo 流转模板建立时间终止
  119.    * @param strFlowContent 流转模板描述
  120.    * @param strOrderBy 排序字段
  121.    * @param bIsDesc 是否降序排序
  122.    * @param bHiddenUsing 是否隐藏正在使用的流转模板
  123.    * @return 制定记录向量集
  124.    */
  125.   public static Vector getRecordBySearch(String strBuildUserName, String strFlowName, String strWritableUserIDs
  126.                                          , String strWritableDepartIDs,
  127.                                          String strBuildTimeFrom, String strBuildTimeTo, String strFlowContent
  128.                                          , String strOrderBy, boolean bIsDesc,boolean bHiddenUsing)
  129.   {
  130.     String strSQL = "Select a.[ID], a.[FlowName], a.[WritableUserIDs], a.[WritableDepartIDs], a.[BuildTime], c.[Name], a.[FlowContent] from ["
  131.       + 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 a.[ID]>0";
  132.     if (strBuildUserName.trim().length() > 0)
  133.     {
  134.       strSQL += " and c.[Name] like '%" + strBuildUserName + "%'";
  135.     }
  136.     if (strFlowName.trim().length() > 0)
  137.     {
  138.       strSQL += " and a.[FlowName] like '%" + strFlowName + "%'";
  139.     }
  140.     if (strWritableUserIDs.trim().length() > 0)
  141.     {
  142.       strSQL += " and '%,' + a.[WritableUserIDs] + ',%' like '%," + strWritableUserIDs + ",%'";
  143.     }
  144.     if (strWritableDepartIDs.trim().length() > 0)
  145.     {
  146.       strSQL += " and '%,' + a.[WritableDepartIDs] + ',%' like '%," + strWritableDepartIDs + ",%'";
  147.     }
  148.     if (strBuildTimeFrom.trim().length() > 0)
  149.     {
  150.       strSQL += " and a.[BuildTime]>='" + strBuildTimeFrom + " 00:00:00.000'";
  151.     }
  152.     if (strBuildTimeTo.trim().length() > 0)
  153.     {
  154.       strSQL += " and a.[BuildTime]<='" + strBuildTimeTo + " 23:59:59.999'";
  155.     }
  156.     if (strFlowContent.trim().length() > 0)
  157.     {
  158.       strSQL += " and a.[FlowContent] like '%" + strFlowContent + "%'";
  159.     }
  160.     if(bHiddenUsing)
  161.     {
  162.       strSQL += " and (a.[ID] not in (Select MoveFlowID from DocTempletMoveFlow where IsUseful=1))";
  163.     }
  164.     if (strOrderBy.trim().length() > 0)
  165.     {
  166.       if (bIsDesc)
  167.       {
  168.         strSQL += " Order by " + strOrderBy + " desc";
  169.       }
  170.       else
  171.       {
  172.         strSQL += " Order by " + strOrderBy + "";
  173.       }
  174.     }
  175.     Vector vt = SQLManager.GetResultSet(strSQL);
  176.     return vt;
  177.   }
  178.   /**
  179.    * 获取符合指定条件的公文模板记录集
  180.    * @param strBuildUserName 建立用户名称
  181.    * @param strFlowName 流转模板名称
  182.    * @param strWritableUserIDs 可写用户IDs
  183.    * @param strWritableDepartIDs 可写部门IDs
  184.    * @param strBuildTimeFrom 流转模板建立时间起始
  185.    * @param strBuildTimeTo 流转模板建立时间终止
  186.    * @param strOrderBy 排序字段
  187.    * @param bIsDesc 是否降序排序
  188.    * @return 制定记录向量集
  189.    */
  190.   public static Vector getRecordBySearch(String strBuildUserName, String strFlowName, String strWritableUserIDs
  191.                                          , String strWritableDepartIDs,
  192.                                          String strBuildTimeFrom, String strBuildTimeTo, String strOrderBy
  193.                                          , boolean bIsDesc)
  194.   {
  195.     Vector vt = getRecordBySearch(strBuildUserName, strFlowName, strWritableUserIDs, strWritableDepartIDs
  196.                                   , strBuildTimeFrom, strBuildTimeTo, "", strOrderBy, bIsDesc);
  197.     return vt;
  198.   }
  199. }