From 597399726303f4f6f41b0a55d8dcaa153f49b97a Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期四, 19 五月 2022 14:57:33 +0800
Subject: [PATCH] 账号信息增加是否自动返还 系统账号信息增加:用户类型 客户信息增加:归属客户经理、归属业务员、归属客服人员、归属财务等 客户账号查询优化 账号查询充值优化

---
 web/web/Bin/Dao.dll                                  |    0 
 web/Model/Model/GwSp.cs                              |    1 
 web/Model/obj/Debug/Model.pdb                        |    0 
 web/Dao/GwSpDao.cs                                   |   56 +++-
 web/Dao/obj/Debug/Dao.dll                            |    0 
 web/Model/obj/Debug/Model.dll                        |    0 
 web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache |    0 
 web/Lib/Model.dll                                    |    0 
 web/web/GwOrder.ashx                                 |   41 +-
 web/web/Bin/Dao.pdb                                  |    0 
 web/web/GwSp.aspx                                    |   12 
 web/Lib/Model.pdb                                    |    0 
 web/Model/Model/SysUser.cs                           |    2 
 web/web/GwClient.aspx.cs                             |  134 +++++++++++
 web/web/GwSp.ashx                                    |   12 
 web/web/gwspupdate.aspx                              |   18 +
 web/Dao/obj/Debug/Dao.pdb                            |    0 
 web/Model/Model/GwClient.cs                          |    6 
 web/Dao/GwClientDao.cs                               |   49 +++
 web/Lib/Dao.dll                                      |    0 
 web/web/Index.aspx                                   |    2 
 web/web/GwClient.ashx                                |  109 +++++++++
 web/web/SysUser.aspx                                 |   50 ++++
 web/web/Bin/Model.pdb                                |    0 
 web/web/Bin/UMCLib.dll                               |    0 
 web/.vs/Web/v16/.suo                                 |    0 
 web/Dao/UserDao.cs                                   |    5 
 web/web/GwClient.aspx                                |  114 +++++++++
 web/web/SysUser.ashx                                 |    7 
 web/web/Bin/Model.dll                                |    0 
 web/Lib/Dao.pdb                                      |    0 
 31 files changed, 537 insertions(+), 81 deletions(-)

diff --git a/web/.vs/Web/v16/.suo b/web/.vs/Web/v16/.suo
index 06d161f..3f0b7ae 100644
--- a/web/.vs/Web/v16/.suo
+++ b/web/.vs/Web/v16/.suo
Binary files differ
diff --git a/web/Dao/GwClientDao.cs b/web/Dao/GwClientDao.cs
index 6387790..460f299 100644
--- a/web/Dao/GwClientDao.cs
+++ b/web/Dao/GwClientDao.cs
@@ -24,7 +24,8 @@
         /// <param name="telphone">鑱旂郴鐢佃瘽</param>
         /// <param name="agent">涓氬姟鍛�</param>
         /// <returns></returns>
-        public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent)
+        //public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent)
+        public List<GwClient> LoadInfoList(out int recordCount, int pageIndex, int pageSizestring, string clientID, string clientName, string telphone, string agent, string company, string salesman, string productId)
         {
 
             List<GwClient> list = new List<GwClient>();
@@ -50,14 +51,32 @@
                 {
                     oracleParameterArray[2] = new OracleParameter(":Telphone", (OracleDbType)126);
                     ((DbParameter)oracleParameterArray[2]).Value = (object)('%' + telphone + '%');
-                    stringBuilder.Append(" and Telphone like :Company");
+                    stringBuilder.Append(" and Telphone like :Telphone");
+                }
+                if (company != null && company != "")
+                {
+                    oracleParameterArray[3] = new OracleParameter(":Company", (OracleDbType)126);
+                    ((DbParameter)oracleParameterArray[3]).Value = (object)('%' + company + '%');
+                    stringBuilder.Append(" and Company like :Company");
+                }
+                if (salesman != null && salesman != "")
+                {
+                    oracleParameterArray[4] = new OracleParameter(":Salesman", (OracleDbType)112);
+                    ((DbParameter)oracleParameterArray[4]).Value = (object)( salesman );
+                    stringBuilder.Append(" and Salesman = :Salesman");
                 }
                 if (agent != null && agent != "")
                 {
-                    oracleParameterArray[3] = new OracleParameter(":Agent", (OracleDbType)126);
-                    ((DbParameter)oracleParameterArray[3]).Value = (object)("%" + agent + "%");
+                    oracleParameterArray[5] = new OracleParameter(":Agent", (OracleDbType)126);
+                    ((DbParameter)oracleParameterArray[5]).Value = (object)("%" + agent + "%");
                     stringBuilder.Append(" and Agent like :Agent");
                 }
+
+                if (productId != null && productId != "")
+                {
+                    stringBuilder.Append(" and CLIENT_ID IN ( SELECT distinct CLIENT_ID  FROM GW_SP WHERE PRODUCT_ID = '" + productId + "' )");
+                }
+
                 stringBuilder.Append(" order by CREATE_TIME DESC,CLIENT_ID DESC");
                 using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, oracleParameterArray))
                 {
@@ -155,10 +174,16 @@
             return OracleHelper.ExecuteSql("UPDATE GW_SP SET ALARM_MOBILE=:ALARM_MOBILE,BALANCE_THRESHOLD=:BALANCE_THRESHOLD WHERE CLIENT_ID=:CLIENT_ID", OracleHelper.Connection, new OracleParameter(":ALARM_MOBILE", (object)client.AlarmMobile), new OracleParameter(":BALANCE_THRESHOLD", (object)client.BalanceThreshold), new OracleParameter(":CLIENT_ID", (object)client.ClientID)) > 0;
         }
 
-        //鏇存柊鍏呭�奸噾棰滱MOUNT
-        public bool UpdateClientAmount(GwClient client)
+        //鏇存柊瀹㈡埛鍏呭�兼暟鎹�
+        /**
+         * payAmount:鍏呭�奸噾棰�
+         * AddBalance:绱鍏呭�间綑棰�
+         * clientId锛氬鎴稩D
+         * 
+         */
+        public bool UpdateClientAmount(int AddBalance, int payAmount, string clientId )
         {
-            return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET BALANCE=:BALANCE, TOP_UP_AMOUNT_TOTAL=:TOP_UP_AMOUNT_TOTAL WHERE CLIENT_ID=:CLIENT_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object)client.Balance), new OracleParameter(":TOP_UP_AMOUNT_TOTAL", (object)client.Top_up_Amount_Total), new OracleParameter(":CLIENT_ID", (object)client.ClientID)) > 0;
+            return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET BALANCE=(BALANCE + :BALANCE), TOP_UP_AMOUNT_TOTAL=(TOP_UP_AMOUNT_TOTAL + :TOP_UP_AMOUNT_TOTAL) WHERE CLIENT_ID=:CLIENT_ID", OracleHelper.Connection, new OracleParameter(":BALANCE", (object)AddBalance), new OracleParameter(":TOP_UP_AMOUNT_TOTAL", (object)payAmount), new OracleParameter(":CLIENT_ID", (object)clientId)) > 0;
         }
 
         /// <summary>
@@ -168,12 +193,12 @@
         /// <returns></returns>
         public bool Update(GwClient item)
         {
-            return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET CLIENT_ID=:CLIENT_ID,CLIENT_NAME=:CLIENTNAME,TELEPHONE=:TELEPHONE,ADDRESS=:ADDRESS,COMPANY=:COMPANY,REMARK=:REMARK,PASSWORD=:PASSWORD,AGENT=:AGENT,PERMISSION_DATA=:PERMISSION_DATA,CREATE_TIME=SYSDATE WHERE CLIENT_ID=:Id", OracleHelper.Connection, new OracleParameter(":Id",(object)item.ClientID), new OracleParameter(":CLIENT_ID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData)) > 0;
+            return OracleHelper.ExecuteSql("UPDATE GW_CLIENT SET CLIENT_ID=:CLIENT_ID,CLIENT_NAME=:CLIENTNAME,TELEPHONE=:TELEPHONE,ADDRESS=:ADDRESS,COMPANY=:COMPANY,REMARK=:REMARK,PASSWORD=:PASSWORD,AGENT=:AGENT,SALESMAN=:SALESMAN,CUSTOMER_MANAGER=:CUSTOMER_MANAGER,SUPPORT_STAFF=:SUPPORT_STAFF,FINANCIAL_STAFF=:FINANCIAL_STAFF,CHARGE_TYPE=:CHARGE_TYPE,SMS_STATUS_REPORT=:SMS_STATUS_REPORT,MMS_STATUS_REPORT=:MMS_STATUS_REPORT,PERMISSION_DATA=:PERMISSION_DATA,CREATE_TIME=SYSDATE WHERE CLIENT_ID=:Id", OracleHelper.Connection, new OracleParameter(":Id",(object)item.ClientID), new OracleParameter(":CLIENT_ID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":SALESMAN", (object)item.Salesman), new OracleParameter(":CUSTOMER_MANAGER", (object)item.CustomerManager), new OracleParameter(":SUPPORT_STAFF", (object)item.SupportStaff), new OracleParameter(":FINANCIAL_STAFF", (object)item.FinancialStaff), new OracleParameter(":CHARGE_TYPE", (object)item.ChargeType), new OracleParameter(":SMS_STATUS_REPORT", (object)item.SmsStatusReport), new OracleParameter(":MMS_STATUS_REPORT", (object)item.MmsStatusReport), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData)) > 0;
         }
 
         public bool Add(GwClient item)
         {
-            return OracleHelper.ExecuteSql("INSERT INTO GW_CLIENT(CLIENT_ID,CLIENT_NAME,TELEPHONE,ADDRESS,AGENT,COMPANY,REMARK,PASSWORD,PERMISSION_DATA,CREATE_TIME,PARENTID,Certification_Status) VALUES(:CLIENTID,:CLIENTNAME,:TELEPHONE,:ADDRESS,:AGENT,:COMPANY,:REMARK,:PASSWORD,:PERMISSION_DATA,SYSDATE,:PARENTID,:Certification_Status)", OracleHelper.Connection, new OracleParameter(":CLIENTID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData), new OracleParameter(":PARENTID", (object)item.ParentId), new OracleParameter(":Certification_Status", (object)item.Certification_Status)) > 0;
+            return OracleHelper.ExecuteSql("INSERT INTO GW_CLIENT(CLIENT_ID,CLIENT_NAME,TELEPHONE,ADDRESS,AGENT,SALESMAN,CUSTOMER_MANAGER,SUPPORT_STAFF,FINANCIAL_STAFF,CHARGE_TYPE,SMS_STATUS_REPORT,MMS_STATUS_REPORT,COMPANY,REMARK,PASSWORD,PERMISSION_DATA,CREATE_TIME,PARENTID,Certification_Status) VALUES(:CLIENTID,:CLIENTNAME,:TELEPHONE,:ADDRESS,:AGENT,:SALESMAN,:CUSTOMER_MANAGER,:SUPPORT_STAFF,:FINANCIAL_STAFF,:CHARGE_TYPE,:SMS_STATUS_REPORT,:MMS_STATUS_REPORT,:COMPANY,:REMARK,:PASSWORD,:PERMISSION_DATA,SYSDATE,:PARENTID,:Certification_Status)", OracleHelper.Connection, new OracleParameter(":CLIENTID", (object)item.ClientID), new OracleParameter(":CLIENTNAME", (object)item.ClientName), new OracleParameter(":TELEPHONE", (object)item.Telephone), new OracleParameter(":ADDRESS", (object)item.Address), new OracleParameter(":AGENT", (object)item.Agent), new OracleParameter(":SALESMAN", (object)item.Salesman), new OracleParameter(":CUSTOMER_MANAGER", (object)item.CustomerManager), new OracleParameter(":SUPPORT_STAFF", (object)item.SupportStaff), new OracleParameter(":FINANCIAL_STAFF", (object)item.FinancialStaff), new OracleParameter(":CHARGE_TYPE", (object)item.ChargeType), new OracleParameter(":SMS_STATUS_REPORT", (object)item.SmsStatusReport), new OracleParameter(":MMS_STATUS_REPORT", (object)item.MmsStatusReport), new OracleParameter(":COMPANY", (object)item.Company), new OracleParameter(":REMARK", (object)item.Remark), new OracleParameter(":PASSWORD", (object)item.Password), new OracleParameter(":PERMISSION_DATA", (object)item.PermissionData), new OracleParameter(":PARENTID", (object)item.ParentId), new OracleParameter(":Certification_Status", (object)item.Certification_Status)) > 0;
         }
 
         public GwClient Get(string clientID)
@@ -282,6 +307,12 @@
             o.Is_Enable = oracleReaderWrapper.GetInt("IS_ENABLE", 0);
             o.Top_up_Amount_Total = (decimal)oracleReaderWrapper.GetInt("TOP_UP_AMOUNT_TOTAL", 0);
             o.Salesman = oracleReaderWrapper.GetString("SALESMAN", "");
+            o.CustomerManager = oracleReaderWrapper.GetString("CUSTOMER_MANAGER", "");
+            o.SupportStaff = oracleReaderWrapper.GetString("SUPPORT_STAFF", "");
+            o.FinancialStaff = oracleReaderWrapper.GetString("FINANCIAL_STAFF", "");
+            o.ChargeType = oracleReaderWrapper.GetInt("CHARGE_TYPE", 0);
+            o.SmsStatusReport = oracleReaderWrapper.GetInt("SMS_STATUS_REPORT", 0);
+            o.MmsStatusReport = oracleReaderWrapper.GetInt("MMS_STATUS_REPORT", 0);
             return true;
         }
 
diff --git a/web/Dao/GwSpDao.cs b/web/Dao/GwSpDao.cs
index 7b57d1a..848425f 100644
--- a/web/Dao/GwSpDao.cs
+++ b/web/Dao/GwSpDao.cs
@@ -245,7 +245,7 @@
       return list1;
     }
 
-        public List<GwSp> LoadInfoList(string spId, string apId, string clientId, int routerType, string opID, int chargeType, int pageIndex, int pageSize, string resendStatus, out int recordCount, string productId )
+        public List<GwSp> LoadInfoList(string spId, string apId, string clientId, string clientName, int routerType, string opID, int chargeType, int pageIndex, int pageSize, string resendStatus, out int recordCount, string productId )
         {
             List<GwSp> list1 = new List<GwSp>();
             recordCount = 0;
@@ -257,13 +257,19 @@
             List<OracleParameter> list2 = new List<OracleParameter>();
             if (spId != null && spId != "")
             {
-                list2.Add(new OracleParameter(":SpID", (object)spId));
-                stringBuilder.Append(" and SP_ID=:SpID");
+                //list2.Add(new OracleParameter(":SpID", (object)spId));
+                //stringBuilder.Append(" and SP_ID=:SpID");
+                list2.Add(new OracleParameter(":SpID", (object)('%' + spId + '%')));
+                stringBuilder.Append(" and SP_ID like :SpID");
             }
             if (apId != null && apId != "")
             {
-                list2.Add(new OracleParameter(":ApID", (object)apId));
-                stringBuilder.Append(" and AP_ID=:ApID");
+                //list2.Add(new OracleParameter(":ApID", (object)apId));
+                //stringBuilder.Append(" and AP_ID=:ApID");
+
+
+                list2.Add(new OracleParameter(":ApID", (object)('%' + apId + '%')) );
+                stringBuilder.Append(" and AP_ID like :ApID");
             }
             if (resendStatus != null && resendStatus != "" &&int.Parse( resendStatus)!=3)
             {
@@ -272,13 +278,25 @@
             }
             if (clientId != null && clientId != "")
             {
-                list2.Add(new OracleParameter(":ClientID", (object)clientId));
-                stringBuilder.Append(" and CLIENT_ID=:ClientID");
+                //list2.Add(new OracleParameter(":ClientID", (object)clientId));
+                //stringBuilder.Append(" and CLIENT_ID=:ClientID");
+                list2.Add(new OracleParameter(":ClientID", (object)('%' + clientId + '%')));
+                stringBuilder.Append(" and CLIENT_ID like :ClientID");
             }
+            if (clientName != null && clientName != "")
+            {
+                stringBuilder.Append(" and CLIENT_ID IN (SELECT CLIENT_ID FROM GW_CLIENT WHERE CLIENT_NAME like '%" + clientName + "%' )");
+            }
+            /**
             if (chargeType > 0)
             {
                 list2.Add(new OracleParameter(":ChargeType", (object)chargeType));
                 stringBuilder.Append(" and CHARGE_TYPE=:ChargeType");
+            }
+            **/
+            if (chargeType > 0)
+            {
+                stringBuilder.Append(" and CHARGE_TYPE IN (SELECT CHARGE_TYPE FROM GW_CLIENT WHERE CHARGE_TYPE = " + chargeType + " )");
             }
             if (routerType > 0)
             {
@@ -429,16 +447,23 @@
                 ) > 0;
             **/
 
-            return OracleHelper.ExecuteSql("UPDATE GW_SP SET AP_ID=:APID,COMBINATION_MODE=:COMBINATION_MODE,CLIENT_ID=:CLIENTID,STRATEGY_ID=:STRATEGYID,PASSWORD=:PASSWORD,\r\nCLIENT_IP=:CLIENTIP,CLIENT_PORT=:CLIENTPORT,ACCESS_CODE=:ACCESSCODE,\r\nPRIORITY=:PRIORITY,PRICE=:PRICE,CHARGE_TYPE=:CHARGETYPE,\r\nTHRESHOLD=:THRESHOLD,MAX_CONN_COUNT=:MAXCONNCOUNT,REMARK=:REMARK,\r\nTIME_PERMITTING=:TIME_PERMITTING,AUDITING_MODE=:AUDITINGMODE,\r\nDEDUCT_PERCENT=:DEDUCTPERCENT,\r\nCM_OP_ID=:CM_OP_ID,CT_OP_ID=:CT_OP_ID,UN_OP_ID=:UN_OP_ID,\r\nDEFISHING_TIMEOUT = :DEFISHING_TIMEOUT,DEFISHING_THRESHOLD =:DEFISHING_THRESHOLD,\r\nREJECT_IF_FORBIDDEN =:REJECT_IF_FORBIDDEN,\r\nREFUND_IF_UNDELIVERED =:REFUND_IF_UNDELIVERED,\r\nROUTER_TYPE=:ROUTER_TYPE,STATUS=:STATUS,ACCESSCODE_MODE=:ACCESSCODE_MODE,\r\nEXTNOEXTENSION_MODE=:EXTNOEXTENSION_MODE,DEFISHING_OP_ID =:DEFISHING_OP_ID,\r\nMODIFY_TIME=SYSDATE,FEE_SHORT_LENGTH=:FEE_SHORT_LENGTH,FEE_LONG_LENGTH=:FEE_LONG_LENGTH,\r\nBLACK_MODE=:BLACK_MODE,\r\nDIVERTER_ID=:DIVERTER_ID,\r\nMCPM=:MCPM,\r\nMC_EXPRESSION=:MC_EXPRESSION,\r\nCM_EXT_PARAMS=:CM_EXT_PARAMS,\r\nCT_EXT_PARAMS=:CT_EXT_PARAMS,\r\nCU_EXT_PARAMS=:CU_EXT_PARAMS,\r\nCM_GROUP_ID=:CM_GROUP_ID,\r\nCU_GROUP_ID=:CU_GROUP_ID,\r\nCT_GROUP_ID=:CT_GROUP_ID ,\r\nBALANCE_THRESHOLD = :BALANCE_THRESHOLD,\r\nALARM_MOBILE = :ALARM_MOBILE,\r\nFORCE_SIGN_FLAG = :FORCE_SIGN_FLAG,\r\nFORCE_SIGN = :FORCE_SIGN,\r\nSIGNATURE_MODE=:SIGNATURE_MODE,\r\nSIGNATURES=:SIGNATURES\r\n,VerCodeMode=:VerCodeMode \r\n,ProvincialNetworkMode=:ProvincialNetworkMode \r\n,RESEND_STATUS=:RESEND_STATUS \r\n,RESEND_CM_GROUPID=:RESEND_CM_GROUPID \r\n,RESEND_CU_GROUPID=:RESEND_CU_GROUPID \r\n,RESEND_CT_GROUPID=:RESEND_CT_GROUPID,TRANSFERFLAG=:TRANSFERFLAG WHERE SP_ID=:SPID", OracleHelper.Connection, new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode", (object)o.ProvincialNetworkMode), new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), new OracleParameter(":RESEND_CT_GROUPID", (object)o.RESEND_CT_GROUPID), new OracleParameter(":TRANSFERFLAG", (object)o.TransferFlag)) > 0;
+            return OracleHelper.ExecuteSql("UPDATE GW_SP SET AP_ID=:APID,COMBINATION_MODE=:COMBINATION_MODE,CLIENT_ID=:CLIENTID,STRATEGY_ID=:STRATEGYID,PASSWORD=:PASSWORD,\r\nCLIENT_IP=:CLIENTIP,CLIENT_PORT=:CLIENTPORT,ACCESS_CODE=:ACCESSCODE,\r\nPRIORITY=:PRIORITY,PRICE=:PRICE,CHARGE_TYPE=:CHARGETYPE,IS_AUTO_RETURN=:IS_AUTO_RETURN,THRESHOLD=:THRESHOLD,MAX_CONN_COUNT=:MAXCONNCOUNT,REMARK=:REMARK,\r\nTIME_PERMITTING=:TIME_PERMITTING,AUDITING_MODE=:AUDITINGMODE,\r\nDEDUCT_PERCENT=:DEDUCTPERCENT,\r\nCM_OP_ID=:CM_OP_ID,CT_OP_ID=:CT_OP_ID,UN_OP_ID=:UN_OP_ID,\r\nDEFISHING_TIMEOUT = :DEFISHING_TIMEOUT,DEFISHING_THRESHOLD =:DEFISHING_THRESHOLD,\r\nREJECT_IF_FORBIDDEN =:REJECT_IF_FORBIDDEN,\r\nREFUND_IF_UNDELIVERED =:REFUND_IF_UNDELIVERED,\r\nROUTER_TYPE=:ROUTER_TYPE,STATUS=:STATUS,ACCESSCODE_MODE=:ACCESSCODE_MODE,\r\nEXTNOEXTENSION_MODE=:EXTNOEXTENSION_MODE,DEFISHING_OP_ID =:DEFISHING_OP_ID,\r\nMODIFY_TIME=SYSDATE,FEE_SHORT_LENGTH=:FEE_SHORT_LENGTH,FEE_LONG_LENGTH=:FEE_LONG_LENGTH,\r\nBLACK_MODE=:BLACK_MODE,\r\nDIVERTER_ID=:DIVERTER_ID,\r\nMCPM=:MCPM,\r\nMC_EXPRESSION=:MC_EXPRESSION,\r\nCM_EXT_PARAMS=:CM_EXT_PARAMS,\r\nCT_EXT_PARAMS=:CT_EXT_PARAMS,\r\nCU_EXT_PARAMS=:CU_EXT_PARAMS,\r\nCM_GROUP_ID=:CM_GROUP_ID,\r\nCU_GROUP_ID=:CU_GROUP_ID,\r\nCT_GROUP_ID=:CT_GROUP_ID ,\r\nBALANCE_THRESHOLD = :BALANCE_THRESHOLD,\r\nALARM_MOBILE = :ALARM_MOBILE,\r\nFORCE_SIGN_FLAG = :FORCE_SIGN_FLAG,\r\nFORCE_SIGN = :FORCE_SIGN,\r\nSIGNATURE_MODE=:SIGNATURE_MODE,\r\nSIGNATURES=:SIGNATURES\r\n,VerCodeMode=:VerCodeMode \r\n,ProvincialNetworkMode=:ProvincialNetworkMode \r\n,RESEND_STATUS=:RESEND_STATUS \r\n,RESEND_CM_GROUPID=:RESEND_CM_GROUPID \r\n,RESEND_CU_GROUPID=:RESEND_CU_GROUPID \r\n,RESEND_CT_GROUPID=:RESEND_CT_GROUPID,TRANSFERFLAG=:TRANSFERFLAG WHERE SP_ID=:SPID", OracleHelper.Connection, new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":IS_AUTO_RETURN", (object)o.IsAutoReturn), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode", (object)o.ProvincialNetworkMode), new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), new OracleParameter(":RESEND_CT_GROUPID", (object)o.RESEND_CT_GROUPID), new OracleParameter(":TRANSFERFLAG", (object)o.TransferFlag)) > 0;
         }
 
-        //鏍规嵁璁㈠崟鏇存柊浣欓
-        public bool UpdateBalanceByOrder(int Balance,int basicNum, int givingNum, string spid)
+        //鏇存柊璐﹀彿鍏呭�兼暟鎹�
+        /**
+         * AddBalance:鍏呭�奸噾棰�
+         * AddBasicNum锛氬厖鍊煎熀鏈潯鏁�
+         * AddGivingNum锛氬厖鍊艰禒閫佹潯鏁�
+         * spid锛氳处鍙�
+         * 
+         */
+        public bool UpdateBalanceByOrder(int AddBalance,int AddBasicNum, int AddGivingNum, string spid)
         {
-            return OracleHelper.ExecuteSql("UPDATE GW_SP SET BALANCE=:BALANCE, BASIC_NUM=:BASIC_NUM, GIVING_NUM=:GIVING_NUM WHERE SP_ID=:SP_ID", OracleHelper.Connection
-                , new OracleParameter(":BALANCE", (object)Balance)
-                , new OracleParameter(":BASIC_NUM", (object)basicNum)
-                , new OracleParameter(":GIVING_NUM", (object)givingNum)
+            return OracleHelper.ExecuteSql("UPDATE GW_SP SET BALANCE=(BALANCE + :BALANCE), BASIC_NUM=(BASIC_NUM + :BASIC_NUM锛�, GIVING_NUM= (GIVING_NUM + :GIVING_NUM) WHERE SP_ID=:SP_ID", OracleHelper.Connection
+                , new OracleParameter(":BALANCE", (object)AddBalance)
+                , new OracleParameter(":BASIC_NUM", (object)AddBasicNum)
+                , new OracleParameter(":GIVING_NUM", (object)AddGivingNum)
                 , new OracleParameter(":SP_ID", (object)spid)
                 ) > 0;
         }
@@ -462,7 +487,7 @@
 
     public bool Add(GwSp o)
     {
-        return OracleHelper.ExecuteSql("INSERT INTO GW_SP\r\n (\r\n SP_ID,AP_ID,COMBINATION_MODE,CLIENT_ID,STRATEGY_ID,PASSWORD,CLIENT_IP,CLIENT_PORT,ACCESS_CODE,BALANCE,PRIORITY,PRICE,CHARGE_TYPE,THRESHOLD,MAX_CONN_COUNT,CREATE_TIME,REMARK,TIME_PERMITTING,AUDITING_MODE,DEDUCT_PERCENT,CM_OP_ID,CT_OP_ID,UN_OP_ID,DEFISHING_TIMEOUT,DEFISHING_THRESHOLD,REJECT_IF_FORBIDDEN,REJECT_IF_NO_SIGNATURE,REFUND_IF_UNDELIVERED,ROUTER_TYPE,STATUS,ACCESSCODE_MODE,EXTNOEXTENSION_MODE,DEFISHING_OP_ID,MODIFY_TIME,FEE_SHORT_LENGTH,FEE_LONG_LENGTH,BLACK_MODE,DIVERTER_ID,MCPM,MC_EXPRESSION,CM_EXT_PARAMS,CT_EXT_PARAMS,CU_EXT_PARAMS,CM_GROUP_ID,CU_GROUP_ID,CT_GROUP_ID,BALANCE_THRESHOLD,ALARM_MOBILE,FORCE_SIGN_FLAG,FORCE_SIGN,SIGNATURE_MODE,SIGNATURES,VerCodeMode,ProvincialNetworkMode,RESEND_STATUS,RESEND_CM_GROUPID,RESEND_CU_GROUPID,RESEND_CT_GROUPID\r\n )\r\n VALUES\r\n (\r\n :SPID,:APID,:COMBINATION_MODE,:CLIENTID,:STRATEGYID,:PASSWORD,:CLIENTIP,:CLIENTPORT,:ACCESSCODE,:BALANCE,:PRIORITY,:PRICE,:CHARGETYPE,:THRESHOLD,:MAXCONNCOUNT,:CREATETIME,:REMARK,:TIME_PERMITTING,:AUDITINGMODE,:DEDUCTPERCENT,:CM_OP_ID,:CT_OP_ID,:UN_OP_ID,:DEFISHING_TIMEOUT,:DEFISHING_THRESHOLD,:REJECT_IF_FORBIDDEN,:REJECT_IF_NO_SIGNATURE,:REFUND_IF_UNDELIVERED,:ROUTER_TYPE,:STATUS,:ACCESSCODE_MODE,:EXTNOEXTENSION_MODE,:DEFISHING_OP_ID,:MODIFY_TIME,:FEE_SHORT_LENGTH,:FEE_LONG_LENGTH,:BLACK_MODE,:DIVERTER_ID,:MCPM,:MC_EXPRESSION,:CM_EXT_PARAMS,:CT_EXT_PARAMS,:CU_EXT_PARAMS,:CM_GROUP_ID,:CU_GROUP_ID,:CT_GROUP_ID,:BALANCE_THRESHOLD,:ALARM_MOBILE,:FORCE_SIGN_FLAG,:FORCE_SIGN,:SIGNATURE_MODE,:SIGNATURES,:VerCodeMode,:ProvincialNetworkMode,:RESEND_STATUS,:RESEND_CM_GROUPID,:RESEND_CU_GROUPID,:RESEND_CT_GROUPID\r\n            )", OracleHelper.Connection, new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":BALANCE", (object)o.Balance), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":CREATETIME", (object)DateTime.Now), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REJECT_IF_NO_SIGNATURE", (object)o.RejectIfNoSignature), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":MODIFY_TIME", (object)DateTime.Now), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode), new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), new OracleParameter(":RESEND_CT_GROUPID", (object)o.RESEND_CT_GROUPID)) > 0;
+        return OracleHelper.ExecuteSql("INSERT INTO GW_SP\r\n (\r\n SP_ID,AP_ID,COMBINATION_MODE,CLIENT_ID,STRATEGY_ID,PASSWORD,CLIENT_IP,CLIENT_PORT,ACCESS_CODE,BALANCE,PRIORITY,PRICE,CHARGE_TYPE,IS_AUTO_RETURN,THRESHOLD,MAX_CONN_COUNT,CREATE_TIME,REMARK,TIME_PERMITTING,AUDITING_MODE,DEDUCT_PERCENT,CM_OP_ID,CT_OP_ID,UN_OP_ID,DEFISHING_TIMEOUT,DEFISHING_THRESHOLD,REJECT_IF_FORBIDDEN,REJECT_IF_NO_SIGNATURE,REFUND_IF_UNDELIVERED,ROUTER_TYPE,STATUS,ACCESSCODE_MODE,EXTNOEXTENSION_MODE,DEFISHING_OP_ID,MODIFY_TIME,FEE_SHORT_LENGTH,FEE_LONG_LENGTH,BLACK_MODE,DIVERTER_ID,MCPM,MC_EXPRESSION,CM_EXT_PARAMS,CT_EXT_PARAMS,CU_EXT_PARAMS,CM_GROUP_ID,CU_GROUP_ID,CT_GROUP_ID,BALANCE_THRESHOLD,ALARM_MOBILE,FORCE_SIGN_FLAG,FORCE_SIGN,SIGNATURE_MODE,SIGNATURES,VerCodeMode,ProvincialNetworkMode,RESEND_STATUS,RESEND_CM_GROUPID,RESEND_CU_GROUPID,RESEND_CT_GROUPID\r\n )\r\n VALUES\r\n (\r\n :SPID,:APID,:COMBINATION_MODE,:CLIENTID,:STRATEGYID,:PASSWORD,:CLIENTIP,:CLIENTPORT,:ACCESSCODE,:BALANCE,:PRIORITY,:PRICE,:CHARGETYPE,:IS_AUTO_RETURN,:THRESHOLD,:MAXCONNCOUNT,:CREATETIME,:REMARK,:TIME_PERMITTING,:AUDITINGMODE,:DEDUCTPERCENT,:CM_OP_ID,:CT_OP_ID,:UN_OP_ID,:DEFISHING_TIMEOUT,:DEFISHING_THRESHOLD,:REJECT_IF_FORBIDDEN,:REJECT_IF_NO_SIGNATURE,:REFUND_IF_UNDELIVERED,:ROUTER_TYPE,:STATUS,:ACCESSCODE_MODE,:EXTNOEXTENSION_MODE,:DEFISHING_OP_ID,:MODIFY_TIME,:FEE_SHORT_LENGTH,:FEE_LONG_LENGTH,:BLACK_MODE,:DIVERTER_ID,:MCPM,:MC_EXPRESSION,:CM_EXT_PARAMS,:CT_EXT_PARAMS,:CU_EXT_PARAMS,:CM_GROUP_ID,:CU_GROUP_ID,:CT_GROUP_ID,:BALANCE_THRESHOLD,:ALARM_MOBILE,:FORCE_SIGN_FLAG,:FORCE_SIGN,:SIGNATURE_MODE,:SIGNATURES,:VerCodeMode,:ProvincialNetworkMode,:RESEND_STATUS,:RESEND_CM_GROUPID,:RESEND_CU_GROUPID,:RESEND_CT_GROUPID\r\n            )", OracleHelper.Connection, new OracleParameter(":SPID", (object)o.SpID), new OracleParameter(":APID", (object)o.ApID), new OracleParameter(":COMBINATION_MODE", (object)o.CombinationMode), new OracleParameter(":CLIENTID", (object)o.ClientID), new OracleParameter(":STRATEGYID", (object)o.StrategyID), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CLIENTPORT", (object)o.ClientPort), new OracleParameter(":ACCESSCODE", (object)o.AccessCode), new OracleParameter(":BALANCE", (object)o.Balance), new OracleParameter(":PRIORITY", (object)o.Priority), new OracleParameter(":PRICE", (object)o.Price), new OracleParameter(":CHARGETYPE", (object)o.ChargeType), new OracleParameter(":IS_AUTO_RETURN", (object)o.IsAutoReturn), new OracleParameter(":THRESHOLD", (object)o.Threshold), new OracleParameter(":MAXCONNCOUNT", (object)o.MaxConnCount), new OracleParameter(":CREATETIME", (object)DateTime.Now), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":TIME_PERMITTING", (object)o.TimePermitting), new OracleParameter(":AUDITINGMODE", (object)o.AuditingMode), new OracleParameter(":DEDUCTPERCENT", (object)o.DeductPercent), new OracleParameter(":CM_OP_ID", (object)o.CMOPID), new OracleParameter(":CT_OP_ID", (object)o.CTOPID), new OracleParameter(":UN_OP_ID", (object)o.UNOPID), new OracleParameter(":DEFISHING_TIMEOUT", (object)o.DefishingTimeout), new OracleParameter(":DEFISHING_THRESHOLD", (object)o.DefishingThreshold), new OracleParameter(":REJECT_IF_FORBIDDEN", (object)o.RejectIfForbidden), new OracleParameter(":REJECT_IF_NO_SIGNATURE", (object)o.RejectIfNoSignature), new OracleParameter(":REFUND_IF_UNDELIVERED", (object)o.RefundIfUndelivered), new OracleParameter(":ROUTER_TYPE", (object)o.RouterType), new OracleParameter(":STATUS", (object)o.Status), new OracleParameter(":ACCESSCODE_MODE", (object)o.AccessCodeMode), new OracleParameter(":EXTNOEXTENSION_MODE", (object)o.ExtnoExtensionMode), new OracleParameter(":DEFISHING_OP_ID", (object)o.DefishingOPID), new OracleParameter(":MODIFY_TIME", (object)DateTime.Now), new OracleParameter(":FEE_SHORT_LENGTH", (object)o.FeeShortLength), new OracleParameter(":FEE_LONG_LENGTH", (object)o.FeeLongLength), new OracleParameter(":BLACK_MODE", (object)o.BlackMode), new OracleParameter(":DIVERTER_ID", (object)o.DiverterID), new OracleParameter(":MCPM", (object)o.MCPM), new OracleParameter(":MC_EXPRESSION", (object)o.McExpression), new OracleParameter(":CM_EXT_PARAMS", (object)o.CMextparms), new OracleParameter(":CT_EXT_PARAMS", (object)o.CTextparams), new OracleParameter(":CU_EXT_PARAMS", (object)o.CUextparams), new OracleParameter(":CM_GROUP_ID", (object)o.CMGroupID), new OracleParameter(":CU_GROUP_ID", (object)o.CUGroupID), new OracleParameter(":CT_GROUP_ID", (object)o.CTGroupID), new OracleParameter(":BALANCE_THRESHOLD", (object)o.BalanceThreshold), new OracleParameter(":ALARM_MOBILE", (object)o.AlarmMobile), new OracleParameter(":FORCE_SIGN_FLAG", (object)o.ForceSignFlag), new OracleParameter(":FORCE_SIGN", (object)o.ForceSign), new OracleParameter(":SIGNATURE_MODE", (object)o.SignatureMode), new OracleParameter(":SIGNATURES", (object)o.Signatures), new OracleParameter(":VerCodeMode", (object)o.VerCodeMode), new OracleParameter(":ProvincialNetworkMode",(object)o.ProvincialNetworkMode), new OracleParameter(":RESEND_STATUS", (object)o.RESEND_STATUS), new OracleParameter(":RESEND_CM_GROUPID", (object)o.RESEND_CM_GROUPID), new OracleParameter(":RESEND_CU_GROUPID", (object)o.RESEND_CU_GROUPID), new OracleParameter(":RESEND_CT_GROUPID", (object)o.RESEND_CT_GROUPID)) > 0;
     }
 
     public GwSp Get(string spid)
@@ -544,6 +569,7 @@
             o.Priority = oracleReaderWrapper.GetInt("PRIORITY", 0);
             o.Price = oracleReaderWrapper.GetInt("PRICE", 0);
             o.ChargeType = oracleReaderWrapper.GetInt("CHARGE_TYPE", 0);
+            o.IsAutoReturn = oracleReaderWrapper.GetInt("IS_AUTO_RETURN", 0);   //鏄惁鑷姩杩旇繕锛�0-鍚︼紱1-鏄�
             o.Threshold = oracleReaderWrapper.GetInt("THRESHOLD", 0);
             o.MaxConnCount = oracleReaderWrapper.GetInt("MAX_CONN_COUNT", 0);
             o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
diff --git a/web/Dao/UserDao.cs b/web/Dao/UserDao.cs
index e973d65..a2ba02d 100644
--- a/web/Dao/UserDao.cs
+++ b/web/Dao/UserDao.cs
@@ -131,6 +131,7 @@
             e.Account = oracleReaderWrapper.GetString("ACCOUNT", "");
             e.Password = oracleReaderWrapper.GetString("PASSWORD", "");
             e.UserName = oracleReaderWrapper.GetString("USER_NAME", "");
+            e.UserType = oracleReaderWrapper.GetInt("USER_TYPE", 1);
             e.ExpireTime = oracleReaderWrapper.GetDateTime("EXPIRE_TIME");
             e.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
             e.Remark = oracleReaderWrapper.GetString("REMARK", "");
@@ -223,7 +224,7 @@
 
         public bool Update(SysUser o)//淇敼璐﹀彿
         {
-            return OracleHelper.ExecuteSql("update SYS_USER SET ACCOUNT=:ACCOUNT,PASSWORD=:PASSWORD,USER_NAME=:USER_NAME,EXPIRE_TIME=:EXPIRE_TIME,REMARK=:REMARK,MOBILE=:MOBILE,EMAIL=:EMAIL,MOBILE_FLAG=:MOBILE_FLAG,EMAIL_FLAG=:EMAIL_FLAG,ISENCRYPTION=:ISENCRYPTION,ISVERIFICATION=:ISVERIFICATION,CLIENTIP=:CLIENTIP,CREATE_TIME=:CREATE_TIME WHERE USER_ID=:USER_ID", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)o.Account), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":USER_NAME", (object)o.UserName), new OracleParameter(":EXPIRE_TIME", (object)o.ExpireTime), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":USER_ID", (object)o.UserID), new OracleParameter(":MOBILE", (object)o.Mobile), new OracleParameter(":EMAIL", (object)o.Email), new OracleParameter(":MOBILE_FLAG", (object)o.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)o.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)o.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)o.IsVerification), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CREATE_TIME", (object)o.CreateTime) ) > 0;
+            return OracleHelper.ExecuteSql("update SYS_USER SET ACCOUNT=:ACCOUNT,PASSWORD=:PASSWORD,USER_NAME=:USER_NAME,USER_TYPE=:USER_TYPE,EXPIRE_TIME=:EXPIRE_TIME,REMARK=:REMARK,MOBILE=:MOBILE,EMAIL=:EMAIL,MOBILE_FLAG=:MOBILE_FLAG,EMAIL_FLAG=:EMAIL_FLAG,ISENCRYPTION=:ISENCRYPTION,ISVERIFICATION=:ISVERIFICATION,CLIENTIP=:CLIENTIP,CREATE_TIME=:CREATE_TIME WHERE USER_ID=:USER_ID", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)o.Account), new OracleParameter(":PASSWORD", (object)o.Password), new OracleParameter(":USER_NAME", (object)o.UserName), new OracleParameter(":USER_TYPE", (object)o.UserType), new OracleParameter(":EXPIRE_TIME", (object)o.ExpireTime), new OracleParameter(":REMARK", (object)o.Remark), new OracleParameter(":USER_ID", (object)o.UserID), new OracleParameter(":MOBILE", (object)o.Mobile), new OracleParameter(":EMAIL", (object)o.Email), new OracleParameter(":MOBILE_FLAG", (object)o.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)o.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)o.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)o.IsVerification), new OracleParameter(":CLIENTIP", (object)o.ClientIp), new OracleParameter(":CREATE_TIME", (object)o.CreateTime) ) > 0;
         }
 
         //鏇存柊鐘舵��
@@ -234,7 +235,7 @@
 
         public bool Add(SysUser e)//娣诲姞璐﹀彿
         {
-            return OracleHelper.ExecuteSql("INSERT INTO SYS_USER(USER_ID,ACCOUNT,PASSWORD, USER_NAME, EXPIRE_TIME,REMARK,MOBILE,EMAIL,MOBILE_FLAG,EMAIL_FLAG,ISENCRYPTION,ISVERIFICATION,CLIENTIP,CREATE_TIME, STATUS) VALUES(SYS_USER_ID_SEQ.NextVal,:ACCOUNT,:PASSWORD, :USER_NAME,:EXPIRE_TIME,:REMARK,:MOBILE,:EMAIL,:MOBILE_FLAG,:EMAIL_FLAG,:ISENCRYPTION,:ISVERIFICATION,:CLIENTIP,:CREATE_TIME, :STATUS)", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)e.Account), new OracleParameter(":PASSWORD", (object)e.Password), new OracleParameter(":USER_NAME", (object)e.UserName), new OracleParameter(":EXPIRE_TIME", (object)e.ExpireTime), new OracleParameter(":REMARK", (object)e.Remark), new OracleParameter(":MOBILE", (object)e.Mobile), new OracleParameter(":EMAIL", (object)e.Email), new OracleParameter(":MOBILE_FLAG", (object)e.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)e.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)e.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)e.IsVerification), new OracleParameter(":CLIENTIP", (object)e.ClientIp), new OracleParameter(":CREATE_TIME", (object)e.CreateTime), new OracleParameter(":STATUS", (object)e.Status)) > 0;
+            return OracleHelper.ExecuteSql("INSERT INTO SYS_USER(USER_ID,ACCOUNT,PASSWORD, USER_NAME, USER_TYPE, EXPIRE_TIME,REMARK,MOBILE,EMAIL,MOBILE_FLAG,EMAIL_FLAG,ISENCRYPTION,ISVERIFICATION,CLIENTIP,CREATE_TIME) VALUES(SYS_USER_ID_SEQ.NextVal,:ACCOUNT,:PASSWORD, :USER_NAME,:USER_TYPE,:EXPIRE_TIME,:REMARK,:MOBILE,:EMAIL,:MOBILE_FLAG,:EMAIL_FLAG,:ISENCRYPTION,:ISVERIFICATION,:CLIENTIP,:CREATE_TIME)", OracleHelper.Connection, new OracleParameter(":ACCOUNT", (object)e.Account), new OracleParameter(":PASSWORD", (object)e.Password), new OracleParameter(":USER_NAME", (object)e.UserName), new OracleParameter(":USER_TYPE", (object)e.UserType), new OracleParameter(":EXPIRE_TIME", (object)e.ExpireTime), new OracleParameter(":REMARK", (object)e.Remark), new OracleParameter(":MOBILE", (object)e.Mobile), new OracleParameter(":EMAIL", (object)e.Email), new OracleParameter(":MOBILE_FLAG", (object)e.MobileFlag), new OracleParameter(":EMAIL_FLAG", (object)e.EmailFlag), new OracleParameter(":ISENCRYPTION", (object)e.IsEncryption), new OracleParameter(":ISVERIFICATION", (object)e.IsVerification), new OracleParameter(":CLIENTIP", (object)e.ClientIp), new OracleParameter(":CREATE_TIME", (object)e.CreateTime) ) > 0;
         }
 
         public bool UpdatePassword(int userID, string oldPassword, string newPassword)
diff --git a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
index 7066113..7c1a453 100644
--- a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
+++ b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Dao/obj/Debug/Dao.dll b/web/Dao/obj/Debug/Dao.dll
index eebe2f1..c42f89d 100644
--- a/web/Dao/obj/Debug/Dao.dll
+++ b/web/Dao/obj/Debug/Dao.dll
Binary files differ
diff --git a/web/Dao/obj/Debug/Dao.pdb b/web/Dao/obj/Debug/Dao.pdb
index ba096d7..a15d707 100644
--- a/web/Dao/obj/Debug/Dao.pdb
+++ b/web/Dao/obj/Debug/Dao.pdb
Binary files differ
diff --git a/web/Lib/Dao.dll b/web/Lib/Dao.dll
index eebe2f1..c42f89d 100644
--- a/web/Lib/Dao.dll
+++ b/web/Lib/Dao.dll
Binary files differ
diff --git a/web/Lib/Dao.pdb b/web/Lib/Dao.pdb
index ba096d7..a15d707 100644
--- a/web/Lib/Dao.pdb
+++ b/web/Lib/Dao.pdb
Binary files differ
diff --git a/web/Lib/Model.dll b/web/Lib/Model.dll
index 0e02822..7bd65d4 100644
--- a/web/Lib/Model.dll
+++ b/web/Lib/Model.dll
Binary files differ
diff --git a/web/Lib/Model.pdb b/web/Lib/Model.pdb
index b86b743..a1c121f 100644
--- a/web/Lib/Model.pdb
+++ b/web/Lib/Model.pdb
Binary files differ
diff --git a/web/Model/Model/GwClient.cs b/web/Model/Model/GwClient.cs
index 1032e55..b701058 100644
--- a/web/Model/Model/GwClient.cs
+++ b/web/Model/Model/GwClient.cs
@@ -37,6 +37,12 @@
         private int _is_Enable;//鏄惁鍚敤鐘舵��(1-鍚�/0-鍋�)
         private Decimal _top_up_Amount_Total;//绱鍏呭��(閲戦)
         private string _salesman;//褰掑睘涓氬姟鍛�
+        public string CustomerManager { get; set; } //褰掑睘瀹㈡埛缁忕悊
+        public string SupportStaff { get; set; } //褰掑睘瀹㈡湇浜哄憳
+        public string FinancialStaff { get; set; } //褰掑睘璐㈠姟浜哄憳
+        public int ChargeType { get; set; } //璁¤垂鏂瑰紡锛�1-棰勪粯璐癸紱2-鍚庝粯璐�.
+        public int SmsStatusReport { get; set; } //鐭俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婏細0-涓嶆樉绀�;1-鍙樉绀烘彁浜ゅけ璐ヤ负鍙戦�佸け璐ョ姸鎬�;2-鏄剧ず鍏ㄩ儴鐘舵�佺姸鎬�.
+        public int MmsStatusReport { get; set; } //褰╀俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婏細0-涓嶆樉绀�;1-鍙樉绀烘彁浜ゅけ璐ヤ负鍙戦�佸け璐ョ姸鎬�;2-鏄剧ず鍏ㄩ儴鐘舵�佺姸鎬�.
 
 
         public int Id
diff --git a/web/Model/Model/GwSp.cs b/web/Model/Model/GwSp.cs
index 97de40d..8df86b1 100644
--- a/web/Model/Model/GwSp.cs
+++ b/web/Model/Model/GwSp.cs
@@ -43,6 +43,7 @@
         public int BasicNum { get; set; }  //鍩烘湰鏉℃暟
         public int GivingNum { get; set; }  //璧犻�佹潯鏁�
         public int DelFlag { get; set; }  //鍒犻櫎鏍囧織锛�0-姝e父锛�2-閫昏緫鍒犻櫎
+        public int IsAutoReturn { get; set; }  //鏄惁鑷姩杩旇繕: 0-鍚�; 1-鏄�.
 
         public int Id
         {
diff --git a/web/Model/Model/SysUser.cs b/web/Model/Model/SysUser.cs
index 67b6a91..c4d43cc 100644
--- a/web/Model/Model/SysUser.cs
+++ b/web/Model/Model/SysUser.cs
@@ -40,6 +40,8 @@
 
         public int Status { get; set; }
 
+        public int UserType { get; set; }   //鐢ㄦ埛绫诲瀷:1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+
         public Dictionary<string, SysUserMenu> MenuIDList { get; set; }
 
         public bool HasRight(string code)
diff --git a/web/Model/obj/Debug/Model.dll b/web/Model/obj/Debug/Model.dll
index 0e02822..7bd65d4 100644
--- a/web/Model/obj/Debug/Model.dll
+++ b/web/Model/obj/Debug/Model.dll
Binary files differ
diff --git a/web/Model/obj/Debug/Model.pdb b/web/Model/obj/Debug/Model.pdb
index b86b743..a1c121f 100644
--- a/web/Model/obj/Debug/Model.pdb
+++ b/web/Model/obj/Debug/Model.pdb
Binary files differ
diff --git a/web/web/Bin/Dao.dll b/web/web/Bin/Dao.dll
index eebe2f1..c42f89d 100644
--- a/web/web/Bin/Dao.dll
+++ b/web/web/Bin/Dao.dll
Binary files differ
diff --git a/web/web/Bin/Dao.pdb b/web/web/Bin/Dao.pdb
index ba096d7..a15d707 100644
--- a/web/web/Bin/Dao.pdb
+++ b/web/web/Bin/Dao.pdb
Binary files differ
diff --git a/web/web/Bin/Model.dll b/web/web/Bin/Model.dll
index 0e02822..7bd65d4 100644
--- a/web/web/Bin/Model.dll
+++ b/web/web/Bin/Model.dll
Binary files differ
diff --git a/web/web/Bin/Model.pdb b/web/web/Bin/Model.pdb
index b86b743..a1c121f 100644
--- a/web/web/Bin/Model.pdb
+++ b/web/web/Bin/Model.pdb
Binary files differ
diff --git a/web/web/Bin/UMCLib.dll b/web/web/Bin/UMCLib.dll
index 2ea71a8..de922c5 100644
--- a/web/web/Bin/UMCLib.dll
+++ b/web/web/Bin/UMCLib.dll
Binary files differ
diff --git a/web/web/GwClient.ashx b/web/web/GwClient.ashx
index ba332cc..181efcc 100644
--- a/web/web/GwClient.ashx
+++ b/web/web/GwClient.ashx
@@ -70,8 +70,11 @@
     private JsonPageResult LoadGwClientPageList(PageContext<Model.SysUser> context)
     {
         string ClientID = context.GetString("ClientID");
+        string Company = context.GetString("Company");
         string ClientName = context.GetString("ClientName");
         string Telephone = context.GetString("Telephone");
+        string Salesman = context.GetString("Salesman");
+        string ProductId = context.GetString("ProductId");
         int pageIndex = context.GetInt("pageIndex", 1);
 
         string Agent = context.GetString("Agent");
@@ -82,7 +85,7 @@
         string str = "";
         using (GwClientDao dao = new GwClientDao())
         {
-            var list = dao.LoadInfoList(out recordCount, pageIndex, pageSize, ClientID, ClientName, Telephone, Agent);
+            var list = dao.LoadInfoList(out recordCount, pageIndex, pageSize, ClientID, ClientName, Telephone, Agent, Company, Salesman, ProductId);
 
             if (list != null && list.Count > 0)
             {
@@ -96,7 +99,7 @@
                     //edit:yangzh by 20220511
                     //str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Top_up_Amount_Total + "鍏�</td><td>" + item.Agent + "</td><td>" + Certification_StatusResult + "</td>";
                     //str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + item.Agent + "</td><td>" + Certification_StatusResult + "</td>";
-                    str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + SysUserName(string.IsNullOrEmpty(item.Agent)? 0: int.Parse(item.Agent) ) + "</td><td>" + Certification_StatusResult + "</td>";
+                    str += @"<tr ><td>" + item.ClientID + "</td><td>" + item.Company + "</td><td>" + item.ClientName + "</td><td>" + item.Telephone + "</td><td>" + item.Balance/1000 + "鍏�</td><td>" + item.Top_up_Amount_Total/1000 + "鍏�</td><td>" + SysUserName(string.IsNullOrEmpty(item.Salesman)? 0: int.Parse(item.Salesman) ) + "</td><td>" + Certification_StatusResult + "</td>";
 
 
                     str += @"<td>";
@@ -125,7 +128,7 @@
             }
             else
             {
-                str += @"<tr><td colspan=""8"">鏆傛棤淇℃伅</td></tr>";
+                str += @"<tr><td colspan=""9"">鏆傛棤淇℃伅</td></tr>";
             }
 
         }
@@ -244,6 +247,13 @@
         string telephone = context.GetString("telephone");
         string remark = context.GetString("remark");
         string agent = context.GetString("agent");
+        string salesman = context.GetString("salesman");
+        string customerManager = context.GetString("customerManager");
+        string supportStaff = context.GetString("supportStaff");
+        string financialStaff = context.GetString("financialStaff");
+        string chargeType = context.GetString("chargeType");
+        string smsStatusReport = context.GetString("smsStatusReport");
+        string mmsStatusReport = context.GetString("mmsStatusReport");
         string data = context.GetString("permissionData");
         if(data.Contains("1"))
         {
@@ -268,6 +278,41 @@
         if (string.IsNullOrEmpty(clientName) || string.IsNullOrEmpty(telephone))
         {
             throw new ArgumentException("鑱旂郴浜�/鑱旂郴鐢佃瘽锛屼笉鑳戒负绌猴紒");
+        }
+
+        if (string.IsNullOrEmpty(customerManager))
+        {
+            throw new ArgumentException("褰掑睘瀹㈡埛缁忕悊涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(salesman))
+        {
+            throw new ArgumentException("褰掑睘涓氬姟鍛樹笉鑳戒负绌猴紝璇烽�夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(supportStaff))
+        {
+            throw new ArgumentException("褰掑睘瀹㈡湇浜哄憳涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(financialStaff))
+        {
+            throw new ArgumentException("褰掑睘璐㈠姟浜哄憳涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(chargeType))
+        {
+            throw new ArgumentException("璁¤垂鏂瑰紡涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(smsStatusReport))
+        {
+            throw new ArgumentException("鐭俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婁笉鑳戒负绌猴紝璇烽�夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(mmsStatusReport))
+        {
+            throw new ArgumentException("褰╀俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婁笉鑳戒负绌猴紝璇烽�夋嫨锛�");
         }
 
         string savePassword = "";
@@ -295,6 +340,14 @@
         client.Remark = remark;
         client.Telephone = telephone;
         client.Agent = agent;
+            
+        client.CustomerManager = customerManager;
+        client.Salesman = salesman;
+        client.SupportStaff = supportStaff;
+        client.FinancialStaff = financialStaff;
+        client.ChargeType = string.IsNullOrEmpty(chargeType) ? 0 : int.Parse(chargeType);
+        client.SmsStatusReport = string.IsNullOrEmpty(smsStatusReport) ? 0 : int.Parse(smsStatusReport);
+        client.MmsStatusReport = string.IsNullOrEmpty(mmsStatusReport) ? 0 : int.Parse(mmsStatusReport);
         client.PermissionData = permissionData;
 
         _Dao.Update(client);
@@ -313,6 +366,13 @@
         string remark = context.GetString("remark");
         string agent = context.GetString("agent");
         string company = context.GetString("company");
+        string salesman = context.GetString("salesman");
+        string customerManager = context.GetString("customerManager");
+        string supportStaff = context.GetString("supportStaff");
+        string financialStaff = context.GetString("financialStaff");
+        string chargeType = context.GetString("chargeType");
+        string smsStatusReport = context.GetString("smsStatusReport");
+        string mmsStatusReport = context.GetString("mmsStatusReport");
         string data = context.GetString("permissionData");
         if(data.Contains("1"))
         {
@@ -347,6 +407,41 @@
         if (_Dao.IsIDExists(clientID))
         {
             throw new ArgumentException("瀹㈡埛璐﹀彿宸茬粡瀛樺湪锛�");
+        }
+
+        if (string.IsNullOrEmpty(customerManager))
+        {
+            throw new ArgumentException("褰掑睘瀹㈡埛缁忕悊涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(salesman))
+        {
+            throw new ArgumentException("褰掑睘涓氬姟鍛樹笉鑳戒负绌猴紝璇烽�夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(supportStaff))
+        {
+            throw new ArgumentException("褰掑睘瀹㈡湇浜哄憳涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(financialStaff))
+        {
+            throw new ArgumentException("褰掑睘璐㈠姟浜哄憳涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(chargeType))
+        {
+            throw new ArgumentException("璁¤垂鏂瑰紡涓嶈兘涓虹┖锛岃閫夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(smsStatusReport))
+        {
+            throw new ArgumentException("鐭俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婁笉鑳戒负绌猴紝璇烽�夋嫨锛�");
+        }
+
+        if (string.IsNullOrEmpty(mmsStatusReport))
+        {
+            throw new ArgumentException("褰╀俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛婁笉鑳戒负绌猴紝璇烽�夋嫨锛�");
         }
 
         HttpFileCollection _file = HttpContext.Current.Request.Files;
@@ -408,6 +503,14 @@
         client.ParentId = context.OperatorID;
         client.Certification_Status = 1;
         client.Company = company;
+        client.CustomerManager = customerManager;
+        client.Salesman = salesman;
+        client.SupportStaff = supportStaff;
+        client.FinancialStaff = financialStaff;
+        client.ChargeType = string.IsNullOrEmpty(chargeType) ? 0 : int.Parse(chargeType);
+        client.SmsStatusReport = string.IsNullOrEmpty(smsStatusReport) ? 0 : int.Parse(smsStatusReport);
+        client.MmsStatusReport = string.IsNullOrEmpty(mmsStatusReport) ? 0 : int.Parse(mmsStatusReport);
+
         _Dao.Add(client);//鎻掑叆鏁版嵁搴撱�傚垱寤鸿处鎴�
 
         //淇濆瓨浜у搧璁板綍
diff --git a/web/web/GwClient.aspx b/web/web/GwClient.aspx
index 20a576e..9b9d919 100644
--- a/web/web/GwClient.aspx
+++ b/web/web/GwClient.aspx
@@ -14,14 +14,17 @@
             });
 
             function loadPageList() {
-                var ClientID = $("#ClientID").val();
+                var ClientID = $("#ClientID").val(); 
+                var Company = $("#Company").val();
                 var ClientName = $("#ClientName").val();
                 var Telephone = $("#Telephone").val();
                 var Agent = $("#Agent").val();
+                var Salesman = $("#Salesman").val();
+                var ProductId = $("#ProductId").val();
                 $.ajax({
                     url: "GwClient.ashx",
                     type: "POST",
-                    data: { action: "loadGwClientPageList", ClientID: ClientID, ClientName: ClientName, Telephone: Telephone, Agent: Agent, pageSize: $("#pager").Pager("getPageSize"), pageIndex: $("#pager").Pager("getPageIndex") },
+                    data: { action: "loadGwClientPageList", ClientID: ClientID, Company: Company, ClientName: ClientName, Telephone: Telephone, Agent: Agent, Salesman: Salesman, ProductId: ProductId , pageSize: $("#pager").Pager("getPageSize"), pageIndex: $("#pager").Pager("getPageIndex") },
                     success: function (result) {
                         if (result.OK) {
                             $("#gwclientTable tbody").html(result.Message.Table);
@@ -64,11 +67,19 @@
                     $("#clientDialog #agent").val("");
                     $("#clientDialog #address").val("");
                     $("#clientDialog #telephone").val("");
+                    $("#clientDialog #chargeType").val("");
+                    $("#clientDialog #smsStatusReport").val("");
+                    $("#clientDialog #mmsStatusReport").val("");
+                    $("#clientDialog #customerManager").val("");
+                    $("#clientDialog #salesman").val("");
+                    $("#clientDialog #supportStaff").val(r.Message.SupportStaff);
+                    $("#clientDialog #financialStaff").val(r.Message.FinancialStaff);
                     $("#clientDialog #remark").val("");
                     $("#clientDialog input[name=permissionData]").iCheck("uncheck");
 
                     $("#clientDialog").modal("show");
 
+                    //鍒锋柊涓�娆¢殢鏈哄瘑鐮�
                     $("#password").val(randomString(8));
 
                 });
@@ -92,6 +103,13 @@
                                 $("#clientDialog #agent").val(r.Message.Agent);
                                 $("#clientDialog #address").val(r.Message.Address);
                                 $("#clientDialog #telephone").val(r.Message.Telephone);
+                                $("#clientDialog #chargeType").val(r.Message.ChargeType);
+                                $("#clientDialog #smsStatusReport").val(r.Message.SmsStatusReport);
+                                $("#clientDialog #mmsStatusReport").val(r.Message.MmsStatusReport);
+                                $("#clientDialog #customerManager").val(r.Message.CustomerManager);
+                                $("#clientDialog #salesman").val(r.Message.Salesman);
+                                $("#clientDialog #supportStaff").val(r.Message.SupportStaff);
+                                $("#clientDialog #financialStaff").val(r.Message.FinancialStaff);
                                 $("#clientDialog #remark").val(r.Message.Remark);
                                 var permissionData = $.evalJSON(r.Message.PermissionData);
                                 $("#clientDialog input[name=permissionData]").iCheck("uncheck");
@@ -284,7 +302,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-sm-2">
-                                鑱旂郴浜� <span style="color:red">*</span>
+                                瀹㈡埛鍚嶇О <span style="color:red">*</span>
                             </label>
                             <div class="col-sm-4">
                                 <input type="text" name="clientName" id="clientName" value="" class="form-control" />
@@ -306,6 +324,42 @@
                                 <input type="text" name="address" id="address" value="" class="form-control" />
                             </div>
                         </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                璁¤垂鏂瑰紡 <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="chargeType" id="chargeType" class="form-control">
+                                        <option value="" ></option>
+                                        <option value="1" >棰勪粯璐�</option>
+                                        <option value="2" >鍚庝粯璐�</option>
+                                    </select>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                鐭俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛� <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="smsStatusReport" id="smsStatusReport" class="form-control">
+                                        <option value="0" >涓嶆樉绀�</option>
+                                        <option value="1" >鍙樉绀烘彁浜ゅけ璐ヤ负鍙戦�佸け璐ョ姸鎬�</option>
+                                        <option value="2" >鏄剧ず鍏ㄩ儴鐘舵�佺姸鎬�</option>
+                                    </select>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                褰╀俊鏄惁鏀寔鏄剧ず鐘舵�佹姤鍛� <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="mmsStatusReport" id="mmsStatusReport" class="form-control">
+                                        <option value="0" >涓嶆樉绀�</option>
+                                        <option value="1" >鍙樉绀烘彁浜ゅけ璐ヤ负鍙戦�佸け璐ョ姸鎬�</option>
+                                        <option value="2" >鏄剧ず鍏ㄩ儴鐘舵�佺姸鎬�</option>
+                                    </select>
+                            </div>
+                        </div>
                         <!--
                         <div class="form-group">
                             <label class="control-label  col-sm-2">
@@ -318,11 +372,41 @@
                         -->
                         <div class="form-group">
                             <label class="control-label  col-sm-2">
-                                褰掑睘涓氬姟鍛�
+                                褰掑睘瀹㈡埛缁忕悊 <span style="color:red">*</span>
                             </label>
                             <div class="col-sm-4">
-                                    <select name="agent" id="agent" class="form-control">
-                                        <%=SysUserOptions(0)%>
+                                    <select name="customerManager" id="customerManager" class="form-control">
+                                        <%=customerManagerOptions(0)%>
+                                    </select>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                褰掑睘涓氬姟鍛� <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="salesman" id="salesman" class="form-control">
+                                        <%=salesmanOptions(0)%>
+                                    </select>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                褰掑睘瀹㈡埛浜哄憳 <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="supportStaff" id="supportStaff" class="form-control">
+                                        <%=supportStaffOptions(0)%>
+                                    </select>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label  col-sm-2">
+                                褰掑睘璐㈠姟浜哄憳 <span style="color:red">*</span>
+                            </label>
+                            <div class="col-sm-4">
+                                    <select name="financialStaff" id="financialStaff" class="form-control">
+                                        <%=financialStaffOptions(0)%>
                                     </select>
                             </div>
                         </div>
@@ -382,7 +466,7 @@
         </div>
         <div class="form-group">
             <div class="input-group m-b">
-                <span class="input-group-addon">鑱旂郴浜�</span>
+                <span class="input-group-addon">瀹㈡埛鍚嶇О</span>
                 <input type="text" name="ClientName" id="ClientName" class="form-control" />
             </div>
         </div>
@@ -394,8 +478,18 @@
         </div>
         <div class="form-group">
             <div class="input-group m-b">
-                <span class="input-group-addon">涓氬姟鍛�</span>
-                <input type="text" name="Agent" id="Agent" class="form-control" style="width: 100px" />
+                <span class="input-group-addon">褰掑睘涓氬姟鍛�</span>
+                    <select name="Salesman" id="Salesman" class="form-control">
+                        <%=salesmanOptions(-1)%>
+                    </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <div class="input-group m-b">
+                <span class="input-group-addon">浣跨敤浜у搧</span>
+                    <select name="ProductId" id="ProductId" class="form-control">
+                        <%=GetProductOptions("")%>
+                    </select>
             </div>
         </div>
         <div class="form-group">
@@ -414,7 +508,7 @@
                     <th>瀹㈡埛璐﹀彿
                     </th>
                     <th>鍏徃鍚嶇О</th>
-                    <th>鑱旂郴浜�
+                    <th>瀹㈡埛鍚嶇О
                     </th>
                     <th>鑱旂郴鐢佃瘽
                     </th>
diff --git a/web/web/GwClient.aspx.cs b/web/web/GwClient.aspx.cs
index 4acc808..d4a533f 100644
--- a/web/web/GwClient.aspx.cs
+++ b/web/web/GwClient.aspx.cs
@@ -13,6 +13,7 @@
 {
 
     protected List<SysUser> SysUserList;
+    protected List<GwProduct> GwProductList;
 
     protected void Page_Load(object sender, EventArgs e)
     {
@@ -29,16 +30,25 @@
             this.SysUserList = userDao.LoadInfoList(out recordCount, int1, int2);
 
         }
+
+        //鑾峰彇鍚敤鐨勪骇鍝�
+        using (GwProductDao gwProductDao = new GwProductDao())
+        {
+            GwProduct bean = new GwProduct();
+            bean.Classes = 1;
+            bean.IsEnable = -1;
+            this.GwProductList = gwProductDao.getAllList(bean);
+        }
     }
 
 
-    //鑾峰彇浜у搧鍒嗙被淇℃伅
-    public string SysUserOptions(int userId)
+    //褰掑睘涓氬姟鍛�
+    public string salesmanOptions(int userId)
     {
         StringBuilder stringBuilder = new StringBuilder();
         if (this.SysUserList.Count == 0)
             return "<option value=''>鏃�</option>";
-        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)"", (object)"鏃�");
         foreach (SysUser bean in this.SysUserList)
         {
             //鍋滅敤鐨勭敤鎴蜂笉鍐嶆樉绀�
@@ -46,8 +56,8 @@
             {
                 continue;
             }
-            //杩囨护瓒呯骇绠$悊鍛�
-            if (bean.UserID == 1)
+            //杩囨护鐢ㄦ埛绫诲瀷 1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+            if (bean.UserType == 6 || bean.UserType == 99)
             {
                 continue;
             }
@@ -60,4 +70,118 @@
         return stringBuilder.ToString();
     }
 
+    //褰掑睘瀹㈡埛缁忕悊
+    public string customerManagerOptions(int userId)
+    {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (this.SysUserList.Count == 0)
+            return "<option value=''>鏃�</option>";
+        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)"", (object)"鏃�");
+        foreach (SysUser bean in this.SysUserList)
+        {
+            //鍋滅敤鐨勭敤鎴蜂笉鍐嶆樉绀�
+            if (bean.Status == 0)
+            {
+                continue;
+            }
+            //杩囨护鐢ㄦ埛绫诲瀷 1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+            if (bean.UserType == 2)
+            {
+                continue;
+            }
+
+            if (userId == bean.UserID)
+                stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+            else
+                stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+        }
+        return stringBuilder.ToString();
+    }
+
+    //褰掑睘瀹㈡湇浜哄憳
+    public string supportStaffOptions(int userId)
+    {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (this.SysUserList.Count == 0)
+            return "<option value=''>鏃�</option>";
+        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)"", (object)"鏃�");
+        foreach (SysUser bean in this.SysUserList)
+        {
+            //鍋滅敤鐨勭敤鎴蜂笉鍐嶆樉绀�
+            if (bean.Status == 0)
+            {
+                continue;
+            }
+            //杩囨护鐢ㄦ埛绫诲瀷 1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+            if (bean.UserType != 1 && bean.UserType != 5 )
+            {
+                continue;
+            }
+
+            if (userId == bean.UserID)
+                stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+            else
+                stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+        }
+        return stringBuilder.ToString();
+    }
+
+    //褰掑睘璐㈠姟浜哄憳
+    public string financialStaffOptions(int userId)
+    {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (this.SysUserList.Count == 0)
+            return "<option value=''>鏃�</option>";
+        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)"", (object)"鏃�");
+        foreach (SysUser bean in this.SysUserList)
+        {
+            //鍋滅敤鐨勭敤鎴蜂笉鍐嶆樉绀�
+            if (bean.Status == 0)
+            {
+                continue;
+            }
+            //杩囨护鐢ㄦ埛绫诲瀷 1-绠$悊鍛�;2-涓氬姟鍛�--鍏ㄥ憳;3-涓氬姟涓荤;4-涓氬姟鎬荤洃;5-瀹㈡湇浜哄憳;6-璐㈠姟浜哄憳;99-鍏朵粬
+            if (bean.UserType != 1 && bean.UserType != 6)
+            {
+                continue;
+            }
+
+            if (userId == bean.UserID)
+                stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+            else
+                stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.UserID, (object)bean.UserName);
+        }
+        return stringBuilder.ToString();
+    }
+
+
+    //鑾峰彇浜у搧淇℃伅
+    public string GetProductOptions(string productId)
+    {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (this.GwProductList.Count == 0)
+            return "<option value='0'>鏃�</option>";
+        stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)"", (object)"鏃�");
+        foreach (GwProduct bean in this.GwProductList)
+        {
+            //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+            if (bean.IsEnable == 0)
+            {
+                continue;
+            }
+            //杩囨护浜у搧绫诲埆
+            if (bean.Classes == 0)
+            {
+                continue;
+            }
+
+            if (productId.Equals(bean.Id))
+                stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+            else
+                stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+        }
+        return stringBuilder.ToString();
+    }
+
+
 }
diff --git a/web/web/GwOrder.ashx b/web/web/GwOrder.ashx
index 471e79e..99c1784 100644
--- a/web/web/GwOrder.ashx
+++ b/web/web/GwOrder.ashx
@@ -103,7 +103,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"15\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -165,7 +165,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"15\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -242,7 +242,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"15\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -295,10 +295,10 @@
         int givingNum = context.GetInt("givingNum");
         string clientId = "";
         int payAmount = 0;
-        int tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        int tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         payAmount = tmpPayAmount;
         //double price = context.GetDecimal(price);
-        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         string remark = context.GetString("remark");
         int status = context.GetInt("status");  //0-瀹℃牳涓嶉�氳繃锛�1-瀹℃牳閫氳繃
         string auditReason = context.GetString("auditReason");
@@ -434,7 +434,7 @@
             int topUpAmountTotal = 0;
             if (string.IsNullOrEmpty(nextFlowCode))
             {
-                orderStatus = 2;
+                orderStatus = 2;                    
 
                 //鑾峰彇璐﹀彿淇℃伅
                 GwSp gwSp = _GwSpDao.Get(spId);
@@ -449,7 +449,8 @@
                 topUpAmountTotal = int.Parse(gwClient.Top_up_Amount_Total.ToString() );
 
                 //涓�1-棰勪粯璐�
-                if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+                //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+                if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
                 {
                     throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
                 }
@@ -457,23 +458,20 @@
                 //gwSp.Balance = balance - num * basicNum;
                 //gwSp.BasicNum = beforeBasicNum + basicNum;
                 //gwSp.GivingNum = beforeGivingNum + givingNum;
-
-                _GwSpDao.UpdateBalanceByOrder(balance - num * basicNum
-                    , beforeBasicNum + basicNum
-                    , beforeGivingNum + givingNum
-                    , spId
-                    );
+                //鏇存柊璐﹀彿鍏呭�兼暟鎹�
+                _GwSpDao.UpdateBalanceByOrder( payAmount, basicNum , givingNum , spId );
 
 
                 //鏈夊厖鍊奸噾棰濇椂锛屾洿鏂板鎴风疮璁″厖鍊奸噾棰濓紙鍘橈級
-                if (payAmount > 0) {
+                if (payAmount > 0 || basicNum > 0 ) {
                     //GwClient gwClient = new GwClient();
-                    gwClient = new GwClient();
-                    gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount;    //绱閲戦:鍗曚綅锛堝帢锛�
-                    gwClient.Balance = ((balance + payAmount) - num * basicNum) ;   //璐︽埛浣欓:鍗曚綅锛堝帢锛�
-                    gwClient.ClientID = clientId;
-
-                    _GwClientDao.UpdateClientAmount(gwClient);
+                    //gwClient = new GwClient();
+                    //gwClient.Balance = ((balance + payAmount) - num * basicNum) ;   //鍏呭�间綑棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount;    //鍏呭�奸噾棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.ClientID = clientId;
+                    
+                    //鏇存柊瀹㈡埛鍏呭�兼暟鎹�
+                    _GwClientDao.UpdateClientAmount(payAmount-( num * basicNum), payAmount, clientId );
                 }
             }
             else
@@ -578,7 +576,8 @@
         balance =  int.Parse(gwClient.Balance.ToString() );
 
         //涓�1-棰勪粯璐�
-        if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
         {
             throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
         }
diff --git a/web/web/GwSp.ashx b/web/web/GwSp.ashx
index 3b4b10d..1c5f53f 100644
--- a/web/web/GwSp.ashx
+++ b/web/web/GwSp.ashx
@@ -312,10 +312,10 @@
         string apId = "0";
         if (this.IsInt(string1))
             apId = string1;
-        if (string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(string4))
-            clientId = new GwClientDao().GetClientName(string4).ClientID;
+        //if (string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(string4))
+        //    clientId = new GwClientDao().GetClientName(string4).ClientID;
         //鍔犺浇璐﹀彿鍒楄〃淇℃伅
-        List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, int1, string3, int2, int4, int3, int5.ToString(),out recordCount, productId);
+        List<GwSp> list = gwSpDao.LoadInfoList(string2, apId, clientId, string4, int1, string3, int2, int4, int3, int5.ToString(),out recordCount, productId);
         string str1 = "";
         if (list != null && list.Count > 0)
         {
@@ -571,7 +571,8 @@
         o.AccessCode = context.GetString("AccessCode");
         o.Priority = context.GetInt("Priority", 0);
         o.Price = Math.Max((int)(context.GetDecimal("Price", new Decimal(4, 0, 0, false, (byte)2)) * new Decimal(1000)), 1);
-        o.ChargeType = context.GetInt("ChargeType", 0);
+        //o.ChargeType = context.GetInt("ChargeType", 0);
+        o.IsAutoReturn = context.GetInt("IsAutoReturn", 0);
         o.Threshold = Math.Max(context.GetInt("Threshold", 10), 10);
         o.MaxConnCount = context.GetInt("MaxConnCount", 1);
         o.Remark = context.GetString("Remark");
@@ -695,7 +696,8 @@
         o.AccessCode = context.GetString("AccessCode");
         o.Priority = context.GetInt("Priority", 0);
         o.Price = Math.Max((int)(context.GetDecimal("Price", new Decimal(4, 0, 0, false, (byte)2)) * new Decimal(1000)), 1);
-        o.ChargeType = context.GetInt("ChargeType", 0);
+        //o.ChargeType = context.GetInt("ChargeType", 0);
+        o.IsAutoReturn = context.GetInt("IsAutoReturn", 0);
         o.Threshold = Math.Max(context.GetInt("Threshold", 10), 10);
         o.MaxConnCount = context.GetInt("MaxConnCount", 1);
         o.Remark = context.GetString("Remark");
diff --git a/web/web/GwSp.aspx b/web/web/GwSp.aspx
index 551b7a3..ecace87 100644
--- a/web/web/GwSp.aspx
+++ b/web/web/GwSp.aspx
@@ -396,13 +396,13 @@
             -->
             <div class="form-group">
                 <div class="input-group m-b">
-                    <span class="input-group-addon">浠g悊鍟嗗鎴疯处鍙�</span>
+                    <span class="input-group-addon">瀹㈡埛璐﹀彿</span>
                     <input type="text" name="clientID" id="clientID" class="form-control col-md-2" />
                 </div>
             </div>
             <div class="form-group">
                 <div class="input-group m-b">
-                    <span class="input-group-addon">浠g悊鍟嗗鎴峰悕绉�</span>
+                    <span class="input-group-addon">瀹㈡埛鍚嶇О</span>
                     <input type="text" name="clientName" id="clientName" class="form-control col-md-2" />
                 </div>
             </div>
@@ -427,7 +427,7 @@
             <div class="form-group">
                 <div class="input-group m-b">
                     <select name="routerType" class="form-control" id="routerType">
-                        <option value="">璺敱妯″紡</option>
+                        <option value="">--璺敱妯″紡--</option>
                         <option value="1">閫氶亾鐐硅矾鐢�</option>
                         <option value="3">閫氶亾缁勮矾鐢�</option>
                     </select>
@@ -436,7 +436,7 @@
             <div class="form-group">
                 <div class="input-group m-b">
                     <select name="chargeType" class="form-control" id="chargeType">
-                        <option value="">浠樿垂鏂瑰紡</option>
+                        <option value="">--浠樿垂鏂瑰紡--</option>
                         <option value="1">棰勪粯璐�</option>
                         <option value="2">鍚庝粯璐�</option>
                     </select>
@@ -445,7 +445,7 @@
             <div class="form-group">
                 <div class="input-group m-b">
                     <select name="apID" class="form-control" id="apID">
-                        <option value="">鎺ュ叆鍗忚</option>
+                        <option value="">--鎺ュ叆鍗忚--</option>
                         <option value="230001">CMPP</option>
                         <option value="230002">HTTP</option>
                     </select>
@@ -453,7 +453,7 @@
             </div>
              <div class="form-group">
                 <div class="input-group m-b">
-                    <select name="apID" class="form-control" id="RESEND_STATUS">
+                    <select name="RESEND_STATUS" class="form-control" id="RESEND_STATUS">
                         <option value="3">鑷姩琛ュ彂</option>
                         <option value="1">鍚敤琛ュ彂</option>
                         <option value="0">鍋滅敤琛ュ彂</option>
diff --git a/web/web/Index.aspx b/web/web/Index.aspx
index b4a7faf..e729faa 100644
--- a/web/web/Index.aspx
+++ b/web/web/Index.aspx
@@ -190,7 +190,7 @@
                     <li>
                         <a href="#"><i class="fa fa-user-secret"></i><span class="nav-label">瀹㈡埛绠$悊 </span><span class="fa arrow"></span></a>
                         <ul class="nav nav-second-level">
-                            <li><a href="GwClient.aspx" class="J_menuItem">浠g悊鍟嗛厤缃�</a> </li>
+                            <li><a href="GwClient.aspx" class="J_menuItem">瀹㈡埛淇℃伅绠$悊</a> </li>
                             <li><a href="GwSp.aspx" class="J_menuItem">鐭俊璐﹀彿绠$悊</a> </li>
                             <li><a href="GwMoRoute.aspx" class="J_menuItem">涓婅璺敱閰嶇疆</a> </li>
                             <!--<li><a href="GwSpChargeLog.aspx" class="J_menuItem">鍏呭�艰褰曟煡璇�</a> </li>-->
diff --git a/web/web/SysUser.ashx b/web/web/SysUser.ashx
index ec17789..f1bae60 100644
--- a/web/web/SysUser.ashx
+++ b/web/web/SysUser.ashx
@@ -94,6 +94,7 @@
         string string1 = context.GetString("account");
         string string2 = context.GetString("password");
         string userName = context.GetString("userName");
+        string userType = context.GetString("userType");
         string string3 = context.GetString("email");
         string string4 = context.GetString("mobile");
         int int2 = context.GetInt("emailFlag");
@@ -104,7 +105,9 @@
         if (string.IsNullOrEmpty(string2) || string2.Length < 6)
             throw new ArgumentException("璐︽埛瀵嗙爜鑷冲皯6浣嶏紝璇烽噸鏂拌緭鍏ワ紒");
         if (string.IsNullOrEmpty(userName))
-            throw new ArgumentException("璐﹀彿鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆锛�");
+            throw new ArgumentException("璐︽埛鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆锛�");
+        if (string.IsNullOrEmpty(userType))
+            throw new ArgumentException("璐︽埛绫诲瀷涓嶈兘涓虹┖锛岃閫夋嫨锛�");
         if (context.GetBoolean("isVerification"))
             num = 1;
         string string5 = context.GetString("clientIp");
@@ -131,6 +134,7 @@
             throw new ArgumentException("璐︽埛鍚嶇О宸茬粡瀛樺湪锛岃閲嶆柊杈撳叆锛�");
 
         sysUser.UserName = userName;
+        sysUser.UserType = string.IsNullOrEmpty(userType) ? 0 : int.Parse(userType);
         sysUser.CreateTime = DateTime.Now;
         if (int1 > 0)
         {
@@ -159,6 +163,7 @@
             context.CheckRight("1041", FailedOperation.PromptOnly);
             if (this._Dao.Exists(string1))
                 throw new ArgumentException("璐︽埛宸茬粡瀛樺湪锛岃閲嶆柊杈撳叆锛�");
+
             this._Dao.Add(sysUser);
         }
         return new JsonPageResult(true, (object) "璐︽埛淇濆瓨鎴愬姛锛�");
diff --git a/web/web/SysUser.aspx b/web/web/SysUser.aspx
index 925802e..8524a6c 100644
--- a/web/web/SysUser.aspx
+++ b/web/web/SysUser.aspx
@@ -20,6 +20,31 @@
                             html.push("<tr>");
                             html.push("<td>" + this.Account + "</td>");
                             html.push("<td>" + this.UserName + "</td>");
+                            if (this.UserType == 1) {
+                                html.push("<td>" + "绠$悊鍛�" + "</td>");
+                            }
+                            else if (this.UserType == 2) {
+                                html.push("<td>" + "涓氬姟鍛�" + "</td>");
+                            }
+                            else if (this.UserType == 3) {
+                                html.push("<td>" + "涓氬姟涓荤" + "</td>");
+                            }
+                            else if (this.UserType == 4) {
+                                html.push("<td>" + "涓氬姟鎬荤洃" + "</td>");
+                            }
+                            else if (this.UserType == 5) {
+                                html.push("<td>" + "瀹㈡湇浜哄憳" + "</td>");
+                            }
+                            else if (this.UserType == 6) {
+                                html.push("<td>" + "璐㈠姟浜哄憳" + "</td>");
+                            }
+                            else if (this.UserType == 99) {
+                                html.push("<td>" + "鍏朵粬" + "</td>");
+                            }
+                            else {
+                                html.push("<td>" + "" + "</td>");
+                            }
+
                             html.push("<td>" + this.Mobile + "</td>");
                             html.push("<td>" + formatFlagIcon(this.MobileFlag) + "</td>");
 
@@ -97,6 +122,7 @@
                 var account = $("#userDialog #account").val();
                 var password = $("#userDialog #password").val();
                 var userName = $("#userDialog #userName").val();
+                var userType = $("#userDialog #userType").val();
                 var mobile = $("#userDialog #mobile").val();
                 var email = $("#userDialog #email").val();
                 var emailFlag = $("#userDialog #emailFlag").val();
@@ -105,7 +131,7 @@
 
                 var clientIp = $("#userDialog #clientIp").val();
 
-                $.post("sysuser.ashx", { action: "saveUser", userid: userid, account: account, password: password, userName:userName, mobile: mobile, email: email, mobileFlag: mobileFlag, emailFlag: emailFlag, isVerification: isVerification, clientIp: clientIp },
+                $.post("sysuser.ashx", { action: "saveUser", userid: userid, account: account, password: password, userName: userName, userType: userType, mobile: mobile, email: email, mobileFlag: mobileFlag, emailFlag: emailFlag, isVerification: isVerification, clientIp: clientIp },
              function(result) {
                  mytek.alert(result.Message, result.OK, function() {
                      if (result.OK) {
@@ -122,6 +148,7 @@
                 $("#userDialog #account").val("");
                 $("#userDialog #password").val("");
                 $("#userDialog #userName").val("");
+                $("#userDialog #userType").val("");
                 $("#userDialog #mobile").val("");
                 $("#userDialog #email").val("");
                 $("#userDialog input[name=isVerification]").iCheck("uncheck");
@@ -196,6 +223,7 @@
                     $("#userDialog #account").val(user.Account);
                     $("#userDialog #password").val(user.Password);
                     $("#userDialog #userName").val(user.UserName);
+                    $("#userDialog #userType").val(user.UserType);
                     $("#userDialog #mobile").val(user.Mobile);
                     $("#userDialog #email").val(user.Email);
                     $("#userDialog #emailFlag").val(user.EmailFlag);
@@ -244,6 +272,23 @@
                             璐︽埛鍚嶇О <span style="color:red">*</span></label>
                         <div class="col-sm-10">
                             <input type="text" name="userName" id="userName" value="" class="form-control" />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">
+                            璐︽埛绫诲瀷 <span style="color:red">*</span>
+                        </label>
+                        <div class="col-sm-4">
+                            <select name="userType" id="userType" class="form-control">
+                                <option value=""></option>
+                                <option value="1">绠$悊鍛�</option>
+                                <option value="2">涓氬姟鍛�</option>
+                                <option value="3">涓氬姟涓荤</option>
+                                <option value="4">涓氬姟鎬荤洃</option>
+                                <option value="5">瀹㈡湇浜哄憳</option>
+                                <option value="6">璐㈠姟浜哄憳</option>
+                                <option value="99">鍏朵粬</option>
+                            </select>
                         </div>
                     </div>
                     <div class="form-group">
@@ -341,6 +386,9 @@
                         鐢ㄦ埛鍚嶇О
                     </th>
                     <th>
+                        鐢ㄦ埛绫诲瀷
+                    </th>
+                    <th>
                         鎵嬫満
                     </th>
                     <th>
diff --git a/web/web/gwspupdate.aspx b/web/web/gwspupdate.aspx
index da59c11..21e9c7b 100644
--- a/web/web/gwspupdate.aspx
+++ b/web/web/gwspupdate.aspx
@@ -797,14 +797,28 @@
                         value="<%=GwSp.Threshold%>" onkeyup="value=value.replace(/[^\d]/g,'')" onpaste="value=value.replace(/[^\d]/g,'')"
                         oncontextmenu="return false" />鏉�/姣忕 <span class="highlight">*</span>
                 </td>
+                <!--
                 <th>
                     浠樿垂鏂瑰紡:
                 </th>
                 <td>
                     <select name="ChargeType" id="ChargeType">
                       
-                         <option value="1" <%if(GwSp.ChargeType==1){ %>selected<%} %>>棰勪粯璐�</option>
-                        <option value="2" <%if(GwSp.ChargeType==2){ %>selected<%} %>>鍚庝粯璐�</option>
+                         <option value="1" <--%if(GwSp.ChargeType==1){ %>selected<--%} %>>棰勪粯璐�</option>
+                        <option value="2" <--%if(GwSp.ChargeType==2){ %>selected<--%} %>>鍚庝粯璐�</option>
+                        
+                    </select>
+                    <span class="highlight">*</span>
+                </td>
+                -->
+                <th>
+                    鏄惁鑷姩杩旇繕:
+                </th>
+                <td>
+                    <select name="IsAutoReturn" id="IsAutoReturn">
+                      
+                         <option value="0" <%if(GwSp.IsAutoReturn==0){ %>selected<%} %>>鍚�</option>
+                        <option value="1" <%if(GwSp.IsAutoReturn==1){ %>selected<%} %>>鏄�</option>
                         
                     </select>
                     <span class="highlight">*</span>

--
Gitblit v1.9.1