From 1fbfe94790a03ab58ac8dee37f5095ff611ec3d8 Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期一, 14 三月 2022 14:13:05 +0800
Subject: [PATCH] 产品管理

---
 web/Dao/GwProductDao.cs |  384 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 383 insertions(+), 1 deletions(-)

diff --git a/web/Dao/GwProductDao.cs b/web/Dao/GwProductDao.cs
index 62e7880..ab48b89 100644
--- a/web/Dao/GwProductDao.cs
+++ b/web/Dao/GwProductDao.cs
@@ -12,8 +12,11 @@
     /// <summary>
     /// 浜у搧鎿嶄綔
     /// </summary>
-    public class GwProductDao
+    public class GwProductDao : IDisposable
     {
+        public void Dispose()
+        {
+        }
 
         private static GwProductDao _instance;
         public static GwProductDao Instance
@@ -25,6 +28,163 @@
                 }
                 return _instance;
             }
+        }
+
+
+        public List<GwProduct> LoadInfoList(int classes, string name, int pageSize, int PageIndex, out int recordcount)
+        {
+            
+            List<GwProduct> list = new List<GwProduct>();
+            recordcount = 0;
+            try
+            {
+                StringBuilder builder = new StringBuilder();
+                builder.Append("from GW_PRODUCT where 1=1");
+                if (classes == -1)
+                {
+                    builder.Append(" AND (CLASSES != " + classes + " OR CLASSES IS NULL) " );
+                }
+                else
+                {
+                    builder.Append(" AND CLASSES = " + classes + " ");
+                }
+                if ((name != null) && (name != ""))
+                {
+                    builder.Append(" and name like '%" + name + "%'");
+                }
+                using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + builder.ToString(), OracleHelper.Connection))
+                {
+                    while (reader.Read())
+                    {
+                        recordcount = this.ReadCount(reader);
+                    }
+                }
+                using (OracleDataReader reader2 = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + builder.ToString()).ToString() + " order by path, sort ", OracleHelper.Connection ))
+                {
+                    while (reader2.Read())
+                    {
+                        GwProduct o = new GwProduct();
+                        if (this.ReadInfo(reader2, o))
+                        {
+                            list.Add(o);
+                        }
+                    }
+                }
+            }
+            catch (Exception exception)
+            {
+                LogHelper.Error(exception);
+                return list;
+            }
+            return list;
+
+        }
+
+        /// <summary>
+        /// 鑾峰彇浜у搧鍙婁骇鍝佸垎绫诲垪琛�
+        /// </summary>
+        /// <param name="clientID"></param>
+        /// <returns></returns>
+        public List<GwProduct> GwProductList(int classes, string name )
+        {
+            List<GwProduct> list = new List<GwProduct>();
+            //recordcount = 0;    //
+            try
+            {
+                StringBuilder stringBuilder = new StringBuilder();
+                stringBuilder.Append("SELECT * FROM GW_PRODUCT WHERE CLASSES=:CLASSES AND NAME=:NAME ORDER BY ID ");
+                OracleParameter[] oracleParameterArray = new OracleParameter[2]
+                {
+                    new OracleParameter(":CLASSES", (object) classes), new OracleParameter(":NAME", (object) ("%" + name + "%")) 
+                };
+
+
+                //using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + builder.ToString(), OracleHelper.Connection, cmdParms))
+                //{
+                //    while (reader.Read())
+                //    {
+                //        recordcount = this.ReadCount(reader);
+                //    }
+                //}
+
+                using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() +" order by path, sort ", OracleHelper.Connection, oracleParameterArray))
+                {
+                    while (((DbDataReader)reader).Read())
+                    {
+                        GwProduct o = new GwProduct();
+                        if (this.ReadInfo(reader, o))
+                            list.Add(o);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                LogHelper.Error(ex);
+                return list;
+            }
+            return list;
+        }
+
+        //鏍规嵁鏉′欢鑾峰彇浜у搧鎴栦骇鍝佸垎绫荤殑ID鍜屽悕绉�
+        public List<GwProduct> getAllList(GwProduct bean)
+        {
+
+            List<GwProduct> list = new List<GwProduct>();
+            try
+            {
+                StringBuilder builder = new StringBuilder();
+                builder.Append("from GW_PRODUCT where 1=1");
+                if (bean.Classes == -1)
+                {
+                    builder.Append(" AND (CLASSES != " + bean.Classes + " OR CLASSES IS NULL) ");
+                }
+                else
+                {
+                    builder.Append(" AND CLASSES = " + bean.Classes + " ");
+                }
+
+                if (!string.IsNullOrEmpty(bean.ParentId) )
+                {
+                    builder.Append(" AND PARENT_ID = " + bean.ParentId + " ");
+                }
+
+                if (bean.IsDefault == -1)
+                {
+                    builder.Append(" AND (IS_DEFAULT != " + bean.IsDefault + " OR IS_DEFAULT IS NULL) ");
+                }
+                else
+                {
+                    builder.Append(" AND IS_DEFAULT = " + bean.IsDefault + " ");
+                }
+
+                if (bean.IsEnable == -1)
+                {
+                    builder.Append(" AND (IS_ENABLE != " + bean.IsEnable + " OR IS_ENABLE IS NULL) ");
+                }
+                else
+                {
+                    builder.Append(" AND IS_ENABLE = " + bean.IsEnable + " ");
+                }
+
+                using (OracleDataReader reader = OracleHelper.ExecuteReader("select id, name, classes, is_enable, is_default " + builder.ToString() + " order by path, sort ", OracleHelper.Connection))
+                {
+                    while (reader.Read())
+                    {
+                        GwProduct o = new GwProduct();
+                        if (this.ReadInfo(reader, o))
+                        {
+                            list.Add(o);
+                        }
+                    }
+                }
+            }
+            catch (Exception exception)
+            {
+                LogHelper.Error(exception);
+                return list;
+            }
+            return list;
+
         }
 
         /// <summary>
@@ -49,5 +209,227 @@
             }
             return list;
         }
+
+        //娣诲姞浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        public bool Add(GwProduct o)
+        {
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.Append("INSERT INTO GW_PRODUCT ( ");
+            stringBuilder.Append(" ID, NAME, ICON, INSTRUCTIONS, CLASSES, PARENT_ID, PATH, IS_DEFAULT, IS_ENABLE, SORT, ROUTER_TYPE, CM_OP_ID, CU_OP_ID, CT_OP_ID ");
+            stringBuilder.Append(" , CM_GROUPID, CU_GROUPID, CT_GROUPID, CM_EXT_PARAMS, CU_EXT_PARAMS, CT_EXT_PARAMS, PRICE, GIVING_NUM, REMARK, CREATE_TIME, CREATOR " );
+            //stringBuilder.Append(" , UPDATE_TIME, UPDATEOR ");
+            stringBuilder.Append(" ) ");
+            stringBuilder.Append(" VALUES (:ID, :NAME, :ICON, :INSTRUCTIONS, :CLASSES, :PARENT_ID, :PATH, :IS_DEFAULT, :IS_ENABLE, :SORT, :ROUTER_TYPE, :CM_OP_ID, :CU_OP_ID, :CT_OP_ID " );
+            stringBuilder.Append(" , :CM_GROUPID, :CU_GROUPID, :CT_GROUPID, :CM_EXT_PARAMS, :CU_EXT_PARAMS, :CT_EXT_PARAMS, :PRICE, :GIVING_NUM, :REMARK, :CREATE_TIME, :CREATOR " );
+            //stringBuilder.Append(" , :UPDATE_TIME, :UPDATEOR ");
+            stringBuilder.Append("  ) ");
+
+            string sql = stringBuilder.ToString();
+
+            return OracleHelper.ExecuteSql(sql, 
+                OracleHelper.Connection,
+                new OracleParameter(":ID", (object)o.Id),
+                new OracleParameter(":NAME", (object)o.Name),
+                new OracleParameter(":ICON", (object)o.Icon),
+                new OracleParameter(":INSTRUCTIONS", (object)o.Instructions),
+                new OracleParameter(":CLASSES", (object)o.Classes),
+                new OracleParameter(":PARENT_ID", (object)o.ParentId),
+                new OracleParameter(":PATH", (object)o.Path),
+                new OracleParameter(":IS_DEFAULT", (object)o.IsDefault),
+                new OracleParameter(":IS_ENABLE", (object)o.IsEnable),
+                new OracleParameter(":SORT", (object)o.Sort),
+                new OracleParameter(":ROUTER_TYPE", (object)o.RouterType),
+                new OracleParameter(":CM_OP_ID", (object)o.CmOpId),
+                new OracleParameter(":CU_OP_ID", (object)o.CuOpId),
+                new OracleParameter(":CT_OP_ID", (object)o.CtOpId),
+                new OracleParameter(":CM_GROUPID", (object)o.CmGroupid),
+                new OracleParameter(":CU_GROUPID", (object)o.CuGroupid),
+                new OracleParameter(":CT_GROUPID", (object)o.CtGroupid),
+                new OracleParameter(":CM_EXT_PARAMS", (object)o.CmExtParams),
+                new OracleParameter(":CU_EXT_PARAMS", (object)o.CuExtParams),
+                new OracleParameter(":CT_EXT_PARAMS", (object)o.CtExtParams),
+                new OracleParameter(":PRICE", (object)o.Price),
+                new OracleParameter(":GIVING_NUM", (object)o.GivingNum),
+                new OracleParameter(":REMARK", (object)o.Remark),
+                new OracleParameter(":CREATE_TIME", (object)o.CreateTime),
+                new OracleParameter(":CREATOR", (object)o.Creator)
+                //, new OracleParameter(":UPDATE_TIME", (object)o.UpdateTime)
+                //, new OracleParameter(":UPDATEOR", (object)o.Updateor)
+                ) > 0;
+        }
+
+        //鍒犻櫎
+        public bool Delete(string id)
+        {
+            if (string.IsNullOrEmpty(id) )
+                return false;
+            return OracleHelper.ExecuteSql("delete from GW_PRODUCT where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)id)) > 0;
+        }
+
+        //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+        public bool Update(GwProduct o)
+        {
+            OracleParameter[] cmdParms = new OracleParameter[] {
+                new OracleParameter(":ID", (object)o.Id),
+                new OracleParameter(":NAME", (object)o.Name),
+                new OracleParameter(":ICON", (object)o.Icon),
+                new OracleParameter(":INSTRUCTIONS", (object)o.Instructions),
+                new OracleParameter(":CLASSES", (object)o.Classes),
+                new OracleParameter(":PARENT_ID", (object)o.ParentId),
+                new OracleParameter(":PATH", (object)o.Path),
+                new OracleParameter(":IS_DEFAULT", (object)o.IsDefault),
+                new OracleParameter(":IS_ENABLE", (object)o.IsEnable),
+                new OracleParameter(":SORT", (object)o.Sort),
+                new OracleParameter(":ROUTER_TYPE", (object)o.RouterType),
+                new OracleParameter(":CM_OP_ID", (object)o.CmOpId),
+                new OracleParameter(":CU_OP_ID", (object)o.CuOpId),
+                new OracleParameter(":CT_OP_ID", (object)o.CtOpId),
+                new OracleParameter(":CM_GROUPID", (object)o.CmGroupid),
+                new OracleParameter(":CU_GROUPID", (object)o.CuGroupid),
+                new OracleParameter(":CT_GROUPID", (object)o.CtGroupid),
+                new OracleParameter(":CM_EXT_PARAMS", (object)o.CmExtParams),
+                new OracleParameter(":CU_EXT_PARAMS", (object)o.CuExtParams),
+                new OracleParameter(":CT_EXT_PARAMS", (object)o.CtExtParams),
+                new OracleParameter(":PRICE", (object)o.Price),
+                new OracleParameter(":GIVING_NUM", (object)o.GivingNum),
+                new OracleParameter(":REMARK", (object)o.Remark),
+                //new OracleParameter(":CREATE_TIME", (object)o.CreateTime),
+                //new OracleParameter(":CREATOR", (object)o.Creator),
+                new OracleParameter(":UPDATE_TIME", (object)o.UpdateTime),
+                new OracleParameter(":UPDATEOR", (object)o.Updateor)
+            };
+
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.Append("UPDATE GW_PRODUCT SET ");
+            stringBuilder.Append(" NAME=:NAME ");
+            stringBuilder.Append(" , ICON =:ICON ");
+            stringBuilder.Append(" , INSTRUCTIONS =:INSTRUCTIONS ");
+            stringBuilder.Append(" , CLASSES =:CLASSES ");
+            stringBuilder.Append(" , PARENT_ID =:PARENT_ID ");
+            stringBuilder.Append(" , PATH=:PATH, IS_DEFAULT=:IS_DEFAULT, IS_ENABLE=:IS_ENABLE, SORT=:SORT, ROUTER_TYPE=:ROUTER_TYPE ");
+            stringBuilder.Append(" , CM_OP_ID =:CM_OP_ID, CU_OP_ID=:CU_OP_ID, CT_OP_ID=:CT_OP_ID ");
+            stringBuilder.Append(" , CM_GROUPID=:CM_GROUPID, CU_GROUPID=:CU_GROUPID, CT_GROUPID=:CT_GROUPID, CM_EXT_PARAMS=:CM_EXT_PARAMS ");
+            stringBuilder.Append(" , CU_EXT_PARAMS =:CU_EXT_PARAMS, CT_EXT_PARAMS=:CT_EXT_PARAMS, PRICE=:PRICE, GIVING_NUM=:GIVING_NUM, REMARK=:REMARK ");
+            //stringBuilder.Append(" , CREATE_TIME =:CREATE_TIME, CREATOR=:CREATOR ");
+            stringBuilder.Append(" , UPDATE_TIME=:UPDATE_TIME, UPDATEOR=:UPDATEOR ");
+            stringBuilder.Append(" WHERE ID=:ID ");
+
+            string sql = stringBuilder.ToString();
+            return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0);
+        }
+
+        //鑾峰彇淇℃伅
+        public GwProduct Get(string productId)
+        {
+            GwProduct o = new GwProduct();
+            if (string.IsNullOrEmpty(productId))
+                return o;
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_PRODUCT where ID=:ID"), OracleHelper.Connection, new OracleParameter(":ID", (object)productId)))
+            {
+                if (((DbDataReader)reader).Read())
+                {
+                    this.ReadInfo(reader, o);
+                    return o;
+                }
+            }
+            return o;
+        }
+
+        //鏇存柊鍚敤鎴栧仠鐢�
+        public bool UpdateStatus(string id, string isEnable)
+        {
+            if (string.IsNullOrEmpty(id))
+                return false;
+            return OracleHelper.ExecuteSql("UPDATE GW_PRODUCT SET IS_ENABLE=:IS_ENABLE where ID=:ID", OracleHelper.Connection, new OracleParameter(":IS_ENABLE", (object)isEnable), new OracleParameter(":ID", (object)id)) > 0;
+        }
+
+        //鏇存柊鍏宠仈鐨勪骇鍝佽矾寰凱ATH
+        public bool UpdatePath(string id, string path)
+        {
+            if (string.IsNullOrEmpty(id))
+                return false;
+            if (string.IsNullOrEmpty(path))
+                return false;
+
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.Append("UPDATE GW_PRODUCT SET PATH = :PATH||','||PARENT_ID ");
+            stringBuilder.Append(" WHERE ID IN ( ");
+            stringBuilder.Append(" SELECT ID FROM GW_PRODUCT START WITH ID = :ID  CONNECT BY PRIOR ID = PARENT_ID ");
+            stringBuilder.Append(" ) ");
+            stringBuilder.Append(" AND ID NOT IN (:ID) ");
+
+            return OracleHelper.ExecuteSql(stringBuilder.ToString(), OracleHelper.Connection, new OracleParameter(":PATH", (object)path), new OracleParameter(":ID", (object)id), new OracleParameter(":ID", (object)id)) > 0;
+        }
+
+        //鍒ゆ柇鏄惁鍦ㄤ骇鍝佷腑浣跨敤
+        public int GwProductUseCount(string productId)
+        {
+            string str = string.Format("SELECT count(*) as Count  from GW_PRODUCT where PARENT_ID=:PARENT_ID ");
+            List<OracleParameter> list = new List<OracleParameter>();
+            int num = 0;
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(str.ToString(), OracleHelper.Connection, new OracleParameter(":PARENT_ID", (object)productId)) )
+            {
+                while (((DbDataReader)reader).Read())
+                    num = this.ReadCount(reader);
+            }
+            return num;
+        }
+
+        //鍒ゆ柇鏄惁鍦ㄥ鎴疯处鍙蜂腑浣跨敤
+        public int GwSpUseCount(string productId)
+        {
+            string str = string.Format("SELECT count(*) as Count  from GW_SP where PRODUCT_ID=:PRODUCT_ID ");
+            List<OracleParameter> list = new List<OracleParameter>();
+            int num = 0;
+            using (OracleDataReader reader = OracleHelper.ExecuteReader(str.ToString(), OracleHelper.Connection, new OracleParameter(":PRODUCT_ID", (object)productId)))
+            {
+                while (((DbDataReader)reader).Read())
+                    num = this.ReadCount(reader);
+            }
+            return num;
+        }
+
+        //缁熻璁板綍鏁�
+        private int ReadCount(OracleDataReader reader)
+        {
+            OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
+            return wrapper.GetInt("count", 0);
+        }
+
+        //鏁版嵁灏佽
+        private bool ReadInfo(OracleDataReader reader, GwProduct o)
+        {
+            OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+            o.Id = oracleReaderWrapper.GetString("ID", "");
+            o.Name = oracleReaderWrapper.GetString("NAME", "");
+            o.Icon = oracleReaderWrapper.GetString("ICON", "");
+            o.Instructions = oracleReaderWrapper.GetString("INSTRUCTIONS", "");
+            o.Classes = oracleReaderWrapper.GetInt("CLASSES", 0);
+            o.ParentId = oracleReaderWrapper.GetString("PARENT_ID", "");
+            o.Path = oracleReaderWrapper.GetString("PATH", "");
+            o.IsDefault = oracleReaderWrapper.GetInt("IS_DEFAULT", 0);
+            o.IsEnable = oracleReaderWrapper.GetInt("IS_ENABLE", 0);
+            o.Sort = oracleReaderWrapper.GetInt("SORT", 0);
+            o.RouterType = oracleReaderWrapper.GetInt("ROUTER_TYPE", 0);
+            o.CmOpId = oracleReaderWrapper.GetInt("CM_OP_ID", 0);
+            o.CuOpId = oracleReaderWrapper.GetInt("CU_OP_ID", 0);
+            o.CtOpId = oracleReaderWrapper.GetInt("CT_OP_ID", 0);
+            o.CmGroupid = oracleReaderWrapper.GetInt("CM_GROUPID", 0);
+            o.CuGroupid = oracleReaderWrapper.GetInt("CU_GROUPID", 0);
+            o.CtGroupid = oracleReaderWrapper.GetInt("CT_GROUPID", 0);
+            o.CmExtParams = oracleReaderWrapper.GetString("CM_EXT_PARAMS", "");
+            o.CuExtParams = oracleReaderWrapper.GetString("CU_EXT_PARAMS", "");
+            o.CtExtParams = oracleReaderWrapper.GetString("CT_EXT_PARAMS", "");
+            o.Price = oracleReaderWrapper.GetInt("PRICE", 0);
+            o.GivingNum = oracleReaderWrapper.GetInt("GIVING_NUM", 0);
+            o.Remark = oracleReaderWrapper.GetString("REMARK", "");
+            o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
+            o.Creator = oracleReaderWrapper.GetString("CREATOR", "");
+            o.UpdateTime = oracleReaderWrapper.GetDateTime("UPDATE_TIME");
+            o.Updateor = oracleReaderWrapper.GetString("UPDATEOR", "");
+            return true;
+        }
+
     }
+
 }

--
Gitblit v1.9.1