/// <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); }
/// <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); }
/// <summary> //获取单据流水号码 /// </summary> protected override string GetNumber(SqlTransaction tran) { string docNo = DocNoTool.GetNumber(tran, "WMS_BillDtl"); return(docNo); }
/// <summary> //获取单据流水号码 /// </summary> protected override string GetNumber(SqlTransaction tran) { string docNo = DocNoTool.GetNumber(tran, DocHeaer); return(docNo); }