⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paymanager.java

📁 一个完整的
💻 JAVA
字号:
package com.gforce.gfoa;
import com.gforce.currency.database.*;
import java.util.*;
import com.gforce.currency.*;

/**
 *
 * <p>Title: 吉力科技办公自动化系统</p>
 * <p>Description: 吉力科技办公自动化系统</p>
 * <p>Copyright: 版权所有 2003 (c) 西安吉力科技发展有限公司  Copyright (c) 2003 GForce Sceince & Technology</p>
 * <p>Company: 西安吉力科技发展有限公司 (GForce Sceince & Technology)</p>
 * @author 王江涛
 * @version 1.0
 */

public class PayManager
    extends RecordManager
{
    public PayManager()
    {
    }

    protected final static String TableName = "PayInfo"; //定义声明本类操作表名称
    protected final static String IDFieldName = "ID"; //定义声明主键或者可以确定唯一记录的字段名称为“ID”,必须为自增整型
    protected final static String[] NumericFieldsName =
        {"PersonnelID", "PayTypeID","PayYear","PayMonth","IsConfirmed","Pay"}; //声明数值型字段名称
    protected final static String[] StringFieldsName =
        {"ConfirmInfo"}; //声明字符型字段名称
    protected final static String[] DatetimeFieldsName =
        {}; //声明日期时间型字段名称
    protected final static String[] TextFieldsName =
        {}; //声明大字符串型字段名称

    /**
     * 根据字段名称获取插入数据时表单元素名称
     * @param strFieldName  字段名称
     * @return  表单素名称
     */
    protected String InsertParament(String strFieldName)
    {
        return "" + strFieldName + ""; //可以根据需要加前缀、后缀
    }

    /**
     * 根据字段名称获取修改数据时表单元素名称
     * @param strFieldName  字段名称
     * @return  表单素名称
     */
    protected String UpdateParament(String strFieldName)
    {
        return "" + strFieldName + ""; //可以根据需要加前缀、后缀
    }

    /**
     * 获取本类操作表名称
     * @return  表名称
     */
    public String getTableName()
    { //获取本类操作表名称
        return TableName;
    }

    protected String getIDFieldName()
    { //获取主键或者可以确定唯一记录的字段名称
        return IDFieldName;
    }

    protected String[] getNumericFieldsName()
    { //获取数值型字段名称
        return NumericFieldsName;
    }

    protected String[] getStringFieldsName()
    { //获取字符型字段名称
        return StringFieldsName;
    }

    protected String[] getDatetimeFieldsName()
    { //获取日期时间型字段名称
        return DatetimeFieldsName;
    }

    protected String[] getTextFieldsName()
    { //获取大字符串型字段名称
        return TextFieldsName;
    }

    /**
     * 获取所有资产记录集
     * @return 所有资产记录集
     */
    public static Vector getAllRecord()
    {
        Vector vt = SQLManager.GetResultSet("Select * from " + TableName);
        return vt;
    }

    /**
     * 获取指定ID地记录
     * @param iAssetID 指定地记录ID
     * @return 记录数据集
     */
    public static Vector getByIDRecord(int iAssetID)
    {
        Vector vt = SQLManager.GetResultSet("Select * from " + TableName + " WHERE ID ='" + iAssetID +
                                            "'");
        return vt;
    }
    /**
     * 获取指定资产类型记录集
     * @param iAssetTypeID  资产ID
     * @return 指定资产类型记录集
     */
    public static Vector getByAssetTypeIDRecord(int iAssetTypeID)
    {
        Vector vt = SQLManager.GetResultSet("Select * from " + TableName + " WHERE AssetTypeID ='" + iAssetTypeID +
                                            "'");
        return vt;
    }

    /**
     * 获取工资表的年份月份
     * @return 记录集
     */
    public static Vector getYearMonthRecord()
    {
      Vector vt = SQLManager.GetResultSet("select  distinct PayYear,PayMonth from "+ TableName +" order by PayYear,PayMonth");
      return vt;
    }

    /**
     * 获取工资类别指定年度、指定月份总和的统计
     * @param iYear 年度
     * @param iMonth 月份
     * @return 统计结果
     */
    public static Vector getSUMPayRecord(int iYear,int iMonth)
    {
      Vector vt = SQLManager.GetResultSet("Select SUM(Pay) as SumPay,PayTypeID from " + TableName + " Where (PayYear= "+ iYear +")and(PayMonth= "+ iMonth +") Group By PayTypeID  Order By (Select OrderNumber From PayTypeInfo Where "+TableName+".PayTypeID = PayTypeInfo.ID) ");
      return vt;
    }

    /**
     * 生成月工资
     * @param iYear 年份
     * @param iMonth 月份
     * @return 返回参数等于小于0失败,大于0成功。
     */
    public static int BuildPay(int iYear,int iMonth)
    {
        int iReturn = 0;
        String strPayYear = iYear + "";
        String strPayMonth = iMonth + "";
        String strIsConfirmed = "0";
        String strConfirmInfo = "''";
        Vector vBasePay = SQLManager.GetResultSet("select  * from BasePayInfo");
        if (vBasePay.size()>0)
        {
          for (int i=0;i<vBasePay.size();i++)
          {
            String strPersonnelID = ((Vector)vBasePay.get(i)).get(1).toString();
            String strPayTypeID = ((Vector)vBasePay.get(i)).get(2).toString();
            String strPay = ((Vector)vBasePay.get(i)).get(3).toString();
            Vector vt = SQLManager.GetResultSet("select ID From " + TableName + " Where (PersonnelID = " + strPersonnelID
                                                + ") And (PayTypeID =" + strPayTypeID + ") And (PayYear=" + strPayYear
                                                + ") And (PayMonth=" + strPayMonth + ")");
            if (vt.size() > 0)
            {
              //****************已有记录更新记录
               iReturn = SQLManager.ExcuteSQL("UPDATE "+ TableName +" SET Pay = "+ strPay +" Where (PersonnelID = " + strPersonnelID
                                                + ") And (PayTypeID =" + strPayTypeID + ") And (PayYear=" + strPayYear
                                                + ") And (PayMonth=" + strPayMonth + ")");

            }
            else
            {
              //****************没有记录插入记录
               iReturn = SQLManager.ExcuteSQL("Insert "+ TableName +" (PersonnelID,PayTypeID,Pay,PayYear,PayMonth,IsConfirmed,ConfirmInfo) Values ("
                                              + strPersonnelID +","+ strPayTypeID +","+ strPay +","+ strPayYear +","+ strPayMonth +","
                                              + strIsConfirmed +","+ strConfirmInfo +")");
            }
          }
        }
        return iReturn;
    }

    /**
     * 获取指定员工、指定年度、指定月份的工资记录集
     * @param iPersonnelID 员工ID
     * @param iYear 年度
     * @param iMonth 月份
     * @return 工资记录集
     */
    public static Vector getRecordByYearMonth(int iPersonnelID,int iYear,int iMonth)
    {
      Vector vt = SQLManager.GetResultSet("Select * from " + TableName + " Where (PayYear = "+iYear+") and (PayMonth= "+ iMonth +") and (PersonnelID= " + iPersonnelID + ") Order By (Select OrderNumber From PayTypeInfo Where "+TableName+".PayTypeID = PayTypeInfo.ID) ");
      return vt;
    }

    /**
     * 获取指定年度、指定月份所有员工工资记录集
     * @param iYear 年度
     * @param iMonth 月份
     * @return 工资记录集
     */
    public static Vector getRecordByYearMonth(int iYear,int iMonth)
    {
      Vector vt = SQLManager.GetResultSet("Select a.*,b.Number,b.Name from " + TableName + " as a left outer join PersonnelInfo as b on(a.PersonnelID=b.ID) left outer join PayTypeInfo as c on(a.PayTypeID=c.ID) Where (a.PayYear = "+iYear+") and (a.PayMonth= "+ iMonth +") Order By b.Number,c.OrderNumber");
      return vt;
    }

    /**
     * 清空所有记录
     * @return 错误代码
     */
    public static int DeleteAllPay()
    {
      int iReturn = 0;
      iReturn = SQLManager.ExcuteSQL("Delete "+ TableName +"");
      return iReturn;
    }

    /**
     * 确认指定员工、指定年月工资
     * @param iPersonnelID  员工ID
     * @param iPayYear 工资年度
     * @param iPayMonth 工资月份
     * @param iIsConfirm 是否确认
     * @param strConfirmInfo 确认信息
     * @return 错误代码,大于0代表确认成功
     */
    public static int confirmPay(int iPersonnelID,int iPayYear,int iPayMonth,int iIsConfirm,String strConfirmInfo)
    {
      Vector vt=SQLManager.GetResultSet("Select Top 1 * from " + TableName + " where  PersonnelID=" + iPersonnelID + " and PayYear=" + iPayYear + " and PayMonth=" + iPayMonth + "");
      if(vt.size()>0)
      {
        if(((Vector)vt.get(0)).get(6).toString().equalsIgnoreCase("true"))
        {
          /**
           * 该月份工资已经确认
           */
          return -7;
        }
        else
        {
          return SQLManager.ExcuteSQL("Update " + TableName + " set IsConfirmed = " + iIsConfirm + ", ConfirmInfo='"
                                      + strConfirmInfo + "' where PersonnelID=" + iPersonnelID + " and PayYear="
                                      + iPayYear
                                      + " and PayMonth=" + iPayMonth + "");
        }
      }
      else
      {
        /**
         * 要确认的工资不存在
         */
        return -3;
      }
    }

    /**
     * 获取指定用户工资记录信息
     * @param iUserID  用户ID
     * @return  指定用户工资记录信息
     */
    public static Vector getUserPay(int iUserID)
    {
      return SQLManager.GetResultSet("Select a.* from " + TableName + " as a left outer join UserInfo as b on (a.PersonnelID=b.PersonnelID) left outer join PayTypeInfo as c on(a.PayTypeID=c.ID) where b.ID = " + iUserID + " order by a.PayYear,a.PayMonth,c.OrderNumber");
    }

    /**
     * 删除指定年度、指定月份所有员工工资记录集
     * @param iYear 年度
     * @param iMonth 月份
     * @return 错误代码
     */
    public static int delPayByYearMonth(int iYear,int iMonth)
    {
      return SQLManager.ExcuteSQL("Delete from " + TableName + " Where (PayYear = "+iYear+") and (PayMonth= "+ iMonth +")");
    }

    /**
     * 将指定年度、指定月份所有员工工资记录保存为员工工资信息
     * @param iYear 年度
     * @param iMonth 月份
     * @return 错误代码
     */
    public static int updateBasePayByYearMonth(int iYear,int iMonth)
    {
      return SQLManager.ExcuteSQL("update BasePayInfo set Pay=b.Pay from BasePayInfo as a,PayInfo as b where a.PersonnelID=b.PersonnelID and a.PayTypeID=b.PayTypeID and b.PayMonth="+ iMonth +" and b.PayYear="+iYear+"");
    }


    /**
     * 数据初始化
     * @return 是否成功
     */
    public static int Initalize()
    {
      int iOk = 1;
      Vector vt = SQLManager.GetResultSet("Select ID from PayTypeInfo where ID Not in(select DISTINCT PayTypeID from " + TableName + ")");
      if (vt.size()>0)
      {
        Vector vtPersonnel = PersonnelManager.getAllRecord();
        for(int i=0;i<vt.size();i++)
        {
          for (int j = 0; j < vtPersonnel.size(); j++)
          {
            SQLManager.ExcuteSQL("Insert Into " + TableName + " (PayTypeID,PersonnelID,Pay) VALUES ("
                                       + ( (Vector) vt.get(i)).get(0).toString() + ","
                                       + ( (Vector) vtPersonnel.get(j)).get(0).toString() + ",0)");
          }
        }
      }
      return iOk;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -