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

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 2.0
  9.  * DATE : 2003-12-18
  10.  * 公文流转模板管理类
  11.  */
  12. import com.gforce.currency.database.*;
  13. import java.util.*;
  14. import com.gforce.currency.*;
  15. public class DocTempletMoveFlowManager extends RecordManager
  16. {
  17.   public DocTempletMoveFlowManager()
  18.   {}
  19.   protected final static String TableName = "DocTempletMoveFlow";//定义声明本类操作表名称
  20.   protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
  21.   protected final static String[] NumericFieldsName = {"DocTempletID","MoveFlowID","UpdateUserID",
  22.                                                        "IsUseful"}; //声明数值型字段名称
  23.   protected final static String[] DatetimeFieldsName = {"UpdateTime","StopUseTime",
  24.                                                         "StarUseTime"}; //声明日期时间型字段名称
  25.   protected final static String[] StringFieldsName = {"Name","DocTempletTableName","UpdateFromIP",
  26.                                                       "WritableUserIDs","WritableDepartIDs","ReadOnlyUserIDs",
  27.                                                       "ReadOnlyDepartIDs"}; //声明字符型字段名称
  28.   protected final static String[] TextFieldsName = {}; //声明大字符串型字段名称
  29.   /* * 根据字段名称获取插入数据时表单元素名称
  30.    * @param strFieldName  字段名称
  31.    * @return  表单素名称
  32.    */
  33.   protected String InsertParament(String strFieldName)
  34.   {
  35.       return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  36.   }
  37.   /**
  38.    * 根据字段名称获取修改数据时表单元素名称
  39.    * @param strFieldName  字段名称
  40.    * @return  表单素名称
  41.    */
  42.   protected String UpdateParament(String strFieldName)
  43.   {
  44.       return "" + strFieldName + ""; //可以根据需要加前缀、后缀
  45.   }
  46.   /**
  47.    * 获取本类操作表名称
  48.    * @return  表名称
  49.    */
  50.   public String getTableName()
  51.   { //获取本类操作表名称
  52.       return TableName;
  53.   }
  54.   protected String getIDFieldName()
  55.   { //获取主键或者可以确定唯一记录的字段名称
  56.       return IDFieldName;
  57.   }
  58.   protected String[] getNumericFieldsName()
  59.   { //获取数值型字段名称
  60.       return NumericFieldsName;
  61.   }
  62.   protected String[] getStringFieldsName()
  63.   { //获取字符型字段名称
  64.       return StringFieldsName;
  65.   }
  66.   protected String[] getDatetimeFieldsName()
  67.   { //获取日期时间型字段名称
  68.       return DatetimeFieldsName;
  69.   }
  70.   protected String[] getTextFieldsName()
  71.   { //获取大字符串型字段名称
  72.       return TextFieldsName;
  73.   }
  74.   /**
  75.    * 获取符合指定条件的公文流转模板记录集
  76.    * @param strID 公文流转模板信息唯一标识
  77.    * @param strName 公文流转模板名称
  78.    * @param strDocTempletID 公文模板ID
  79.    * @param strDocTempletName 公文模板名称
  80.    * @param strSysDirID SysDirID
  81.    * @param strDocTempletTableName 公文模板表名称
  82.    * @param strMoveFlowID 流转模板ID
  83.    * @param strMoveFlowName 流转模板名称
  84.    * @param strUpdateUserID 最后更新用户ID
  85.    * @param strUpdateTimeFrom 最后更新时间起始
  86.    * @param strUpdateTimeTo 最后更新时间终止
  87.    * @param strUpdateFromIP 最后更新来源IP
  88.    * @param strApproveUserID 审核用户ID
  89.    * @param strIsUseful 是否可用
  90.    * @param strWritableUserIDs 可写用户IDs
  91.    * @param strWritableDepartIDs 可写部门IDs
  92.    * @param strReadOnlyUserIDs 只读用户IDs
  93.    * @param strReadOnlyDepartIDs 只读部门IDs
  94.    * @param strOrderBy 排序字段
  95.    * @param strIsDesc 是否降序排序
  96.    * @param strIsAutoBuild 公文模板是否自动生成
  97.    * @param strconfig 配置管理参数
  98.    * @return 符合条件记录向量集
  99.    */
  100.   public static Vector getRecordBySearch(String strID,String strName,String strDocTempletID,String strDocTempletName,String strSysDirID,
  101.                                          String strDocTempletTableName,String strMoveFlowID,String strMoveFlowName,
  102.                                          String strUpdateUserID,String strUpdateTimeFrom,String strUpdateTimeTo,String strUpdateFromIP,
  103.                                          String strApproveUserID,String strIsUseful,String strWritableUserIDs,
  104.                                          String strWritableDepartIDs,String strReadOnlyUserIDs,
  105.                                          String strReadOnlyDepartIDs,String strOrderBy,String strIsDesc,
  106.                                          String strIsAutoBuild,String strconfig)
  107.   {
  108.     String strSQL = "SELECT a.[ID],a.[Name],a.[DocTempletID],a.[DocTempletTableName],a.[MoveFlowID],a.[UpdateUserID]," +
  109.                     "a.[UpdateTime],a.[UpdateFromIP],a.[ApproveUserID],a.[ApproveTime],a.[StopUseTime],a.[StarUseTime]," +
  110.                     "a.[IsUseful],a.[WritableUserIDs],a.[WritableDepartIDs],a.[ReadOnlyUserIDs],a.[ReadOnlyDepartIDs]," +
  111.                     "b.[TempletName],b.[SysDirID],c.[FlowName],e.[Name],b.[IsAutoBuild] FROM [" + TableName + "]  as a left outer join [" +
  112.                     strDocTempletTableName+ "] as b on (a.DocTempletID = b.ID) left outer join [MoveFlowInfo] as c on " +
  113.                     "(a.MoveFlowID = c.ID) left outer join [UserInfo] as d on (a.UpdateUserID = d.ID) " +
  114.                     "left outer join [PersonnelInfo] as e on (d.PersonnelID=e.ID) WHERE a.[ID] > 0";
  115.     if (strID.trim().length()>0)
  116.     {
  117.       strSQL += " and (a.[ID] IN (" + strID + "))";
  118.     }
  119.     if (strName.trim().length()>0)
  120.     {
  121.       strSQL += " and a.[Name] LIKE '%" + strName + "%'";
  122.     }
  123.     if (strDocTempletID.trim().length()>0)
  124.     {
  125.       strSQL += " and (a.[DocTempletID] IN ("+ strDocTempletID +"))";
  126.     }
  127.     if (strDocTempletName.trim().length()>0)
  128.     {
  129.       strSQL += " and b.[TempletName] LIKE '%" + strDocTempletName + "%'";
  130.     }
  131.     if (strSysDirID.trim().length()>0)
  132.     {
  133.       strSQL += " and b.[SysDirID] = '" + strSysDirID + "'";
  134.     }
  135.     if (strIsAutoBuild.trim().length()>0)
  136.     {
  137.       if (strIsAutoBuild.equalsIgnoreCase("True"))
  138.         strSQL += " and b.[IsAutoBuild] = 1";
  139.       else if (strIsAutoBuild.equalsIgnoreCase("False"))
  140.         strSQL += " and b.[IsAutoBuild] = 0";
  141.     }
  142.     if (strMoveFlowID.trim().length()>0)
  143.     {
  144.       strSQL += " and (a.[MoveFlowID] IN ("+ strMoveFlowID +"))";
  145.     }
  146.     if (strMoveFlowName.trim().length()>0)
  147.     {
  148.       strSQL += " and c.[FlowName] LIKE '%" + strMoveFlowName + "%'";
  149.     }
  150.     if (strUpdateUserID.trim().length()>0)
  151.     {
  152.       strSQL += " and (a.[UpdateUserID] IN ("+ strUpdateUserID +"))";
  153.     }
  154.     if (strUpdateTimeFrom.trim().length()>0)
  155.     {
  156.       strSQL += " and a.[UpdateTime]>='" + strUpdateTimeFrom + " 00:00:00.000'";
  157.     }
  158.     if (strUpdateTimeTo.trim().length()>0)
  159.     {
  160.       strSQL += " and a.[UpdateTime]<='" + strUpdateTimeTo + " 23:59:59.999'";
  161.     }
  162.     if (strUpdateFromIP.trim().length()>0)
  163.     {
  164.       strSQL += " and a.[UpdateFromIP] LIKE '%" + strUpdateFromIP + "%'";
  165.     }
  166.     if (strApproveUserID.trim().length()>0)
  167.     {
  168.       strSQL += " and (a.[ApproveUserID] IN ("+ strApproveUserID +"))";
  169.     }
  170.     if (strIsUseful.trim().length()>0)
  171.     {
  172.       if (strIsUseful.equalsIgnoreCase("True"))
  173.         strSQL += " and a.[IsUseful] = 1";
  174.       else if (strIsUseful.equalsIgnoreCase("False"))
  175.         strSQL += " and a.[IsUseful] = 0";
  176.     }
  177.     if (strWritableUserIDs.trim().length()>0)
  178.     {
  179.       strSQL += " and '%,' + a.[WritableUserIDs] + ',%' like '%," + strWritableUserIDs + ",%'";
  180.     }
  181.     if (strWritableDepartIDs.trim().length()>0)
  182.     {
  183.       strSQL += " and '%,' + a.[WritableDepartIDs] + ',%' like '%," + strWritableDepartIDs + ",%'";
  184.     }
  185.     if (strReadOnlyUserIDs.trim().length()>0)
  186.     {
  187.       strSQL += " and '%,' + a.[ReadOnlyUserIDs] + ',%' like '%," + strReadOnlyUserIDs + ",%'";
  188.     }
  189.     if (strReadOnlyDepartIDs.trim().length()>0)
  190.     {
  191.       strSQL += " and '%,' + a.[ReadOnlyDepartIDs] + ',%' like '%," + strReadOnlyDepartIDs + ",%'";
  192.     }
  193.     if (strconfig.trim().length()>0)
  194.     {
  195.       if (strconfig.equalsIgnoreCase("3"))
  196.       {
  197.         strSQL += " and a.[IsUseful] = 1";
  198.       }
  199.       else if (strconfig.equalsIgnoreCase("2"))
  200.       {
  201.         strSQL += " and a.[ApproveUserID] IS NOT NULL and a.[IsUseful] = 0";
  202.       }
  203.       else if (strconfig.equalsIgnoreCase("1"))
  204.       {
  205.         strSQL += " and a.[ApproveUserID] IS  NULL";
  206.       }
  207.       else
  208.       {}
  209.     }
  210.     if (strOrderBy.trim().length() > 0)
  211.     {
  212.       if (strIsDesc.equalsIgnoreCase("True"))
  213.         strSQL += " Order by " + strOrderBy + " desc";
  214.       else
  215.         strSQL += " Order by " + strOrderBy + "";
  216.     }
  217.     Vector vt = SQLManager.GetResultSet(strSQL);
  218.     return vt;
  219.   }
  220.   /**
  221.    * 获取符合指定条件的公文流转模板记录集(重载getRecordBySearch方法,按ID主键返回)
  222.    * @param strID 公文流转模板信息唯一标识
  223.    * @param strDocTempletTableName 公文模板表名称
  224.    * @return 符合条件记录向量集
  225.    */
  226.   public static Vector getRecordBySearch(String strID,String strDocTempletTableName)
  227.   {
  228.     Vector vt = getRecordBySearch(strID,"","","","",strDocTempletTableName,"","","","","","","","","","","","","","","","");
  229.     return vt;
  230.   }
  231.   /**
  232.    * 公文流转模板审批
  233.    * @param ApproveUserID 审批用户ID
  234.    * @param ApproveTime 审批时间
  235.    * @param iID 公文流转模板ID
  236.    * @return 成功返回记录ID,失败返回错误代码
  237.    */
  238.   public static int Approve(int ApproveUserID,String ApproveTime,int iID)
  239.   {
  240.     String strSQL="Update " + TableName + " set ApproveUserID=" + ApproveUserID + ",ApproveTime='" +
  241.                    ApproveTime + "' where ID=" + iID;
  242.     return SQLManager.ExcuteSQL(strSQL);
  243.   }
  244.   /**
  245.    * 公文流转模板停用
  246.    * @param iID 公文流转模板ID
  247.    * @param StopUseTime 停用时间
  248.    * @return 成功返回记录ID,失败返回错误代码
  249.    */
  250.   public static int Stop(int iID,String StopUseTime)
  251.   {
  252.     String strSQL = "Update " + TableName + " set IsUseful=0,StopUseTime='"+ StopUseTime +"' where ID=" + iID;
  253.     return SQLManager.ExcuteSQL(strSQL);
  254.   }
  255.   /**
  256.    * 公文流转模板启用
  257.    * @param iID 公文流转模板ID
  258.    * @param StarUseTime 启用时间
  259.    * @return 成功返回记录ID,失败返回错误代码
  260.    */
  261.   public static int Start(int iID,String StarUseTime)
  262.   {
  263.     String strSQL = "Update " + TableName + " set IsUseful=1,StarUseTime='"+ StarUseTime +"' where ID=" + iID;
  264.     return SQLManager.ExcuteSQL(strSQL);
  265.   }
  266.   /**
  267.    * 删除审批标记
  268.    * @param iID 公文流转模板ID
  269.    * @return 成功返回记录ID,失败返回错误代码
  270.    */
  271.   public static int UnApprove(int iID)
  272.   {
  273.     String strSQL="Update " + TableName + " set ApproveUserID=null,ApproveTime=null where ID=" + iID;
  274.     return SQLManager.ExcuteSQL(strSQL);
  275.   }
  276. }