DocumentManager.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. import com.gforce.currency.*;
  5. /**
  6.  *
  7.  * <p>Title: 吉力科技办公自动化系统</p>
  8.  * <p>Description: 吉力科技办公自动化系统</p>
  9.  * <p>Copyright: 版权所有 2003 (c) 西安吉力科技发展有限公司  Copyright (c) 2003 GForce Sceince & Technology</p>
  10.  * <p>Company: 西安吉力科技发展有限公司 (GForce Sceince & Technology)</p>
  11.  * @author 王江涛
  12.  * @version 1.0
  13.  */
  14. public class DocumentManager
  15.     extends RecordManager
  16. {
  17.     public DocumentManager()
  18.     {
  19.     }
  20.     protected final static String TableName = "DocumentInfo"; //定义声明本类操作表名称
  21.     protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  22.     protected final static String[] NumericFieldsName =
  23.         {"PublishUserID", "DocumentTypeID"}; //声明数值型字段名称
  24.     protected final static String[] StringFieldsName =
  25.         {"DocumentName"}; //声明字符型字段名称
  26.     protected final static String[] DatetimeFieldsName =
  27.         {"PublishTime"}; //声明日期时间型字段名称
  28.     protected final static String[] TextFieldsName =
  29.         {"Content"}; //声明大字符串型字段名称
  30.     /**
  31.      * 根据字段名称获取插入数据时表单元素名称
  32.      * @param strFieldName  字段名称
  33.      * @return  表单素名称
  34.      */
  35.     protected String InsertParament(String strFieldName)
  36.     {
  37.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  38.     }
  39.     /**
  40.      * 根据字段名称获取修改数据时表单元素名称
  41.      * @param strFieldName  字段名称
  42.      * @return  表单素名称
  43.      */
  44.     protected String UpdateParament(String strFieldName)
  45.     {
  46.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  47.     }
  48.     /**
  49.      * 获取本类操作表名称
  50.      * @return  表名称
  51.      */
  52.     public String getTableName()
  53.     { //获取本类操作表名称
  54.         return TableName;
  55.     }
  56.     protected String getIDFieldName()
  57.     { //获取主键或者可以确定唯一记录的字段名称
  58.         return IDFieldName;
  59.     }
  60.     protected String[] getNumericFieldsName()
  61.     { //获取数值型字段名称
  62.         return NumericFieldsName;
  63.     }
  64.     protected String[] getStringFieldsName()
  65.     { //获取字符型字段名称
  66.         return StringFieldsName;
  67.     }
  68.     protected String[] getDatetimeFieldsName()
  69.     { //获取日期时间型字段名称
  70.         return DatetimeFieldsName;
  71.     }
  72.     protected String[] getTextFieldsName()
  73.     { //获取大字符串型字段名称
  74.         return TextFieldsName;
  75.     }
  76.     /**
  77.      * 获取所有文档记录集
  78.      * @return 所有文档记录集
  79.      */
  80.     public static Vector getAllRecord()
  81.     {
  82.         Vector vt = SQLManager.GetResultSet("Select * from " + TableName);
  83.         return vt;
  84.     }
  85.     /**
  86.      * 获取指定ID地记录
  87.      * @param iDocID 指定地记录ID
  88.      * @return 记录数据集
  89.      */
  90.     public static Vector getByIDRecord(int iDocID)
  91.     {
  92.         Vector vt = SQLManager.GetResultSet("Select * from " + TableName + " WHERE ID ='" + iDocID +
  93.                                             "'");
  94.         return vt;
  95.     }
  96.     /**
  97.      * 获取指定文档类型文档记录集
  98.      * @param iDocTypeID  文档ID
  99.      * @return 指定文档类型文档记录集
  100.      */
  101.     public static Vector getByDocTypeIDRecord(int iDocTypeID)
  102.     {
  103.         Vector vt = SQLManager.GetResultSet("Select * from " + TableName + " WHERE DocumentTypeID ='" + iDocTypeID +
  104.                                             "'");
  105.         return vt;
  106.     }
  107.     /**
  108.      * 获取指定ID的文档名称
  109.      * @param iDocID  文档ID
  110.      * @return  文档名称
  111.      */
  112.     public static String getDocNameByID(int iDocID)
  113.     {
  114.         String strReturnValue = "未知文档";
  115.         Vector vt = SQLManager.GetResultSet("Select DocumentName from " + TableName + " where ID=" + iDocID);
  116.         if (vt.size() == 1)
  117.         {
  118.             strReturnValue = ( (Vector) vt.get(0)).get(0).toString();
  119.         }
  120.         return strReturnValue;
  121.     }
  122.     /**
  123.      * 增加文档
  124.      * @param m_request 增加文档的request参数
  125.      * @param TypesID 增加文档的类型
  126.      * @return 增加文档是否成功。文档的ID(大于等于1)或者错误代码(小于1)
  127.      */
  128.     public int InsertRecord(Request m_request)
  129.     {
  130.         int iReturnValue = super.InsertRecord(m_request); //文档信息表插入数据
  131.         int iTypesID = m_request.GetInt("TypesID");
  132.         Vector vt = DocFieldsManager.getByDocTypeRecord(iTypesID);
  133.         if (vt.size() > 0)
  134.         {
  135.             for (int i = 0; i < vt.size(); i++)
  136.             {
  137.                 String strFieldType = ( (Vector) vt.get(i)).get(3).toString();
  138.                 String strFieldID = ( (Vector) vt.get(i)).get(0).toString();
  139.                 String strFieldValue = m_request.GetString("Name" + strFieldID);
  140.                 //文档字段值表插入数据
  141.                 SQLManager.ExcuteSQL("Insert FieldsValue (DocumentID,FieldID,FieldValue) Values (" + iReturnValue + "," + strFieldID + ",'" + strFieldValue + "')");
  142.              }
  143.         }
  144.         return iReturnValue;
  145.     }
  146.     /**
  147.      * 通过ID删除记录和文档得字段值
  148.      * @param intID ID值
  149.      * @return 错误代码,如果小于1,说明删除错误
  150.      */
  151.     public int DeleteByID(int intID)
  152.     {
  153.         FieldsValueManager manager = new FieldsValueManager();
  154.         manager.DeleteBySQLWhere("DocumentID = "+intID);
  155.         return super.DeleteByID(intID);
  156.     }
  157.     /**
  158.      * 文档记录地数据修改
  159.      * @param m_request 页面地修改参数
  160.      * @return 修改是否成功
  161.      */
  162.     public int UpdateRecord(Request m_request)
  163.     {
  164.         int iReturnValue = super.UpdateRecord(m_request); //文档信息表修改数据
  165.         int iTypesID = m_request.GetInt("TypesID");
  166.         Vector vt = DocFieldsManager.getByDocTypeRecord(iTypesID);
  167.         if (vt.size() > 0)
  168.         {
  169.             for (int i = 0; i < vt.size(); i++)
  170.             {
  171.                 String strFieldType = ( (Vector) vt.get(i)).get(3).toString();
  172.                 String strFieldID = ( (Vector) vt.get(i)).get(0).toString();
  173.                 String strFieldValue = m_request.GetString("Name" + strFieldID);
  174.                 String strDocumentID = m_request.GetString("ID");
  175.                 Vector vt1 = new Vector();
  176.                 vt1 = SQLManager.GetResultSet("Select * from FieldsValue where (DocumentID=" + strDocumentID + " and FieldID=" + strFieldID + ")");
  177.                 if (vt1.size() > 0)
  178.                 {
  179.                   SQLManager.ExcuteSQL("UPDATE FieldsValue SET FieldValue='" + strFieldValue + "' where (DocumentID=" + strDocumentID + " and FieldID=" + strFieldID + ")");
  180.                 }
  181.                 else
  182.                 {
  183.                   SQLManager.ExcuteSQL("Insert FieldsValue (DocumentID,FieldID,FieldValue) Values (" + strDocumentID + "," + strFieldID + ",'" + strFieldValue + "')");
  184.                 }
  185.              }
  186.         }
  187.         return iReturnValue;
  188.     }
  189. }