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

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.  * @author 王江涛
  8.  * @version 1.0
  9.  */
  10. import com.gforce.currency.database.*;
  11. import java.util.*;
  12. public class SignTypeManager
  13.     extends RecordManager {
  14.     public SignTypeManager() {
  15.     }
  16.     protected final static String TableName = "SignTypeInfo"; //定义声明本类操作表名称
  17.     protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  18.     protected final static String[] NumericFieldsName = {}; //声明数值型字段名称
  19.     protected final static String[] StringFieldsName = {"TypeName","StartTime","EndTime","BeforeBeign","AfterEnd","Remark","WorkDay","NoSignUserIDs"}; //声明字符型字段名称
  20.     protected final static String[] DatetimeFieldsName = {}; //声明日期时间型字段名称
  21.     protected final static String[] TextFieldsName =        {}; //声明大字符串型字段名称
  22.     /**
  23.      * 根据字段名称获取插入数据时表单元素名称
  24.      * @param strFieldName  字段名称
  25.      * @return  表单素名称
  26.      */
  27.     protected String InsertParament(String strFieldName) {
  28.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  29.     }
  30.     /**
  31.      * 根据字段名称获取修改数据时表单元素名称
  32.      * @param strFieldName  字段名称
  33.      * @return  表单素名称
  34.      */
  35.     protected String UpdateParament(String strFieldName) {
  36.         return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  37.     }
  38.     /**
  39.      * 获取本类操作表名称
  40.      * @return  表名称
  41.      */
  42.     public String getTableName() { //获取本类操作表名称
  43.         return TableName;
  44.     }
  45.     protected String getIDFieldName() { //获取主键或者可以确定唯一记录的字段名称
  46.         return IDFieldName;
  47.     }
  48.     protected String[] getNumericFieldsName() { //获取数值型字段名称
  49.         return NumericFieldsName;
  50.     }
  51.     protected String[] getStringFieldsName() { //获取字符型字段名称
  52.         return StringFieldsName;
  53.     }
  54.     protected String[] getDatetimeFieldsName() { //获取日期时间型字段名称
  55.         return DatetimeFieldsName;
  56.     }
  57.     protected String[] getTextFieldsName() { //获取大字符串型字段名称
  58.         return TextFieldsName;
  59.     }
  60.     /**
  61.      * 获取所有签到类型数据集
  62.      * @return 所有签到类型数据集
  63.      */
  64.     public static Vector getAllRecord()
  65.     {
  66.         Vector vt = SQLManager.GetResultSet("SELECT * FROM " + TableName + " Order By ID");
  67.         return vt;
  68.     }
  69.     /**
  70.      * 获取签到类型名称
  71.      * @param iTypeID 签到类型ID
  72.      * @return 指定签到类型名称
  73.      */
  74.     public static String getTypeNameByID(int iTypeID)
  75.     {
  76.         String strReturnValue="未知分类";
  77.         Vector vt =SQLManager.GetResultSet("SELECT TypeName FROM "+ TableName +
  78.                                             " WHERE ID = " + iTypeID + "");
  79.          if (vt.size() == 1)
  80.          {
  81.             strReturnValue = ((Vector)vt.get(0)).get(0).toString();
  82.          }
  83.          return strReturnValue;
  84.     }
  85.     /**
  86.      * 获取指定ID的签到类型记录数据集
  87.      * @param iID 签到类型ID
  88.      * @return 指定ID的签到类型记录数据集
  89.      */
  90.     public static Vector getRecordByID(int iID)
  91.     {
  92.         Vector vt = SQLManager.GetResultSet("SELECT * FROM " + TableName + " where ID = " + iID);
  93.         return vt;
  94.     }
  95.     /**
  96.      * 获取指定用户当前有效的签到类型数据集
  97.      * @return 指定用户当前有效的签到类型数据集
  98.      */
  99.     public static Vector getUsefulSignType(int iUserID,int iWeekDay,String strSignTime)
  100.     {
  101.       String strSQL ="";
  102.       if(strSignTime.length()>0)
  103.       {
  104.         strSQL = "SELECT * FROM " + TableName + " where WorkDay like '%" + iWeekDay + "%' and StartTime<='" + strSignTime + "' and EndTime>='" + strSignTime + "' and not(',' + NoSignUserIDs + ',' like '%," + iUserID + ",%') and not ID in (Select SignTypeID from SignInfo where DateDiff(Day,SignTime,GetDate())=0 and UserID=" + iUserID + " and IsNormal=1)";
  105.       }
  106.       else
  107.       {
  108.         strSQL = "SELECT * FROM " + TableName + " where WorkDay like '%" + iWeekDay + "%' and not(',' + NoSignUserIDs + ',' like '%," + iUserID + ",%') and not ID in (Select SignTypeID from SignInfo where DateDiff(Day,SignTime,GetDate())=0 and UserID=" + iUserID + " and IsNormal=1)";
  109.       }
  110.         Vector vt = SQLManager.GetResultSet(strSQL);
  111.         return vt;
  112.     }
  113. }