예제 #1
0
        /// <summary>
        /// 批量插入用户
        /// </summary>
        /// <param name="userList">用户清单</param>
        /// <returns>IRAP通用错误</returns>
        public IRAPError BatchImportUser(List <IRAPUserEntity> userList)
        {
            IRAPError error = new IRAPError(1, "初始化错误。");

            try
            {
                foreach (IRAPUserEntity r in userList)
                {
                    _users.Insert(r);
                }
                if (_users.SaveChanges() > 0)
                {
                    error.ErrCode = 0;
                    error.ErrText = "导入成功!";
                }
                else
                {
                    error.ErrCode = 113;
                    error.ErrText = "导入记录为0,请检查集合中是否有记录!";
                }
                return(error);
            }
            catch (Exception err)
            {
                error.ErrCode = 9999;
                error.ErrText = $"批量导入用户错误:{err.Message}";
                return(error);
            }
        }
예제 #2
0
파일: TDBHelper.cs 프로젝트: fflorat/IRAP
        public void usp_ImportMaterialReq(
            int communityID,
            long importID,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                $"{className}.{MethodBase.GetCurrentMethod().Name}";

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@ImportID", DbType.Int64, importID));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(
                    new IRAPProcParameter(
                        "@ErrCode",
                        DbType.Int32,
                        ParameterDirection.Output,
                        4));
                paramList.Add(
                    new IRAPProcParameter(
                        "@ErrText",
                        DbType.String,
                        ParameterDirection.Output,
                        400));
                WriteLog.Instance.Write(
                    "执行存储过程 IRAPDPA..usp_ImportMaterialReq,参数:" +
                    $"CommunityID={communityID}|ImportID={importID}|SysLogID={sysLogID}",
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn =
                           new IRAPSQLConnection(
                               TParams.Instance.DBConnectionStr))
                {
                    IRAPError error = conn.CallProc("IRAPDPA..usp_ImportMaterialReq", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    WriteLog.Instance.Write(
                        string.Format("({0}){1}", errCode, errText),
                        strProcedureName);
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAPDPA..usp_ImportMaterialReq 时发生异常:{0}", error.Message);
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #3
0
        /// <summary>
        /// 增加用户
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        public IRAPError AddUser(IRAPUserEntity e)
        {
            IRAPError error = new IRAPError();

            try
            {
                e.RegistedTime = DateTime.Now;
                e.ModifiedTime = DateTime.Now;

                _users.Insert(e);
                _users.SaveChanges();
                error.ErrCode = 0;
                error.ErrText = "增加用户成功!";
                return(error);
            }
            catch (Exception err)
            {
                if (err.InnerException.InnerException != null)
                {
                    error.ErrText = "增加用户发生异常:" + err.InnerException.InnerException.Message;
                }
                else
                {
                    error.ErrText = "增加用户发生异常:" + err.Message;
                }
                error.ErrCode = 9999;

                return(error);
            }
        }
예제 #4
0
        public StationEntity GetStation(string stationID)
        {
            IRAPError     error = new IRAPError();
            StationEntity e     = _stations.Table.FirstOrDefault(r => r.StationID == stationID);

            return(e);
        }
예제 #5
0
파일: IRAPUser.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 申请系统登录标识 , 必要时也获取短信验证码
        /// </summary>
        /// <remarks>
        /// UserCode        string          用户代码
        /// StationID       string          站点标识/社区标识
        /// 输出
        /// SysLogID        long            系统登录标识
        /// SMSVeriCode     string          短信验证码
        /// </remarks>
        /// <param name="userCode">用户代码</param>
        /// <param name="stationID">站点标识/社区标识</param>
        public IRAPJsonResult ssp_GetSysLogID(
            string userCode,
            string stationID,
            out int errCode,
            out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@UserCode", DbType.String, userCode));
                paramList.Add(new IRAPProcParameter("@StationID", DbType.String, stationID));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, ParameterDirection.Output, 8));
                paramList.Add(new IRAPProcParameter("@SMSVeriCode", DbType.String, ParameterDirection.Output, 10));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error = conn.CallProc("IRAP..ssp_GetSysLogID", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;

                        Hashtable rlt = new Hashtable();
                        rlt = DBUtils.DBParamsToHashtable(paramList);

                        foreach (DictionaryEntry entry in rlt)
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "[{0}]=[{1}]",
                                    entry.Key,
                                    entry.Value),
                                strProcedureName);
                        }

                        return(Json(rlt));
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText = string.Format("调用 ssp_GetSysLogID 函数发生异常:{0}", error.Message);
                    return(Json(new Hashtable()));
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #6
0
        /// <summary>
        /// 生产开始
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="t216LeafID">产品叶标识</param>
        /// <param name="t107LeafID">工位叶标识</param>
        /// <param name="t131LeafID">材质</param>
        /// <param name="operatorCode">操作工代码</param>
        /// <param name="batchNumber">熔次号</param>
        /// <param name="rSFactXML">工艺参数XML</param>
        /// <RSFact>
        ///   <RF25 Ordinal="" T102LeafID="" T216LeafID="" WIPCode="" LotNumber="" Texture="" PWONo="" BatchLot="" Qty="" Scale="" />
        /// </RSFact>
        /// <param name="sysLogID">系统登录标识</param>
        /// <returns></returns>
        public IRAPJsonResult usp_SaveFact_SmeltBatchProductionStart(int communityID, int t216LeafID, int t107LeafID, int t131LeafID,
                                                                     string operatorCode, string batchNumber, string rSFactXML, long sysLogID, out int errCode, out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@T216LeafID", DbType.Int64, t216LeafID));
                paramList.Add(new IRAPProcParameter("@T107LeafID", DbType.Int32, t107LeafID));
                paramList.Add(new IRAPProcParameter("@T131LeafID", DbType.Int32, t131LeafID));
                paramList.Add(new IRAPProcParameter("@OperatorCode", DbType.String, operatorCode));
                paramList.Add(new IRAPProcParameter("@BatchNumber", DbType.String, batchNumber));
                paramList.Add(new IRAPProcParameter("@RSFactXML", DbType.String, rSFactXML));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format("执行存储过程 " +
                                  "IRAPMES..usp_SaveFact_SmeltBatchProductionStart,参数:" +
                                  "CommunityID={0}|T216LeafID={1}|T107LeafID={2}|T131LeafID={3}|OperatorCode={4}|BatchNumber={5}|RSFactXML={6}" +
                                  "|SysLogID={7}",
                                  communityID, t216LeafID, t107LeafID, t131LeafID, operatorCode, batchNumber, rSFactXML, sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn = new IRAPSQLConnection())
                {
                    IRAPError error = conn.CallProc("IRAPMES..usp_SaveFact_SmeltBatchProductionStart", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    WriteLog.Instance.Write(string.Format("({0}){1}", errCode, errText), strProcedureName);

                    return(Json(""));
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAPMES..usp_SaveFact_SmeltBatchProductionStart 时发生异常:{0}", error.Message);
                return(Json(""));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #7
0
        /// <summary>
        /// 创建表
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="t19LeafID">导入导出叶标识</param>
        /// <param name="treeID">导入关联树标识</param>
        /// <param name="txLeafID">导出导出关联树叶标识</param>
        /// <param name="sysLogID">系统登录标识</param>
        /// <param name="blName"></param>
        /// <returns></returns>
        public IRAPJsonResult sfn_Get_ProcToCreateTBL(int communityID, int t19LeafID, int treeID, int txLeafID,
                                                      long sysLogID, string blName, out int errCode, out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            List <IRAPError> data = new List <IRAPError>();

            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@T19LeafID", DbType.Int32, t19LeafID));
                paramList.Add(new IRAPProcParameter("@TreeID", DbType.Int32, treeID));
                paramList.Add(new IRAPProcParameter("@TxLeafID", DbType.Int32, txLeafID));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 800));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用存储过程 IRAP..sfn_Get_ProcToCreateTBL," +
                        "参数:communityID={0}|t19LeafID={1}|treeID={2}|txLeafID={3}|sysLogID={4}|blName={5}",
                        communityID, t19LeafID, treeID, txLeafID, sysLogID, blName), strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        string strSQL = "IRAPDPA.." + blName;
                        var    err    = conn.CallProc(strSQL, ref paramList);
                        errCode = err.ErrCode;
                        errText = err.ErrText;
                        WriteLog.Instance.Write(errText, strProcedureName);
                        data.Add(err);
                    }
                }
                catch (Exception ex)
                {
                    IRAPError errInfo = new IRAPError(9999, ex.Message);
                    errCode = 9999;
                    errText = string.Format("创建table:{0}发生异常{1}", blName, ex.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(ex.StackTrace, strProcedureName);
                    data.Add(errInfo);
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
            return(Json(data));
        }
예제 #8
0
        /// <summary>
        /// 修改用户
        /// </summary>
        /// <param name="e">用户实体,此实体必须是从资料库中查出来的实体</param>
        /// <returns>通用错误</returns>
        public IRAPError ModifyUser(IRAPUserEntity e)
        {
            IRAPError error = new IRAPError();

            _users.Update(e);
            _users.SaveChanges();
            error.ErrCode = 0;
            error.ErrText = "修改成功!";
            return(error);
        }
예제 #9
0
파일: TDBHelper.cs 프로젝트: fflorat/IRAP
        public void DeleteOldTableData(
            string tableName,
            int communityID,
            long importID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                $"{className}.{MethodBase.GetCurrentMethod().Name}";

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                long partitioningKey = communityID * 10000;

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@PartitioningKey", DbType.Int64, partitioningKey));
                paramList.Add(new IRAPProcParameter("@ImportLogID", DbType.Int64, importID));
                WriteLog.Instance.Write(
                    $"执行 DELETE FROM IRAPDPA..{tableName} WHERE PartitioningKey={partitioningKey} " +
                    $"AND ImportID={importID}。",
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn =
                           new IRAPSQLConnection(
                               TParams.Instance.DBConnectionStr))
                {
                    string strSQL =
                        $"DELETE FROM IRAPDPA..{tableName} WHERE PartitioningKey={partitioningKey} " +
                        $"AND ImportID={importID}";

                    var       count = conn.CallScalar(strSQL, paramList);
                    IRAPError error = new IRAPError(0, "数据删除成功");

                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    WriteLog.Instance.Write(
                        string.Format("({0}){1}", errCode, errText),
                        strProcedureName);
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = $"删除(IRAPDPA..{tableName})时发生异常:{error.Message}";
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #10
0
        /// <summary>
        /// 删除 IRAPDPA..dpa_DBF_MO 中指定 importID 的记录
        /// </summary>
        /// <param name="communityID"></param>
        /// <param name="importID"></param>
        /// <param name="errCode"></param>
        /// <param name="errText"></param>
        /// <returns></returns>
        public IRAPJsonResult msp_Delete_DPA_DBFMOData(
            int communityID,
            long importID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                $"{className}.{MethodBase.GetCurrentMethod().DeclaringType.FullName}";

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            List <IRAPError> data = new List <IRAPError>();

            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@ImportID", DbType.Int64, importID));
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        string strSQL =
                            "DELETE FROM IRAPDPA..dpa_DBF_MO " +
                            "WHERE ImportID=@ImportID";
                        WriteLog.Instance.Write(
                            $"执行 SQL 语句:[{strSQL}],参数:@ImportID={importID}",
                            strProcedureName);
                        var       count   = conn.CallScalar(strSQL, paramList);
                        IRAPError errInfo = new IRAPError(0, "成功删除旧数据");
                        errCode = errInfo.ErrCode;
                        errText = errInfo.ErrText;
                        WriteLog.Instance.Write(errInfo.ErrText, strProcedureName);
                        data.Add(errInfo);
                    }
                }
                catch (Exception error)
                {
                    IRAPError errInfo = new IRAPError(9999, error.Message);
                    errCode = 9999;
                    errText = $"删除表 IRAPDPA..dpa_DBF_MO 中的数据发生异常:{error.Message}";
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(error.StackTrace, strProcedureName);
                    data.Add(errInfo);
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
            return(Json(data));
        }
예제 #11
0
파일: IRAPUser.cs 프로젝트: fflorat/IRAP
        public IRAPJsonResult ssp_ModiPWD(
            int communityID,
            string userCode,
            string oldPassword,
            string newPassword,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@UserCode", DbType.String, userCode));
                paramList.Add(new IRAPProcParameter("@OldPWD", DbType.String, oldPassword));
                paramList.Add(new IRAPProcParameter("@NewPWD", DbType.String, newPassword));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format("执行存储过程 IRAP..ssp_ModiPWD,参数:" +
                                  "CommunityID={0}|UserCode={1}|OldPWD={2}|NewPWD={3}",
                                  communityID, userCode, oldPassword, newPassword),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn = new IRAPSQLConnection())
                {
                    IRAPError error = conn.CallProc("IRAP..ssp_ModiPWD", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;

                    return(Json(""));
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAP..ssp_ModiPWD 时发生异常:{0}", error.Message);
                return(Json(""));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #12
0
        public IRAPJsonResult DeleteOldTableData(string tableName, long importLogId, out int errCode, out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            List <IRAPError> data = new List <IRAPError>();

            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@importLogId", DbType.Int64, importLogId));
                WriteLog.Instance.Write(
                    string.Format("执行SQL delete from IRAPDPA..{0} where ImportLogID ={1}", tableName, importLogId),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        string    strSQL  = string.Format("delete from IRAPDPA..{0} where ImportLogID =@importLogId", tableName);
                        var       count   = conn.CallScalar(strSQL, paramList);
                        IRAPError errInfo = new IRAPError(0, "成功删除旧数据");
                        errCode = errInfo.ErrCode;
                        errText = errInfo.ErrText;
                        WriteLog.Instance.Write(errInfo.ErrText, strProcedureName);
                        data.Add(errInfo);
                    }
                }
                catch (Exception ex)
                {
                    IRAPError errInfo = new IRAPError(9999, ex.Message);
                    errCode = 9999;
                    errText = string.Format("删除表{1}中的数据发生异常:{0}", ex.Message, tableName);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(ex.StackTrace, strProcedureName);
                    data.Add(errInfo);
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
            return(Json(data));
        }
예제 #13
0
        /// <summary>
        /// 指定时区地方时转换为Unix时间
        /// </summary>
        /// <returns>Unix时间 </returns>
        public IRAPJsonResult sfn_LocalToUnixTime(out int errCode, out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            var localDateTime = DateTime.Now;
            int timeZone      = 8;
            int result        = 0;

            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@LocalDateTime", DbType.DateTime, localDateTime));
                paramList.Add(new IRAPProcParameter("@TimeZone", DbType.Int16, timeZone));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用函数 IRAP..sfn_LocalToUnixTime,参数:LocalDateTime={0}|TimeZone={1}", localDateTime, timeZone),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        result  = Convert.ToInt32(conn.CallScalarFunc("IRAP.dbo.sfn_LocalToUnixTime", paramList));
                        errCode = 0;
                        errText = "调用函数 IRAP..sfn_LocalToUnixTime成功";
                        WriteLog.Instance.Write(errText, strProcedureName);
                    }
                }
                catch (Exception ex)
                {
                    IRAPError errInfo = new IRAPError(9999, ex.Message);
                    errCode = 9999;
                    errText = string.Format("调用函数 IRAP..sfn_LocalToUnixTime异常:{0}", ex.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(ex.StackTrace, strProcedureName);
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
            return(Json(result));
        }
예제 #14
0
        /// <summary>
        /// 验证密码类
        /// </summary>
        /// <param name="pwd">密码(明文)</param>
        /// <returns>验证结果</returns>
        public IRAPError VerifyPWD(string pwd)
        {
            IRAPError error = new IRAPError();

            if (Encoding.UTF8.GetString(user.EncryptedPWD) == IRAPCommon.IRAPMD5.MD5(pwd))
            {
                error.ErrCode = 0;
                error.ErrText = "密码正确!";
            }
            else
            {
                error.ErrCode = 22;
                error.ErrText = "密码错误!";
            }
            return(error);
        }
예제 #15
0
        //判断某个mac地址是否存在!
        public IRAPError HasStation(string stationID)
        {
            IRAPError     error = new IRAPError();
            StationEntity e     = _stations.Table.FirstOrDefault(r => r.StationID == stationID);

            if (e == null)
            {
                error.ErrCode = 91;
                error.ErrText = $"此站点:{stationID} 不存在!";
            }
            else
            {
                error.ErrCode = 0;
                error.ErrText = $"站点存在!站点名:{e.HostName}";
            }
            return(error);
        }
예제 #16
0
        public IRAPJsonResult InsertTempTableData(string tableName, DataTable data, out int errCode, out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            List <IRAPError> result = new List <IRAPError>();

            try
            {
                #region 创建数据库调用参数组,并赋值
                WriteLog.Instance.Write(
                    string.Format("将数据插入临时表{0}中", tableName),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        var errInfo = conn.BulkBatchInsert(data, "IRAPDPA.." + tableName + "");
                        errCode = errInfo.ErrCode;
                        errText = errInfo.ErrText;
                        WriteLog.Instance.Write(errInfo.ErrText, strProcedureName);
                        result.Add(errInfo);
                    }
                }
                catch (Exception ex)
                {
                    IRAPError errInfo = new IRAPError(9999, ex.Message);
                    errCode = 9999;
                    errText = string.Format("插入表{1}中的数据发生异常:{0}", ex.Message, tableName);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(ex.StackTrace, strProcedureName);
                    result.Add(errInfo);
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
            return(Json(result));
        }
예제 #17
0
        /// <summary>
        /// 功能站点注册
        /// </summary>
        /// <param name="stationID">站点编号</param>
        /// <param name="communityID">社区标识</param>
        /// <param name="funcGroupID">功能组标识</param>
        /// <param name="templateSTN">模板站点号</param>
        public IRAPJsonResult ssp_RegistStation(string stationID, int communityID, int funcGroupID, string templateSTN, out int errCode, out string errText)
        {
            string strProcedureName = string.Format("{0}.{1}", className, MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@StationID", DbType.String, stationID));
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@FuncGroupID", DbType.Int32, funcGroupID));
                paramList.Add(new IRAPProcParameter("@TemplateSTN", DbType.String, templateSTN));
                WriteLog.Instance.Write(string.Format("执行存储过程 IRAP..ssp_RegistStation,参数:StationID={0}|" +
                                                      "CommunityID={1}|FuncGroupID={2}|TemplateSTN={3}",
                                                      stationID, communityID, funcGroupID, templateSTN),
                                        strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn = new IRAPSQLConnection())
                {
                    IRAPError error = conn.CallProc("IRAP..ssp_RegistStation", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    return(Json(error));
                }
                #endregion
            }
            catch (Exception err)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAP..ssp_RegistStation 函数发生异常:{0}", err.Message);
                return(Json(new IRAPError()
                {
                    ErrCode = errCode,
                    ErrText = errText
                }));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #18
0
        /// <summary>
        /// 根据社区标识和系统登录标识获取登录用户信息
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="sysLogID">系统登录标识</param>
        /// <param name="loginInfo">输出参数,登录用户信息</param>
        /// <returns>IRAP系统通用错误对象,如果其中的ErrCode:0-执行成功;非0执行失败</returns>
        private IRAPError GetUserInfoWithSysLogID(
            int communityID,
            long sysLogID,
            out LoginEntity loginInfo)
        {
            #region 根据系统登录标识获取登录信息
            IRAPError rlt = new IRAPError();
            loginInfo = null;
            try
            {
                IRAPLog loginSet = new IRAPLog();
                loginInfo = loginSet.GetLogin(communityID, sysLogID);
                if (loginInfo == null)
                {
                    loginInfo = new LoginEntity()
                    {
                        UserCode   = "Unknown",
                        LanguageID = 30,
                    };
                }
            }
            catch (Exception error)
            {
                if (error.InnerException.InnerException != null)
                {
                    rlt.ErrText =
                        $"获取登录信息发生异常:" +
                        $"{error.InnerException.InnerException.Message}";
                }
                else
                {
                    rlt.ErrText = $"获取登录信息发生异常:{error.Message}";
                }
                rlt.ErrCode = 9999;
            }
            #endregion

            return(rlt);
        }
예제 #19
0
        /// <summary>
        /// 查找指定名称的名称标识,若不存在则新增该名称。
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="nameDescription">名称</param>
        /// <param name="languageID">语言标识 (默认: 30 简体中文)</param>
        /// <returns>名称标识</returns>
        public int GetNameID(
            int communityID,
            string nameDescription,
            int languageID = 30)
        {
            int nameID = FindNameID(communityID, nameDescription, languageID);

            if (nameID == 0)
            {
                IRAPError rtn =
                    Add(
                        communityID,
                        nameDescription,
                        languageID,
                        out nameID);
                if (rtn.ErrCode == 0)
                {
                    return(nameID);
                }
            }

            return(nameID);
        }
예제 #20
0
        /// <summary>
        /// 新增用户
        /// </summary>
        /// <param name="userCode">用户代码</param>
        /// <param name="userName">用户名称</param>
        /// <param name="passwd">密码(明文)</param>
        /// <param name="agencyNodeList">机构清单用逗号隔开,例如:-1,-2,-3</param>
        /// <param name="roleNodeList">角色清单用逗号隔开,例如:-4,-5,-6</param>
        /// <returns>通用错误</returns>
        public IRAPError AddUser(string userCode, string userName, string passwd, string agencyNodeList, string roleNodeList)
        {
            IRAPError      error = new IRAPError();
            IRAPUserEntity e     = new IRAPUserEntity();

            try
            {
                e.PartitioningKey = PK;
                e.UserCode        = userCode;
                e.UserName        = userName;
                e.EncryptedPWD    = IRAPUser.GetBinaryPassword(passwd);
                e.AgencyNodeList  = agencyNodeList;
                e.RoleNodeList    = roleNodeList;
                e.RegistedTime    = DateTime.Now;
                e.ModifiedTime    = DateTime.Now;
                _users.Insert(e);
                _users.SaveChanges();
                error.ErrCode = 0;
                error.ErrText = "增加用户成功!";
                return(error);
            }
            catch (Exception err)
            {
                if (err.InnerException.InnerException != null)
                {
                    error.ErrText = "增加用户发生异常:" + err.InnerException.InnerException.Message;
                }
                else
                {
                    error.ErrText = "增加用户发生异常:" + err.Message;
                }
                error.ErrCode = 9999;

                return(error);
            }
        }
예제 #21
0
        /// <summary>
        /// 删除指定用户
        /// </summary>
        /// <param name="userCode">用户代码</param>
        /// <returns></returns>
        public IRAPError DeleteUser(string userCode)
        {
            IRAPError      error = new IRAPError();
            IRAPUserEntity e     = _users.Table.FirstOrDefault(r => r.PartitioningKey == PK && r.UserCode == userCode);

            if (e == null)
            {
                error.ErrCode = 9999;
                error.ErrText = "用户代码不存在!" + userCode;
                return(error);
            }
            _users.Delete(e, false);
            if (_users.SaveChanges() > 0)
            {
                error.ErrCode = 0;
                error.ErrText = "删除成功!";
            }
            else
            {
                error.ErrCode = 91;
                error.ErrText = "删除失败!";
            }
            return(error);
        }
예제 #22
0
        public IRAPJsonResult usp_SaveFact_Packaging(
            int communityID,
            long transactNo,
            long factID,
            int productLeaf,
            int workUnitLeaf,
            int packagingSpecNo,
            string wipPattern,
            int layerNumOfPallet,
            int cartonNumOfLayer,
            int layerNumOfCarton,
            int rowNumOfCarton,
            int colNumOfCarton,
            int layerNumOfBox,
            int rowNumOfBox,
            int colNumOfBox,
            string boxSerialNumber,
            string cartonSerialNumber,
            string layerSerialNumber,
            string palletSerialNumber,
            long sysLogID,
            out int errCode,
            out string errText
            )
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Clear();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@TransactNo", DbType.Int64, transactNo));
                paramList.Add(new IRAPProcParameter("@FactID", DbType.Int64, factID));
                paramList.Add(new IRAPProcParameter("@ProductLeaf", DbType.Int32, productLeaf));
                paramList.Add(new IRAPProcParameter("@WorkUnitLeaf", DbType.Int32, workUnitLeaf));
                paramList.Add(new IRAPProcParameter("@PackagingSpecNo", DbType.Byte, packagingSpecNo));
                paramList.Add(new IRAPProcParameter("@WIPPattern", DbType.String, wipPattern));
                paramList.Add(new IRAPProcParameter("@LayerNumOfPallet", DbType.Byte, layerNumOfPallet));
                paramList.Add(new IRAPProcParameter("@CartonNumOfLayer", DbType.Byte, cartonNumOfLayer));
                paramList.Add(new IRAPProcParameter("@LayerNumOfCarton", DbType.Byte, layerNumOfCarton));
                paramList.Add(new IRAPProcParameter("@RowNumOfCarton", DbType.Byte, rowNumOfCarton));
                paramList.Add(new IRAPProcParameter("@ColNumOfCarton", DbType.Byte, colNumOfCarton));
                paramList.Add(new IRAPProcParameter("@LayerNumOfBox", DbType.Byte, layerNumOfBox));
                paramList.Add(new IRAPProcParameter("@RowNumOfBox", DbType.Byte, rowNumOfBox));
                paramList.Add(new IRAPProcParameter("@ColNumOfBox", DbType.Byte, colNumOfBox));
                paramList.Add(new IRAPProcParameter("@BoxSerialNumber", DbType.String, boxSerialNumber));
                paramList.Add(new IRAPProcParameter("@CartonSerialNumber", DbType.String, cartonSerialNumber));
                paramList.Add(new IRAPProcParameter("@LayerSerialNumber", DbType.String, layerSerialNumber));
                paramList.Add(new IRAPProcParameter("@PalletSerialNumber", DbType.String, palletSerialNumber));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@OutputStr", DbType.Xml, ParameterDirection.Output, 2000));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用 IRAPMES..usp_SaveFact_Packaging,输入参数:" +
                        "CommunityID={0}|TransactNo={1}|FactID={2}|" +
                        "ProductLeaf={3}|WorkUnitLeaf={4}|PackagingSpecNo={5}|" +
                        "WIPPattern={6}|LayerNumOfPallet={7}|CartonNumOfLayer={8}|" +
                        "LayerNumOfCarton={9}|RowNumOfCarton={10}|ColNumOfCarton={11}|" +
                        "LayerNumOfBox={12}|RowNumOfBox={13}|ColNumOfBox={14}|" +
                        "BoxSerialNumber={15}|CartonSerialNumber={16}|LayerSerialNumber={17}|" +
                        "PalletSerialNumber={18}|SysLogID={19}",
                        communityID,
                        transactNo,
                        factID,
                        productLeaf,
                        workUnitLeaf,
                        packagingSpecNo,
                        wipPattern,
                        layerNumOfPallet,
                        cartonNumOfLayer,
                        layerNumOfCarton,
                        rowNumOfCarton,
                        colNumOfCarton,
                        layerNumOfBox,
                        rowNumOfBox,
                        colNumOfBox,
                        boxSerialNumber,
                        cartonSerialNumber,
                        layerSerialNumber,
                        palletSerialNumber,
                        sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error =
                            conn.CallProc("IRAPMES..usp_SaveFact_Packaging", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;
                        string outputStr = paramList[20].Value.ToString();
                        WriteLog.Instance.Write(
                            $"OutpuStr={outputStr}",
                            strProcedureName);
                        return(Json(outputStr));
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText =
                        string.Format(
                            "调用 IRAPMES..usp_SaveFact_Packaging 过程发生异常:{0}",
                            error.Message);
                    return(Json(
                               new IRAPError()
                    {
                        ErrCode = errCode,
                        ErrText = errText,
                    }));
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #23
0
        /// <summary>
        /// 操作工技能放错
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="t102LeafID">产品叶标识</param>
        /// <param name="t107LeafID">工位叶标识</param>
        /// <param name="pokaYokeMode">
        /// 放错方式:
        /// 1-按工序员工技能放错;
        /// 2-按产品族+工序技能放错;
        /// 3-按产品+工序技能放错。
        /// </param>
        /// <param name="sysLogID">系统登录标识</param>
        public IRAPJsonResult usp_PokaYoke_OperatorSkill(
            int communityID,
            int t102LeafID,
            int t107LeafID,
            int pokaYokeMode,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@T102LeafID", DbType.Int32, t102LeafID));
                paramList.Add(new IRAPProcParameter("@T107LeafID", DbType.Int32, t107LeafID));
                paramList.Add(new IRAPProcParameter("@PokaYokeMode", DbType.Int32, pokaYokeMode));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(
                    new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(
                    new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format("执行存储过程 IRAPMES..usp_PokaYoke_OperatorSkill,参数:" +
                                  "CommunityID={0}|T102LeafID={1}|T107LeafID={2}|PokaYokeMode={3}|" +
                                  "SysLogID={4}",
                                  communityID, t102LeafID, t107LeafID, pokaYokeMode, sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn = new IRAPSQLConnection())
                {
                    IRAPError error = conn.CallProc("IRAPMES..usp_PokaYoke_OperatorSkill", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    WriteLog.Instance.Write(
                        string.Format(
                            "({0}){1}",
                            errCode,
                            errText),
                        strProcedureName);

                    Hashtable rtnParams = new Hashtable();
                    if (errCode == 0)
                    {
                        foreach (IRAPProcParameter param in paramList)
                        {
                            if (param.Direction == ParameterDirection.InputOutput || param.Direction == ParameterDirection.Output)
                            {
                                if (param.DbType == DbType.Int32 && param.Value == DBNull.Value)
                                {
                                    rtnParams.Add(param.ParameterName.Replace("@", ""), 0);
                                }
                                else
                                {
                                    rtnParams.Add(param.ParameterName.Replace("@", ""), param.Value);
                                }
                            }
                        }
                    }

                    return(Json(rtnParams));
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAPMES..usp_PokaYoke_OperatorSkill 时发生异常:{0}", error.Message);
                return(Json(new Hashtable()));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #24
0
파일: IRAPSystem.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 向数据库注册当前用户准备使用的子系统
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="systemID">系统标识</param>
        /// <param name="progLanguageID">编程语言标识</param>
        /// <param name="isBSMode">是否 B/S 方式</param>
        /// <param name="sysLogID">系统登录标识</param>
        /// <param name="errCode"></param>
        /// <param name="errText"></param>
        /// <returns>
        /// [
        ///     MenuCacheID int: 菜单缓冲区标识
        /// ]
        /// </returns>
        public IRAPJsonResult ssp_OnSelectionASystem(
            int communityID,
            int systemID,
            int progLanguageID,
            bool isBSMode,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                Hashtable rlt = new Hashtable();

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@SystemID", DbType.Int32, systemID));
                paramList.Add(new IRAPProcParameter("@ProgLanguageID", DbType.Int32, progLanguageID));
                paramList.Add(new IRAPProcParameter("@IsBSMode", DbType.Boolean, isBSMode));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@MenuCacheID", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用 IRAP..ssp_OnSelectionASystem,输入参数:" +
                        "CommunityID={0}|SystemID={1}|ProgLanguageID={2}|" +
                        "IsBSMode={3}|SysLogID={4}",
                        communityID, systemID, progLanguageID, isBSMode,
                        sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error = conn.CallProc("IRAP..ssp_OnSelectionASystem", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;

                        foreach (IRAPProcParameter param in paramList)
                        {
                            if (param.Direction == ParameterDirection.InputOutput || param.Direction == ParameterDirection.Output)
                            {
                                rlt.Add(param.ParameterName.Replace("@", ""), param.Value);
                            }
                        }

                        foreach (DictionaryEntry entry in rlt)
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "[{0}]=[{1}]",
                                    entry.Key,
                                    entry.Value),
                                strProcedureName);
                        }
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText = string.Format("调用 IRAP..ssp_OnSelectionASystem 函数发生异常:{0}", error.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                }
                #endregion

                return(Json(rlt));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #25
0
파일: IRAPSystem.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 根据输入参数描述的属性,记录运行的功能
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="sysLogID">系统登录标识</param>
        /// <param name="menuItemID">点中的菜单项</param>
        /// <param name="errCode"></param>
        /// <param name="errText"></param>
        /// <returns>
        /// [
        ///     ScenarioIndex int: 返回的应用情景
        ///     RefreshGUIOptions bool: 是否刷新界面选择
        /// ]
        /// </returns>
        public IRAPJsonResult ssp_RunAFunction(
            int communityID,
            long sysLogID,
            int menuItemID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                Hashtable rlt = new Hashtable();

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@MenuItemID", DbType.Int32, menuItemID));
                paramList.Add(new IRAPProcParameter("@ScenarioIndex", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@RefreshGUIOptions", DbType.Boolean, ParameterDirection.Output, 1));
                paramList.Add(new IRAPProcParameter("@UserDefinedGUI", DbType.String, ParameterDirection.Output, DBConfigParams.StringMaxLength));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用 IRAP..ssp_RunAFunction,输入参数:" +
                        "CommunityID={0}|SysLogID={1}|MenuItemID={2}",
                        communityID, sysLogID, menuItemID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error = conn.CallProc("IRAP..ssp_RunAFunction", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;
                        WriteLog.Instance.Write(errText, strProcedureName);

                        rlt = DBUtils.DBParamsToHashtable(paramList);

                        foreach (DictionaryEntry entry in rlt)
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "[{0}]=[{1}]",
                                    entry.Key,
                                    entry.Value),
                                strProcedureName);
                        }
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText = string.Format("调用 IRAP..ssp_RunAFunction 函数发生异常:{0}", error.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(error.StackTrace, strProcedureName);
                }
                #endregion

                return(Json(rlt));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #26
0
파일: IRAPUser.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 替换交易操作员
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="transactNo">交易号</param>
        /// <param name="operatorUserCode">替换后的交易操作员号</param>
        /// <param name="sysLogID">系统登录标识</param>
        public IRAPJsonResult ssp_ReplaceTranOperator(
            int communityID,
            long transactNo,
            string operatorUserCode,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                Hashtable rlt = new Hashtable();

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@TransactNo", DbType.Int64, transactNo));
                paramList.Add(new IRAPProcParameter("@OperatorUserCode", DbType.String, operatorUserCode));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format(
                        "调用 IRAP..ssp_ReplaceTranOperator,输入参数:" +
                        "CommunityID={0}|TransactNo={1}|OperatorUserCode={2}" +
                        "|SysLogID={3}",
                        communityID, transactNo, operatorUserCode, sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error = conn.CallProc("IRAP..ssp_ReplaceTranOperator", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;

                        rlt = DBUtils.DBParamsToHashtable(paramList);

                        foreach (DictionaryEntry entry in rlt)
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "[{0}]=[{1}]",
                                    entry.Key,
                                    entry.Value),
                                strProcedureName);
                        }
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText = string.Format("调用 IRAP..ssp_OLTP_UDFForm 函数发生异常:{0}", error.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(error.StackTrace, strProcedureName);
                }
                #endregion

                return(Json(rlt));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #27
0
파일: IRAPUser.cs 프로젝트: fflorat/IRAP
        /// <summary>
        /// 登录 IRAP 平台
        /// 1、校验用户名、用户密码、验证码集信息站点的合法性
        /// 2、校验通过时写系统登录日志,取得用户及站点的有关信息
        /// </summary>
        /// <param name="dbName">数据库名</param>
        /// <param name="userCode">用户代码</param>
        /// <param name="plainPWD">登录密码</param>
        /// <param name="veriCode">验证码</param>
        /// <param name="stationID">站点标识</param>
        /// <param name="ipAddress">IP 地址</param>
        /// <param name="agencyLeaf">登录机构叶标识</param>
        /// <param name="roleLeaf">登录角色叶标识</param>
        /// <param name="sysLogID">系统登录标识(可预先获取)</param>
        /// <param name="errCode"></param>
        /// <param name="errText"></param>
        /// <returns>
        /// [
        ///     UserName string: 用户姓名
        ///     NickName string: 用户昵称
        ///     SysLogID long: 系统登录标识
        ///     LanguageID int: 语言标识
        ///     OPHoneNo string: 办公电话
        ///     HPhoneNo string: 住宅电话
        ///     MPhoneNo string: 移动电话
        ///     AgencyID int: 机构标识
        ///     AgencyName string: 机构名称
        ///     HostName string: 主机名
        /// ]
        /// </returns>
        public IRAPJsonResult ssp_Login(
            string dbName,
            string userCode,
            string plainPWD,
            string veriCode,
            string stationID,
            string ipAddress,
            int agencyLeaf,
            int roleLeaf,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            string userName   = "";
            string nickName   = "";
            int    languageID = 30;
            string oPhoneNo   = "";
            string hPhoneNo   = "";
            string mPhoneNo   = "";
            int    agencyID   = 0;
            string hostName   = "";

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@DBName", DbType.String, dbName));
                paramList.Add(new IRAPProcParameter("@UserCode", DbType.String, userCode));
                paramList.Add(new IRAPProcParameter("@PlainPWD", DbType.String, plainPWD));
                paramList.Add(new IRAPProcParameter("@VeriCode", DbType.String, veriCode));
                paramList.Add(new IRAPProcParameter("@StationID", DbType.String, stationID));
                paramList.Add(new IRAPProcParameter("@IPAddress", DbType.String, ipAddress));
                paramList.Add(new IRAPProcParameter("@AgencyLeaf", DbType.Int32, agencyLeaf));
                paramList.Add(new IRAPProcParameter("@RoleLeaf", DbType.Int32, roleLeaf));
                paramList.Add(new IRAPProcParameter("@UserName", DbType.String, ParameterDirection.Output, 40));
                paramList.Add(new IRAPProcParameter("@NickName", DbType.String, ParameterDirection.Output, 40));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, ParameterDirection.InputOutput, 8)
                {
                    Value = sysLogID,
                });
                paramList.Add(new IRAPProcParameter("@LanguageID", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@OPhoneNo", DbType.String, ParameterDirection.Output, 20));
                paramList.Add(new IRAPProcParameter("@HPhoneNo", DbType.String, ParameterDirection.Output, 20));
                paramList.Add(new IRAPProcParameter("@MPhoneNo", DbType.String, ParameterDirection.Output, 20));
                paramList.Add(new IRAPProcParameter("@AgencyID", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@AgencyName", DbType.String, ParameterDirection.Output, 100));
                paramList.Add(new IRAPProcParameter("@HostName", DbType.String, ParameterDirection.Output, 30));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    string.Format("执行存储过程 IRAP..ssp_Login,参数:" +
                                  "DBName={0}|UserCode={1}|PlainPWD={2}|VeriCode={3}" +
                                  "StationID={4}|IPAddress={5}|AgencyLeaf={6}|" +
                                  "RoleLeaf={7}|SysLogID={8}",
                                  dbName, userCode, plainPWD, veriCode, stationID,
                                  ipAddress, agencyLeaf, roleLeaf, sysLogID),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                using (IRAPSQLConnection conn = new IRAPSQLConnection())
                {
                    IRAPError error = conn.CallProc("IRAP..ssp_Login", ref paramList);
                    errCode = error.ErrCode;
                    errText = error.ErrText;
                    WriteLog.Instance.Write(
                        string.Format(
                            "({0}){1}",
                            errCode,
                            errText),
                        strProcedureName);

                    Hashtable rtnParams = new Hashtable();
                    rtnParams = DBUtils.DBParamsToHashtable(paramList);

                    foreach (DictionaryEntry entry in rtnParams)
                    {
                        WriteLog.Instance.Write(
                            string.Format(
                                "[{0}]=[{1}]",
                                entry.Key,
                                entry.Value),
                            strProcedureName);
                    }

                    return(Json(rtnParams));
                }
                #endregion
            }
            catch (Exception error)
            {
                errCode = 99000;
                errText = string.Format("调用 IRAP..ssp_Login 时发生异常:{0}", error.Message);
                return(Json(new Hashtable()));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #28
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="clientID">渠道标识</param>
        /// <param name="plainPWD">密码(明文)</param>
        /// <param name="veriCode">验证码</param>
        /// <param name="stationID">站点标识,如果是BS系统调用传CommunityID</param>
        /// <param name="ipAddress">IP地址</param>
        /// <param name="agencyLeaf">机构标识</param>
        /// <param name="roleLeaf">角色标识</param>
        /// <returns>返回信息DTO类</returns>
        public BackLoginInfo Login(string clientID, string plainPWD, string veriCode, string stationID, string ipAddress, int agencyLeaf, int roleLeaf)
        {
            BackLoginInfo backRes = new BackLoginInfo
            {
                UserName   = user.UserName,
                LanguageID = user.LanguageID,
                NickName   = user.UserEnglishName,
                MPhoneNo   = user.MPhoneNo,
                OPhoneNo   = user.OPhoneNo,
                HPhoneNo   = user.HPhoneNo
            };

            try
            {
                //验证密码
                IRAPError error = VerifyPWD(plainPWD);
                if (error.ErrCode != 0)
                {
                    backRes.ErrCode = error.ErrCode;
                    backRes.ErrText = error.ErrText;
                    return(backRes);
                }
                //判断信息站点是否注册
                if (!Regex.IsMatch(stationID, @"^\d+$"))
                {
                    IRAPStation   station = new IRAPStation();
                    StationEntity r       = station.GetStation(stationID);
                    if (r == null)
                    {
                        backRes.ErrCode = 9999;
                        backRes.ErrText = $"站点{stationID}不存在!";
                        return(backRes);
                    }
                    backRes.HostName = r.HostName;
                }
                //短信验证码是否有效
                //申请登录标识

                long sysLogID = IRAPSequence.GetSysLogID();
                //登录
                Repository <LoginEntity> loginRep = _unitOfWork.Repository <LoginEntity>();
                LoginEntity loginEntity           = new LoginEntity();
                loginEntity.PartitioningKey = PK;
                loginEntity.ClientID        = clientID;
                loginEntity.SysLogID        = (int)sysLogID;
                loginEntity.UserCode        = _userCode;
                loginEntity.AgencyLeaf      = agencyLeaf;
                loginEntity.RoleLeaf        = roleLeaf;
                loginEntity.Access_Token    = Guid.NewGuid().ToString();
                loginEntity.StationID       = stationID;
                loginEntity.MPhoneNo        = user.MPhoneNo;
                loginEntity.Status          = 1;
                loginEntity.LanguageID      = user.LanguageID;
                loginEntity.IPAddress       = ipAddress;

                loginEntity.LoginMode = 1;
                loginRep.Insert(loginEntity);
                _unitOfWork.Commit();

                backRes.SysLogID     = sysLogID;
                backRes.access_token = loginEntity.Access_Token;
                backRes.AgencyName   = _unitOfWork.Repository <ETreeSysLeaf>().Table.FirstOrDefault(r => r.LeafID == agencyLeaf).NodeName;
                backRes.ErrCode      = 0;
                backRes.ErrText      = $"登录成功:{sysLogID}";


                return(backRes);
            }
            catch (Exception err)
            {
                backRes.ErrCode = 9999;
                backRes.ErrText = $"登录遇到异常:{err.Message}";

                return(backRes);
            }
        }
예제 #29
0
        /// <summary>
        /// 万能表单统一防错入口
        /// </summary>
        /// <param name="communityID">社区标识</param>
        /// <param name="ctrlParameter1">个性功能号</param>
        /// <param name="ctrlParameter2">选项一标识</param>
        /// <param name="ctrlParameter3">选项二标识</param>
        /// <param name="sysLogID">系统登录标识</param>
        /// <param name="strParameter1">字串参数1</param>
        /// <param name="strParameter2">字串参数2</param>
        /// <param name="strParameter3">字串参数3</param>
        /// <param name="strParameter4">字串参数4</param>
        /// <param name="strParameter5">字串参数5</param>
        /// <param name="strParameter6">字串参数6</param>
        /// <param name="strParameter7">字串参数7</param>
        /// <param name="strParameter8">字串参数8</param>
        /// <param name="errCode"></param>
        /// <param name="errText"></param>
        /// <returns>OutputStr</returns>
        public IRAPJsonResult ssp_PokaYoke_UDFForm(
            int communityID,
            int ctrlParameter1,
            int ctrlParameter2,
            int ctrlParameter3,
            long sysLogID,
            string strParameter1,
            string strParameter2,
            string strParameter3,
            string strParameter4,
            string strParameter5,
            string strParameter6,
            string strParameter7,
            string strParameter8,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                Hashtable rlt = new Hashtable();

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@CtrlParameter1", DbType.Int32, ctrlParameter1));
                paramList.Add(
                    new IRAPProcParameter(
                        "@CtrlParameter2",
                        DbType.Int32,
                        ParameterDirection.InputOutput,
                        4)
                {
                    Value = ctrlParameter2,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@CtrlParameter3",
                        DbType.Int32,
                        ParameterDirection.InputOutput,
                        4)
                {
                    Value = ctrlParameter3,
                });
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@OutputStr", DbType.String, ParameterDirection.Output, 2147483647));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 2147483647));
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter1",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter1,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter2",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter2,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter3",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter3,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter4",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter4,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter5",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter5,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter6",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter6,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter7",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter7,
                });
                paramList.Add(
                    new IRAPProcParameter(
                        "@StrParameter8",
                        DbType.String,
                        ParameterDirection.InputOutput,
                        128)
                {
                    Value = strParameter8,
                });
                WriteLog.Instance.Write(
                    string.Format(
                        "调用 IRAP..ssp_PokaYoke_UDFForm,输入参数:" +
                        "CommunityID={0}|CtrlParameter1={1}|CtrlParameter2={2}|" +
                        "CtrlParameter3={3}|SysLogID={4}|StrParameter1={5}|" +
                        "StrParameter2={6}|StrParameter3={7}|StrParameter4={8}|" +
                        "StrParameter5={9}|StrParameter6={10}|StrParameter7={11}|" +
                        "StrParameter8={12}",
                        communityID, ctrlParameter1, ctrlParameter2,
                        ctrlParameter3, sysLogID, strParameter1, strParameter2,
                        strParameter3, strParameter4, strParameter5, strParameter6,
                        strParameter7, strParameter8),
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error = conn.CallProc("IRAP..ssp_PokaYoke_UDFForm", ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;

                        rlt = DBUtils.DBParamsToHashtable(paramList);

                        foreach (DictionaryEntry entry in rlt)
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "[{0}]=[{1}]",
                                    entry.Key,
                                    entry.Value),
                                strProcedureName);
                        }
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText =
                        string.Format(
                            "调用 IRAP..ssp_PokaYoke_UDFForm 函数发生异常:{0}",
                            error.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(error.StackTrace, strProcedureName);
                }
                #endregion

                return(Json(rlt));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
예제 #30
0
        public IRAPJsonResult usp_UploadMO(
            int communityID,
            long importID,
            long sysLogID,
            out int errCode,
            out string errText)
        {
            string strProcedureName =
                $"{className}.{MethodBase.GetCurrentMethod().Name}";

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                Hashtable rlt = new Hashtable();

                #region 创建数据库调用参数组,并赋值
                IList <IDataParameter> paramList = new List <IDataParameter>();
                paramList.Add(new IRAPProcParameter("@CommunityID", DbType.Int32, communityID));
                paramList.Add(new IRAPProcParameter("@ImportID", DbType.Int64, importID));
                paramList.Add(new IRAPProcParameter("@SysLogID", DbType.Int64, sysLogID));
                paramList.Add(new IRAPProcParameter("@ErrCode", DbType.Int32, ParameterDirection.Output, 4));
                paramList.Add(new IRAPProcParameter("@ErrText", DbType.String, ParameterDirection.Output, 400));
                WriteLog.Instance.Write(
                    "调用 IRAPDPA..usp_UploadMO,输入参数:" +
                    $"CommunityID={communityID}|ImportID={importID}|" +
                    $"SysLogID={sysLogID}",
                    strProcedureName);
                #endregion

                #region 执行数据库函数或存储过程
                try
                {
                    using (IRAPSQLConnection conn = new IRAPSQLConnection())
                    {
                        IRAPError error =
                            conn.CallProc(
                                "IRAPDPA..usp_UploadMO",
                                ref paramList);
                        errCode = error.ErrCode;
                        errText = error.ErrText;

                        rlt = DBUtils.DBParamsToHashtable(paramList);
                    }
                }
                catch (Exception error)
                {
                    errCode = 99000;
                    errText =
                        string.Format(
                            "调用 IRAPDPA..usp_UploadMO 函数发生异常:{0}",
                            error.Message);
                    WriteLog.Instance.Write(errText, strProcedureName);
                    WriteLog.Instance.Write(error.StackTrace, strProcedureName);
                }
                #endregion

                return(Json(rlt));
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }