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

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 com.gforce.currency.database.*;
  14. import java.util.*;
  15. public class ErrandApplyManager
  16.     extends RecordManager
  17. {
  18.     public ErrandApplyManager()
  19.     {
  20.     }
  21.     protected final static String TableName = "ErrandApplyAndRecord"; //定义声明本类操作表名称
  22.     protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  23.     protected final static String[] NumericFieldsName = {"ApplyUserID", "ConfirmUserID","SysDirID"}; //声明数值型字段名称
  24.     protected final static String[] DatetimeFieldsName ={"PlanStartTime","PlanEndTime","RealStartTime","RealEndTime","ApplyTime"}; //声明日期时间型字段名称
  25.     protected final static String[] StringFieldsName = {"CompanyTo","CityTo","ErrandTitle",
  26.                                                         "Personnels"}; //声明字符型字段名称
  27.     protected final static String[] TextFieldsName = {"ErrandContent","Remark"}; //声明大字符串型字段名称
  28.     /* * 根据字段名称获取插入数据时表单元素名称
  29.      * @param strFieldName  字段名称
  30.      * @return  表单素名称
  31.      */
  32.     protected String InsertParament(String strFieldName)
  33.     {
  34.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  35.     }
  36.     /**
  37.      * 根据字段名称获取修改数据时表单元素名称
  38.      * @param strFieldName  字段名称
  39.      * @return  表单素名称
  40.      */
  41.     protected String UpdateParament(String strFieldName)
  42.     {
  43.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  44.     }
  45.     /**
  46.      * 获取本类操作表名称
  47.      * @return  表名称
  48.      */
  49.     public String getTableName()
  50.     { //获取本类操作表名称
  51.         return TableName;
  52.     }
  53.     protected String getIDFieldName()
  54.     { //获取主键或者可以确定唯一记录的字段名称
  55.         return IDFieldName;
  56.     }
  57.     protected String[] getNumericFieldsName()
  58.     { //获取数值型字段名称
  59.         return NumericFieldsName;
  60.     }
  61.     protected String[] getStringFieldsName()
  62.     { //获取字符型字段名称
  63.         return StringFieldsName;
  64.     }
  65.     protected String[] getDatetimeFieldsName()
  66.     { //获取日期时间型字段名称
  67.         return DatetimeFieldsName;
  68.     }
  69.     protected String[] getTextFieldsName()
  70.     { //获取大字符串型字段名称
  71.         return TextFieldsName;
  72.     }
  73.     /**
  74.      *获取指定用户ID的出差申请.(没有填写实际出差时间的记录)
  75.      * @param iSysDirID 系统目录ID
  76.      * @param strUserID 用户ID
  77.      * @return 返回的数据向量集
  78.      */
  79.     public static Vector getByUserIDRecord(int iSysDirID,int strUserID)
  80.     {
  81.         //获得出差申请的多有记录和每条记录的“批准者姓名”。
  82.         Vector vt = SQLManager.GetResultSet("SELECT a.*,c.Name FROM " + TableName +
  83.                                             " as a left outer join UserInfo as b on (a.ConfirmUserID = b.ID) left outer join PersonnelInfo as c on (b.PersonnelID=c.ID)"+
  84.                                             " WHERE (a.SysDirID = "+ iSysDirID +") And(a.ApplyUserID = " + strUserID+") And (a.RealStartTime is NULL) And (a.RealEndTime is NULl)  order by a.ApplyTime desc,a.ID desc");
  85.         return vt;
  86.     }
  87.     /**
  88.      * 获取指定用户ID的出差记录.(已批准过出差申请的记录)
  89.      * @param iSysDirID 系统目录ID
  90.      * @param strUserID 用户ID
  91.      * @return 返回的数据向量集
  92.      */
  93.     public static Vector getByUserIDPassRecord(int iSysDirID,int strUserID)
  94.     {
  95.         //获得出差记录的多有记录和每条记录的“批准者姓名”。
  96.         Vector vt = SQLManager.GetResultSet("SELECT a.* FROM " + TableName +
  97.                                             " as a WHERE (a.SysDirID = "+ iSysDirID  +") And(a.ApplyUserID = " + strUserID + ") And a.ID in (select RecordID from ApproveRecord where ApproveType='出差申请' and RecordID not in (Select RecordID from ApproveRecord where ApproveType='出差申请' and ApproveTime is null) and not ApproveTime is null) order by a.ApplyTime desc,a.ID desc");
  98.         return vt;
  99.     }
  100.     /**
  101.      * 获取出差待批准的申请记录。(未批准的记录)
  102.      * @param iSysDirID 系统目录ID
  103.      * @return 数据向量集
  104.      */
  105.     public static Vector getCheckRecord(int iSysDirID)
  106.     {
  107.        //获得出差申请的多有记录和每条记录的“申请用户姓名”。
  108.        Vector vt = SQLManager.GetResultSet("SELECT a.*,c.Name FROM " + TableName +
  109.                                             " as a left outer join UserInfo as b on (a.ApplyUserID = b.ID) left outer join PersonnelInfo as c on (b.PersonnelID=c.ID) left outer join ApproveRecord as d on (d.RecordID=a.ID and d.ApproveType='出差申请' and not d.ApproveTime is null)" +
  110.                                             " Where (a.SysDirID = "+ iSysDirID +")And d.ID is null  order by a.ApplyTime desc,a.ID desc");
  111.         return vt;
  112.     }
  113.     /**
  114.      * 获取所有数据向量集
  115.      * @param iSysDirID 系统目录ID
  116.      * @return 数据向量集
  117.      */
  118.     public static Vector getAllRecord(int iSysDirID)
  119.     {
  120.        //获得出差申请的多有记录和每条记录的“批准者姓名”和“申请用户姓名”。
  121.        Vector vt = SQLManager.GetResultSet("SELECT a.*,c.Name,e.Name FROM " + TableName +
  122.                                             " as a left outer join UserInfo as b on (a.ConfirmUserID = b.ID) left outer join PersonnelInfo as c on (b.PersonnelID=c.ID)"+
  123.                                             " left outer join UserInfo as d on (a.ApplyUserID = d.ID) left outer join PersonnelInfo as e on (d.PersonnelID=e.ID) Where a.SysDirID = "+ iSysDirID +" order by a.ApplyTime desc,a.ID desc");
  124.         return vt;
  125.     }
  126.     /**
  127.      * 获取指定记录ID的数据向量集
  128.      * @param intRecordID 指定记录ID
  129.      * @return 数据向量集
  130.      */
  131.     public static Vector getRecordByID(int intRecordID)
  132.     {
  133.         Vector vt = SQLManager.GetResultSet("SELECT a.*,c.Name,e.Name FROM " + TableName +
  134.                                              " as a left outer join UserInfo as b on (a.ConfirmUserID = b.ID) left outer join PersonnelInfo as c on (b.PersonnelID=c.ID)"+
  135.                                              " left outer join UserInfo as d on (a.ApplyUserID = d.ID) left outer join PersonnelInfo as e on (d.PersonnelID=e.ID)"+
  136.                                              "Where a.ID = "+intRecordID);
  137.         return vt;
  138.     }
  139. }