Esempio n. 1
0
        /// <summary>
        /// 数据字典:手动控制事务及自动生成流水号
        /// </summary>
        /// <param name="data">用户提交的数据</param>
        /// <returns></returns>
        public override SaveResultEx UpdateEx(DataSet data)
        {
            SaveResultEx result = new SaveResultEx((int)ResultID.SUCCESS, "");

            try
            {
                this.BeginTransaction();                                                              //启动事务

                DataTable summary  = data.Tables[tb_CommonDataDict.__TableName];                      //取出主表数据
                string    dataType = ConvertEx.ToString(summary.Rows[0][tb_CommonDataDict.DataType]); //取数据类型
                string    dataCode = DocNoTool.GetDataSN(_CurrentTrans, dataType, true);              //在同一事务内取流水号
                summary.Rows[0][tb_CommonDataDict.DataCode] = dataCode;

                result            = base.UpdateEx(data); //提交数据
                result.PrimaryKey = dataCode;            //返回自动生成的主键

                this.CommitTransaction();                //提交事务
            }
            catch
            {
                this.RollbackTransaction();//回滚
            }

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 写入日志
        /// </summary>
        /// <param name="logUser"></param>
        public static void InsertLog(Loginer logUser, string sFunID, string sFSubunID, string sFdesc, string sSql)
        {
            string sql = "insert into sys_log( FID, FDate, FUserID, FFunctionID, FSubFunctionID, FDescription, FMachineName, FIPAddress, FSQL) ";

            sql += " values(" + DocNoTool.GetTableID(logUser.DBName, "sys_log", "FID") + ",";
            if (logUser.DbType == DbAcessTyp.Oracle)
            {
                sql += "sysdate,";
            }
            else
            {
                sql += "getdate(),";
            }
            sql += logUser.Fid + "," + sFunID + "," + sFSubunID + ",'" + sFdesc + "','" + logUser.MachineName + "','" + logUser.IPAddress + "','" + sSql + "')";

            new DataBaseLayer(logUser.DBName).ExecuteSql(sql);
        }
Esempio n. 3
0
        /// <summary>
        //获取单据流水号码
        /// </summary>
        protected override string GetNumber(SqlTransaction tran)
        {
            string docNo = DocNoTool.GetNumber(tran, "WMS_BillDtl");

            return(docNo);
        }
Esempio n. 4
0
        /// <summary>
        //获取单据流水号码
        /// </summary>
        protected override string GetNumber(SqlTransaction tran)
        {
            string docNo = DocNoTool.GetNumber(tran, DocHeaer);

            return(docNo);
        }