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

OA系统

开发平台:

Java

  1. package com.gforce.gfoa;
  2. /**
  3.  * <p>Title: 吉力科技办公自动化系统</p>
  4.  * <p>Description: 吉力科技办公自动化系统</p>
  5.  * <p>Copyright: 版权所有 2003 (c) 西安吉力科技发展有限公司  Copyright (c) 2003 GForce Sceince & Technology</p>
  6.  * <p>Company: 西安吉力科技发展有限公司 (GForce Sceince & Technology)</p>
  7.  *  在线论坛管理类
  8.  *  @author 王江涛
  9.  * @version 1.0
  10.  */
  11. import com.gforce.currency.database.*;
  12. import com.gforce.currency.*;
  13. import java.util.*;
  14. public class BBSManager
  15.     extends RecordManager
  16. {
  17.     public BBSManager()
  18.     {
  19.     }
  20.     protected final static String TableName = "BBSInfo"; //定义声明本类操作表名称
  21.     protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  22.     protected final static String[] NumericFieldsName =
  23.         {"PublishUserID", "FaceID","SysDirID","ViewTimes"}; //声明数值型字段名称
  24.     protected final static String[] DatetimeFieldsName =
  25.         {"PublishTime"}; //声明日期时间型字段名称
  26.     protected final static String[] StringFieldsName =
  27.         {"Title", "Station"}; //声明字符型字段名称
  28.     protected final static String[] TextFieldsName =
  29.         {"Content"}; //声明大字符串型字段名称
  30.     /* * 根据字段名称获取插入数据时表单元素名称
  31.      * @param strFieldName  字段名称
  32.      * @return  表单素名称
  33.      */
  34.     protected String InsertParament(String strFieldName)
  35.     {
  36.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  37.     }
  38.     /**
  39.      * 根据字段名称获取修改数据时表单元素名称
  40.      * @param strFieldName  字段名称
  41.      * @return  表单素名称
  42.      */
  43.     protected String UpdateParament(String strFieldName)
  44.     {
  45.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  46.     }
  47.     /**
  48.      * 获取本类操作表名称
  49.      * @return  表名称
  50.      */
  51.     public String getTableName()
  52.     { //获取本类操作表名称
  53.         return TableName;
  54.     }
  55.     protected String getIDFieldName()
  56.     { //获取主键或者可以确定唯一记录的字段名称
  57.         return IDFieldName;
  58.     }
  59.     protected String[] getNumericFieldsName()
  60.     { //获取数值型字段名称
  61.         return NumericFieldsName;
  62.     }
  63.     protected String[] getStringFieldsName()
  64.     { //获取字符型字段名称
  65.         return StringFieldsName;
  66.     }
  67.     protected String[] getDatetimeFieldsName()
  68.     { //获取日期时间型字段名称
  69.         return DatetimeFieldsName;
  70.     }
  71.     protected String[] getTextFieldsName()
  72.     { //获取大字符串型字段名称
  73.         return TextFieldsName;
  74.     }
  75.     /**
  76.      * 获取所有记录向量集
  77.      * @return 所有记录向量集
  78.      */
  79.     public static Vector getAllRecord()
  80.     {
  81.         Vector vt = SQLManager.GetResultSet("SELECT " + TableName + ".*,PersonnelInfo.Name FROM " + TableName +
  82.                                             " left outer join UserInfo on (" + TableName +
  83.             ".PublishUserID=UserInfo.ID) left outer join PersonnelInfo on (UserInfo.PersonnelID=PersonnelInfo.ID) order by "+TableName+".ID desc");
  84.         return vt;
  85.     }
  86.     /**
  87.      * 获取所有地文章(不包括回复)。
  88.      * @return 数据集
  89.      */
  90.     public static Vector getAllBBSRecord()
  91.     {
  92.         Vector vt = SQLManager.GetResultSet("SELECT " + TableName + ".*,PersonnelInfo.Name FROM " + TableName +
  93.                                             " left outer join UserInfo on (" + TableName +
  94.             ".PublishUserID=UserInfo.ID) left outer join PersonnelInfo on (UserInfo.PersonnelID=PersonnelInfo.ID)"+
  95.             " WHERE Station = '_0_' order by " + TableName + ".ID desc");
  96.         return vt;
  97.     }
  98.     public static Vector getBBSRevertRecord(String strStation)
  99.     {
  100.         Vector vt = SQLManager.GetResultSet("SELECT * FROM " + TableName + " WHERE Station = '"+strStation+"' ORDER BY " +
  101.             TableName + ".ID desc");
  102.         return vt;
  103.     }
  104.     /**
  105.      * 通过ID获取指定记录
  106.      * @param intRecordID  记录ID
  107.      * @return 指定记录向量集
  108.      */
  109.     public static Vector getRecordByID(int intRecordID)
  110.     {
  111.         Vector vt = SQLManager.GetResultSet("SELECT * FROM " + TableName + " WHERE ID = " + intRecordID+"");
  112.         return vt;
  113.     }
  114.     /**
  115.      * 获取属于指定系统目录下的记录向量集
  116.      * @param iSysDirID  系统目录ID
  117.      * @return  属于指定系统目录下的记录向量集
  118.      */
  119.     public static Vector getRecordBySysDirID(int iSysDirID)
  120.     {
  121.         Vector vt = SQLManager.GetResultSet("SELECT "+TableName+".*,PersonnelInfo.Name FROM " + TableName +
  122.                                             " left outer join UserInfo on (" + TableName +
  123.                                             ".PublishUserID=UserInfo.ID) left outer join PersonnelInfo on (UserInfo.PersonnelID=PersonnelInfo.ID)"+
  124.                                             " WHERE SysDirID=" + iSysDirID +" AND Station = '_0_'"+
  125.                                             " order by "+TableName+".ID desc");
  126.         return vt;
  127.     }
  128.     /**
  129.      * 将指定记录的浏览次数加1
  130.      * @param intID  记录ID
  131.      */
  132.     public static void UpdateReocordView(int intID)
  133.     {
  134.         SQLManager.ExcuteSQL("Update " + TableName + " set ViewTimes=(ViewTimes+1) where ID = " + intID+"");
  135.     }
  136.     /**
  137.      * 获取指定文章地恢复文章数目。
  138.      * @param intID 指定地文章
  139.      * @return  恢复地文章地总数
  140.      */
  141.     public static String getArtilceStatistics(int intID)
  142.     {
  143.         Vector vt = SQLManager.GetResultSet("SELECT Count(*) FROM "+TableName+" WHERE station = ((SELECT Station FROM "+
  144.                                             TableName+" WHERE ID = "+intID+")+'"+intID+"_')");
  145.         return ((Vector)vt.get(0)).get(0).toString();
  146.     }
  147.     /**
  148.      * 重构父类RecordManager地DeleteByID方法,首先删除记录相关地文章。
  149.      * @param iID 要删除地记录ID
  150.      * @return
  151.      */
  152.     public int DeleteByID(int iID)
  153.     {
  154.         SQLManager.ExcuteSQL("Delete from " + TableName + " where Station like ((select Station from " + TableName + " where ID=" + iID +") + '" + iID +"_%')");
  155.         int iReturnValue = super.DeleteByID(iID);
  156.         return iReturnValue;
  157.     }
  158. }