/******************************************************************************* * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential * 类的信息: * 1.程序名称:CMNModuleLogic.cs * 2.功能描述:共通业务处理 * 编辑履历: * 作者 日期 版本 修改内容 * 陈晓野 2015/03/26 1.00 新建 *******************************************************************************/ using System; using System.Collections.Generic; using System.Data; using Oracle.ManagedDataAccess.Client; using Dongke.IBOSS.PRD.Basics.BaseResources; using Dongke.IBOSS.PRD.Basics.DataAccess; using Dongke.IBOSS.PRD.Service.DataModels; using Dongke.IBOSS.PRD.WCF.DataModels; namespace Dongke.IBOSS.PRD.Service.CMNModuleService { /// /// 共通业务处理 /// public class CMNModuleLogic { #region 获得基础数据(控件用) #region 获得成型线类型 /// /// 获得成型线类型 /// /// 登录用户信息 /// 数据状态标识 /// DataTable public static DataTable GetTP_MST_GMouldType(SUserInfo user, Constant.ValueFlag? valueFlag) { IDBConnection conn = null; try { conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); conn.Open(); return CMNModuleLogic.GetTP_MST_GMouldType(conn, user, valueFlag); } catch (Exception ex) { throw ex; } finally { if (conn != null && conn.ConnState == ConnectionState.Open) { conn.Close(); } } } /// /// 获得成型线类型(服务端用) /// /// 数据库连接 /// 登录用户信息 /// 数据状态标识 /// DataTable public static DataTable GetTP_MST_GMouldType(IDBConnection conn, SUserInfo user, Constant.ValueFlag? valueFlag) { List parameters = new List(); string selSql = "SELECT GMouldTypeID, GMouldTypeCode, GMouldTypeName, CanManyTimes" + " FROM TP_MST_GMouldType GMT" + " WHERE GMT.AccountID = :AccountID"; parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input)); if (valueFlag.HasValue) { selSql += " AND GMT.ValueFlag = :ValueFlag"; parameters.Add(new OracleParameter(":ValueFlag", OracleDbType.Char, (int)valueFlag.Value, ParameterDirection.Input)); } selSql += " ORDER BY GMT.GmouldTypeCode"; DataTable dataTable = conn.GetSqlResultToDt(selSql, parameters.ToArray()); return dataTable; } #endregion 获得成型线类型 #region 获得注浆模具状态 /// /// 获得注浆模具状态(服务端用) /// /// 数据库连接 /// 成型线状态 /// DataTable public static DataTable GetTP_SYS_GMouldStatus(IDBConnection conn, bool isLineStatus = false) { string selSql = "SELECT GMouldStatusID, GMouldStatusName, DisplayNo" + " FROM TP_SYS_GMouldStatus GMS"; if (isLineStatus) { selSql += " WHERE GMS.LineUsedFlag = '1'"; } selSql += " ORDER BY GMS.DisplayNo"; DataTable dataTable = conn.GetSqlResultToDt(selSql, null); return dataTable; } #endregion 获得注浆模具状态 #region 获得数据字典数据 /// /// 获得数据字典数据 /// /// 登录用户信息 /// 数据状态标识 /// 数据状态标识 /// DataTable public static DataTable GetTP_MST_DataDictionary(SUserInfo user, Constant.DictionaryType dicType, Constant.ValueFlag? valueFlag) { IDBConnection conn = null; try { conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); conn.Open(); return CMNModuleLogic.GetTP_MST_DataDictionary(conn, user, dicType, valueFlag); } catch (Exception ex) { throw ex; } finally { if (conn != null && conn.ConnState == ConnectionState.Open) { conn.Close(); } } } /// /// 获得数据字典数据(服务端用) /// /// 数据库连接 /// 登录用户信息 /// 数据状态标识 /// 数据状态标识 /// DataTable public static DataTable GetTP_MST_DataDictionary(IDBConnection conn, SUserInfo user, Constant.DictionaryType dicType, Constant.ValueFlag? valueFlag) { List parameters = new List(); string selSql = "SELECT MDD.DictionaryID, MDD.DictionaryValue, MDD.DisplayNo" + " FROM TP_MST_DataDictionary MDD" + " WHERE MDD.AccountID = :AccountID" + " AND MDD.DictionaryType = :DictionaryType"; parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input)); parameters.Add(new OracleParameter(":DictionaryType", OracleDbType.Char, dicType.ToString(), ParameterDirection.Input)); if (valueFlag.HasValue) { selSql += " AND MDD.ValueFlag = :ValueFlag"; parameters.Add(new OracleParameter(":ValueFlag", OracleDbType.Char, (int)valueFlag.Value, ParameterDirection.Input)); } selSql += " ORDER BY MDD.DisplayNo"; DataTable dataTable = conn.GetSqlResultToDt(selSql, parameters.ToArray()); return dataTable; } #endregion 获得数据字典数据 #endregion 获得基础数据 #region 获得账务日期 /// /// 获取账务日期 /// /// 登录用户信息 /// 账务日期 public static ServiceResultEntity GetAccountDate(SUserInfo user) { IDBConnection conn = null; try { conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString); conn.Open(); object date = CMNModuleLogic.GetAccountDate(conn, user); ServiceResultEntity sre = new ServiceResultEntity(); if (date == null || date == DBNull.Value) { // 服务器时间错误 //throw new Exception("SystemDateTimeError"); sre.Status = Constant.ServiceResultStatus.AccountDateError; } sre.Result = Convert.ToDateTime(date); return sre; } catch (Exception ex) { throw ex; } finally { if (conn != null && conn.ConnState == ConnectionState.Open) { conn.Close(); } } } /// /// 获取账务日期(服务端用) /// /// 数据库连接 /// 登录用户信息 /// 账务日期 public static object GetAccountDate(IDBConnection conn, SUserInfo user) { try { string sql = "SELECT FUN_CMN_GetAccountDate(:AccountID) FROM DUAL"; OracleParameter[] paras = new OracleParameter[] { new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input) }; object date = conn.GetSqlResultToObj(sql, paras); return date; } catch (Exception ex) { throw ex; } } /// /// 获取账务日期(服务端用) /// /// 数据库连接事物 /// 登录用户信息 /// 账务日期 public static object GetAccountDate(IDBTransaction tran, SUserInfo user) { try { string sql = "SELECT FUN_CMN_GetAccountDate(:AccountID) FROM DUAL"; OracleParameter[] paras = new OracleParameter[] { new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input) }; object date = tran.GetSqlResultToObj(sql, paras); return date; } catch (Exception ex) { throw ex; } } #endregion 获得账务日期 } }