TATModuleLogicPartial.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:TATModuleLogic.cs
  5. * 2.功能描述:策略管理信息与数据库的交互类
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 庄天威 2014/11/18 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Text;
  14. using Dongke.IBOSS.PRD.Basics.BaseResources;
  15. using Dongke.IBOSS.PRD.Basics.DataAccess;
  16. using Dongke.IBOSS.PRD.Basics.Library;
  17. using Dongke.IBOSS.PRD.Service.DataModels;
  18. using Dongke.IBOSS.PRD.WCF.DataModels;
  19. using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
  20. using Oracle.ManagedDataAccess.Client;
  21. namespace Dongke.IBOSS.PRD.Service.TATModuleLogic
  22. {
  23. /// <summary>
  24. /// 策略管理信息与数据库的交互类
  25. /// </summary>
  26. public partial class TATModuleLogic
  27. {
  28. #region 管理岗位工资策略
  29. /// <summary>
  30. /// 查询管理岗位工资策略信息
  31. /// </summary>
  32. /// <param name="msEntity">查询条件实体</param>
  33. /// <param name="userInfo">当前用户信息</param>
  34. /// <returns>查询结果实体</returns>
  35. public static ServiceResultEntity GetManagerSalary(ManagerSalaryEntity msEntity, SUserInfo userInfo)
  36. {
  37. ServiceResultEntity srEntity = new ServiceResultEntity();
  38. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  39. try
  40. {
  41. con.Open();
  42. OracleParameter[] MSParas = new OracleParameter[]{
  43. new OracleParameter("In_ManagerSalaryID",OracleDbType.Int32,
  44. msEntity.ManagerSalaryID,ParameterDirection.Input),
  45. new OracleParameter("In_AccountID",OracleDbType.Int32,
  46. userInfo.AccountID,ParameterDirection.Input),
  47. new OracleParameter("In_ManagerSalaryName",OracleDbType.NVarchar2,
  48. msEntity.ManagerSalaryName,ParameterDirection.Input),
  49. new OracleParameter("In_BeginAccountMonthS",OracleDbType.Date,
  50. msEntity.BeginAccountMonth,ParameterDirection.Input),
  51. new OracleParameter("In_BeginAccountMonthE",OracleDbType.Date,
  52. msEntity.BeginAccountMonthEnd,ParameterDirection.Input),
  53. new OracleParameter("In_EndAccountMonthS",OracleDbType.Date,
  54. msEntity.EndAccountMonth,ParameterDirection.Input),
  55. new OracleParameter("In_EndAccountMonthE",OracleDbType.Date,
  56. msEntity.EndAccountMonthEnd,ParameterDirection.Input),
  57. new OracleParameter("In_Remarks",OracleDbType.NVarchar2,
  58. msEntity.Remarks,ParameterDirection.Input),
  59. new OracleParameter("In_AuditStatus",OracleDbType.Int32,
  60. msEntity.AuditStatus,ParameterDirection.Input),
  61. new OracleParameter("Out_Result",OracleDbType.RefCursor,
  62. ParameterDirection.Output),
  63. };
  64. DataSet dsWages = con.ExecStoredProcedure("PRO_PM_GetManagerSalary", MSParas);
  65. if (dsWages.Tables.Count == 0 || dsWages.Tables[0].Rows.Count == 0)
  66. {
  67. srEntity.Status = Constant.ServiceResultStatus.NoSearchResults;
  68. srEntity.Message = Messages.MSG_CMN_I002;
  69. }
  70. else
  71. {
  72. srEntity.Status = Constant.ServiceResultStatus.Success;
  73. // srEntity.Result = dsWages;
  74. srEntity.Data = dsWages;
  75. }
  76. return srEntity;
  77. }
  78. catch (Exception ex)
  79. {
  80. srEntity.Status = Constant.ServiceResultStatus.SystemError;
  81. srEntity.Exception = ex;
  82. return srEntity;
  83. }
  84. finally
  85. {
  86. if (con.ConnState == ConnectionState.Open)
  87. {
  88. con.Close();
  89. }
  90. }
  91. }
  92. /// <summary>
  93. /// 根据管理岗位工资策略主信息ID获取对应管理者信息
  94. /// </summary>
  95. /// <param name="ManagerSalaryID">主信息ID</param>
  96. /// <returns>服务实体对象,包含工种明细数据源</returns>
  97. public static ServiceResultEntity GetManagersById(int ManagerSalaryID)
  98. {
  99. ServiceResultEntity srEntity = new ServiceResultEntity();
  100. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  101. DataSet dsDetail = new DataSet();
  102. try
  103. {
  104. StringBuilder sbSql = new StringBuilder();
  105. //根据主信息ID查询管理者信息
  106. sbSql.Append(@"Select m.managersid,m.SalaryType,m.SalaryPercent,s.staffid,s.staffcode,s.staffname,o.organizationname,p.postname
  107. from TP_TAT_Managers m
  108. Inner join TP_HR_STAFF s
  109. on m.manager = s.staffid
  110. Inner join TP_MST_Organization o
  111. on s.organizationid = o.organizationid
  112. Inner join TP_MST_Post p
  113. on s.post = p.postid
  114. where m.Managersalaryid = :MID and m.valueflag = 1");
  115. OracleParameter[] ManagerParas = new OracleParameter[]{
  116. new OracleParameter(":MID",OracleDbType.Int32,
  117. ManagerSalaryID,ParameterDirection.Input),
  118. };
  119. DataTable dtJobs = con.GetSqlResultToDt(sbSql.ToString(), ManagerParas);
  120. dsDetail.Tables.Add(dtJobs);
  121. srEntity.Status = Constant.ServiceResultStatus.Success;
  122. //srEntity.Result = dsDetail;
  123. srEntity.Data = dsDetail;
  124. return srEntity;
  125. }
  126. catch (Exception ex)
  127. {
  128. srEntity.Status = Constant.ServiceResultStatus.SystemError;
  129. srEntity.Exception = ex;
  130. return srEntity;
  131. }
  132. finally
  133. {
  134. if (con.ConnState == ConnectionState.Open)
  135. {
  136. con.Close();
  137. }
  138. }
  139. }
  140. /// <summary>
  141. /// 根据管理者信息ID获取对应的组内成员数据源
  142. /// </summary>
  143. /// <param name="ManagersID">工价策略主ID</param>
  144. /// <returns>包含对应产品数据源的服务返回实体</returns>
  145. public static ServiceResultEntity GetMembers(int ManagersID)
  146. {
  147. ServiceResultEntity srEntity = new ServiceResultEntity();
  148. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  149. DataSet dsDetail = new DataSet();
  150. try
  151. {
  152. StringBuilder sbSql = new StringBuilder();
  153. //根据管理者ID获取对应的组员信息数据源
  154. sbSql.Append(@"Select m.ManagersID,s.staffid,s.staffcode,s.staffname,o.organizationname,p.postname
  155. from TP_TAT_Members m
  156. Inner join TP_HR_STAFF s
  157. on m.Member = s.staffid
  158. Inner join TP_MST_Organization o
  159. on s.organizationid = o.organizationid
  160. Inner join TP_MST_Post p
  161. on s.post = p.postid
  162. where m.ManagersID = :MID and m.valueflag = 1");
  163. OracleParameter[] MemberParas = new OracleParameter[]{
  164. new OracleParameter(":MID",OracleDbType.Int32,
  165. ManagersID,ParameterDirection.Input)
  166. };
  167. DataTable dtGoods = con.GetSqlResultToDt(sbSql.ToString(), MemberParas);
  168. dsDetail.Tables.Add(dtGoods);
  169. srEntity.Status = Constant.ServiceResultStatus.Success;
  170. //srEntity.Result = dsDetail;
  171. srEntity.Data = dsDetail;
  172. return srEntity;
  173. }
  174. catch (Exception ex)
  175. {
  176. srEntity.Status = Constant.ServiceResultStatus.SystemError;
  177. srEntity.Exception = ex;
  178. return srEntity;
  179. }
  180. finally
  181. {
  182. if (con.ConnState == ConnectionState.Open)
  183. {
  184. con.Close();
  185. }
  186. }
  187. }
  188. #endregion
  189. }
  190. }