using System; using System.Collections.Generic; using System.Linq; using System.Text; using Model; using Common; using Oracle.DataAccess.Client; using System.Data.Common; namespace Dao { /// /// 订单审核操作 /// public class GwOrderAuditDao : IDisposable { public void Dispose() { } private static GwOrderAuditDao _instance; public static GwOrderAuditDao Instance { get { if (_instance == null) { _instance = new GwOrderAuditDao(); } return _instance; } } /// /// 获取订单审核列表 /// /// flag: 0-待审核订单(已提交、审核中);1-已完成订单(审核通过、审核不通过、取消) /// public List List(GwOrderAudit gwOrderAudit) { List list = new List(); try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("SELECT GOA.* "); stringBuilder.Append(" FROM GW_ORDER_AUDIT GOA "); stringBuilder.Append(" WHERE 1=1 "); if (gwOrderAudit.AuditId!=null && gwOrderAudit.AuditId!="") { stringBuilder.Append(" AND AUDIT_ID= '" + gwOrderAudit.AuditId + "' "); } if (gwOrderAudit.OrderId != null && gwOrderAudit.OrderId != "") { stringBuilder.Append(" AND ORDER_ID= '" + gwOrderAudit.OrderId + "' "); } if (gwOrderAudit.AuditSort != 0 ) { stringBuilder.Append(" AND AUDIT_SORT= " + gwOrderAudit.AuditSort + " "); } if (gwOrderAudit.AuditStatus != 0) { stringBuilder.Append(" AND AUDIT_STATUS= " + gwOrderAudit.AuditStatus + " "); } stringBuilder.Append(" ORDER BY ORDER_ID, AUDIT_TIME DESC "); using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection)) { while (((DbDataReader)reader).Read()) { GwOrderAudit o = new GwOrderAudit(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } //添加信息 public bool Add(GwOrderAudit o) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("INSERT INTO GW_ORDER_AUDIT ( "); stringBuilder.Append(" AUDIT_ID, ORDER_ID, AUDIT_SORT, AUDIT_STATUS, AUDITOR, AUDIT_REASON, AUDIT_TIME "); stringBuilder.Append(" ) "); stringBuilder.Append(" VALUES (:AUDIT_ID, :ORDER_ID, :AUDIT_SORT, :AUDIT_STATUS, :AUDITOR, :AUDIT_REASON, :AUDIT_TIME "); stringBuilder.Append(" ) "); string sql = stringBuilder.ToString(); return OracleHelper.ExecuteSql(sql, OracleHelper.Connection, new OracleParameter(":AUDIT_ID", (object)o.AuditId), new OracleParameter(":ORDER_ID", (object)o.OrderId), new OracleParameter(":AUDIT_SORT", (object)o.AuditSort), new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus), new OracleParameter(":AUDITOR", (object)o.Auditor), new OracleParameter(":AUDIT_REASON", (object)o.AuditReason), new OracleParameter(":AUDIT_TIME", (object)o.AuditTime) ) > 0; } //删除 public bool Delete(string AuditId) { if (string.IsNullOrEmpty(AuditId) ) return false; return OracleHelper.ExecuteSql("delete from GW_ORDER_AUDIT where AUDIT_ID=:AUDIT_ID", OracleHelper.Connection, new OracleParameter(":AUDIT_ID", (object)AuditId)) > 0; } //更新产品或产品分类信息 public bool Update(GwOrderAudit o) { OracleParameter[] cmdParms = new OracleParameter[] { new OracleParameter(":AUDIT_ID", (object)o.AuditId), new OracleParameter(":ORDER_ID", (object)o.OrderId), new OracleParameter(":AUDIT_SORT", (object)o.AuditSort), new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus), new OracleParameter(":AUDITOR", (object)o.Auditor), new OracleParameter(":AUDIT_REASON", (object)o.AuditReason), new OracleParameter(":AUDIT_TIME", (object)o.AuditTime) }; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("UPDATE GW_ORDER_AUDIT SET "); //stringBuilder.Append(" , AUDIT_ID =:AUDIT_ID "); stringBuilder.Append(" , ORDER_ID =:ORDER_ID "); stringBuilder.Append(" , AUDIT_SORT =:AUDIT_SORT "); stringBuilder.Append(" , AUDIT_STATUS =:AUDIT_STATUS "); stringBuilder.Append(" , AUDITOR=:AUDITOR, AUDIT_REASON=:AUDIT_REASON, AUDIT_TIME=:AUDIT_TIME "); stringBuilder.Append(" WHERE AUDIT_ID=:AUDIT_ID "); string sql = stringBuilder.ToString(); return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0); } //获取信息 public GwOrderAudit Get(string auditId) { GwOrderAudit o = new GwOrderAudit(); if (string.IsNullOrEmpty(auditId)) return o; using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_ORDER_AUDIT where AUDIT_ID=:AUDIT_ID"), OracleHelper.Connection, new OracleParameter(":AUDIT_ID", (object)auditId))) { if (((DbDataReader)reader).Read()) { this.ReadInfo(reader, o); return o; } } return o; } //统计记录数 private int ReadCount(OracleDataReader reader) { OracleReaderWrapper wrapper = new OracleReaderWrapper(reader); return wrapper.GetInt("count", 0); } //数据封装 private bool ReadInfo(OracleDataReader reader, GwOrderAudit o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.AuditId = oracleReaderWrapper.GetString("AUDIT_ID", ""); o.OrderId = oracleReaderWrapper.GetString("ORDER_ID", ""); o.AuditSort = oracleReaderWrapper.GetInt("AUDIT_SORT", 0); o.AuditStatus = oracleReaderWrapper.GetInt("AUDIT_STATUS", 0); o.Auditor = oracleReaderWrapper.GetString("AUDITOR", ""); o.AuditReason = oracleReaderWrapper.GetString("AUDIT_REASON", ""); o.AuditTime = oracleReaderWrapper.GetDateTime("AUDIT_TIME"); return true; } } }