From 97aa542d1a1cdcb46b2942026d28b7e5dca6c6c0 Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期一, 20 六月 2022 21:10:23 +0800
Subject: [PATCH] 首页:通道状态

---
 web/Dao/GwOrderDao.cs |   74 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/web/Dao/GwOrderDao.cs b/web/Dao/GwOrderDao.cs
index 0e1a091..d2df31a 100644
--- a/web/Dao/GwOrderDao.cs
+++ b/web/Dao/GwOrderDao.cs
@@ -169,7 +169,7 @@
         }
 
 
-        //娣诲姞浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        //娣诲姞淇℃伅
         public bool Add(GwOrder o)
         {
             StringBuilder stringBuilder = new StringBuilder();
@@ -241,7 +241,7 @@
                 ) > 0;
         }
 
-        //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        //鏇存柊淇℃伅
         public bool Update(GwOrder o)
         {
             OracleParameter[] cmdParms = new OracleParameter[] {
@@ -296,6 +296,76 @@
             return o;
         }
 
+        //浠婃棩宸插畬鎴愯鍗曟暟鍙婃�婚
+        public List<Dictionary<string, object>> GetOrderDay(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) order_num, SUM(order_amount_total) order_amount_total FROM ( ");
+            builder.Append(" SELECT a.order_id, a.client_id, a.status, a.order_amount_total ");
+            builder.Append(" , CASE WHEN b.update_time is null then TO_CHAR(a.create_time, 'yyyyMMdd') ELSE TO_CHAR(b.update_time, 'yyyyMMdd') END AS update_time ");
+            builder.Append(" FROM gw_order a ");
+            builder.Append(" LEFT JOIN ( ");
+            builder.Append(" SELECT order_id, max(audit_time) update_time FROM gw_order_audit goa ");
+            builder.Append(" GROUP BY order_id ");
+            builder.Append(" ) b ON b.order_id = a.order_id ");
+            builder.Append(" ) ");
+            builder.Append(" WHERE 1=1 AND status=2 ");
+            //builder.Append(" AND update_time=:UPDATE_TIME ");
+            builder.Append(permissionsSQL);
+
+            //using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection, new OracleParameter(":UPDATE_TIME", (object)DateTime.Now.ToString("yyyyMMdd"))))
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int orderNum = oracleReaderWrapper.GetInt("ORDER_NUM", 0);
+                    int orderAmountTotal = oracleReaderWrapper.GetInt("ORDER_AMOUNT_TOTAL", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("orderNum", orderNum);
+                    map.Add("orderAmountTotal", orderAmountTotal);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
+        //寰呭鏍歌鍗曟暟鍙婃�婚
+        public List<Dictionary<string, object>> GetOrderAudit(string permissionsSQL)
+        {
+            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
+            StringBuilder builder = new StringBuilder();
+            builder.Append(" SELECT COUNT(1) order_num, SUM(order_amount_total) order_amount_total FROM ( ");
+            builder.Append(" SELECT a.order_id, a.client_id, a.status, a.order_amount_total ");
+            //builder.Append(" , CASE WHEN b.update_time is null then TO_CHAR(a.create_time, 'yyyyMMdd') ELSE TO_CHAR(b.update_time, 'yyyyMMdd') END AS update_time ");
+            builder.Append(" FROM gw_order a ");
+            builder.Append(" LEFT JOIN ( ");
+            builder.Append(" SELECT order_id, max(audit_time) update_time FROM gw_order_audit goa ");
+            builder.Append(" GROUP BY order_id ");
+            builder.Append(" ) b ON b.order_id = a.order_id ");
+            builder.Append(" ) ");
+            builder.Append(" WHERE 1=1 AND status IN (0,1) ");
+            builder.Append(permissionsSQL);
+
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(builder.ToString(), OracleHelper.Connection))
+            {
+                while (reader != null && ((DbDataReader)reader).Read())
+                {
+                    OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+                    int orderNum = oracleReaderWrapper.GetInt("ORDER_NUM", 0);
+                    int orderAmountTotal = oracleReaderWrapper.GetInt("ORDER_AMOUNT_TOTAL", 0);
+
+                    Dictionary<string, object> map = new Dictionary<string, object>();
+                    map.Add("orderNum", orderNum);
+                    map.Add("orderAmountTotal", orderAmountTotal);
+                    list.Add(map);
+                }
+            }
+            return list;
+        }
+
         //缁熻璁板綍鏁�
         private int ReadCount(OracleDataReader reader)
         {

--
Gitblit v1.9.1