/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:TATModuleLogic.cs * 2.功能描述:策略管理信息与数据库的交互类 * 编辑履历: * 作者 日期 版本 修改内容 * 庄天威 2014/11/18 1.00 新建 *******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.Text; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.DataAccess; using Dongke.IBOSS.PRD.Basics.Library; using Dongke.IBOSS.PRD.Service.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels.PMModule; using Oracle.DataAccess.Client; namespace Dongke.IBOSS.PRD.Service.TATModuleLogic { /// /// 策略管理信息与数据库的交互类 /// public partial class TATModuleLogic { #region 管理岗位工资策略 /// /// 查询管理岗位工资策略信息 /// /// 查询条件实体 /// 当前用户信息 /// 查询结果实体 public static ServiceResultEntity GetManagerSalary(ManagerSalaryEntity msEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] MSParas = new OracleParameter[]{ new OracleParameter("In_ManagerSalaryID",OracleDbType.Int32, msEntity.ManagerSalaryID,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("In_ManagerSalaryName",OracleDbType.NVarchar2, msEntity.ManagerSalaryName,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date, msEntity.BeginAccountMonth,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date, msEntity.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthS",OracleDbType.Date, msEntity.EndAccountMonth,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthE",OracleDbType.Date, msEntity.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_Remarks",OracleDbType.NVarchar2, msEntity.Remarks,ParameterDirection.Input), new OracleParameter("In_AuditStatus",OracleDbType.Int32, msEntity.AuditStatus,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsWages = con.ExecStoredProcedure("PRO_PM_GetManagerSalary", MSParas); if (dsWages.Tables.Count == 0 || dsWages.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; // srEntity.Result = dsWages; srEntity.Data = dsWages; } return srEntity; } catch (Exception ex) { srEntity.Status = Constant.ServiceResultStatus.SystemError; srEntity.Exception = ex; return srEntity; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } /// /// 根据管理岗位工资策略主信息ID获取对应管理者信息 /// /// 主信息ID /// 服务实体对象,包含工种明细数据源 public static ServiceResultEntity GetManagersById(int ManagerSalaryID) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); //根据主信息ID查询管理者信息 sbSql.Append(@"Select m.managersid,m.SalaryType,m.SalaryPercent,s.staffid,s.staffcode,s.staffname,o.organizationname,p.postname from TP_TAT_Managers m Inner join TP_HR_STAFF s on m.manager = s.staffid Inner join TP_MST_Organization o on s.organizationid = o.organizationid Inner join TP_MST_Post p on s.post = p.postid where m.Managersalaryid = :MID and m.valueflag = 1"); OracleParameter[] ManagerParas = new OracleParameter[]{ new OracleParameter(":MID",OracleDbType.Int32, ManagerSalaryID,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), ManagerParas); dsDetail.Tables.Add(dtJobs); srEntity.Status = Constant.ServiceResultStatus.Success; //srEntity.Result = dsDetail; srEntity.Data = dsDetail; return srEntity; } catch (Exception ex) { srEntity.Status = Constant.ServiceResultStatus.SystemError; srEntity.Exception = ex; return srEntity; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } /// /// 根据管理者信息ID获取对应的组内成员数据源 /// /// 工价策略主ID /// 包含对应产品数据源的服务返回实体 public static ServiceResultEntity GetMembers(int ManagersID) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); //根据管理者ID获取对应的组员信息数据源 sbSql.Append(@"Select m.ManagersID,s.staffid,s.staffcode,s.staffname,o.organizationname,p.postname from TP_TAT_Members m Inner join TP_HR_STAFF s on m.Member = s.staffid Inner join TP_MST_Organization o on s.organizationid = o.organizationid Inner join TP_MST_Post p on s.post = p.postid where m.ManagersID = :MID and m.valueflag = 1"); OracleParameter[] MemberParas = new OracleParameter[]{ new OracleParameter(":MID",OracleDbType.Int32, ManagersID,ParameterDirection.Input) }; DataTable dtGoods = con.GetSqlResultToDt(sbSql.ToString(), MemberParas); dsDetail.Tables.Add(dtGoods); srEntity.Status = Constant.ServiceResultStatus.Success; //srEntity.Result = dsDetail; srEntity.Data = dsDetail; return srEntity; } catch (Exception ex) { srEntity.Status = Constant.ServiceResultStatus.SystemError; srEntity.Exception = ex; return srEntity; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } #endregion } }