/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:TATModuleLogic.cs * 2.功能描述:策略管理信息与数据库的交互类 * 编辑履历: * 作者 日期 版本 修改内容 * 庄天威 2014/11/18 1.00 新建 *******************************************************************************/ using System; using System.Data; using System.Text; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.DataAccess; using Dongke.IBOSS.PRD.Service.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; using Oracle.DataAccess.Client; namespace Dongke.IBOSS.PRD.Service.TATModuleLogic { /// /// 策略管理信息与数据库的交互类 /// public partial class TATModuleLogic { #region 缺陷扣罚 /// /// 查询缺陷扣罚信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 public static ServiceResultEntity GetDefectFine(DefectFineEntity dfEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("In_DefectFineID",OracleDbType.Int32, dfEntity.DefectFineID,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("In_DefectFineName",OracleDbType.NVarchar2, dfEntity.DefectFineName,ParameterDirection.Input), new OracleParameter("In_SalaryType",OracleDbType.Int32, dfEntity.SalaryType,ParameterDirection.Input), new OracleParameter("In_DefectFine",OracleDbType.Int32, dfEntity.DefectFine,ParameterDirection.Input), new OracleParameter("In_FineType",OracleDbType.Int32, dfEntity.FineType,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date, dfEntity.BeginAccountMonth,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date, dfEntity.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthS",OracleDbType.Date, dfEntity.EndAccountMonth,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthE",OracleDbType.Date, dfEntity.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_Remarks",OracleDbType.NVarchar2, dfEntity.Remarks,ParameterDirection.Input), new OracleParameter("In_AuditStatus",OracleDbType.Int32, dfEntity.AuditStatus,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsDefectFine = con.ExecStoredProcedure("PRO_PM_GetDefectFine", DFParas); if (dsDefectFine.Tables.Count == 0 || dsDefectFine.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; //srEntity.Result = dsDefectFine; srEntity.Data = dsDefectFine; } 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 /// 数据集中两个Table,第一个是工种集合,第二个是全部信息 public static ServiceResultEntity GetDefectFineDetailById(int DefectId) { 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 Distinct detail.jobsId,jobs.jobscode,jobs.jobsname,1 as isHave From TP_TAT_DefectFineDetail detail Inner join TP_MST_JOBS jobs On detail.jobsid = jobs.jobsid where detail.DefectFineID = :DefectFineID and detail.ValueFlag = 1"); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":DefectFineID",OracleDbType.Int32, DefectId,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); dsDetail.Tables.Add(dtJobs); //然后根据主信息ID查询所有信息 sbSql.Clear(); sbSql.Append(@"select detail.defectfineid,detail.JobsID,detail.GoodsId, detail.FinEamount,goods.goodscode,goods.goodsname from TP_TAT_DefectFineDetail detail inner join TP_MST_GOODS goods on detail.goodsid = goods.goodsid where detail.DefectFineID = :DefectFineID and detail.ValueFlag = 1"); OracleParameter[] DetailParas = new OracleParameter[]{ new OracleParameter(":DefectFineID",OracleDbType.Int32, DefectId,ParameterDirection.Input), }; DataTable dtDetail = con.GetSqlResultToDt(sbSql.ToString(), DetailParas); dsDetail.Tables.Add(dtDetail); srEntity.Status = Constant.ServiceResultStatus.Success; srEntity.Result = 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 #region 基本工资策略 /// /// 查询基本工资策略信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 /// /// 2014.12.10 任海 新建 /// public static ServiceResultEntity GetBasicSalary(BasicSalaryEntity basicSalaryEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { oracleConn.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("In_BasicSalaryID",OracleDbType.Int32, basicSalaryEntity.BasicSalaryID,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("In_BasicSalaryName",OracleDbType.NVarchar2, basicSalaryEntity.BasicSalaryName,ParameterDirection.Input), new OracleParameter("In_SalaryType",OracleDbType.Int32, basicSalaryEntity.SalaryType,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date, basicSalaryEntity.BeginAccountMonth,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date, basicSalaryEntity.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthS",OracleDbType.Date, basicSalaryEntity.EndAccountMonth,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthE",OracleDbType.Date, basicSalaryEntity.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_Remarks",OracleDbType.NVarchar2, basicSalaryEntity.Remarks,ParameterDirection.Input), new OracleParameter("In_AuditStatus",OracleDbType.Int32, basicSalaryEntity.AuditStatus,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsBasicSalary = oracleConn.ExecStoredProcedure("PRO_PM_GetBasicSalary", DFParas); if (dsBasicSalary.Tables.Count == 0 || dsBasicSalary.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; //srEntity.Result = dsBasicSalary; srEntity.Data = dsBasicSalary; } return srEntity; } catch (Exception ex) { srEntity.Status = Constant.ServiceResultStatus.SystemError; srEntity.Exception = ex; return srEntity; } finally { if (oracleConn.ConnState == ConnectionState.Open) { oracleConn.Close(); } } } /// /// 查询基本工资策略明细 /// /// 主信息ID /// 基本用户信息 /// ServiceResultEntity服务实体对象,包含工种明细数据源 /// /// 2014.12.12 任海 新建 /// public static ServiceResultEntity GetBasicSalaryDetailById(int BasicSalaryID, SUserInfo sUserInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"Select bs.basicsalaryid,bs.jobsid,jobs.jobscode,jobs.jobsname,bs.basicsalary,bs.subsidy,bs.minimumsalary, bs.accountid,bs.valueflag,bs.createtime,bs.createuserid,bs.updatetime,bs.updateuserid,bs.optimestamp from TP_TAT_BasicSalaryDetail bs inner join TP_MST_JOBS jobs On bs.jobsid = jobs.jobsid where bs.AccountID = :AccountID and bs.BasicSalaryID = :BasicSalaryID and bs.valueflag = 1"); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":BasicSalaryID",OracleDbType.Int32, BasicSalaryID,ParameterDirection.Input), new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); 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(); } } } #endregion #region 出勤考核 /// /// 查询出勤考核信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 /// /// 2014.12.15 任海 新建 /// public static ServiceResultEntity GetAttendance(AttendanceEntity attendanceEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { oracleConn.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("In_AttendanceID",OracleDbType.Int32, attendanceEntity.AttendanceID,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("In_AttendanceName",OracleDbType.NVarchar2, attendanceEntity.AttendanceName,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date, attendanceEntity.BeginAccountMonth,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date, attendanceEntity.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthS",OracleDbType.Date, attendanceEntity.EndAccountMonth,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthE",OracleDbType.Date, attendanceEntity.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_Remarks",OracleDbType.NVarchar2, attendanceEntity.Remarks,ParameterDirection.Input), new OracleParameter("In_AuditStatus",OracleDbType.Int32, attendanceEntity.AuditStatus,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsAttendance = oracleConn.ExecStoredProcedure("PRO_PM_GetAttendance", DFParas); if (dsAttendance.Tables.Count == 0 || dsAttendance.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; // srEntity.Result = dsAttendance; srEntity.Data = dsAttendance; } return srEntity; } catch (Exception ex) { srEntity.Status = Constant.ServiceResultStatus.SystemError; srEntity.Exception = ex; return srEntity; } finally { if (oracleConn.ConnState == ConnectionState.Open) { oracleConn.Close(); } } } /// /// 查询出勤考核的明细对应工种 /// /// 主信息ID /// 基本用户信息 /// ServiceResultEntity服务实体对象,包含工种明细数据源 /// /// 2014.12.16 任海 新建 /// public static ServiceResultEntity GetAttendanceEntityById(int AttendanceID, SUserInfo sUserInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"Select at.AttendanceID,at.jobsid,jobs.jobscode,jobs.jobsname, at.accountid,at.valueflag,at.createtime,at.createuserid,at.updatetime,at.updateuserid,at.optimestamp,1 as isHave from TP_TAT_AttendanceDetail at inner join TP_MST_JOBS jobs On at.jobsid = jobs.jobsid where at.AccountID = :AccountID and at.AttendanceID = :AttendanceID and at.valueflag = 1"); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":AttendanceID",OracleDbType.Int32, AttendanceID,ParameterDirection.Input), new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); 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(); } } } /// /// 查询出勤考核明细的信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 /// /// 2014.12.1 任海 新建 /// public static ServiceResultEntity GetAttendanceDetail(AttendanceDetailEntity attendanceDetailEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"Select AttendanceID,JobsID,RestmMode,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,RestDays,PunishMode, AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp From TP_TAT_AttendanceDetail where AccountID = :AccountID and ValueFlag = 1 and AttendanceID = :AttendanceID and JobsID = :JobsID "); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":AttendanceID",OracleDbType.Int32, attendanceDetailEntity.AttendanceID,ParameterDirection.Input), new OracleParameter(":AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter(":JobsID",OracleDbType.Int32, attendanceDetailEntity.JobsID,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); 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 /// 基本用户信息 /// ServiceResultEntity服务实体对象,包含工种明细数据源 /// /// 2014.12.18 任海 新建 /// public static ServiceResultEntity GetAttFinesRulesById(int AttendanceID, int JobsID, SUserInfo sUserInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); sbSql.Append(@"Select at.AttendanceID,at.jobsid,afr.FinesRulesID,afr.BeginAbsentDays,afr.EndAbsentDays,afr.PunishAmount, at.accountid,at.valueflag,at.createtime,at.createuserid,at.updatetime,at.updateuserid,at.optimestamp from TP_TAT_AttendanceDetail at inner join TP_TAT_AttFinesRules afr On at.jobsid = afr.jobsid and at.AttendanceID = afr.AttendanceID where at.AccountID = :AccountID and at.AttendanceID = :AttendanceID and at.JobsID=:JobsID and at.valueflag = 1"); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":AttendanceID",OracleDbType.Int32, AttendanceID,ParameterDirection.Input), new OracleParameter(":JobsID",OracleDbType.Int32, JobsID,ParameterDirection.Input), new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); 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(); } } } #endregion #region 工价策略 /// /// 查询工价策略信息 /// /// 工价策略查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 public static ServiceResultEntity GetWages(WagesEntity wagesEntity, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("In_WagesID",OracleDbType.Int32, wagesEntity.WagesID,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("In_WagesName",OracleDbType.NVarchar2, wagesEntity.WagesName,ParameterDirection.Input), new OracleParameter("In_SalaryType",OracleDbType.Int32, wagesEntity.SalaryType,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date, wagesEntity.BeginAccountMonth,ParameterDirection.Input), new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date, wagesEntity.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthS",OracleDbType.Date, wagesEntity.EndAccountMonth,ParameterDirection.Input), new OracleParameter("In_EndAccountMonthE",OracleDbType.Date, wagesEntity.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_Remarks",OracleDbType.NVarchar2, wagesEntity.Remarks,ParameterDirection.Input), new OracleParameter("In_AuditStatus",OracleDbType.Int32, wagesEntity.AuditStatus,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsWages = con.ExecStoredProcedure("PRO_PM_GetWages", DFParas); 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 /// ServiceResultEntity服务实体对象,包含工种明细数据源 public static ServiceResultEntity GetWagesDetailById(int WagesId) { 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 detail.wagesid,jobs.jobscode,jobs.jobsname,detail.jobsid,detail.pricetype, decode(detail.pricetype, 0, null, 1, null,2, null,3, detail.Kilncarnum,4, detail.Weight, null) as OneCount, decode(detail.pricetype,0, null, 1, null,2, null,3, detail.CarPricing,4, detail.WeightPricing, null) as OnePrice, 1 as isHave From TP_TAT_WagesDetail detail Inner join TP_MST_JOBS jobs On detail.jobsid = jobs.jobsid where detail.WagesID = :WagesID and detail.ValueFlag = 1"); OracleParameter[] JobsParas = new OracleParameter[]{ new OracleParameter(":WagesID",OracleDbType.Int32, WagesId,ParameterDirection.Input), }; DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), JobsParas); 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获取对应的产品设定数据源 /// /// 工价策略主ID /// 对应工种ID /// ServiceResultEntity包含对应产品数据源的服务返回实体 public static ServiceResultEntity GetWagesGoodsDetail(int WagesId, int JobsId) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); DataSet dsDetail = new DataSet(); try { StringBuilder sbSql = new StringBuilder(); //根据主信息ID以及工种ID获取对应的对应产品数据源 sbSql.Append(@"Select * From TP_TAT_WagesGoodsDetail detail Inner join TP_MST_JOBS jobs On detail.jobsid = jobs.jobsid Inner join TP_MST_Goods goods On Detail.goodsid = goods.goodsid where detail.WagesID = :WagesID and detail.JobsId = :JobsId and detail.ValueFlag = 1"); OracleParameter[] GoodsParas = new OracleParameter[]{ new OracleParameter(":WagesID",OracleDbType.Int32, WagesId,ParameterDirection.Input), new OracleParameter(":JobsId",OracleDbType.Int32, JobsId,ParameterDirection.Input), }; DataTable dtGoods = con.GetSqlResultToDt(sbSql.ToString(), GoodsParas); 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 #region 质量考核 /// /// 查询质量考核信息 /// /// 质量考核查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 public static ServiceResultEntity GetQuality(QualityEntity quality, SUserInfo userInfo) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_qualityId",OracleDbType.Int32, quality.QualityID,ParameterDirection.Input), new OracleParameter("in_qualityName",OracleDbType.Varchar2, quality.QualityName,ParameterDirection.Input), new OracleParameter("in_remarks",OracleDbType.Varchar2, quality.Remarks,ParameterDirection.Input), new OracleParameter("in_salaryType",OracleDbType.Int32, quality.SalaryType,ParameterDirection.Input), new OracleParameter("in_auditStatus",OracleDbType.Int32, quality.AuditStatus,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthStart",OracleDbType.Varchar2, quality.BeginAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthEnd",OracleDbType.Varchar2, quality.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("in_endAccountMonthStart",OracleDbType.Varchar2, quality.EndAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_endAccountMonthEnd",OracleDbType.Varchar2, quality.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetQualityData", DFParas); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } //srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } /// /// 根据主信息ID获取明细信息 /// /// 主信息ID /// ServiceResultEntity数据集中两个Table,第一个是工种集合,第二个是全部信息 public static ServiceResultEntity GetQualityDetailById(int qualityID) { ServiceResultEntity srEntity = new ServiceResultEntity(); IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_qualityId",OracleDbType.Int32, qualityID,ParameterDirection.Input), new OracleParameter("out_resultDetail",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("out_resultGoods",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetQualityDetailById", DFParas); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } // srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } #endregion #region 进度考核 /// /// 查询进度考核信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 public static ServiceResultEntity GetProgress(ProgressEntity progres, SUserInfo userInfo) { IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_progressId",OracleDbType.Int32, progres.ProgressID,ParameterDirection.Input), new OracleParameter("in_progressName",OracleDbType.Varchar2, progres.ProgressName,ParameterDirection.Input), new OracleParameter("in_remarks",OracleDbType.Varchar2, progres.Remarks,ParameterDirection.Input), new OracleParameter("in_salaryType",OracleDbType.Int32, progres.SalaryType,ParameterDirection.Input), new OracleParameter("in_auditStatus",OracleDbType.Int32, progres.AuditStatus,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthStart",OracleDbType.Varchar2, progres.BeginAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthEnd",OracleDbType.Varchar2, progres.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("in_endAccountMonthStart",OracleDbType.Varchar2, progres.EndAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_endAccountMonthEnd",OracleDbType.Varchar2, progres.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetProgressData", DFParas); ServiceResultEntity srEntity = new ServiceResultEntity(); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } //srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } /// /// 根据主信息ID获取明细信息 /// /// 主信息ID /// ServiceResultEntity数据集中两个Table,第一个是工种集合,第二个是全部信息 public static ServiceResultEntity GetProgressDetailById(int progressID) { IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_progressID",OracleDbType.Int32, progressID,ParameterDirection.Input), new OracleParameter("Out_Result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetProgressDetailById", DFParas); ServiceResultEntity srEntity = new ServiceResultEntity(); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } //srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } #endregion #region 行政考核 /// /// 查询行政考核信息 /// /// 查询条件实体 /// 基本用户信息 /// ServiceResultEntity查询结果实体 public static ServiceResultEntity GetAdministration(AdministrationEntity administration, SUserInfo userInfo) { IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_administrationID",OracleDbType.Int32, administration.AdministrationID,ParameterDirection.Input), new OracleParameter("in_administrationName",OracleDbType.Varchar2, administration.AdministrationName,ParameterDirection.Input), new OracleParameter("in_remarks",OracleDbType.Varchar2, administration.Remarks,ParameterDirection.Input), new OracleParameter("in_salaryType",OracleDbType.Int32, administration.SalaryType,ParameterDirection.Input), new OracleParameter("in_administrationType",OracleDbType.Int32, administration.AdministrationType,ParameterDirection.Input), new OracleParameter("in_auditStatus",OracleDbType.Int32, administration.AuditStatus,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthStart",OracleDbType.Varchar2, administration.BeginAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_beginAccountMonthEnd",OracleDbType.Varchar2, administration.BeginAccountMonthEnd,ParameterDirection.Input), new OracleParameter("in_endAccountMonthStart",OracleDbType.Varchar2, administration.EndAccountMonthStart,ParameterDirection.Input), new OracleParameter("in_endAccountMonthEnd",OracleDbType.Varchar2, administration.EndAccountMonthEnd,ParameterDirection.Input), new OracleParameter("in_accountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetAdministrationData", DFParas); ServiceResultEntity srEntity = new ServiceResultEntity(); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } //srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } /// /// 根据主信息ID获取明细信息 /// /// 主信息ID /// ServiceResultEntity数据集中两个Table,第一个是工种集合,第二个是全部信息 public static ServiceResultEntity GetAdminDetailEntityById(int administrationID) { IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("in_administrationID",OracleDbType.Int32, administrationID,ParameterDirection.Input), new OracleParameter("out_resultDetail",OracleDbType.RefCursor, ParameterDirection.Output), }; DataSet dsSearchReport = con.ExecStoredProcedure("PRO_TAT_GetAdminDetailById", DFParas); ServiceResultEntity srEntity = new ServiceResultEntity(); if (dsSearchReport.Tables.Count == 0 || dsSearchReport.Tables[0].Rows.Count == 0) { srEntity.Status = Constant.ServiceResultStatus.NoSearchResults; srEntity.Message = Messages.MSG_CMN_I002; } else { srEntity.Status = Constant.ServiceResultStatus.Success; } //srEntity.Result = dsSearchReport; srEntity.Data = dsSearchReport; return srEntity; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } #endregion /// /// 获取全部使用中的策略明细数据集 /// /// 结算时间起 /// 当前用户 /// 各策略明细集 public static DataSet GetAllUseStrategy(DateTime SalaryTimeS,SUserInfo userInfo) { IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); try { con.Open(); OracleParameter[] DFParas = new OracleParameter[]{ new OracleParameter("In_SalaryTimeS",OracleDbType.Date, SalaryTimeS.Date,ParameterDirection.Input), new OracleParameter("In_AccountID",OracleDbType.Int32, userInfo.AccountID,ParameterDirection.Input), new OracleParameter("Out_BasicSalary",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_Attendance",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_WagesS",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_WagesE",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_DefectFine",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_Administration",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_Progress",OracleDbType.RefCursor, ParameterDirection.Output), new OracleParameter("Out_Managers",OracleDbType.RefCursor, ParameterDirection.Output) }; DataSet dsDefectFine = con.ExecStoredProcedure("PRO_TAT_GetAllUseStrategy", DFParas); return dsDefectFine; } catch (Exception ex) { throw ex; } finally { if (con.ConnState == ConnectionState.Open) { con.Close(); } } } } }