3 Commits 66cab33584 ... 7b5fdd077b

Autore SHA1 Messaggio Data
  student 7b5fdd077b NoHi 3 settimane fa
  student ddbf6c711c NoHi 4 settimane fa
  student beaf94b62e NoHi 4 settimane fa

+ 1 - 299
ApiWeb/ApiProcessToken/Controllers/balance.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
@@ -249,125 +249,7 @@ namespace ApiProcess.Controllers
             return Ok(response);
         }
 
-        [HttpPost]
-        public IActionResult hiddenChangeStatus([FromBody] dynamic sendData)
-        {
-            logger.Info("New request income hiddenChangeStatus :" + sendData.ToString());
-            Response response = new Response();
-            response.responseCode = "-1";
-            response.responseMessage = "Err unknow";
-
-            try
-            {
-                var userObj = JObject.Parse(sendData.ToString());
-
-                string users = Convert.ToString(userObj["users"]);
-                string type = Convert.ToString(userObj["type"]);
-                string id = Convert.ToString(userObj["id"]);
-                string status = Convert.ToString(userObj["status"]);
-
-                if (string.IsNullOrEmpty(users)) users = "-1";
-                if (string.IsNullOrEmpty(type)) type = "-1";
-                if (string.IsNullOrEmpty(id)) id = "-1";
-                if (string.IsNullOrEmpty(status)) status = "-1";
-
-                string language;
-                if (!CheckWebToken(userObj, response, out language))
-                {
-                    logger.Info("hiddenChangeStatus response : " + response.ToString());
-                    return Ok(response);
-                }
-
-                DataSet ds_regist = balanceDataAccess.hiddenChangeStatus(type, id, status, users);
-
-                logger.Info("Call database hiddenChangeStatus success:");
-                if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
-                {
-                    response.responseCode = ds_regist.Tables[0].Rows[0]["status"].ToString();
-                    response.responseMessage = ds_regist.Tables[0].Rows[0]["msg"].ToString();
-                }
-                else
-                {
-                    response.responseCode = "-1";
-                    response.responseMessage = "Err unknow";
-                }
-            }
-            catch (Exception ex)
-            {
-                logger.Info("exception: " + ex.ToString());
-                response.responseCode = "-2";
-                response.responseMessage = "System upgrade";
-            }
-            logger.Info("Responase to web: " + response.ToString());
-            return Ok(response);
-        }
-
-        [HttpPost]
-        public IActionResult hiddenCamGetList([FromBody] dynamic sendData)
-        {
-            logger.Info("New request income hiddenCamGetList :" + sendData.ToString());
-            campaignObjList response = new campaignObjList();
-            response.responseCode = "-1";
-            response.responseMessage = "Err unknow";
-
-            try
-            {
-                var userObj = JObject.Parse(sendData.ToString());
-
-                string users = Convert.ToString(userObj["users"]);
-                string id = Convert.ToString(userObj["id"]);
-                string isDefault = Convert.ToString(userObj["isDefault"]);
-                string isMyservice = Convert.ToString(userObj["isMyservice"]);
-                string status = Convert.ToString(userObj["status"]);
-                string name = Convert.ToString(userObj["name"]);
-                string code = Convert.ToString(userObj["code"]);
-                string fromDate = Convert.ToString(userObj["fromDate"]);
-                string toDate = Convert.ToString(userObj["toDate"]);
-                string order = Convert.ToString(userObj["order"]);
-                string rowsOnPage = Convert.ToString(userObj["rowsOnPage"]);
-                string seqPage = Convert.ToString(userObj["seqPage"]);
 
-                if (string.IsNullOrEmpty(name)) name = "-1";
-                if (string.IsNullOrEmpty(code)) code = "-1";
-                if (string.IsNullOrEmpty(fromDate)) fromDate = "-1";
-                if (string.IsNullOrEmpty(toDate)) toDate = "-1";
-                if (string.IsNullOrEmpty(order)) order = "asc";
-                if (string.IsNullOrEmpty(rowsOnPage)) rowsOnPage = "1000000000000";
-                if (string.IsNullOrEmpty(seqPage)) seqPage = "1";
-                if (string.IsNullOrEmpty(isDefault)) isDefault = "-1";
-                if (string.IsNullOrEmpty(isMyservice)) isMyservice = "-1";
-                if (string.IsNullOrEmpty(status)) status = "-1";
-                if (string.IsNullOrEmpty(users)) users = "-1";
-                if (string.IsNullOrEmpty(id)) id = "-1";
-
-                string language;
-                if (!CheckWebToken(userObj, response, out language))
-                {
-                    logger.Info("hiddenCamGetList response : " + response.ToString());
-                    return Ok(response);
-                }
-                logger.Info("hiddenCamGetList start select : ");
-                string _rowsOnPage, _seqPage, _totalPage;
-                List<campaignObj> list = getListCommon.getListHiddenCam(id, users, name, code, fromDate, toDate, order, rowsOnPage, seqPage, status,
-                    out _rowsOnPage, out _seqPage, out _totalPage, isDefault, isMyservice);
-
-                response.responseCode = "0";
-                response.responseMessage = "Success";
-                response.rowsOnPage = _rowsOnPage;
-                response.seqPage = _seqPage;
-                response.totalPage = _totalPage;
-                response.list = list;
-            }
-            catch (Exception ex)
-            {
-                logger.Info("exception: " + ex.ToString());
-                response.responseCode = "-2";
-                response.responseMessage = "System upgrade";
-            }
-
-            logger.Info("Responase to web: " + response.ToString());
-            return Ok(response);
-        }
 
 
         //{"id":"2","users":"quangbh","key":"jqB3Vi1fIlu+9a2ODQs65w=="}
@@ -4986,73 +4868,7 @@ namespace ApiProcess.Controllers
             return Ok(response);
         }
 
-        [HttpPost]
-        public IActionResult hiddenCamInsert([FromBody] dynamic sendData)
-        {
-            logger.Info("New request income hiddenCamInsert :" + sendData.ToString());
-            campaignInsert response = new campaignInsert();
-            response.responseCode = "-1";
-            response.responseMessage = "Err unknow";
-
-            try
-            {
-                var userObj = JObject.Parse(sendData.ToString());
-                string code = Convert.ToString(userObj["code"]);
-                string name = Convert.ToString(userObj["name"]);
-                string fromDate = Convert.ToString(userObj["fromDate"]);
-                string toDate = Convert.ToString(userObj["toDate"]);
-                string fromHour = Convert.ToString(userObj["fromHour"]);
-                string toHour = Convert.ToString(userObj["toHour"]);
-                string rule = Convert.ToString(userObj["rule"]);
-                string priority = Convert.ToString(userObj["priority"]);
-                string balanceId = Convert.ToString(userObj["balanceId"]);
-                string expireDateId = Convert.ToString(userObj["expireDateId"]);
-                string status = Convert.ToString(userObj["status"]);
-                string note = Convert.ToString(userObj["note"]);
-                string numberDisplay = Convert.ToString(userObj["numberDisplay"]);
-                string addType = Convert.ToString(userObj["addType"]);
-                string title = Convert.ToString(userObj["title"]);
-                string isDefault = Convert.ToString(userObj["isDefault"]);
-                string isMyservice = Convert.ToString(userObj["isMyservice"]);
-                string users = Convert.ToString(userObj["users"]);
-
-                if (string.IsNullOrEmpty(code)) code = "-1";
-                if (string.IsNullOrEmpty(numberDisplay)) numberDisplay = "1";
-                if (string.IsNullOrEmpty(addType)) addType = "1";
-                if (string.IsNullOrEmpty(users)) users = "-1";
 
-                string language;
-                if (!CheckWebToken(userObj, response, out language))
-                {
-                    logger.Info("hiddenCamInsert response : " + response.ToString());
-                    return Ok(response);
-                }
-
-                DataSet ds_regist = balanceDataAccess.hiddenCamInsert(code, name, fromDate, toDate, fromHour, toHour, rule,
-                    priority, balanceId, expireDateId, status, note, users, numberDisplay, addType, title, isDefault, isMyservice);
-                logger.Info("Call database hiddenCamInsert success:");
-
-                if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
-                {
-                    response.responseCode = ds_regist.Tables[0].Rows[0]["status"].ToString();
-                    response.responseMessage = ds_regist.Tables[0].Rows[0]["msg"].ToString();
-                    response.id = ds_regist.Tables[0].Rows[0]["id"].ToString();
-                }
-                else
-                {
-                    response.responseCode = "-1";
-                    response.responseMessage = "Err unknow";
-                }
-            }
-            catch (Exception ex)
-            {
-                logger.Info("exception: " + ex.ToString());
-                response.responseCode = "-2";
-                response.responseMessage = "System upgrade";
-            }
-            logger.Info("Responase to web: " + response.ToString());
-            return Ok(response);
-        }
 
 
 
@@ -5203,74 +5019,7 @@ namespace ApiProcess.Controllers
             return Ok(response);
         }
 
-        [HttpPost]
-        public IActionResult hiddenCamUpdate([FromBody] dynamic sendData)
-        {
-            logger.Info("New request income hiddenCamUpdate :" + sendData.ToString());
-            Response response = new Response();
-            response.responseCode = "-1";
-            response.responseMessage = "Err unknow";
-
-            try
-            {
-                var userObj = JObject.Parse(sendData.ToString());
-                string id = Convert.ToString(userObj["id"]);
-                string code = Convert.ToString(userObj["code"]);
-                string name = Convert.ToString(userObj["name"]);
-                string fromDate = Convert.ToString(userObj["fromDate"]);
-                string toDate = Convert.ToString(userObj["toDate"]);
-                string fromHour = Convert.ToString(userObj["fromHour"]);
-                string toHour = Convert.ToString(userObj["toHour"]);
-                string rule = Convert.ToString(userObj["rule"]);
-                string priority = Convert.ToString(userObj["priority"]);
-                string balanceId = Convert.ToString(userObj["balanceId"]);
-                string expireDateId = Convert.ToString(userObj["expireDateId"]);
-                string status = Convert.ToString(userObj["status"]);
-                string note = Convert.ToString(userObj["note"]);
-                string type = Convert.ToString(userObj["type"]);
-                string numberDisplay = Convert.ToString(userObj["numberDisplay"]);
-                string addType = Convert.ToString(userObj["addType"]);
-                string title = Convert.ToString(userObj["title"]);
-                string isDefault = Convert.ToString(userObj["isDefault"]);
-                string isMyservice = Convert.ToString(userObj["isMyservice"]);
-                string users = Convert.ToString(userObj["users"]);
-
-                if (string.IsNullOrEmpty(id)) id = "-1";
-                if (string.IsNullOrEmpty(type)) type = "0";
-                if (string.IsNullOrEmpty(numberDisplay)) numberDisplay = "1";
-                if (string.IsNullOrEmpty(addType)) addType = "1";
-                if (string.IsNullOrEmpty(users)) users = "-1";
-
-                string language;
-                if (!CheckWebToken(userObj, response, out language))
-                {
-                    logger.Info("hiddenCamUpdate response : " + response.ToString());
-                    return Ok(response);
-                }
 
-                DataSet ds_regist = balanceDataAccess.hiddenCamUpdate(id, code, name, fromDate, toDate, fromHour, toHour, rule,
-                    priority, balanceId, expireDateId, status, note, users, type, numberDisplay, addType, title, isDefault, isMyservice);
-                logger.Info("Call database hiddenCamUpdate success:");
-                if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
-                {
-                    response.responseCode = ds_regist.Tables[0].Rows[0]["status"].ToString();
-                    response.responseMessage = ds_regist.Tables[0].Rows[0]["msg"].ToString();
-                }
-                else
-                {
-                    response.responseCode = "-1";
-                    response.responseMessage = "Err unknow";
-                }
-            }
-            catch (Exception ex)
-            {
-                logger.Info("exception: " + ex.ToString());
-                response.responseCode = "-2";
-                response.responseMessage = "System upgrade";
-            }
-            logger.Info("Responase to web: " + response.ToString());
-            return Ok(response);
-        }
 
 
 
@@ -5396,54 +5145,7 @@ namespace ApiProcess.Controllers
             return Ok(response);
         }
 
-        [HttpPost]
-        public IActionResult hiddenCamCopy([FromBody] dynamic sendData)
-        {
-            logger.Info("New request income hiddenCamCopy :" + sendData.ToString());
-            campaignInsert response = new campaignInsert();
-            response.responseCode = "-1";
-            response.responseMessage = "Err unknow";
 
-            try
-            {
-                var userObj = JObject.Parse(sendData.ToString());
-                string id = Convert.ToString(userObj["id"]);
-                string users = Convert.ToString(userObj["users"]);
-
-                if (string.IsNullOrEmpty(id)) id = "-1";
-                if (string.IsNullOrEmpty(users)) users = "-1";
-
-                string language;
-                if (!CheckWebToken(userObj, response, out language))
-                {
-                    logger.Info("hiddenCamCopy response : " + response.ToString());
-                    return Ok(response);
-                }
-
-                DataSet ds_regist = balanceDataAccess.hiddenCamCopy(id);
-                logger.Info("Call database hiddenCamCopy success:");
-
-                if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
-                {
-                    response.responseCode = ds_regist.Tables[0].Rows[0]["status"].ToString();
-                    response.responseMessage = ds_regist.Tables[0].Rows[0]["msg"].ToString();
-                    response.id = ds_regist.Tables[0].Rows[0]["id"].ToString();
-                }
-                else
-                {
-                    response.responseCode = "-1";
-                    response.responseMessage = "Err unknow";
-                }
-            }
-            catch (Exception ex)
-            {
-                logger.Info("exception: " + ex.ToString());
-                response.responseCode = "-2";
-                response.responseMessage = "System upgrade";
-            }
-            logger.Info("Responase to web: " + response.ToString());
-            return Ok(response);
-        }
 
 
 

+ 6 - 219
ApiWeb/ApiProcessToken/Models/banlance/balanceDataAccess.cs

@@ -1,4 +1,4 @@
-using Oracle.ManagedDataAccess.Client;
+using Oracle.ManagedDataAccess.Client;
 using StackExchange.Redis;
 using System;
 using System.Collections.Generic;
@@ -1506,7 +1506,7 @@ namespace ResfullApi.Models.balance
 
             string str;
             str = "";
-            str = "BALANCE_PKG.CAM_NOT_HIDDEN_GET";
+            str = "BALANCE_PKG.CAM_GET";
             OracleParameter[] parms;
             parms = new OracleParameter[]
                             {
@@ -1542,49 +1542,7 @@ namespace ResfullApi.Models.balance
             return DataAccess.getDataFromProcedure(str, "", parms);
         }
 
-        public static DataSet hiddenCamGetList(string v_id, string v_users, string v_name, string v_code, string v_fromDate, string v_toDate
-            , string v_order, string v_rowsOnPage, string v_seqPage, string v_status, string isDefault, string isMyservice)
-        {
-            return camGetListByProcedure("BALANCE_PKG.HIDDEN_CAM_GET", v_id, v_users, v_name, v_code, v_fromDate, v_toDate,
-                v_order, v_rowsOnPage, v_seqPage, v_status, isDefault, isMyservice);
-        }
-
-        private static DataSet camGetListByProcedure(string str, string v_id, string v_users, string v_name, string v_code, string v_fromDate, string v_toDate
-            , string v_order, string v_rowsOnPage, string v_seqPage, string v_status, string isDefault, string isMyservice)
-        {
-            OracleParameter[] parms;
-            parms = new OracleParameter[]
-                            {
-
-                                new OracleParameter("v_id", OracleDbType.NVarchar2),
-                                new OracleParameter("v_users", OracleDbType.NVarchar2),
-                                new OracleParameter("v_name", OracleDbType.NVarchar2),
-                                new OracleParameter("v_code", OracleDbType.NVarchar2),
-                                new OracleParameter("v_fromDate", OracleDbType.NVarchar2),
-                                new OracleParameter("v_toDate", OracleDbType.NVarchar2),
 
-                                new OracleParameter("v_order", OracleDbType.NVarchar2),
-                                new OracleParameter("v_rowsOnPage", OracleDbType.NVarchar2),
-                                new OracleParameter("v_seqPage", OracleDbType.NVarchar2),
-                                new OracleParameter("v_status", OracleDbType.NVarchar2),
-                                new OracleParameter("v_isDefault", OracleDbType.NVarchar2),
-                                new OracleParameter("v_isMyservice", OracleDbType.NVarchar2),
-                                new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
-            };
-            parms[0].Value = v_id;
-            parms[1].Value = v_users;
-            parms[2].Value = v_name;
-            parms[3].Value = v_code;
-            parms[4].Value = v_fromDate;
-            parms[5].Value = v_toDate;
-            parms[6].Value = v_order;
-            parms[7].Value = v_rowsOnPage;
-            parms[8].Value = v_seqPage;
-            parms[9].Value = v_status;
-            parms[10].Value = isDefault;
-            parms[11].Value = isMyservice;
-            return DataAccess.getDataFromProcedure(str, "", parms);
-        }
 
         public static DataSet camGetListCalendar( string v_users, string v_fromDate, string v_toDate,string status)
         {
@@ -1677,95 +1635,7 @@ namespace ResfullApi.Models.balance
             return DataAccess.getDataFromProcedure(str, "", parms);
         }
 
-        public static DataSet hiddenChangeStatus(string v_type, string v_id, string v_status, string v_users)
-        {
-
-            string str;
-            str = "";
-            str = "BALANCE_PKG.HIDDEN_CHANGE_STATUS";
-            OracleParameter[] parms;
-            parms = new OracleParameter[]
-                            {
-
-                                new OracleParameter("v_type", OracleDbType.NVarchar2),
-                                new OracleParameter("v_id", OracleDbType.NVarchar2),
-                                new OracleParameter("v_status", OracleDbType.NVarchar2),
-                                new OracleParameter("v_users", OracleDbType.NVarchar2),
-
-
-
-                                new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
-            };
-            parms[0].Value = v_type;
-            parms[1].Value = v_id;
-            parms[2].Value = v_status;
-            parms[3].Value = v_users;
-
-
-            return DataAccess.getDataFromProcedure(str, "", parms);
-        }
-
-        public static DataSet hiddenCamInsert(string V_CODE, string V_NAME, string V_FROM_DATE,
-            string V_TO_DATE, string V_FROM_HOUR, string V_TO_HOUR, string V_RULE_ADD,
-             string V_PRIORITY, string V_BALANCE_ID, string V_EXPIRE_DATE_ID, string V_STATUS, string V_NOTE, string V_USERS, string V_NUMBERDIS, string addType, string title, string isDefault, string isMyservice)
-        {
-            return camInsertByProcedure("BALANCE_PKG.HIDDEN_CAM_INSERT", V_CODE, V_NAME, V_FROM_DATE, V_TO_DATE, V_FROM_HOUR, V_TO_HOUR,
-                V_RULE_ADD, V_PRIORITY, V_BALANCE_ID, V_EXPIRE_DATE_ID, V_STATUS, V_NOTE, V_USERS, V_NUMBERDIS, addType, title, isDefault, isMyservice);
-        }
-
-        private static DataSet camInsertByProcedure(string str, string V_CODE, string V_NAME, string V_FROM_DATE,
-            string V_TO_DATE, string V_FROM_HOUR, string V_TO_HOUR, string V_RULE_ADD,
-             string V_PRIORITY, string V_BALANCE_ID, string V_EXPIRE_DATE_ID, string V_STATUS, string V_NOTE, string V_USERS, string V_NUMBERDIS, string addType, string title, string isDefault, string isMyservice)
-        {
-            OracleParameter[] parms;
-            parms = new OracleParameter[]
-                            {
-
-                                new OracleParameter("V_CODE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_NAME", OracleDbType.NVarchar2),
-                                new OracleParameter("V_FROM_DATE", OracleDbType.NVarchar2),
 
-                                new OracleParameter("V_TO_DATE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_FROM_HOUR", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_TO_HOUR", OracleDbType.NVarchar2),
-                                new OracleParameter("V_RULE_ADD", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_PRIORITY", OracleDbType.NVarchar2),
-                                new OracleParameter("V_BALANCE_ID", OracleDbType.NVarchar2),
-                                new OracleParameter("V_EXPIRE_DATE_ID", OracleDbType.NVarchar2),
-                                new OracleParameter("V_STATUS", OracleDbType.NVarchar2),
-                                new OracleParameter("V_NOTE", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_USERS", OracleDbType.NVarchar2),
-                                new OracleParameter("V_DISPLAY", OracleDbType.NVarchar2),
-                                new OracleParameter("V_ADD_TYPE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_TITLE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_DEFAULT", OracleDbType.NVarchar2),
-                                new OracleParameter("V_MYSERVICE", OracleDbType.NVarchar2),
-                                new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
-            };
-            parms[0].Value = V_CODE;
-            parms[1].Value = V_NAME;
-            parms[2].Value = V_FROM_DATE;
-            parms[3].Value = V_TO_DATE;
-            parms[4].Value = V_FROM_HOUR;
-            parms[5].Value = V_TO_HOUR;
-            parms[6].Value = V_RULE_ADD;
-            parms[7].Value = V_PRIORITY;
-            parms[8].Value = V_BALANCE_ID;
-            parms[9].Value = V_EXPIRE_DATE_ID;
-            parms[10].Value = V_STATUS;
-            parms[11].Value = V_NOTE;
-            parms[12].Value = V_USERS;
-            parms[13].Value = V_NUMBERDIS;
-            parms[14].Value = addType;
-            parms[15].Value = title;
-            parms[16].Value = isDefault;
-            parms[17].Value = isMyservice;
-
-            return DataAccess.getDataFromProcedure(str, "", parms);
-        }
 
 
 
@@ -1834,72 +1704,7 @@ namespace ResfullApi.Models.balance
             return DataAccess.getDataFromProcedure(str, "", parms);
         }
 
-        public static DataSet hiddenCamUpdate(string V_ID, string V_CODE, string V_NAME, string V_FROM_DATE,
-            string V_TO_DATE, string V_FROM_HOUR, string V_TO_HOUR, string V_RULE_ADD,
-             string V_PRIORITY, string V_BALANCE_ID, string V_EXPIRE_DATE_ID, string V_STATUS, string V_NOTE, string V_USERS, string V_TYPE, string DISPLAY, string addType, string title, string isDefault, string isMyService)
-        {
-            return camUpdateByProcedure("BALANCE_PKG.HIDDEN_CAM_UPDATE", V_ID, V_CODE, V_NAME, V_FROM_DATE, V_TO_DATE, V_FROM_HOUR, V_TO_HOUR,
-                V_RULE_ADD, V_PRIORITY, V_BALANCE_ID, V_EXPIRE_DATE_ID, V_STATUS, V_NOTE, V_USERS, V_TYPE, DISPLAY, addType, title, isDefault, isMyService);
-        }
-
-        private static DataSet camUpdateByProcedure(string str, string V_ID, string V_CODE, string V_NAME, string V_FROM_DATE,
-            string V_TO_DATE, string V_FROM_HOUR, string V_TO_HOUR, string V_RULE_ADD,
-             string V_PRIORITY, string V_BALANCE_ID, string V_EXPIRE_DATE_ID, string V_STATUS, string V_NOTE, string V_USERS, string V_TYPE, string DISPLAY, string addType, string title, string isDefault, string isMyService)
-        {
-            OracleParameter[] parms;
-            parms = new OracleParameter[]
-                            {
-                                new OracleParameter("V_ID", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_CODE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_NAME", OracleDbType.NVarchar2),
-                                new OracleParameter("V_FROM_DATE", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_TO_DATE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_FROM_HOUR", OracleDbType.NVarchar2),
 
-                                new OracleParameter("V_TO_HOUR", OracleDbType.NVarchar2),
-                                new OracleParameter("V_RULE_ADD", OracleDbType.NVarchar2),
-
-                                new OracleParameter("V_PRIORITY", OracleDbType.NVarchar2),
-                                new OracleParameter("V_BALANCE_ID", OracleDbType.NVarchar2),
-                                new OracleParameter("V_EXPIRE_DATE_ID", OracleDbType.NVarchar2),
-                                new OracleParameter("V_STATUS", OracleDbType.NVarchar2),
-                                new OracleParameter("V_NOTE", OracleDbType.NVarchar2),
-
-
-                                new OracleParameter("V_USERS", OracleDbType.NVarchar2),
-                                new OracleParameter("V_TYPE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_DISPLAY", OracleDbType.NVarchar2),
-                                new OracleParameter("V_ADD_TYPE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_TITLE", OracleDbType.NVarchar2),
-                                new OracleParameter("V_DEFAULT", OracleDbType.NVarchar2),
-                                new OracleParameter("V_MYSERVICE", OracleDbType.NVarchar2),
-                                new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
-            };
-            parms[0].Value = V_ID;
-            parms[1].Value = V_CODE;
-            parms[2].Value = V_NAME;
-            parms[3].Value = V_FROM_DATE;
-            parms[4].Value = V_TO_DATE;
-            parms[5].Value = V_FROM_HOUR;
-            parms[6].Value = V_TO_HOUR;
-            parms[7].Value = V_RULE_ADD;
-            parms[8].Value = V_PRIORITY;
-            parms[9].Value = V_BALANCE_ID;
-            parms[10].Value = V_EXPIRE_DATE_ID;
-            parms[11].Value = V_STATUS;
-            parms[12].Value = V_NOTE;
-            parms[13].Value = V_USERS;
-            parms[14].Value = V_TYPE;
-            parms[15].Value = DISPLAY;
-            parms[16].Value = addType;
-            parms[17].Value = title;
-            parms[18].Value = isDefault;
-            parms[19].Value = isMyService;
-
-            return DataAccess.getDataFromProcedure(str, "", parms);
-        }
 
 
 
@@ -1923,25 +1728,7 @@ namespace ResfullApi.Models.balance
             return DataAccess.getDataFromProcedure(str, "", parms);
         }
 
-        public static DataSet hiddenCamCopy(string id)
-        {
 
-            string str;
-            str = "";
-            str = "BALANCE_PKG.HIDDEN_CAM_COPY";
-            OracleParameter[] parms;
-            parms = new OracleParameter[]
-                            {
-
-                                new OracleParameter("v_id", OracleDbType.NVarchar2),
-
-                                new OracleParameter("P_RESULT",OracleDbType.RefCursor,ParameterDirection.Output),
-            };
-            parms[0].Value = id;
-
-
-            return DataAccess.getDataFromProcedure(str, "", parms);
-        }
 
 
         public static DataSet camBalGetList(string v_id, string v_users, string v_campaignId, string v_fromDate, string v_toDate
@@ -3243,7 +3030,7 @@ namespace ResfullApi.Models.balance
 				}
 				
 				// Build WHERE clause
-				string whereClause = "WHERE TRUNC(REPORT_DATE, 'HH') >= TRUNC(:startDate, 'HH') AND TRUNC(REPORT_DATE, 'HH') <= TRUNC(:endDate, 'HH') AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)";
+				string whereClause = "WHERE TRUNC(REPORT_DATE, 'HH') >= TRUNC(:startDate, 'HH') AND TRUNC(REPORT_DATE, 'HH') <= TRUNC(:endDate, 'HH')  ";
 				
 				if (!string.IsNullOrEmpty(v_campaignId) && v_campaignId != "-1" && v_campaignId != "All")
 				{
@@ -3319,7 +3106,7 @@ namespace ResfullApi.Models.balance
 				dbConnection.Open();
 				
 				// Build WHERE clause
-				string whereClause = "WHERE 1=1 AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)";
+				string whereClause = "WHERE 1=1  ";
 				
 				if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1")
 				{
@@ -3403,7 +3190,7 @@ namespace ResfullApi.Models.balance
 			{
 				dbConnection.Open();
 
-				string whereClause = "WHERE 1=1 AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)";
+				string whereClause = "WHERE 1=1  ";
 
 				if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1")
 				{
@@ -3494,7 +3281,7 @@ namespace ResfullApi.Models.balance
 			{
 				dbConnection.Open();
 
-				string whereClause = "WHERE 1=1 AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)";
+				string whereClause = "WHERE 1=1  ";
 
 				if (!string.IsNullOrEmpty(v_fromDate) && v_fromDate != "-1")
 				{

+ 1 - 78
ApiWeb/ApiProcessToken/Models/banlance/getListCommon.cs

@@ -1,4 +1,4 @@
-using ApiProcess.Models.balance;
+using ApiProcess.Models.balance;
 using CommonObj.common;
 using CommonObj.model;
 using ResfullApi.Models.balance;
@@ -111,84 +111,7 @@ namespace ApiProcessToken.Models.banlance
             return _result;
         }
 
-        public static List<campaignObj> getListHiddenCam(string id, string users, string name, string code, string fromDate, string toDate
-            , string order, string rowsOnPage, string seqPage, string status, out string _rowsOnPage, out string _seqPage, out string _totalPage, string isDefault, string isMyservice)
-        {
-            string v1, v2, v3;
-            _rowsOnPage = rowsOnPage;
-            _seqPage = seqPage;
-            _totalPage = "100";
-            List<campaignObj> _result = new List<campaignObj>();
-            try
-            {
-                DataSet ds_regist = balanceDataAccess.hiddenCamGetList(id, users, name, code, fromDate, toDate, order, rowsOnPage, seqPage, status, isDefault, isMyservice);
-                if (ds_regist != null & ds_regist.Tables[0].Rows.Count > 0)
-                {
-                    _rowsOnPage = ds_regist.Tables[0].Rows[0]["ROW_ON_PAGE"].ToString();
-                    _seqPage = ds_regist.Tables[0].Rows[0]["SEQ_PAGE"].ToString();
-                    _totalPage = ds_regist.Tables[0].Rows[0]["TOTAL_PAGE"].ToString();
-
-                    for (int j = 0; j < ds_regist.Tables[0].Rows.Count; j++)
-                    {
-                        campaignObj _obj = new campaignObj();
-
-                        _obj.id = ds_regist.Tables[0].Rows[j]["ID"].ToString();
-                        _obj.code = ds_regist.Tables[0].Rows[j]["CODE"].ToString();
-                        _obj.name = ds_regist.Tables[0].Rows[j]["NAME"].ToString();
-                        _obj.fromDate = ds_regist.Tables[0].Rows[j]["FROM_DATE"].ToString();
-                        _obj.toDate = ds_regist.Tables[0].Rows[j]["TO_DATE"].ToString();
-                        _obj.fromHour = ds_regist.Tables[0].Rows[j]["FROM_HOUR"].ToString();
-
-                        _obj.toHour = ds_regist.Tables[0].Rows[j]["TO_HOUR"].ToString();
-                        _obj.rule = ds_regist.Tables[0].Rows[j]["RULE_ADD"].ToString();
-
-                        _obj.priority = ds_regist.Tables[0].Rows[j]["PRIORITY"].ToString();
-                        _obj.balanceId = ds_regist.Tables[0].Rows[j]["BALANCE_ID"].ToString();
-                        _obj.expireDateId = ds_regist.Tables[0].Rows[j]["EXPIRE_DATE_ID"].ToString();
-                        _obj.status = ds_regist.Tables[0].Rows[j]["STATUS"].ToString();
-                        _obj.numberDisplay = ds_regist.Tables[0].Rows[j]["NUMBER_DISPLAY"].ToString();
-                        _obj.addType = ds_regist.Tables[0].Rows[j]["ADD_TYPE"].ToString();
-
-                        _obj.title = ds_regist.Tables[0].Rows[j]["TITLE"].ToString();
-                        _obj.isReload = ds_regist.Tables[0].Rows[j]["IS_RELOAD"].ToString();
-                        _obj.isDefault = ds_regist.Tables[0].Rows[j]["IS_DEFAULT"].ToString();
-                        _obj.isMyService = ds_regist.Tables[0].Rows[j]["IS_MYSERVICE"].ToString();
-
-                        _obj.usersCreated = ds_regist.Tables[0].Rows[j]["USERS_CREATED"].ToString();
-                        _obj.dateCreated = ds_regist.Tables[0].Rows[j]["DATE_CREATED"].ToString();
-                        _obj.usersUpdate = ds_regist.Tables[0].Rows[j]["USERS_UPDATE"].ToString();
-                        _obj.dateUpdate = ds_regist.Tables[0].Rows[j]["DATE_UPDATE"].ToString();
-
-                        _obj.listServiceMapCam = getListServiceOfCam("-1", users, _obj.id, fromDate
-                        , toDate, order, "100000", "1", "WEB",
-                        "EN", out v1, out v2, out v3);
-
-                        _obj.listBalanceMapCam = getListBalanceOfCam("-1", users, _obj.id, fromDate
-                        , toDate, order, "100000", "1", "WEB",
-                        "EN", out v1, out v2, out v3);
-
-                        _obj.listExpireMapCam = getListExpireOfCam("-1", users, _obj.id, fromDate
-                        , toDate, order, "100000", "1", "WEB",
-                        "EN", out v1, out v2, out v3);
 
-                        _obj.listShortCodeMapCam = getListShortCodeOfCam("-1", users, _obj.id, fromDate
-                        , toDate, order, "100000", "1", "WEB",
-                        "EN", out v1, out v2, out v3);
-
-                        _obj.listSubMapCam = getListSubOfCam("-1", users, _obj.id, fromDate
-                        , toDate, order, "100000", "1", "WEB",
-                        "EN", out v1, out v2, out v3);
-
-                        _result.Add(_obj);
-                    }
-                }
-            }
-            catch (Exception ex)
-            {
-
-            }
-            return _result;
-        }
 
 
 

+ 3970 - 0
MYTEL_BLANCE_BK_TEST.sql

@@ -0,0 +1,3970 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : BPlus_Mytel_test
+ Source Server Type    : Oracle
+ Source Server Version : 120200 (Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production)
+ Source Host           : 127.0.0.1:1539
+ Source Schema         : MYTEL_BLANCE
+
+ Target Server Type    : Oracle
+ Target Server Version : 120200
+ File Encoding         : 65001
+
+ Date: 09/10/2026 14:36:52
+*/
+
+
+-- ----------------------------
+-- Table structure for B_BANLANCE
+-- ----------------------------
+CREATE TABLE "B_BANLANCE" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CODE" VARCHAR2(255 BYTE) VISIBLE,
+  "NAME" NVARCHAR2(1000) VISIBLE,
+  "VMIN" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "VMAX" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "USERS_CREATED" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_ACTIVE" NUMBER(2,0) VISIBLE DEFAULT 1
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_BANLANCE
+-- ----------------------------
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('9', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-09 13:25:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('4', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-07 14:53:41', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('5', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-07 14:53:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('6', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-07 14:53:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('7', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-07 14:53:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('8', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2021-12-07 14:53:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('10', '124', 'Cty Viettech 1', '0', '5', 'note 1', 'quangbh', TO_DATE('2022-03-08 21:01:39', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('15', '-1', 'Tiêu chí test 1', '0', '1000', '-1', 'admin', TO_DATE('2025-03-17 11:09:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('25', '-1', 'Tiêu chí test', '1', '1', '-1', 'admin', TO_DATE('2025-04-03 15:15:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('16', '-1', 'Cty Viettech 1', '0', '5', '-1', 'admin', TO_DATE('2025-03-17 11:17:07', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('17', '-1', 'dfdsfsd', '-1', '-1', '-1', 'admin', TO_DATE('2025-03-17 11:21:46', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('18', '-1', 'tẻtyerter', '-1', '-1', '-1', 'admin', TO_DATE('2025-03-17 11:22:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('19', '-1', '-1', '-1', '-1', '-1', 'admin', TO_DATE('2025-03-18 21:22:57', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('20', '-1', 'Active', '1', '2', '-1', 'admin', TO_DATE('2025-03-19 15:55:08', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('21', '-1', 'Inactive', '0', '1', '-1', 'admin', TO_DATE('2025-03-19 15:56:08', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('22', '-1', 'dsasdf', '-1', '-1', '-1', 'admin', TO_DATE('2025-04-02 15:15:20', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('23', '-1', 'dfsdf', '1', '2', '-1', 'admin', TO_DATE('2025-04-02 15:16:55', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('24', '-1', '23', '23', '-1', '-1', 'admin', TO_DATE('2025-04-02 15:18:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('11', '123', 'Cty111111', '1000', '2000', '1234', 'admin', TO_DATE('2025-02-21 13:57:26', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-02-21 13:59:57', 'SYYYY-MM-DD HH24:MI:SS'), '0', '0');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('12', '123', 'Cty1', '-1', '-1', '1234', 'admin', TO_DATE('2025-02-24 11:05:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('13', '123', 'Cty1', '-1', '-1', '1234', 'admin', TO_DATE('2025-02-24 11:06:26', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('14', '123', 'Cty1', '-1', '-1', '1234', 'admin', TO_DATE('2025-02-24 11:06:35', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('26', '-1', 'Test Campaign Ẩn', '0', '499', '-1', 'admin', TO_DATE('2026-06-11 06:43:50', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('28', '-1', 'Campaign Thường Viettech', '170', '500000000', '-1', 'admin', TO_DATE('2026-06-11 06:44:59', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+INSERT INTO "B_BANLANCE" ("ID", "CODE", "NAME", "VMIN", "VMAX", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_DELETE", "IS_ACTIVE") VALUES ('27', '-1', 'Campaign Thường', '499', '500000000', '-1', 'admin', TO_DATE('2026-06-11 06:44:21', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '1');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_BLACKLIST
+-- ----------------------------
+CREATE TABLE "B_BLACKLIST" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "TYPE" NUMBER VISIBLE DEFAULT 0,
+  "SV_ID" NUMBER VISIBLE,
+  "VSYSDATE" DATE VISIBLE DEFAULT sysdate,
+  "USERS" VARCHAR2(100 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_BLACKLIST"."TYPE" IS '1= Nhan vien,2=Blacklist all,3=blacklist theo dich vu,4=whitelist theo dich vu';
+COMMENT ON COLUMN "B_BLACKLIST"."SV_ID" IS 'noi voi ID bang SERVICE_ADD';
+
+-- ----------------------------
+-- Records of B_BLACKLIST
+-- ----------------------------
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('18', '0915898241', '1', '-1', TO_DATE('2021-12-15 14:31:57', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('20', '0915898249', '2', '-1', TO_DATE('2021-12-15 14:32:01', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('21', '0915898241', '2', '-1', TO_DATE('2021-12-15 14:32:01', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('23', '0915898249', '3', '1', TO_DATE('2021-12-15 14:32:06', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('14', '0915898270', '1', '-1', TO_DATE('2021-12-15 13:53:47', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('15', '0915898241', '2', '-1', TO_DATE('2021-12-15 13:53:47', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('17', '0915898249', '1', '-1', TO_DATE('2021-12-15 14:31:57', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('24', '0915898241', '3', '1', TO_DATE('2021-12-15 14:32:06', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('25', '0915898242', '3', '1', TO_DATE('2021-12-15 14:32:06', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('29', '50940240715', '2', '-1', TO_DATE('2022-04-18 14:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('30', '50940240716', '2', '-1', TO_DATE('2022-04-18 14:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('31', '50940240717', '2', '-1', TO_DATE('2022-04-18 14:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('32', '50940240718', '2', '-1', TO_DATE('2022-04-18 14:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('33', '50940240719', '2', '-1', TO_DATE('2022-04-18 14:02:41', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('34', '50940240715', '2', '-1', TO_DATE('2022-04-18 14:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('35', '50940240716', '2', '-1', TO_DATE('2022-04-18 14:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('36', '50940240717', '2', '-1', TO_DATE('2022-04-18 14:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('37', '50940240718', '2', '-1', TO_DATE('2022-04-18 14:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('38', '50940240719', '2', '-1', TO_DATE('2022-04-18 14:05:14', 'SYYYY-MM-DD HH24:MI:SS'), '-1');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('49', '50940240716', '4', '18', TO_DATE('2022-04-18 14:41:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('50', '50940240717', '4', '18', TO_DATE('2022-04-18 14:41:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('51', '50940240718', '4', '18', TO_DATE('2022-04-18 14:41:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('48', '50940240715', '4', '18', TO_DATE('2022-04-18 14:41:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('52', '50940240719', '4', '18', TO_DATE('2022-04-18 14:41:32', 'SYYYY-MM-DD HH24:MI:SS'), 'admin');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('19', '0915898242', '2', '-1', TO_DATE('2021-12-15 14:31:57', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('22', '0915898242', '2', '-1', TO_DATE('2021-12-15 14:32:01', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('16', '0915898242', '2', '-1', TO_DATE('2021-12-15 13:53:47', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('26', '0915898249', '4', '1', TO_DATE('2021-12-15 14:32:09', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('27', '0915898241', '4', '1', TO_DATE('2021-12-15 14:32:09', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+INSERT INTO "B_BLACKLIST" ("ID", "MSISDN", "TYPE", "SV_ID", "VSYSDATE", "USERS") VALUES ('28', '0915898242', '4', '1', TO_DATE('2021-12-15 14:32:09', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CODE" VARCHAR2(500 BYTE) VISIBLE,
+  "NAME" NVARCHAR2(2000) VISIBLE,
+  "FROM_DATE" DATE VISIBLE,
+  "TO_DATE" DATE VISIBLE,
+  "FROM_HOUR" VARCHAR2(100 BYTE) VISIBLE,
+  "TO_HOUR" VARCHAR2(100 BYTE) VISIBLE,
+  "RULE_ADD" NUMBER(5,0) VISIBLE DEFAULT 1,
+  "PRIORITY" NUMBER(2,0) VISIBLE DEFAULT 0 NOT NULL,
+  "BALANCE_ID" NUMBER(5,0) VISIBLE,
+  "EXPIRE_DATE_ID" NUMBER(5,0) VISIBLE,
+  "STATUS" NUMBER VISIBLE DEFAULT 0 NOT NULL,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "USERS_CREATED" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NUMBER_DISPLAY" NUMBER(10,0) VISIBLE DEFAULT 1,
+  "ADD_TYPE" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "IS_ACTIVE" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TITLE" NVARCHAR2(1000) VISIBLE,
+  "IS_RELOAD" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_DEFAULT" NUMBER(2,0) VISIBLE DEFAULT 0 NOT NULL,
+  "IS_MYSERVICE" NUMBER(2,0) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_CAMPAIGN"."RULE_ADD" IS '1=circle by service,2= by display of service';
+COMMENT ON COLUMN "B_CAMPAIGN"."PRIORITY" IS 'Do uu tien';
+COMMENT ON COLUMN "B_CAMPAIGN"."STATUS" IS '0=draft(nhap),1=Archived(thung rac),7=deleted(xoa luon khoi he thong),2=Pending(sau khi duyet job se chuyen len 3),3=Running,4=Complated,5=Pause,6=Close';
+COMMENT ON COLUMN "B_CAMPAIGN"."NUMBER_DISPLAY" IS 'so lan hien thiacampaign';
+COMMENT ON COLUMN "B_CAMPAIGN"."ADD_TYPE" IS '1=not press,2=press1 for register 1 step,3= press for register 2 step';
+COMMENT ON COLUMN "B_CAMPAIGN"."IS_ACTIVE" IS '1=actvie,0=ko acitve';
+COMMENT ON COLUMN "B_CAMPAIGN"."IS_DELETE" IS '0= ko delte,1=delete';
+COMMENT ON COLUMN "B_CAMPAIGN"."IS_RELOAD" IS '0=ko reload,1=reload';
+COMMENT ON COLUMN "B_CAMPAIGN"."IS_DEFAULT" IS '0=la ko phai default,1=default';
+COMMENT ON COLUMN "B_CAMPAIGN"."IS_MYSERVICE" IS 'Khong su dung, vi dang dung rong my_service cua service;0=Mytel,1=Viette';
+
+-- ----------------------------
+-- Records of B_CAMPAIGN
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('11', '124', 'Cty Viettech 1', TO_DATE('2021-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '08:08:09', '01:09:08', '1', '1', '1', '1', '1', '123456', 'haha', TO_DATE('2022-04-13 13:09:22', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '2', '1', '1', '0', NULL, '0', '0', '0');
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('12', '-1', NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, '4', NULL, 'admin', TO_DATE('2022-04-14 09:49:49', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1', '1', '0', NULL, '0', '0', '0');
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('13', '-1', NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, '4', NULL, 'admin', TO_DATE('2022-04-14 09:50:48', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1', '1', '0', NULL, '0', '0', '0');
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('14', '-1', 'test 2', TO_DATE('2022-04-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-04-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '06:23', NULL, '1', '1', NULL, NULL, '4', NULL, 'admin', TO_DATE('2022-04-14 09:55:11', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1', '1', '0', NULL, '0', '0', '0');
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('15', '-1', NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, '6', NULL, 'admin', TO_DATE('2022-04-14 09:58:06', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-04-14 13:22:59', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '1', '0', NULL, '0', '0', '0');
+INSERT INTO "B_CAMPAIGN" ("ID", "CODE", "NAME", "FROM_DATE", "TO_DATE", "FROM_HOUR", "TO_HOUR", "RULE_ADD", "PRIORITY", "BALANCE_ID", "EXPIRE_DATE_ID", "STATUS", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NUMBER_DISPLAY", "ADD_TYPE", "IS_ACTIVE", "IS_DELETE", "TITLE", "IS_RELOAD", "IS_DEFAULT", "IS_MYSERVICE") VALUES ('16', NULL, 'test 22', TO_DATE('2022-04-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-04-15 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '07:34', NULL, '1', '1', NULL, NULL, '4', NULL, 'admin', TO_DATE('2022-04-14 10:05:28', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2022-04-19 15:54:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', '1', '1', '0', NULL, '0', '0', '0');
+
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_ADD
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_ADD" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "SERVICE_ADD_ID" NUMBER(20,0) VISIBLE,
+  "USERS_CREATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "USSD_DISPLAY" VARCHAR2(255 BYTE) VISIBLE,
+  "KEY_REGISTER" NUMBER(2,0) VISIBLE DEFAULT 1
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_CAMPAIGN_ADD"."IS_DELETE" IS '0= not delete,1=delete';
+COMMENT ON COLUMN "B_CAMPAIGN_ADD"."KEY_REGISTER" IS '1';
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_ADD
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('98', '46', '21', 'admin', TO_DATE('2022-05-11 10:49:45', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', 'fhj
+', '-1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('116', '54', '19', 'admin', TO_DATE('2022-05-11 13:46:06', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '19 - FUNQUIZ', '2', '2');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('99', '47', '21', 'admin', TO_DATE('2022-05-11 11:05:05', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('101', '49', '21', 'admin', TO_DATE('2022-05-11 13:07:45', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '1
+', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('102', '50', '21', 'admin', TO_DATE('2022-05-11 13:08:06', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '1
+1. Goi so 2', '-1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('103', '51', '21', 'admin', TO_DATE('2022-05-11 13:08:33', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '123
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('104', '52', '21', 'admin', TO_DATE('2022-05-11 13:08:54', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '1
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('105', '53', '21', 'admin', TO_DATE('2022-05-11 13:11:59', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '12345
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('106', '48', '21', 'admin', TO_DATE('2022-05-11 13:16:09', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', '12
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('115', '54', '21', 'admin', TO_DATE('2022-05-11 13:46:06', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', 'Ok google
+1. data', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('117', '55', '21', 'admin', TO_DATE('2022-05-13 06:06:58', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', 'CP 1305
+1. Goi so 2', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('118', '56', '22', 'admin', TO_DATE('2025-02-13 10:39:29', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '22 - DATA', 'Chao cac ban, moi dang ky:
+sdfsd', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('208', '94', '31', 'admin', TO_DATE('2025-04-03 11:12:41', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '31 - Happy Call', 'HAPPY CALL (10cent/day)', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('123', '57', '6', 'admin', TO_DATE('2025-02-13 15:41:11', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '6 - Cty Viettech 1', '2. DATA 2', '2');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('124', '58', '22', 'admin', TO_DATE('2025-02-19 01:02:25', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '22 - DATA', '1
+1', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('122', '57', '22', 'admin', TO_DATE('2025-02-13 15:41:11', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '22 - DATA', 'Vui long dang ky dich vu:
+1. DATA 1', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('126', '59', '21', 'admin', TO_DATE('2025-02-19 01:39:55', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '21 - Huong Test 2', 'e
+', '-1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('127', '60', '10', 'admin', TO_DATE('2025-02-20 11:16:54', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '10 - test 2', 'Moi ban dang ký
+Test1', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('128', '60', '20', 'admin', TO_DATE('2025-02-20 11:16:54', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '20 - gai so 2', 'Test2', '2');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('206', '93', '31', 'admin', TO_DATE('2025-04-03 11:11:25', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '31 - Happy Call', 'HAPPY CALL (10cent/day)', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('207', '93', '32', 'admin', TO_DATE('2025-04-03 11:11:25', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'MILLION (10 cent/day)', '2');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('209', '94', '32', 'admin', TO_DATE('2025-04-03 11:12:41', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'MILLION (10 cent/day)', '2');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('214', '98', '32', 'admin', TO_DATE('2025-04-03 14:40:54', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'test', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('212', '100', '32', 'admin', TO_DATE('2025-04-03 14:37:30', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'MILLION (10 cent/day)', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('213', '99', '32', 'admin', TO_DATE('2025-04-03 14:40:41', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'MILLION (10 cent/day)', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('216', '101', '32', 'admin', TO_DATE('2025-04-03 15:05:02', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '32 - MILLION', 'd', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('227', '107', '33', 'admin', TO_DATE('2025-05-12 10:33:04', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '33 - KARAIDOL_COPOP', '1. KARA IDOL', '1');
+INSERT INTO "B_CAMPAIGN_ADD" ("ID", "CAMPAIGN_ID", "SERVICE_ADD_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "USSD_DISPLAY", "KEY_REGISTER") VALUES ('229', '108', '33', 'user_vas', TO_DATE('2025-05-12 10:58:21', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '33 - KARAIDOL_COPOP', 'Kanta Karaoke ho Jenre Pop rihun resin ho dadus Gratis. No sorte bele hetan premiu too $250. Bolu *154*1# ou Hanehan 1.', '1');
+
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_BALANCE
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_BALANCE" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "BALANCE_ID" NUMBER(20,0) VISIBLE,
+  "USERS_CREATE" VARCHAR2(200 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "IS_DELETE" NUMBER VISIBLE DEFAULT 0,
+  "USERS_UPDATE" VARCHAR2(200 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_CAMPAIGN_BALANCE"."IS_DELETE" IS '0= not delete,1=delete';
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_BALANCE
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN_BALANCE" ("ID", "CAMPAIGN_ID", "BALANCE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('141', '102', '15', 'admin', TO_DATE('2025-04-04 15:22:19', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_BALANCE" ("ID", "CAMPAIGN_ID", "BALANCE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('142', '103', '4', 'admin', TO_DATE('2025-04-04 15:50:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_BALANCE" ("ID", "CAMPAIGN_ID", "BALANCE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('181', '106', '4', 'user_vas', TO_DATE('2025-05-05 16:15:36', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_BALANCE" ("ID", "CAMPAIGN_ID", "BALANCE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('161', '105', '4', 'admin', TO_DATE('2025-04-04 15:50:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_BALANCE" ("ID", "CAMPAIGN_ID", "BALANCE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('93', '71', '4', 'admin', TO_DATE('2025-03-17 14:33:57', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_EXP
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_EXP" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "EXPIRE_ID" NUMBER(20,0) VISIBLE,
+  "USERS_CREATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "IS_DELETE" NUMBER(2,0) VISIBLE,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_EXP
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN_EXP" ("ID", "CAMPAIGN_ID", "EXPIRE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('161', '102', '3', 'admin', TO_DATE('2025-04-04 15:22:20', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_EXP" ("ID", "CAMPAIGN_ID", "EXPIRE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('162', '103', '1', 'admin', TO_DATE('2025-04-04 15:50:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_EXP" ("ID", "CAMPAIGN_ID", "EXPIRE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('201', '106', '1', 'user_vas', TO_DATE('2025-05-05 16:15:36', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_EXP" ("ID", "CAMPAIGN_ID", "EXPIRE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('1', '11', '4', 'admin', TO_DATE('2025-02-22 21:57:45', 'SYYYY-MM-DD HH24:MI:SS'), '1', NULL, NULL, '11233');
+INSERT INTO "B_CAMPAIGN_EXP" ("ID", "CAMPAIGN_ID", "EXPIRE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('2', '11', '6', 'admin', TO_DATE('2025-02-22 21:58:21', 'SYYYY-MM-DD HH24:MI:SS'), '0', 'admin', TO_DATE('2025-02-22 23:13:59', 'SYYYY-MM-DD HH24:MI:SS'), '11233');
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_SHORTCODE
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_SHORTCODE" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "SHORT_CODE_ID" NUMBER(20,0) VISIBLE,
+  "USERS_CREATE" VARCHAR2(300 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "USERS_UPDATE" VARCHAR2(300 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_SHORTCODE
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('181', '102', '1', 'admin', TO_DATE('2025-04-04 15:22:20', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('182', '103', '1', 'admin', TO_DATE('2025-04-04 15:50:24', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('201', '104', '2', 'admin', TO_DATE('2025-04-08 13:55:13', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('241', '106', '1', 'user_vas', TO_DATE('2025-05-05 16:15:36', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('161', '93', '1', 'admin', TO_DATE('2025-04-03 11:11:25', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SHORTCODE" ("ID", "CAMPAIGN_ID", "SHORT_CODE_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('162', '94', '1', 'admin', TO_DATE('2025-04-03 11:12:41', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_SUB
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_SUB" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "LIST_SUB_ID" NUMBER(20,0) VISIBLE,
+  "USERS_CREATE" VARCHAR2(200 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "IS_DELETE" NUMBER VISIBLE DEFAULT 0,
+  "USERS_UPDATE" VARCHAR2(200 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_CAMPAIGN_SUB"."IS_DELETE" IS '0= not delete,1=delete';
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_SUB
+-- ----------------------------
+INSERT INTO "B_CAMPAIGN_SUB" ("ID", "CAMPAIGN_ID", "LIST_SUB_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('121', '102', '1', 'admin', TO_DATE('2025-04-04 15:22:20', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SUB" ("ID", "CAMPAIGN_ID", "LIST_SUB_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('141', '106', '1', 'user_vas', TO_DATE('2025-05-05 16:15:37', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SUB" ("ID", "CAMPAIGN_ID", "LIST_SUB_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('21', '67', '2', 'admin', TO_DATE('2025-03-11 14:27:41', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, '11233');
+INSERT INTO "B_CAMPAIGN_SUB" ("ID", "CAMPAIGN_ID", "LIST_SUB_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('73', '71', '1', 'admin', TO_DATE('2025-03-17 14:33:57', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+INSERT INTO "B_CAMPAIGN_SUB" ("ID", "CAMPAIGN_ID", "LIST_SUB_ID", "USERS_CREATE", "DATE_CREATED", "IS_DELETE", "USERS_UPDATE", "DATE_UPDATE", "NOTE") VALUES ('74', '71', '2', 'admin', TO_DATE('2025-03-17 14:33:57', 'SYYYY-MM-DD HH24:MI:SS'), '0', NULL, NULL, NULL);
+
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_CAMPAIGN_SYN
+-- ----------------------------
+CREATE TABLE "B_CAMPAIGN_SYN" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "TYPE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "STATUS" VARCHAR2(20 BYTE) VISIBLE DEFAULT 0,
+  "CREATE_DATE" DATE VISIBLE DEFAULT sysdate,
+  "BLOCK_ID" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "IS_DEFAULT" NUMBER(2,0) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_CAMPAIGN_SYN"."TYPE" IS '0=Delete cam,1=Add new cam;2 delete data white';
+COMMENT ON COLUMN "B_CAMPAIGN_SYN"."STATUS" IS '0=bat dau,1 trung gian,';
+COMMENT ON COLUMN "B_CAMPAIGN_SYN"."IS_DEFAULT" IS '0=running,1=default';
+
+-- ----------------------------
+-- Records of B_CAMPAIGN_SYN
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_COMPANY
+-- ----------------------------
+CREATE TABLE "B_COMPANY" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CODE" VARCHAR2(255 BYTE) VISIBLE,
+  "NAME" NVARCHAR2(2000) VISIBLE,
+  "PHONE" NVARCHAR2(1000) VISIBLE,
+  "EMAIL" NVARCHAR2(2000) VISIBLE,
+  "ADDRESS" NVARCHAR2(2000) VISIBLE,
+  "DESCRIPTION" NVARCHAR2(2000) VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "USERS_CREATED" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "IS_ACTIVE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_COMPANY
+-- ----------------------------
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('4', '124', 'Cty Viettech 1', '0961423229', 'quangbh@gmail.com', '-1', 'Mo ta', 'note 1', 'quangbh', TO_DATE('2021-12-09 13:12:14', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('2', '124', 'Cty Viettech New', '0961423229', 'quangbh@gmail.com', '-1', 'Mo ta', 'note 1', 'quangbh', TO_DATE('2021-11-29 09:55:58', 'SYYYY-MM-DD HH24:MI:SS'), 'quangbh', TO_DATE('2022-03-08 20:59:07', 'SYYYY-MM-DD HH24:MI:SS'), '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('3', '124', 'Cty Viettech 1', '0961423229', 'quangbh@gmail.com', '-1', 'Mo ta', 'note 1', 'quangbh', TO_DATE('2021-11-29 09:58:04', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('5', '124', 'Cty Viettech 1', '0961423229', 'quangbh@gmail.com', '-1', 'Mo ta', 'note 1', 'quangbh', TO_DATE('2022-03-08 21:00:04', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('6', '123', 'Cty112345', '0961423227', '123@gmail.com', '26 BT1 Linh Dam', 'Cty viettech', '1234', 'admin', TO_DATE('2025-02-21 13:47:07', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-02-21 13:51:15', 'SYYYY-MM-DD HH24:MI:SS'), '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('8', '123', 'Cty1', '-1', '-1', '-1', '0961423227', '1234', 'admin', TO_DATE('2025-02-21 23:33:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('9', '123', 'Cty1', '-1', '-1', '-1', '0961423227', '1234', 'admin', TO_DATE('2025-02-21 23:33:45', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('10', '123', 'Cty1', '-1', '-1', '-1', '0961423227', '1234', 'admin', TO_DATE('2025-02-21 23:34:13', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('11', '123', 'Cty1', '-1', '-1', '-1', '0961423227', '1234', 'admin', TO_DATE('2025-02-21 23:34:26', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+INSERT INTO "B_COMPANY" ("ID", "CODE", "NAME", "PHONE", "EMAIL", "ADDRESS", "DESCRIPTION", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "IS_ACTIVE", "IS_DELETE") VALUES ('12', '123', 'Cty1', '-1', '-1', '-1', '0961423227', '1234', 'admin', TO_DATE('2025-02-21 23:35:54', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_EXPIRE_DATE
+-- ----------------------------
+CREATE TABLE "B_EXPIRE_DATE" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "CODE" VARCHAR2(255 BYTE) VISIBLE,
+  "NAME" NVARCHAR2(1000) VISIBLE,
+  "TOTAL_DAY_USE" NUMBER(20,0) VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "USERS_CREATED" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "USERS_UPDATE" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "VMIN" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "VMAX" NUMBER(20,0) VISIBLE DEFAULT 10000,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_ACTIVE" NUMBER(2,0) VISIBLE DEFAULT 1
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_EXPIRE_DATE
+-- ----------------------------
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('3', '124', 'Cty Viettech 1', '0', 'note 1', 'quangbh', TO_DATE('2021-12-09 13:31:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '20', '0', '0');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('1', '-1', 'Gkaka', '-1', '-1', 'quangbh', TO_DATE('2021-11-29 15:13:28', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-13 14:22:05', 'SYYYY-MM-DD HH24:MI:SS'), '0', '100000', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('4', '124', 'Cty Viettech 1', '0', 'note 1', 'quangbh', TO_DATE('2022-03-08 21:04:12', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '0', '100000', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('8', '123', 'Cty1', '123', '1234', 'admin', TO_DATE('2025-02-27 21:15:14', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1000', '2000', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('10', '-1', 'Active', '-1', '-1', 'admin', TO_DATE('2025-03-19 15:56:49', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('11', '-1', 'Inactive', '-1', '-1', 'admin', TO_DATE('2025-03-19 15:57:14', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1', '1', '0', '0');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('6', '123', 'Cty1', '123', '1234', 'admin', TO_DATE('2025-02-21 14:06:28', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1000', '2000', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('7', '123', 'Cty1', '123', '1234', 'admin', TO_DATE('2025-02-26 11:12:53', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1000', '2000', '0', '1');
+INSERT INTO "B_EXPIRE_DATE" ("ID", "CODE", "NAME", "TOTAL_DAY_USE", "NOTE", "USERS_CREATED", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "VMIN", "VMAX", "IS_DELETE", "IS_ACTIVE") VALUES ('9', '123', 'Cty1', '123', '1234', 'admin', TO_DATE('2025-03-13 11:25:57', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1000', '2000', '0', '1');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_HISTORY
+-- ----------------------------
+CREATE TABLE "B_HISTORY" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "REQUEST_ID" VARCHAR2(255 BYTE) VISIBLE,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "MSG_TYPE" VARCHAR2(100 BYTE) VISIBLE,
+  "CAMPAIGN_ID" NUMBER(20,0) VISIBLE,
+  "SERVICE_REGISTER_ID" NUMBER(10,0) VISIBLE,
+  "TOTAL_CLICK" NUMBER(10,0) VISIBLE DEFAULT 0,
+  "IS_REGISTER" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_DEFAULT" NUMBER(2,0) VISIBLE,
+  "CAMPAIGN_TYPE" NUMBER(2,0) VISIBLE DEFAULT 2,
+  "SERVICE1_ID" NUMBER(10,0) VISIBLE,
+  "SERVICE2_ID" NUMBER(10,0) VISIBLE,
+  "DATE_CREATE" DATE VISIBLE DEFAULT sysdate,
+  "DATE_UPDATE1" DATE VISIBLE,
+  "DATE_UPDATE2" DATE VISIBLE,
+  "REGITER_ERR" VARCHAR2(100 BYTE) VISIBLE,
+  "REGISTER_MSG" NVARCHAR2(1000) VISIBLE,
+  "MSG" NVARCHAR2(1000) VISIBLE,
+  "BIZ0_UPDATE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "BIZ0_KEY" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ0_CONTENT" NVARCHAR2(1000) VISIBLE DEFAULT 0,
+  "BIZ0_ERRCODE" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ1_UPDATE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "BIZ1_KEY" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ1_CONTENT" NVARCHAR2(1000) VISIBLE,
+  "BIZ1_ERRCODE" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ2_UPDATE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "BIZ2_KEY" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ2_CONTENT" NVARCHAR2(1000) VISIBLE,
+  "BIZ2_ERRCODE" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ3_UPDATE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "BIZ3_KEY" VARCHAR2(100 BYTE) VISIBLE,
+  "BIZ3_CONTENT" NVARCHAR2(1000) VISIBLE,
+  "BIZ3_ERRCODE" VARCHAR2(100 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_HISTORY"."IS_REGISTER" IS '0=chua dang ky,1= dang ky thanh cong';
+COMMENT ON COLUMN "B_HISTORY"."IS_DEFAULT" IS '0=ko default, 1= default';
+COMMENT ON COLUMN "B_HISTORY"."CAMPAIGN_TYPE" IS '1=not press,2=press1 for register 1 step,3= press for register 2 step';
+COMMENT ON COLUMN "B_HISTORY"."BIZ0_UPDATE" IS '0=chua up, 1=up roi';
+
+-- ----------------------------
+-- Records of B_HISTORY
+-- ----------------------------
+INSERT INTO "B_HISTORY" ("ID", "REQUEST_ID", "MSISDN", "MSG_TYPE", "CAMPAIGN_ID", "SERVICE_REGISTER_ID", "TOTAL_CLICK", "IS_REGISTER", "IS_DEFAULT", "CAMPAIGN_TYPE", "SERVICE1_ID", "SERVICE2_ID", "DATE_CREATE", "DATE_UPDATE1", "DATE_UPDATE2", "REGITER_ERR", "REGISTER_MSG", "MSG", "BIZ0_UPDATE", "BIZ0_KEY", "BIZ0_CONTENT", "BIZ0_ERRCODE", "BIZ1_UPDATE", "BIZ1_KEY", "BIZ1_CONTENT", "BIZ1_ERRCODE", "BIZ2_UPDATE", "BIZ2_KEY", "BIZ2_CONTENT", "BIZ2_ERRCODE", "BIZ3_UPDATE", "BIZ3_KEY", "BIZ3_CONTENT", "BIZ3_ERRCODE") VALUES ('1635186', '6f218d47-2ad4-4321-8f44-10a96c8e05b1', '67012345678', '200', '92', NULL, '0', '0', '1', '92', '32', NULL, TO_DATE('2025-04-03 00:31:52', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, NULL, NULL, 'Test
MILLION (10 cent/day)', '0', NULL, '0', NULL, '0', NULL, NULL, NULL, '0', NULL, NULL, NULL, '0', NULL, NULL, NULL);
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_LIST_IMPORT_ERR
+-- ----------------------------
+CREATE TABLE "B_LIST_IMPORT_ERR" (
+  "LIST_SUB_ID" NUMBER(20,0) VISIBLE,
+  "LIST_SUB_FILE_ID" NUMBER(20,0) VISIBLE,
+  "TYPE" NUMBER(5,0) VISIBLE,
+  "MSISDN" VARCHAR2(500 BYTE) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE,
+  "ID" NUMBER(20,0) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_LIST_IMPORT_ERR
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_LIST_SUB
+-- ----------------------------
+CREATE TABLE "B_LIST_SUB" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "TYPE" NUMBER(5,0) VISIBLE DEFAULT 2,
+  "USERS_CREATED" NVARCHAR2(500) VISIBLE DEFAULT sysdate,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TOTAL_FILE" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "TOTAL_RECORD" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "TOTAL_SUCCESS" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "TOTAL_FALSE" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "CODE" NVARCHAR2(100) VISIBLE,
+  "NAME" NVARCHAR2(2000) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate,
+  "USERS_UPDATE" NVARCHAR2(500) VISIBLE,
+  "DATE_UPDATE" DATE VISIBLE,
+  "NOTE" NVARCHAR2(2000) VISIBLE,
+  "IS_DELETE" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "IS_ACTIVE" NUMBER(2,0) VISIBLE DEFAULT 1
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_LIST_SUB"."TYPE" IS '1=blacklust,2=whitelist,3=nhan vien';
+COMMENT ON COLUMN "B_LIST_SUB"."STATUS" IS '0=moi tao;1= dang upload,2=da upload xong;3=dang import file;4=Import file xong';
+
+-- ----------------------------
+-- Records of B_LIST_SUB
+-- ----------------------------
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('1', '1', 'admin', '4', '3', '9', '8', '1', '123', 'Cty1', TO_DATE('2025-02-24 11:12:18', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1234', '0', NULL);
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('2', '2', 'admin', '4', '3', '9', '9', '0', '123', 'Cty1', TO_DATE('2025-02-24 11:12:54', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1234', '0', NULL);
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('41', '1', 'admin', '4', '0', '0', '0', '0', '123', 'Cty12', TO_DATE('2025-02-28 10:17:36', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-06 10:48:02', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('121', '2', 'admin', '4', '1', '2', '2', '0', '123', 'Hương Test Whitelist', TO_DATE('2025-04-08 15:43:33', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('21', '3', 'admin', '4', '3', '9', '9', '0', '123 test', 'Cty 222', TO_DATE('2025-02-27 15:10:40', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-06 10:47:57', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('22', '2', 'admin', '4', '0', '0', '0', '0', '123 test', 'Cty1', TO_DATE('2025-02-27 15:11:02', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1234', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('61', '2', 'admin', '4', '0', '0', '0', '0', '-1', '-1', TO_DATE('2025-03-05 09:41:23', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('62', '2', 'admin', '4', '0', '0', '0', '0', 'TEST1', 'thử nghiệm 1', TO_DATE('2025-03-05 09:42:06', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('63', '2', 'admin', '4', '0', '0', '0', '0', 'TEST2', 'thử nghiệm 2', TO_DATE('2025-03-05 09:42:24', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-05 13:58:34', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('64', '2', 'admin', '4', '0', '0', '0', '0', 'TEST3', 'thử nghiệm 3', TO_DATE('2025-03-05 09:43:21', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-05 14:01:13', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('65', '1', 'admin', '4', '0', '0', '0', '0', '123', 'Cty1', TO_DATE('2025-03-05 09:49:52', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '1234', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('66', '2', 'admin', '4', '0', '0', '0', '0', 'TEST4', 'thử nghiệm 4', TO_DATE('2025-03-05 09:51:08', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-05 14:02:42', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('67', '2', 'admin', '4', '0', '0', '0', '0', 'TEST5', 'thử nghiệm 5', TO_DATE('2025-03-05 09:51:17', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-03-05 15:47:53', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('68', '2', 'admin', '4', '0', '0', '0', '0', 'CODE6', 'thử 6', TO_DATE('2025-03-05 15:51:58', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('81', '2', 'admin', '4', '0', '0', '0', '0', 'Test_123', 'Test 123', TO_DATE('2025-03-19 13:46:14', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('82', '2', 'admin', '4', '0', '0', '0', '0', '235', 'List 2', TO_DATE('2025-03-19 13:57:03', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '0');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('83', '2', 'admin', '4', '0', '0', '0', '0', '456', 'GamePortal', TO_DATE('2025-03-19 13:57:17', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('84', '2', 'admin', '4', '0', '0', '0', '0', '-1', '-1', TO_DATE('2025-03-19 14:09:22', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('85', '1', 'admin', '4', '0', '0', '0', '0', '123', 'Blacklist 1', TO_DATE('2025-03-19 15:27:16', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '0');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('101', '2', 'admin', '4', '0', '0', '0', '0', '23', '123', TO_DATE('2025-04-02 15:32:34', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('102', '1', 'admin', '4', '0', '0', '0', '0', 'TEST1', '23', TO_DATE('2025-04-02 15:32:43', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, '-1', '0', '1');
+INSERT INTO "B_LIST_SUB" ("ID", "TYPE", "USERS_CREATED", "STATUS", "TOTAL_FILE", "TOTAL_RECORD", "TOTAL_SUCCESS", "TOTAL_FALSE", "CODE", "NAME", "DATE_CREATED", "USERS_UPDATE", "DATE_UPDATE", "NOTE", "IS_DELETE", "IS_ACTIVE") VALUES ('122', '2', 'admin', '4', '2', '100001', '100001', '0', '2239', 'Test 0804 22:39', TO_DATE('2025-04-08 22:40:03', 'SYYYY-MM-DD HH24:MI:SS'), 'admin', TO_DATE('2025-04-09 10:22:26', 'SYYYY-MM-DD HH24:MI:SS'), '-1', '0', '1');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_LIST_SUB_DETAIL_BL
+-- ----------------------------
+CREATE TABLE "B_LIST_SUB_DETAIL_BL" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "LIST_SUB_FILE_ID" NUMBER(20,0) VISIBLE,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "LIST_SUB_ID" NUMBER(20,0) VISIBLE,
+  "TYPE" NUMBER(2,0) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_LIST_SUB_DETAIL_BL
+-- ----------------------------
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('1', '1', '912345670', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('2', '1', '912345671', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('3', '1', '912345672', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('4', '21', '912340234', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('5', '21', '912342345', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('6', '21', '912345675', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('7', '3', '912345673', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_BL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('8', '3', '912345674', '0', '1', '1', TO_DATE('2025-03-11 11:06:40', 'SYYYY-MM-DD HH24:MI:SS'));
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_LIST_SUB_DETAIL_NV
+-- ----------------------------
+CREATE TABLE "B_LIST_SUB_DETAIL_NV" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "LIST_SUB_FILE_ID" NUMBER(20,0) VISIBLE,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "LIST_SUB_ID" NUMBER(20,0) VISIBLE,
+  "TYPE" NUMBER(2,0) VISIBLE,
+  "DATE_CREATED" VARCHAR2(20 BYTE) VISIBLE DEFAULT sysdate
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of B_LIST_SUB_DETAIL_NV
+-- ----------------------------
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('22', '105', '910000012', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('23', '105', '910000013', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('24', '105', '910000014', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('25', '106', '910000015', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('26', '106', '910000016', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('27', '106', '910000017', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('19', '104', '910000009', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('20', '104', '910000010', '0', '21', '3', '11-MAR-25');
+INSERT INTO "B_LIST_SUB_DETAIL_NV" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('21', '104', '910000011', '0', '21', '3', '11-MAR-25');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for B_LIST_SUB_DETAIL_WL
+-- ----------------------------
+CREATE TABLE "B_LIST_SUB_DETAIL_WL" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "LIST_SUB_FILE_ID" NUMBER(20,0) VISIBLE,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "LIST_SUB_ID" NUMBER(20,0) VISIBLE,
+  "TYPE" NUMBER(2,0) VISIBLE,
+  "DATE_CREATED" DATE VISIBLE DEFAULT sysdate
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "B_LIST_SUB_DETAIL_WL"."TYPE" IS '1=blacklust,2=whitelist,3=nhan vien';
+
+-- ----------------------------
+-- Records of B_LIST_SUB_DETAIL_WL
+-- ----------------------------
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('64', '141', '76748831', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('91', '141', '76748830', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('95', '141', '76748829', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('98', '141', '76748828', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('100', '141', '76748827', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('115', '141', '76748826', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('128', '141', '76748825', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('135', '141', '76748824', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('138', '141', '76748823', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('141', '141', '76748822', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('144', '141', '76748821', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('145', '141', '76748820', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('148', '141', '76748819', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+INSERT INTO "B_LIST_SUB_DETAIL_WL" ("ID", "LIST_SUB_FILE_ID", "MSISDN", "STATUS", "LIST_SUB_ID", "TYPE", "DATE_CREATED") VALUES ('151', '141', '76748818', '0', '122', '2', TO_DATE('2025-04-09 10:20:16', 'SYYYY-MM-DD HH24:MI:SS'));
+
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SMS_INPUT
+-- ----------------------------
+CREATE TABLE "SMS_INPUT" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "BRANDNAME" VARCHAR2(200 BYTE) VISIBLE,
+  "MESSAGE" VARCHAR2(2000 BYTE) VISIBLE,
+  "PRIORITY" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "TOTALSEND" NUMBER(5,0) VISIBLE DEFAULT 0,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TIME_RECEIVE" DATE VISIBLE DEFAULT sysdate,
+  "TIME_SEND" DATE VISIBLE,
+  "MSG_TYPE" VARCHAR2(100 CHAR) VISIBLE DEFAULT 'text',
+  "IS_LOCK" NUMBER(5,0) VISIBLE DEFAULT 0,
+  "ID_MSG" NUMBER(20,0) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 176160768 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of SMS_INPUT
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for SMS_TMP
+-- ----------------------------
+CREATE TABLE "SMS_TMP" (
+  "ID" NUMBER(20,0) VISIBLE,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "BRANDNAME" VARCHAR2(200 BYTE) VISIBLE,
+  "MESSAGE" VARCHAR2(2000 BYTE) VISIBLE,
+  "PRIORITY" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "TOTALSEND" NUMBER(5,0) VISIBLE DEFAULT 0,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TIME_RECEIVE" DATE VISIBLE DEFAULT sysdate,
+  "TIME_SEND" DATE VISIBLE,
+  "MSG_TYPE" VARCHAR2(100 CHAR) VISIBLE DEFAULT 'text',
+  "IS_LOCK" NUMBER(5,0) VISIBLE DEFAULT 0,
+  "ID_MSG" NUMBER(20,0) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 176160768 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of SMS_TMP
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for STATE
+-- ----------------------------
+CREATE TABLE "STATE" (
+  "ID" NUMBER VISIBLE NOT NULL,
+  "TYPE" NUMBER VISIBLE NOT NULL,
+  "CP_ID" NUMBER VISIBLE,
+  "CONTENT" VARCHAR2(182 BYTE) VISIBLE,
+  "TIMEOUT" NUMBER VISIBLE,
+  "DEFAULT_NEXT_STATE" NUMBER VISIBLE,
+  "BIZ_ID" NUMBER VISIBLE,
+  "ENCRYPTED" NUMBER VISIBLE,
+  "CHARSET" NUMBER VISIBLE DEFAULT 1,
+  "X" NUMBER VISIBLE DEFAULT 0,
+  "Y" NUMBER VISIBLE DEFAULT 0,
+  "WIDTH" NUMBER VISIBLE DEFAULT 150,
+  "HEIGHT" NUMBER VISIBLE DEFAULT 100
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of STATE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for STATE_CHANGE
+-- ----------------------------
+CREATE TABLE "STATE_CHANGE" (
+  "STATE1" NUMBER VISIBLE NOT NULL,
+  "INPUT" VARCHAR2(100 BYTE) VISIBLE NOT NULL,
+  "STATE2" NUMBER VISIBLE NOT NULL,
+  "PRIORITY" NUMBER VISIBLE DEFAULT 0 NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of STATE_CHANGE
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for STATE_CHANGE_PUSH
+-- ----------------------------
+CREATE TABLE "STATE_CHANGE_PUSH" (
+  "STATE1" NUMBER VISIBLE NOT NULL,
+  "INPUT" VARCHAR2(100 BYTE) VISIBLE NOT NULL,
+  "STATE2" NUMBER VISIBLE NOT NULL,
+  "PRIORITY" NUMBER VISIBLE NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of STATE_CHANGE_PUSH
+-- ----------------------------
+INSERT INTO "STATE_CHANGE_PUSH" ("STATE1", "INPUT", "STATE2", "PRIORITY") VALUES ('3', '".+"', '2', '0');
+INSERT INTO "STATE_CHANGE_PUSH" ("STATE1", "INPUT", "STATE2", "PRIORITY") VALUES ('1', '".*"', '3', '0');
+INSERT INTO "STATE_CHANGE_PUSH" ("STATE1", "INPUT", "STATE2", "PRIORITY") VALUES ('2', '"2"', '7', '0');
+INSERT INTO "STATE_CHANGE_PUSH" ("STATE1", "INPUT", "STATE2", "PRIORITY") VALUES ('8', '".+"', '9', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for STATE_PUSH
+-- ----------------------------
+CREATE TABLE "STATE_PUSH" (
+  "ID" NUMBER VISIBLE NOT NULL,
+  "TYPE" NUMBER VISIBLE NOT NULL,
+  "CP_ID" NUMBER VISIBLE,
+  "CONTENT" VARCHAR2(182 BYTE) VISIBLE,
+  "TIMEOUT" NUMBER VISIBLE,
+  "DEFAULT_NEXT_STATE" NUMBER VISIBLE,
+  "BIZ_ID" NUMBER VISIBLE,
+  "ENCRYPTED" NUMBER VISIBLE,
+  "CHARSET" NUMBER VISIBLE,
+  "X" NUMBER VISIBLE,
+  "Y" NUMBER VISIBLE,
+  "WIDTH" NUMBER VISIBLE,
+  "HEIGHT" NUMBER VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of STATE_PUSH
+-- ----------------------------
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('1', '100', '0', 'null', '0', '4', '0', '0', '1', '131', '100', '103', '73');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('2', '5', '0', 'register 1/2 step', '0', '6', '1', '0', '1', '664', '102', '115', '78');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('3', '102', '0', '@INPUT@', '0', '0', '0', '0', '1', '414', '98', '118', '83');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('4', '1', '0', '@INPUT@', '0', '0', '0', '0', '1', '124', '291', '123', '84');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('6', '1', '0', '@INPUT@', '0', '0', '0', '0', '1', '916', '102', '116', '79');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('7', '5', '0', 'get content step 2', '0', '8', '10', '0', '1', '665', '265', '121', '78');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('8', '102', '0', '@INPUT@', '0', '0', '0', '0', '1', '922', '258', '126', '84');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('9', '5', '0', 'register 2 step', '0', '10', '2', '0', '1', '919', '412', '132', '78');
+INSERT INTO "STATE_PUSH" ("ID", "TYPE", "CP_ID", "CONTENT", "TIMEOUT", "DEFAULT_NEXT_STATE", "BIZ_ID", "ENCRYPTED", "CHARSET", "X", "Y", "WIDTH", "HEIGHT") VALUES ('10', '1', '0', '@INPUT@', '0', '0', '0', '0', '1', '1169', '407', '125', '83');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for TMP_NOTUSE
+-- ----------------------------
+CREATE TABLE "TMP_NOTUSE" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "NAME" NVARCHAR2(500) VISIBLE,
+  "SV" NUMBER(10,0) VISIBLE,
+  "MSG" NVARCHAR2(1000) VISIBLE,
+  "FD" DATE VISIBLE,
+  "TD" DATE VISIBLE,
+  "PC" NUMBER(10,0) VISIBLE,
+  "ADD_TYPE" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "VSYSDATE" DATE VISIBLE DEFAULT sysdate,
+  "STATUS" VARCHAR2(20 BYTE) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "TMP_NOTUSE"."ADD_TYPE" IS '1=text,2=register press';
+COMMENT ON COLUMN "TMP_NOTUSE"."STATUS" IS '0=bat dau,1=dang chay,2=dong';
+
+-- ----------------------------
+-- Records of TMP_NOTUSE
+-- ----------------------------
+INSERT INTO "TMP_NOTUSE" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('8', 'Cty Viettech 1', '3', NULL, TO_DATE('2022-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '20', '1', TO_DATE('2022-04-28 14:40:55', 'SYYYY-MM-DD HH24:MI:SS'), '4');
+INSERT INTO "TMP_NOTUSE" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('4', 'quangbh', '2', 'hehehehe', TO_DATE('2021-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-10-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '70', '1', TO_DATE('2021-12-06 15:43:30', 'SYYYY-MM-DD HH24:MI:SS'), '1');
+INSERT INTO "TMP_NOTUSE" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('6', 'quangbh', '2', 'hehehehe', TO_DATE('2021-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-10-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '70', '1', TO_DATE('2021-12-10 14:06:41', 'SYYYY-MM-DD HH24:MI:SS'), '1');
+INSERT INTO "TMP_NOTUSE" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('7', 'quangbh', '1', 'hehehehe', TO_DATE('2021-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2021-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '70', '1', TO_DATE('2022-03-08 21:36:32', 'SYYYY-MM-DD HH24:MI:SS'), '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for TMP_PLS
+-- ----------------------------
+CREATE TABLE "TMP_PLS" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "NAME" NVARCHAR2(500) VISIBLE,
+  "SV" NUMBER(10,0) VISIBLE,
+  "MSG" NVARCHAR2(1000) VISIBLE,
+  "FD" DATE VISIBLE,
+  "TD" DATE VISIBLE,
+  "PC" NUMBER(10,0) VISIBLE,
+  "ADD_TYPE" NUMBER(2,0) VISIBLE DEFAULT 1,
+  "VSYSDATE" DATE VISIBLE DEFAULT sysdate,
+  "STATUS" VARCHAR2(20 BYTE) VISIBLE DEFAULT 0
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "TMP_PLS"."ADD_TYPE" IS '1=text,2=register press';
+COMMENT ON COLUMN "TMP_PLS"."STATUS" IS '0=bat dau,1=dang chay,2=dong';
+
+-- ----------------------------
+-- Records of TMP_PLS
+-- ----------------------------
+INSERT INTO "TMP_PLS" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('4', 'quangbh', '2', 'hehehehepls1', TO_DATE('2021-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-10-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '70', '1', TO_DATE('2021-12-06 15:43:30', 'SYYYY-MM-DD HH24:MI:SS'), '3');
+INSERT INTO "TMP_PLS" ("ID", "NAME", "SV", "MSG", "FD", "TD", "PC", "ADD_TYPE", "VSYSDATE", "STATUS") VALUES ('6', 'quangbh', '2', 'hehehehepls2', TO_DATE('2021-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), TO_DATE('2022-10-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '70', '1', TO_DATE('2021-12-10 14:06:41', 'SYYYY-MM-DD HH24:MI:SS'), '3');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for USER_WEB_CMS
+-- ----------------------------
+CREATE TABLE "USER_WEB_CMS" (
+  "ID" NUMBER(20,0) VISIBLE,
+  "USERNAME" VARCHAR2(100 BYTE) VISIBLE,
+  "PASSWORD" VARCHAR2(100 BYTE) VISIBLE,
+  "ROLE" VARCHAR2(20 BYTE) VISIBLE,
+  "COUNTRY_CODE" VARCHAR2(20 BYTE) VISIBLE,
+  "IS_LOCK" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TOTAL_FALSE" NUMBER(5,0) VISIBLE DEFAULT 0,
+  "TIME_LOCK" DATE VISIBLE DEFAULT sysdate,
+  "NOTE" VARCHAR2(500 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "USER_WEB_CMS"."IS_LOCK" IS '0=ko lock,1=lock';
+COMMENT ON COLUMN "USER_WEB_CMS"."TOTAL_FALSE" IS 'Tong so lan nhap sai pass';
+COMMENT ON COLUMN "USER_WEB_CMS"."TIME_LOCK" IS 'thoi gian lock';
+
+-- ----------------------------
+-- Records of USER_WEB_CMS
+-- ----------------------------
+INSERT INTO "USER_WEB_CMS" ("ID", "USERNAME", "PASSWORD", "ROLE", "COUNTRY_CODE", "IS_LOCK", "TOTAL_FALSE", "TIME_LOCK", "NOTE") VALUES ('1', 'admin', '8gXCpxehr2A=', 'ADMIN', 'NATCOM', '0', '0', TO_DATE('2021-12-01 14:48:59', 'SYYYY-MM-DD HH24:MI:SS'), 'key Base64=sfdjf48mdfdf3054');
+INSERT INTO "USER_WEB_CMS" ("ID", "USERNAME", "PASSWORD", "ROLE", "COUNTRY_CODE", "IS_LOCK", "TOTAL_FALSE", "TIME_LOCK", "NOTE") VALUES ('2', 'user_vas', '8gXCpxehr2A=', 'USER', 'MYTEL', '0', '0', TO_DATE('2021-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'key Base64=sfdjf48mdfdf3054');
+INSERT INTO "USER_WEB_CMS" ("ID", "USERNAME", "PASSWORD", "ROLE", "COUNTRY_CODE", "IS_LOCK", "TOTAL_FALSE", "TIME_LOCK", "NOTE") VALUES ('3', 'test', 'DsuhLu19XKLege5IgzZLwA==', 'TEST', 'NATCOM', '0', '0', TO_DATE('2021-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'key Base64=sfdjf48mdfdf3054');
+INSERT INTO "USER_WEB_CMS" ("ID", "USERNAME", "PASSWORD", "ROLE", "COUNTRY_CODE", "IS_LOCK", "TOTAL_FALSE", "TIME_LOCK", "NOTE") VALUES ('34', 'admin1', '8gXCpxehr2A=', 'ADMIN', 'NATCOM', '0', '0', TO_DATE('2021-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), 'key Base64=sfdjf48mdfdf3054');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for USER_WEB_CMS_FUNCTION
+-- ----------------------------
+CREATE TABLE "USER_WEB_CMS_FUNCTION" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "ROLE" VARCHAR2(100 BYTE) VISIBLE,
+  "NAME" NVARCHAR2(1000) VISIBLE,
+  "LINK" VARCHAR2(500 BYTE) VISIBLE,
+  "NOTE" VARCHAR2(20 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of USER_WEB_CMS_FUNCTION
+-- ----------------------------
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1', 'ADMIN', 'Index', '/Admin/Index', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('2', 'ADMIN', 'CampaignManagement', '/Admin/CampaignManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('3', 'ADMIN', 'CampaignSearch', '/Admin/CampaignSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('4', 'ADMIN', 'CampaignExport', '/Admin/CampaignExport', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('5', 'ADMIN', 'UpdateCampaignStatus', '/Admin/UpdateCampaignStatus', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('6', 'ADMIN', 'CampaignClone', '/Admin/CampaignClone', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('7', 'ADMIN', 'CampaignLoadInfo', '/Admin/CampaignLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('8', 'ADMIN', 'CampaignAddUpdate', '/Admin/CampaignAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('9', 'ADMIN', 'ServiceManagement', '/Admin/ServiceManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('10', 'ADMIN', 'ServiceSearch', '/Admin/ServiceSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('11', 'ADMIN', 'ServiceLoadInfo', '/Admin/ServiceLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('12', 'ADMIN', 'ServiceAddUpdate', '/Admin/ServiceAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('13', 'ADMIN', 'CampaignScheduler', '/Admin/CampaignScheduler', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('14', 'ADMIN', 'SchedulerSearch', '/Admin/SchedulerSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('15', 'ADMIN', 'SchedulerExport', '/Admin/SchedulerExport', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('16', 'ADMIN', 'ChangeStatus', '/Admin/ChangeStatus', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('17', 'ADMIN', 'ServiceExport', '/Admin/ServiceExport', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('18', 'ADMIN', 'CampaignService', '/Admin/CampaignService', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('22', 'ADMIN', 'ListMsisdn', '/Admin/ListMsisdn', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('23', 'ADMIN', 'ListMsisdnSearch', '/Admin/ListMsisdnSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('24', 'ADMIN', 'ListMsisdnExport', '/Admin/ListMsisdnExport', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('25', 'ADMIN', 'ListMsisdnRemove', '/Admin/ListMsisdnRemove', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('26', 'ADMIN', 'ListMsisdnImport', '/Admin/ListMsisdnImport', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('27', 'ADMIN', 'ParamManagement', '/Admin/ParamManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('28', 'ADMIN', 'ParamSearch', '/Admin/ParamSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('29', 'ADMIN', 'ParamLoadInfo', '/Admin/ParamLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('30', 'ADMIN', 'ParamAddUpdate', '/Admin/ParamAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('31', 'ADMIN', 'Reload', '/Admin/Reload', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('32', 'ADMIN', 'ReloadConfig', '/Admin/ReloadConfig', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('33', 'TEST', 'ServiceUnder', '/Admin/ServiceUnder', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('34', 'TEST', 'ServiceUnderSearch', '/Admin/ServiceUnderSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('35', 'ADMIN', 'CriteriaManagement', '/Criteria/CriteriaManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('36', 'ADMIN', 'CriteriaSearch', '/Criteria/CriteriaSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('37', 'ADMIN', 'CriteriaLoadInfo', '/Criteria/CriteriaLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('38', 'ADMIN', 'CriteriaAddUpdate', '/Criteria/CriteriaAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('39', 'ADMIN', 'WhitelistManagement', '/File/WhitelistManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('40', 'ADMIN', 'BlacklistManagement', '/File/BlacklistManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('41', 'ADMIN', 'ListSubSearch', '/File/ListSubSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('42', 'ADMIN', 'ListSubLoadInfo', '/File/ListSubLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('43', 'ADMIN', 'ListSubFileLoad', '/File/ListSubFileLoad', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('44', 'ADMIN', 'ListSubAddUpdate', '/File/ListSubAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('45', 'ADMIN', 'ListSubUploadFile', '/File/ListSubUploadFile', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('46', 'ADMIN', 'ListSubFileDelete', '/File/ListSubFileDelete', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1001', 'ADMIN', 'Function Management', '/Admin/FunctionManagement', 'FunctionManagement');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1003', 'ADMIN', 'Report CountDaily', '/Admin/ReportCountDaily', 'ReportCountDaily');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('47', 'ADMIN', 'SvGroup', '/Admin/SvGroup', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('48', 'ADMIN', 'ApiServiceAddUpdate', '/Admin/ApiServiceAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('49', 'ADMIN', 'ApiServiceLoadInfo', '/Admin/ApiServiceLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('50', 'ADMIN', 'FunctionAddUpdate', '/Admin/FunctionAddUpdate', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1021', 'ADMIN', 'ReportCountDailyExport', '/Admin/ReportCountDailyExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('52', 'ADMIN', 'FunctionLoadInfo', '/Admin/FunctionLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('72', 'ADMIN', 'ApiServiceSearch', '/Admin/ApiServiceSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('73', 'ADMIN', 'UserSearch', '/Admin/UserSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('74', 'ADMIN', 'FunctionSearch', '/Admin/FunctionSearch', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('56', 'ADMIN', 'UserLoadInfo', '/Admin/UserLoadInfo', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('67', 'ADMIN', 'ChangeStatus', '/Admin/ChangeStatus', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('70', 'ADMIN', 'GetApiServices', '/Admin/GetApiServices', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('75', 'ADMIN', 'SvGroupLoad', '/Admin/SvGroupLoad', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('76', 'ADMIN', 'ListSubManagement', '/File/ListSubManagement', NULL);
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1022', 'ADMIN', 'ReportErrorDailyDetail', '/Admin/ReportErrorDailyDetail', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1040', 'ADMIN', 'DashboardReport', '/Admin/DashboardReport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1041', 'ADMIN', 'DashboardReportGetData', '/Admin/DashboardReportGetData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1102', 'USER', 'ServiceManagement', '/Admin/ServiceManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1107', 'USER', 'CampaignExport', '/Admin/CampaignExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1110', 'USER', 'CampaignLoadInfo', '/Admin/CampaignLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1112', 'USER', 'ServiceLoadInfo', '/Admin/ServiceLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1116', 'USER', 'ApiServiceSearch', '/Admin/ApiServiceSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1120', 'USER', 'ServiceAddUpdate', '/Admin/ServiceAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1121', 'USER', 'SchedulerExport', '/Admin/SchedulerExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1123', 'USER', 'CampaignService', '/Admin/CampaignService', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1128', 'USER', 'ApiServiceLoadInfo', '/Admin/ApiServiceLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1132', 'USER', 'ReportUssdDetailSearch', '/Admin/ReportUssdDetailSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1133', 'USER', 'ChangeStatus', '/Admin/ChangeStatus', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1134', 'USER', 'DashboardReportGetDailyEngagedData', '/Admin/DashboardReportGetDailyEngagedData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1136', 'USER', 'DashboardReportGetDailyData', '/Admin/DashboardReportGetDailyData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1138', 'USER', 'ApiWebserviceManagement', '/Admin/ApiWebserviceManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1147', 'ADMIN', 'CriteriaManagement', '/Admin/CriteriaManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1020', 'ADMIN', 'ReportCountDailySearch', '/Admin/ReportCountDailySearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1083', 'ADMIN', 'HiddenCampaignLoadInfo', '/Admin/HiddenCampaignLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1103', 'USER', 'CampaignAddUpdate', '/Admin/CampaignAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1104', 'USER', 'ServiceExport', '/Admin/ServiceExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1108', 'USER', 'CampaignManagement', '/Admin/CampaignManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1111', 'USER', 'ReportCampaign', '/Admin/ReportCampaign', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1113', 'USER', 'CriteriaSearch', '/Criteria/CriteriaSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1122', 'USER', 'ReportErrorDailyDetail', '/Admin/ReportErrorDailyDetail', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1125', 'USER', 'CriteriaLoadInfo', '/Criteria/CriteriaLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1130', 'USER', 'ReportCountDailySearch', '/Admin/ReportCountDailySearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1135', 'USER', 'DashboardReport', '/Admin/DashboardReport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1139', 'USER', 'ReportCountDailyExport', '/Admin/ReportCountDailyExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1143', 'USER', 'UserLoadInfo', '/Admin/UserLoadInfo', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1146', 'USER', 'SvGroupLoad', '/Admin/SvGroupLoad', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1000', 'ADMIN', 'User Management', '/Admin/UserManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1023', 'ADMIN', 'ApiWebserviceManagement', '/Admin/ApiWebserviceManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1061', 'ADMIN', 'DashboardReportGetDailyEngagedData', '/Admin/DashboardReportGetDailyEngagedData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1062', 'ADMIN', 'ReportUssdDetail', '/Admin/ReportUssdDetail', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1063', 'ADMIN', 'ReportUssdDetailSearch', '/Admin/ReportUssdDetailSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1080', 'ADMIN', 'HiddenCampaignManagement', '/Admin/HiddenCampaignManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1081', 'ADMIN', 'HiddenCampaignSearch', '/Admin/HiddenCampaignSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1082', 'ADMIN', 'HiddenCampaignExport', '/Admin/HiddenCampaignExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1085', 'ADMIN', 'HiddenCampaignClone', '/Admin/HiddenCampaignClone', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1086', 'ADMIN', 'HiddenCampaignChangeStatus', '/Admin/HiddenCampaignChangeStatus', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1118', 'USER', 'ServiceSearch', '/Admin/ServiceSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1124', 'USER', 'ReportCampaignExport', '/Admin/ReportCampaignExport', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1140', 'USER', 'GetApiServices', '/Admin/GetApiServices', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1042', 'ADMIN', 'DashboardReportGetDailyData', '/Admin/DashboardReportGetDailyData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1060', 'ADMIN', 'DashboardReportGetDailyUniqueData', '/Admin/DashboardReportGetDailyUniqueData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1084', 'ADMIN', 'HiddenCampaignAddUpdate', '/Admin/HiddenCampaignAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1100', 'ADMIN', 'UserAddUpdate', '/Admin/UserAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1101', 'USER', 'Index', '/Admin/Index', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1106', 'USER', 'UpdateCampaignStatus', '/Admin/UpdateCampaignStatus', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1105', 'USER', 'CampaignSearch', '/Admin/CampaignSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1109', 'USER', 'CampaignClone', '/Admin/CampaignClone', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1114', 'USER', 'CampaignScheduler', '/Admin/CampaignScheduler', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1115', 'USER', 'ReportCampaignSearch', '/Admin/ReportCampaignSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1117', 'USER', 'CriteriaManagement', '/Criteria/CriteriaManagement', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1119', 'USER', 'SchedulerSearch', '/Admin/SchedulerSearch', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1126', 'USER', 'CriteriaAddUpdate', '/Criteria/CriteriaAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1127', 'USER', 'SvGroup', '/Admin/SvGroup', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1129', 'USER', 'ApiServiceAddUpdate', '/Admin/ApiServiceAddUpdate', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1131', 'USER', 'DashboardReportGetData', '/Admin/DashboardReportGetData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1137', 'USER', 'DashboardReportGetDailyUniqueData', '/Admin/DashboardReportGetDailyUniqueData', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1141', 'USER', 'Report CountDaily', '/Admin/ReportCountDaily', '-1');
+INSERT INTO "USER_WEB_CMS_FUNCTION" ("ID", "ROLE", "NAME", "LINK", "NOTE") VALUES ('1142', 'USER', 'ReportUssdDetail', '/Admin/ReportUssdDetail', '-1');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for USSDGW
+-- ----------------------------
+CREATE TABLE "USSDGW" (
+  "USSDGW_ID" NUMBER VISIBLE NOT NULL,
+  "NAME" VARCHAR2(35 BYTE) VISIBLE,
+  "CONFIG_FILE" VARCHAR2(150 BYTE) VISIBLE NOT NULL,
+  "IMPLEMENT_CLASS" VARCHAR2(100 BYTE) VISIBLE NOT NULL
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of USSDGW
+-- ----------------------------
+INSERT INTO "USSDGW" ("USSDGW_ID", "NAME", "CONFIG_FILE", "IMPLEMENT_CLASS") VALUES ('1', 'ussdgw-1', '../etc/connectors/ussdgw/ussdgw_1.cfg', 'com.viettel.gateway.ussdgw.ussdappinterface.tcp.TCPConnector');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for VAS_GW_LOG
+-- ----------------------------
+CREATE TABLE "VAS_GW_LOG" (
+  "VAS_GW_LOG_ID" NUMBER(10,0) VISIBLE,
+  "MSISDN" VARCHAR2(15 BYTE) VISIBLE,
+  "IMSI" VARCHAR2(20 BYTE) VISIBLE,
+  "SID" NUMBER(10,0) VISIBLE,
+  "CPID" NUMBER(10,0) VISIBLE,
+  "BIZID" NUMBER(10,0) VISIBLE,
+  "REQUEST" VARCHAR2(1000 BYTE) VISIBLE,
+  "REQUEST_TIME" DATE VISIBLE,
+  "RESPONSE" VARCHAR2(2000 BYTE) VISIBLE,
+  "RESPONSE_TIME" DATE VISIBLE,
+  "TRANSACTION_ID" VARCHAR2(100 BYTE) VISIBLE,
+  "ERROR_CODE" NUMBER(10,0) VISIBLE,
+  "ERROR_DESCRIPTION" VARCHAR2(100 BYTE) VISIBLE
+)
+NOLOGGING
+NOCOMPRESS
+
+STORAGE (
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of VAS_GW_LOG
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for WARING_DATA
+-- ----------------------------
+CREATE TABLE "WARING_DATA" (
+  "ID" NUMBER(20,0) VISIBLE NOT NULL,
+  "MSISDN" VARCHAR2(100 BYTE) VISIBLE,
+  "STATE" VARCHAR2(100 BYTE) VISIBLE,
+  "EXPIRE_DATE" DATE VISIBLE,
+  "LANGUAGE" VARCHAR2(100 BYTE) VISIBLE,
+  "MESSAGE" NVARCHAR2(2000) VISIBLE,
+  "TYPE" VARCHAR2(100 BYTE) VISIBLE,
+  "NOTE" VARCHAR2(500 BYTE) VISIBLE,
+  "VSYSDATE" DATE VISIBLE DEFAULT sysdate,
+  "STATUS" NUMBER(2,0) VISIBLE DEFAULT 0,
+  "TOTAL_SEND" NUMBER(20,0) VISIBLE DEFAULT 0,
+  "ERR_CODE" VARCHAR2(100 BYTE) VISIBLE,
+  "ERR_MSG" VARCHAR2(1000 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+COMMENT ON COLUMN "WARING_DATA"."STATUS" IS '0=ban dau,1=dang gui SMS,2=gui thanh cong';
+
+-- ----------------------------
+-- Records of WARING_DATA
+-- ----------------------------
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Table structure for WEBSERVICE
+-- ----------------------------
+CREATE TABLE "WEBSERVICE" (
+  "WS_ID" NUMBER(10,0) VISIBLE NOT NULL,
+  "WS_NAME" VARCHAR2(1000 BYTE) VISIBLE,
+  "WS_CODE" VARCHAR2(100 BYTE) VISIBLE,
+  "WSDL" VARCHAR2(1000 BYTE) VISIBLE,
+  "MSG_TEMPLATE" VARCHAR2(2000 BYTE) VISIBLE,
+  "STATUS" NUMBER(1,0) VISIBLE,
+  "ERROR_TAG" VARCHAR2(100 BYTE) VISIBLE,
+  "SUCCESS_CODE" VARCHAR2(100 BYTE) VISIBLE
+)
+LOGGING
+NOCOMPRESS
+PCTFREE 10
+INITRANS 1
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+)
+PARALLEL 1
+NOCACHE
+DISABLE ROW MOVEMENT
+;
+
+-- ----------------------------
+-- Records of WEBSERVICE
+-- ----------------------------
+INSERT INTO "WEBSERVICE" ("WS_ID", "WS_NAME", "WS_CODE", "WSDL", "MSG_TEMPLATE", "STATUS", "ERROR_TAG", "SUCCESS_CODE") VALUES ('1', 'SV1', 'SV1', 'http://127.0.0.1:8088/test?wsdl', '<?xml version=''1.0'' encoding=''UTF-8''?>
+<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
+<S:Body>
+<subscriber>
+<msisdn>75723423</msisdn>
+<serviceid>LUCKYCARD_DAILY</serviceid>
+<params>0</params>
+<transid>1d6cf664-79a2-47f3-9566-306cbc6fa65d</transid>
+</subscriber>
+</S:Body>
+</S:Envelope>', '1', '123', '0');
+INSERT INTO "WEBSERVICE" ("WS_ID", "WS_NAME", "WS_CODE", "WSDL", "MSG_TEMPLATE", "STATUS", "ERROR_TAG", "SUCCESS_CODE") VALUES ('121', 'd', 'd', 'd', 'dđ', '0', 'd', 'd');
+INSERT INTO "WEBSERVICE" ("WS_ID", "WS_NAME", "WS_CODE", "WSDL", "MSG_TEMPLATE", "STATUS", "ERROR_TAG", "SUCCESS_CODE") VALUES ('100', 'testname', 'testcode', 'http://dsdsdsjdbs', '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.ussdapp.application.viettel.com/"> <soapenv:Header/> <soapenv:Body> <ws:SendUssdOut> <transId>#TRANS_ID#</transId> <msisdn>#MSISDN#</msisdn> <content>#CONTENT#</content> <requestType>#TYPE#</requestType> </ws:SendUssdOut> </soapenv:Body> </soapenv:Envelope>', '0', '324', '0');
+INSERT INTO "WEBSERVICE" ("WS_ID", "WS_NAME", "WS_CODE", "WSDL", "MSG_TEMPLATE", "STATUS", "ERROR_TAG", "SUCCESS_CODE") VALUES ('120', 'd', 'd', 'd', 'đ', '0', 'd', NULL);
+INSERT INTO "WEBSERVICE" ("WS_ID", "WS_NAME", "WS_CODE", "WSDL", "MSG_TEMPLATE", "STATUS", "ERROR_TAG", "SUCCESS_CODE") VALUES ('2', 'ussdout', 'ussdout', 'http://127.0.0.1:8625/SendUssdWs?wsdl', '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
+xmlns:ws="http://ws.ussdapp.application.viettel.com/">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <ws:SendUssdOut>
+         <transId>#TRANS_ID#</transId>
+         <msisdn>#MSISDN#</msisdn>
+         <content>#CONTENT#</content>
+         <requestType>#TYPE#</requestType>
+      </ws:SendUssdOut>
+   </soapenv:Body>
+</soapenv:Envelope>', '1', 'errorCode', '0');
+COMMIT;
+COMMIT;
+
+-- ----------------------------
+-- Function structure for GET_KEYS
+-- ----------------------------
+CREATE OR REPLACE FUNCTION           "GET_KEYS" 
+(  keyname   IN   VARCHAR2,
+   numblocksize         IN   NUMBER DEFAULT 1,
+   numretry             IN   NUMBER DEFAULT 10
+)
+   RETURN NUMBER
+IS
+   PRAGMA AUTONOMOUS_TRANSACTION;
+-- Thuc hien get primary key tu bang keys
+--    + keyname : ten sequence (truong cc_domain)
+--    + numBlockSize : so key lay ve trong 1 lan query
+--    + numRetry : so lan retry query cg_code_controls neu detect thay co client khac dang dong thoi truy cap
+-- MODIFICATION HISTORY
+-- Person               Date     Comments
+-- Huynh Duc Nghia      12/05/2004  ---------------------------------
+   str_sql        VARCHAR2 (1000);
+   sequencename   VARCHAR2 (50);
+   retrycount     NUMBER;
+   retvalue       NUMBER;
+
+   TYPE empcurtyp IS REF CURSOR;
+
+   c1             empcurtyp;
+   ignore         PLS_INTEGER;
+-- Declare program variables as shown above
+BEGIN
+   IF (numblocksize < 1)
+   THEN
+      RETURN 0;
+   END IF;
+
+   sequencename := UPPER (keyname);
+   retrycount := 0;
+
+   WHILE (retrycount < numretry)
+   LOOP
+      BEGIN
+         str_sql :=
+               'update keys SET NEXTVAL = NEXTVAL + :TOKEN_BLOCKSIZE
+         WHERE KEYNAME = :TOKEN_KEYNAME';
+
+--       dbms_output.put_line(str_sql);
+         EXECUTE IMMEDIATE str_sql
+                     USING numblocksize, sequencename;
+
+         EXIT;
+      EXCEPTION
+         WHEN OTHERS
+         THEN
+            retrycount := retrycount + 1;
+      END;
+   END LOOP;
+
+   IF (retrycount = numretry)
+   THEN
+      RETURN 0;
+   END IF;
+
+   str_sql :=
+         'SELECT (NEXTVAL - :TOKEN_BLOCKSIZE) FROM keys '
+      || 'WHERE KEYNAME = :TOKEN_KEYNAME';
+
+-- dbms_output.put_line(str_sql);
+   OPEN c1
+    FOR str_sql USING numblocksize, sequencename;
+
+   FETCH c1
+    INTO retvalue;
+
+   CLOSE c1;
+
+   COMMIT;
+   RETURN retvalue;
+EXCEPTION
+   WHEN OTHERS
+   THEN
+      RETURN -1;
+END;
+/
+
+-- ----------------------------
+-- Function structure for INSERT_REPORT_USER_DAILY
+-- ----------------------------
+CREATE OR REPLACE PROCEDURE insert_report_user_daily(report_day_ date)
+IS
+BEGIN
+    INSERT INTO report_user_daily (id,
+                                    report_date,
+                                    campaign_id,
+                                    service_id,
+                                    count_impressed,
+                                    count_engaged,
+                                    engagement_rate,
+                                    insert_time)
+        SELECT report_user_daily_seq.NEXTVAL,
+               report_day_ report_date,
+               NVL (campaign_id, -1)
+                   campaign_id,
+               NVL (service_id, -1)
+                   service_id,
+               NVL (count_impressed, 0)
+                   count_impressed,
+               NVL (count_engaged, 0)
+                   count_engaged,
+               NVL (count_engaged, 0) / NVL (count_impressed, 1)
+                   engagement_rate,
+               SYSDATE
+        FROM DUAL
+             LEFT JOIN
+             (SELECT campaign_id,
+                     service_id,
+                     COUNT (*) count_impressed,
+                     SUM (is_step_1) count_engaged
+              FROM push_ussd_detail
+              WHERE     send_time >= report_day_
+                    AND send_time < report_day_ + 1
+                    AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)
+              GROUP BY campaign_id, service_id) r
+                 ON 1 = 1;
+END;
+/
+
+-- ----------------------------
+-- Function structure for INSERT_REPORT_USER_HOURLY
+-- ----------------------------
+CREATE OR REPLACE PROCEDURE insert_report_user_hourly(report_hour_ date)
+IS
+BEGIN
+    INSERT INTO report_user_hourly (id,
+                                    report_date,
+                                    campaign_id,
+                                    service_id,
+                                    count_impressed,
+                                    count_engaged,
+                                    engagement_rate,
+                                    insert_time)
+        SELECT report_user_hourly_seq.NEXTVAL,
+               report_hour_ 
+                   report_date,
+               NVL (campaign_id, -1)
+                   campaign_id,
+               NVL (service_id, -1)
+                   service_id,
+               NVL (count_impressed, 0)
+                   count_impressed,
+               NVL (count_engaged, 0)
+                   count_engaged,
+               NVL (count_engaged, 0) / NVL (count_impressed, 1)
+                   engagement_rate,
+               SYSDATE
+        FROM DUAL
+             LEFT JOIN
+             (SELECT campaign_id,
+                     service_id,
+                     COUNT (*) count_impressed,
+                     SUM (is_step_1) count_engaged
+              FROM push_ussd_detail
+              WHERE     send_time >= report_hour_
+                    AND send_time < report_hour_ + 1/24
+                    AND (CAMPAIGN_ID IS NULL OR CAMPAIGN_ID < 2000000 OR CAMPAIGN_ID > 2999999)
+              GROUP BY campaign_id, service_id) r
+                 ON 1 = 1;
+END;
+/
+
+-- ----------------------------
+-- Function structure for PARAMS_GET_LIST
+-- ----------------------------
+CREATE OR REPLACE PROCEDURE PARAMS_GET_LIST
+(
+  v_type in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE pro_get_reload_bk
+(
+  v_prId in varchar2, --type : 1=reload blacklst all,2=reload nhan vien, 3=reload campaign,4=reload parameter
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE pro_get_reload
+(
+  v_prId in varchar2, --type : 1=reload blacklst all,2=reload nhan vien, 3=reload campaign,4=reload parameter
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE pro_get_update
+(
+  v_prId in varchar2, -- 1	reload blacklist all,2	reload nhan vien,3	reload campaign,4	reload param,5	Reload errCode
+  v_user in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE BL_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  v_name in varchar2,
+  v_code in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE BL_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_MIN in varchar2,
+V_MAX in varchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE BL_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_MIN in varchar2,
+V_MAX in varchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  V_sub_type in varchar2, --1=black,2=white
+  v_name in varchar2,
+  v_code in varchar2,
+  
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+
+V_SUB_TYPE in nvarchar2, --1=black list, 2= white list
+
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_SUB_TYPE in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+V_STATUS in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_FILE_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  V_list_sub_id in varchar2, 
+  v_name in varchar2,
+  v_code in varchar2,
+  
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_FILE_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_LIST_SUB_ID in nvarchar2,
+V_FILE_ID in nvarchar2,
+V_FILE_NAME in nvarchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE LIST_SUB_FILE_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_LIST_SUB_ID in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+V_STATUS in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE SV_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  v_name in varchar2,
+  v_code in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE SV_INSERT
+(
+ 
+      V_CODE in nvarchar2,
+      V_NAME in nvarchar2,
+      V_DESCRIPTION in nvarchar2,
+      V_SHORT_CODE in nvarchar2,
+      V_COMMAND_REGISTER in nvarchar2,
+      V_CONTENT_EN in nvarchar2,
+      V_CONTENT_FR in nvarchar2,
+      V_CONTENT_LC in nvarchar2,
+      V_NOTE in nvarchar2,
+      V_COMPANY_ID in nvarchar2,
+      
+      
+      V_USERS in nvarchar2,
+      V_USSD_MSG_REGISTER_SUC in nvarchar2,
+      V_USSD_MSG_REGISTER_FAIL in nvarchar2,
+      P_RESULT OUT refcursor
+);
+
+  PROCEDURE SV_UPDATE
+(
+      V_ID in varchar2,
+
+      V_CODE in nvarchar2,
+      V_NAME in nvarchar2,
+      V_DESCRIPTION in nvarchar2,
+      V_SHORT_CODE in nvarchar2,
+      V_COMMAND_REGISTER in nvarchar2,
+      V_CONTENT_EN in nvarchar2,
+      V_CONTENT_FR in nvarchar2,
+      V_CONTENT_LC in nvarchar2,
+      V_NOTE in nvarchar2,
+      V_COMPANY_ID in nvarchar2,
+
+      V_USERS in nvarchar2,
+      V_TYPE in varchar2,
+      
+      V_USSD_MSG_REGISTER_SUC in nvarchar2,
+      V_USSD_MSG_REGISTER_FAIL in nvarchar2,
+
+      P_RESULT OUT refcursor
+);
+
+  PROCEDURE EP_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  v_name in varchar2,
+  v_code in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE EP_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_TOTAL_DAY_USE in varchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_MIN in varchar2,
+V_MAX in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE EP_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_TOTAL_DAY_USE in varchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+V_MIN in varchar2,
+V_MAX in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE COM_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+ v_name in varchar2,
+  v_code in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE COM_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_PHONE in varchar2,
+V_EMAIL in varchar2,
+V_ADDRESS in varchar2,
+V_DESCRIPTION in nvarchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE COM_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+V_PHONE in varchar2,
+V_EMAIL in varchar2,
+V_ADDRESS in varchar2,
+V_DESCRIPTION in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  
+  v_name in varchar2,
+  v_code in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  v_status in varchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_INSERT
+(
+ 
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+
+V_FROM_DATE in varchar2,
+V_TO_DATE in varchar2,
+V_FROM_HOUR in varchar2,
+V_TO_HOUR in varchar2,
+V_RULE_ADD in varchar2,
+V_PRIORITY in varchar2,
+V_BALANCE_ID in varchar2,
+V_EXPIRE_DATE_ID in varchar2,
+V_STATUS in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+
+V_DISPLAY in nvarchar2,
+V_ADD_TYPE in nvarchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_NAME in nvarchar2,
+
+V_FROM_DATE in varchar2,
+V_TO_DATE in varchar2,
+V_FROM_HOUR in varchar2,
+V_TO_HOUR in varchar2,
+V_RULE_ADD in varchar2,
+V_PRIORITY in varchar2,
+V_BALANCE_ID in varchar2,
+V_EXPIRE_DATE_ID in varchar2,
+V_STATUS in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+V_DISPLAY in nvarchar2,
+V_ADD_TYPE in nvarchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAMADD_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  
+  v_campaignId in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+  
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAMADD_INSERT
+(
+ 
+V_CAMPAING_ID in varchar2,
+V_SERVICE_ADD_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_USSD_DIS in nvarchar2,
+V_KEY_REGIS in nvarchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAMADD_UPDATE
+(
+V_ID in varchar2,
+V_CAMPAING_ID in varchar2,
+V_SERVICE_ADD_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+V_TYPE in varchar2,
+V_USSD_DIS in nvarchar2,
+V_KEY_REGIS in nvarchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_BAL_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  
+  v_campaignId in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+ 
+   v_channel in varchar2,
+  v_language in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_BAL_INSERT
+(
+ 
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+  v_channel in varchar2,
+  v_language in varchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_BAL_UPDATE
+(
+
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+
+v_channel in varchar2,
+  v_language in varchar2,
+  V_ID in varchar2,
+  V_TYPE in varchar2, --1=delete,2=update
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_EXP_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  
+  v_campaignId in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+ 
+   v_channel in varchar2,
+  v_language in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_EXP_INSERT
+(
+ 
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+  v_channel in varchar2,
+  v_language in varchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_EXP_UPDATE
+(
+
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+
+v_channel in varchar2,
+  v_language in varchar2,
+  V_ID in varchar2,
+  V_TYPE in varchar2, --1=delete,2=update
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_SC_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  
+  
+  v_campaignId in varchar2,
+  v_fromDate in varchar2,
+  v_toDate in varchar2,
+  
+  v_order in varchar2 , --0= tang dan theo ID ticket,1= giam dan theo Id ticket
+  v_rowsOnPage in varchar2,
+  v_seqPage in varchar2,
+ 
+   v_channel in varchar2,
+  v_language in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_SC_INSERT
+(
+ 
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+  v_channel in varchar2,
+  v_language in varchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE CAM_SC_UPDATE
+(
+
+V_CAMPAING_ID in varchar2,
+V_REF_ID in varchar2,
+
+V_NOTE in nvarchar2,
+V_USERS in nvarchar2,
+
+v_channel in varchar2,
+  v_language in varchar2,
+  V_ID in varchar2,
+  V_TYPE in varchar2, --1=delete,2=update
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE USERS_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE USERS_INSERT
+(
+ 
+V_USERNAME in varchar2,
+V_PASSWORD in varchar2,
+V_ROLE in nvarchar2,
+V_COUNTRY_CODE in varchar2,
+V_IS_LOCK in varchar2,
+V_TOTAL_FALSE in nvarchar2,
+V_TIME_LOCK in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE USERS_UPDATE
+(
+V_ID in varchar2,
+V_USERNAME in varchar2,
+V_PASSWORD in varchar2,
+V_ROLE in nvarchar2,
+V_COUNTRY_CODE in varchar2,
+V_IS_LOCK in varchar2,
+V_TOTAL_FALSE in nvarchar2,
+V_TIME_LOCK in nvarchar2,
+V_NOTE in nvarchar2,
+V_USERS in varchar2,
+V_TYPE in varchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE TMP_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE TMP_INSERT
+(
+ 
+V_NAME in varchar2,
+V_SV in varchar2,
+V_MSG in nvarchar2,
+V_FD in varchar2,
+V_TD in varchar2,
+V_PC in nvarchar2,
+V_ADD_TYPE nvarchar2,
+V_USERS in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE TMP_UPDATE
+(
+V_ID in varchar2,
+V_NAME in varchar2,
+V_SV in varchar2,
+V_MSG in nvarchar2,
+V_FD in varchar2,
+V_TD in varchar2,
+V_PC in nvarchar2,
+V_ADD_TYPE nvarchar2,
+V_USERS in varchar2,
+V_TYPE in varchar2,   --V_TYPE=1 delete,2=update
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE PAM_GET
+(
+  v_id in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE PAM_INSERT
+(
+ 
+V_CODE in varchar2,
+V_SVALUES in varchar2,
+V_NOTE in nvarchar2,
+V_STATUS in varchar2,
+V_CODE_GROUP in varchar2,
+V_DISPLAY0 in nvarchar2,
+V_DISPLAY1 in nvarchar2,
+V_DISPLAY2 in nvarchar2,
+V_DISPLAY3 in nvarchar2,
+V_DISPLAY4 in nvarchar2,
+V_DISPLAY5 in nvarchar2,
+V_GAME_ID in varchar2,
+V_CHANNEL in varchar2,
+V_USERS in varchar2,
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE PAM_UPDATE
+(
+V_ID in varchar2,
+V_CODE in varchar2,
+V_SVALUES in varchar2,
+V_NOTE in nvarchar2,
+V_STATUS in varchar2,
+V_CODE_GROUP in varchar2,
+V_DISPLAY0 in nvarchar2,
+V_DISPLAY1 in nvarchar2,
+V_DISPLAY2 in nvarchar2,
+V_DISPLAY3 in nvarchar2,
+V_DISPLAY4 in nvarchar2,
+V_DISPLAY5 in nvarchar2,
+V_GAME_ID in varchar2,
+V_CHANNEL in varchar2,
+V_USERS in varchar2,
+V_TYPE in varchar2,
+
+P_RESULT OUT refcursor
+);
+
+  PROCEDURE BLACK_GET
+(
+  v_msisdn in varchar2,
+  v_type in varchar2, --1= Nhan vien,2=Blacklist all,3=blacklist theo dich vu,4=whitelist theo dich vu
+  v_sv_id in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE BLACK_INSERT
+(
+ 
+  v_msisdn in varchar2,
+  v_type in varchar2, --1= Nhan vien,2=Blacklist all,3=blacklist theo dich vu,4=whitelist theo dich vu
+  v_sv_id in varchar2,
+  v_action in varchar2, --1: insert, 2=delete
+  v_users in varchar2
+
+);
+
+  PROCEDURE ERR_CODE_GET_LIST
+(
+  v_type in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE ADMIN_LOGIN
+(
+  v_user in nvarchar2,
+  v_pass in nvarchar2,
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE ADMIN_GET_ROLE
+(
+  v_role in nvarchar2,
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CORE_INSERT_REGISTER
+(
+  v_msisdn in varchar2,  
+  v_campaign_add_id in nvarchar2,
+  v_campaign_id in nvarchar2,
+  v_service_id in nvarchar2,
+  v_request_id in nvarchar2,
+  v_key_press in nvarchar2,
+  v_err_code in nvarchar2,
+  v_err_msg in nvarchar2,
+  v_ussd_request in nvarchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CORE_INSERT_USSD
+(
+  v_msisdn in varchar2,  
+  v_message in nvarchar2,
+  v_requestType in nvarchar2,
+  v_service in nvarchar2,
+  v_reqeustId in nvarchar2
+);
+
+  PROCEDURE CORE_BLACKLIST_GET
+(
+  v_type in varchar2,  --1= Nhan vien,2=Blacklist all,3=blacklist theo dich vu,4=whitelist theo dich vu
+  v_serviceId in varchar2, --dich vu
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CORE_UPDATE_RELOAD
+(
+  v_type in varchar2,  --Hien tai ko su dung
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_CAMPAIGN_RUNNING
+(
+  v_type in varchar2,  --Hien tai ko su dung
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_CAMPAIGN_NGAM_RUNNING
+(
+  v_type in varchar2,  --Hien tai ko su dung
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_CAMPAIGN_NGAM_PLS_RUNNING
+(
+  v_type in varchar2,  --Hien tai ko su dung
+  
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_SERVICE_OF_CAM
+(
+  v_campaignId in varchar2,  --Hien tai ko su dung
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_SERVICE_OF_CAM_NGAM
+(
+  v_campaignId in varchar2,  --Hien tai ko su dung
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_SERVICE_OF_CAM_NGAM_PLS
+(
+  v_campaignId in varchar2,  --Hien tai ko su dung
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE JOB_RESET_DAY;
+
+  PROCEDURE REPORT_LICH
+(
+  v_type in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE REPORT_BY_CAMPAIGN
+(
+  v_users in varchar2,
+  v_status in varchar2,
+  v_FROMDATE in varchar2,
+  v_TODATE in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE IMPORT_GET_FILE
+(
+  v_type in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE IMPORT_FINSH_FILE
+(
+  v_uload_id in varchar2,
+  v_uload_detail_id in varchar2,
+  v_total_row in varchar2,
+  v_total_row_false in varchar2,
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE IMPORT_FINSH_ALL_FILE
+(
+  v_uload_id in varchar2,
+
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE IMPORT_INSERT
+(
+  v_upload_id in varchar2, 
+  v_upload_detail_id in varchar2,
+  v_type in varchar2, --ko su dung
+  v_ticket in varchar2
+);
+
+  PROCEDURE SORT_CODE_GET_LIST
+(
+  v_type in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE CHANGE_STATUS
+(
+  v_type in varchar2,
+  v_status in varchar2,
+  v_users in varchar2,
+  P_RESULT OUT refcursor
+);
+
+  PROCEDURE GET_DATA
+(
+  v_type in varchar2,
+  P_RESULT OUT refcursor
+);
+
+create or replace
+/
+
+-- ----------------------------
+-- Function structure for REMOVE_INJECTION
+-- ----------------------------
+CREATE OR REPLACE FUNCTION "REMOVE_INJECTION" 
+(
+v_msg in nvarchar2
+
+)
+return nvarchar2
+is
+  v_return nvarchar2(2000);
+begin
+
+   v_return:=trim(upper(regexp_replace(regexp_replace(v_msg, '[(][A-Z]+[)]', ''), '[^a-zA-Z0-9]', '')));
+   /*
+   v_return:=replace(v_return,'DELETE','');
+   v_return:=replace(v_return,'AND','');
+   v_return:=replace(v_return,'OR','');
+   v_return:=replace(v_return,'UPDATE','');
+   v_return:=replace(v_return,'INSERT','');
+   */
+   return v_return;
+
+exception
+  when VALUE_ERROR then
+  return '';
+end;
+/
+
+-- ----------------------------
+-- Function structure for UPDATE_REPORT_COUNTER
+-- ----------------------------
+CREATE OR REPLACE PROCEDURE update_report_counter (report_date_         IN VARCHAR2,
+                                              campaign_id_         IN NUMBER,
+                                              service_id_          IN LONG,
+                                              count_send_1_        IN LONG,
+                                              count_success_1_     IN LONG,
+                                              count_fail_1_        IN LONG,
+                                              count_press_1_       IN LONG,
+                                              count_send_2_        IN LONG,
+                                              count_press_2_       IN LONG,
+                                              count_reg_success_   IN LONG,
+                                              count_reg_fail_      IN LONG)
+IS
+    is_insert_   NUMBER;
+BEGIN
+    is_insert_ := 1;
+
+    -- hourly report
+    FOR c_
+        IN (SELECT *
+            FROM report_count_hourly
+            WHERE     report_date = to_date(report_date_,'yyyymmddhh24')
+                  AND campaign_id = campaign_id_
+                  AND service_id = service_id_
+                  --AND (campaign_id_ < 2000000 OR campaign_id_ > 2999999)
+            FOR UPDATE)
+    LOOP
+        UPDATE report_count_hourly
+        SET count_send_1 = count_send_1 + count_send_1_,
+            count_success_1 = count_success_1 + count_success_1_,
+            count_fail_1 = count_fail_1 + count_fail_1_,
+            count_press_1 = count_press_1 + count_press_1_,
+            count_send_2 = count_send_2 + count_send_2_,
+            count_press_2 = count_press_2 + count_press_2_,
+            count_reg_success = count_reg_success + count_reg_success_,
+            count_reg_fail = count_reg_fail + count_reg_fail_
+        WHERE id = c_.id;
+
+        is_insert_ := 0;
+        EXIT;
+    END LOOP;
+
+    IF (is_insert_ = 1)  --and (campaign_id_ < 2000000 OR campaign_id_ > 2999999)
+    THEN
+        INSERT INTO report_count_hourly (id,
+                                         report_date,
+                                         campaign_id,
+                                         service_id,
+                                         count_send_1,
+                                         count_success_1,
+                                         count_fail_1,
+                                         count_press_1,
+                                         count_send_2,
+                                         count_press_2,
+                                         count_reg_success,
+                                         count_reg_fail,
+                                         insert_time)
+        VALUES (report_count_hourly_seq.NEXTVAL,
+                to_date(report_date_,'yyyymmddhh24'),
+                campaign_id_,
+                service_id_,
+                count_send_1_,
+                count_success_1_,
+                count_fail_1_,
+                count_press_1_,
+                count_send_2_,
+                count_press_2_,
+                count_reg_success_,
+                count_reg_fail_,
+                SYSDATE);
+    END IF;
+
+    -- daily report
+    is_insert_ := 1;
+    FOR c_
+        IN (SELECT *
+            FROM report_count_daily
+            WHERE     report_date = to_date(SUBSTR(report_date_,0,8),'yyyymmdd')
+                  AND campaign_id = campaign_id_
+                  AND service_id = service_id_
+                  --AND (campaign_id_ < 2000000 OR campaign_id_ > 2999999)
+            FOR UPDATE)
+    LOOP
+        UPDATE report_count_daily
+        SET count_send_1 = count_send_1 + count_send_1_,
+            count_success_1 = count_success_1 + count_success_1_,
+            count_fail_1 = count_fail_1 + count_fail_1_,
+            count_press_1 = count_press_1 + count_press_1_,
+            count_send_2 = count_send_2 + count_send_2_,
+            count_press_2 = count_press_2 + count_press_2_,
+            count_reg_success = count_reg_success + count_reg_success_,
+            count_reg_fail = count_reg_fail + count_reg_fail_
+        WHERE id = c_.id;
+
+        is_insert_ := 0;
+        EXIT;
+    END LOOP;
+
+    IF is_insert_ = 1 --AND (campaign_id_ < 2000000 OR campaign_id_ > 2999999)
+    THEN
+        INSERT INTO report_count_daily (id,
+                                         report_date,
+                                         campaign_id,
+                                         service_id,
+                                         count_send_1,
+                                         count_success_1,
+                                         count_fail_1,
+                                         count_press_1,
+                                         count_send_2,
+                                         count_press_2,
+                                         count_reg_success,
+                                         count_reg_fail,
+                                         insert_time)
+        VALUES (report_count_daily_seq.NEXTVAL,
+                to_date(SUBSTR(report_date_,0,8),'yyyymmdd'),
+                campaign_id_,
+                service_id_,
+                count_send_1_,
+                count_success_1_,
+                count_fail_1_,
+                count_press_1_,
+                count_send_2_,
+                count_press_2_,
+                count_reg_success_,
+                count_reg_fail_,
+                SYSDATE);
+    END IF;
+END;
+/
+
+-- ----------------------------
+-- Function structure for UPDATE_REPORT_DETAIL
+-- ----------------------------
+CREATE OR REPLACE PROCEDURE "UPDATE_REPORT_DETAIL" (request_id_    IN VARCHAR2,
+                                campaign_id_   IN NUMBER,
+                                service_id_    IN NUMBER,
+                                msisdn_        IN VARCHAR2,
+                                send_time_     IN DATE,
+                                send_status_   IN NUMBER,
+                                total_step_    IN NUMBER,
+                                is_step_1_     IN NUMBER,
+                                step_1_time_   IN DATE,
+                                is_step_2_     IN NUMBER,
+                                step_2_time_   IN DATE,
+                                error_code_    IN VARCHAR2,
+                                is_success_    IN NUMBER,
+                                msg_content_    IN NVARCHAR2)
+IS
+    is_insert_   NUMBER;
+BEGIN
+    is_insert_ := 1;
+
+    -- hourly report
+    FOR c_ IN (SELECT *
+               FROM push_ussd_detail
+               WHERE request_id = request_id_
+               FOR UPDATE)
+    LOOP
+        UPDATE push_ussd_detail
+        SET is_step_1 = is_step_1_,
+            step_1_time = decode(step_1_time_, null, step_1_time, step_1_time_),
+            is_step_2 = is_step_2_,
+            step_2_time = decode(step_2_time_, null, step_2_time, step_2_time_),
+            ERROR_CODE = error_code_,
+            is_success = is_success_,
+            last_update = SYSDATE
+        WHERE id = c_.id;
+
+        is_insert_ := 0;
+        EXIT;
+    END LOOP;
+
+    IF is_insert_ = 1
+    THEN
+        INSERT INTO push_ussd_detail (id,
+                                      request_id,
+                                      campaign_id,
+                                      service_id,
+                                      msisdn,
+                                      send_time,
+                                      send_status,
+                                      total_step,
+                                      is_step_1,
+                                      step_1_time,
+                                      is_step_2,
+                                      step_2_time,
+                                      ERROR_CODE,
+                                      is_success,
+                                      insert_time,
+                                      last_update,
+                                      msg_content)
+        VALUES (push_ussd_detail_seq.NEXTVAL,
+                request_id_,
+                campaign_id_,
+                service_id_,
+                msisdn_,
+                send_time_,
+                send_status_,
+                total_step_,
+                is_step_1_,
+                step_1_time_,
+                is_step_2_,
+                step_2_time_,
+                error_code_,
+                is_success_,
+                SYSDATE,
+                SYSDATE,
+                msg_content_);
+    END IF;
+END;
+/
+
+-- ----------------------------
+-- Function structure for remove_injection
+-- ----------------------------
+CREATE OR REPLACE FUNCTION "remove_injection" 
+(
+v_msg in nvarchar2
+
+)
+return nvarchar2
+is
+  v_return nvarchar2(2000);
+begin
+/*
+   v_return:=trim(upper(regexp_replace(regexp_replace(v_msg, '[(][A-Z]+[)]', ''), '[^a-zA-Z ]', '')));
+   v_return:=replace(v_return,'DELETE','');
+   v_return:=replace(v_return,'AND','');
+   v_return:=replace(v_return,'OR','');
+   v_return:=replace(v_return,'UPDATE','');
+   v_return:=replace(v_return,'INSERT','');
+   return v_return;
+  */
+  return '1';
+exception
+  when VALUE_ERROR then
+  return '';
+end;
+/
+
+-- ----------------------------
+-- Sequence structure for BLOCK_ID
+-- ----------------------------
+DROP SEQUENCE "BLOCK_ID";
+CREATE SEQUENCE "BLOCK_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for BLOCK_WHITE_DATA_ID
+-- ----------------------------
+DROP SEQUENCE "BLOCK_WHITE_DATA_ID";
+CREATE SEQUENCE "BLOCK_WHITE_DATA_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_BALANCE_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_BALANCE_ID";
+CREATE SEQUENCE "B_CAMPAIGN_BALANCE_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_EXP_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_EXP_ID";
+CREATE SEQUENCE "B_CAMPAIGN_EXP_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_HIDDEN_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_HIDDEN_ID";
+CREATE SEQUENCE "B_CAMPAIGN_HIDDEN_ID" MINVALUE 2000000 MAXVALUE 2999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_SHORTCODE_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_SHORTCODE_ID";
+CREATE SEQUENCE "B_CAMPAIGN_SHORTCODE_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_SUB_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_SUB_ID";
+CREATE SEQUENCE "B_CAMPAIGN_SUB_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_CAMPAIGN_SYN_ID
+-- ----------------------------
+DROP SEQUENCE "B_CAMPAIGN_SYN_ID";
+CREATE SEQUENCE "B_CAMPAIGN_SYN_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_IMPORT_ERR_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_IMPORT_ERR_ID";
+CREATE SEQUENCE "B_LIST_IMPORT_ERR_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_DETAIL_BL_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_DETAIL_BL_ID";
+CREATE SEQUENCE "B_LIST_SUB_DETAIL_BL_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_DETAIL_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_DETAIL_ID";
+CREATE SEQUENCE "B_LIST_SUB_DETAIL_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_DETAIL_NV_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_DETAIL_NV_ID";
+CREATE SEQUENCE "B_LIST_SUB_DETAIL_NV_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_DETAIL_WL_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_DETAIL_WL_ID";
+CREATE SEQUENCE "B_LIST_SUB_DETAIL_WL_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_FILE_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_FILE_ID";
+CREATE SEQUENCE "B_LIST_SUB_FILE_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_LIST_SUB_ID
+-- ----------------------------
+DROP SEQUENCE "B_LIST_SUB_ID";
+CREATE SEQUENCE "B_LIST_SUB_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_SERVICE_GROUP_SEQ
+-- ----------------------------
+DROP SEQUENCE "B_SERVICE_GROUP_SEQ";
+CREATE SEQUENCE "B_SERVICE_GROUP_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_TOTAL_INPUT_SEQ
+-- ----------------------------
+DROP SEQUENCE "B_TOTAL_INPUT_SEQ";
+CREATE SEQUENCE "B_TOTAL_INPUT_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for B_WHITE_LIST_DATA_ID
+-- ----------------------------
+DROP SEQUENCE "B_WHITE_LIST_DATA_ID";
+CREATE SEQUENCE "B_WHITE_LIST_DATA_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PUSH_USSD_DETAIL_SEQ
+-- ----------------------------
+DROP SEQUENCE "PUSH_USSD_DETAIL_SEQ";
+CREATE SEQUENCE "PUSH_USSD_DETAIL_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for PUSH_USSD_SEQ
+-- ----------------------------
+DROP SEQUENCE "PUSH_USSD_SEQ";
+CREATE SEQUENCE "PUSH_USSD_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 ORDER NOCACHE;
+
+-- ----------------------------
+-- Sequence structure for REPORT_COUNT_DAILY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_COUNT_DAILY_SEQ";
+CREATE SEQUENCE "REPORT_COUNT_DAILY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for REPORT_COUNT_HOURLY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_COUNT_HOURLY_SEQ";
+CREATE SEQUENCE "REPORT_COUNT_HOURLY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for REPORT_ERROR_DAILY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_ERROR_DAILY_SEQ";
+CREATE SEQUENCE "REPORT_ERROR_DAILY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for REPORT_ERROR_HOURLY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_ERROR_HOURLY_SEQ";
+CREATE SEQUENCE "REPORT_ERROR_HOURLY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for REPORT_USER_DAILY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_USER_DAILY_SEQ";
+CREATE SEQUENCE "REPORT_USER_DAILY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for REPORT_USER_HOURLY_SEQ
+-- ----------------------------
+DROP SEQUENCE "REPORT_USER_HOURLY_SEQ";
+CREATE SEQUENCE "REPORT_USER_HOURLY_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for SMS_INPUT_ID
+-- ----------------------------
+DROP SEQUENCE "SMS_INPUT_ID";
+CREATE SEQUENCE "SMS_INPUT_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for USER_WEB_CMS_FUNCTION_SEQ
+-- ----------------------------
+DROP SEQUENCE "USER_WEB_CMS_FUNCTION_SEQ";
+CREATE SEQUENCE "USER_WEB_CMS_FUNCTION_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for USER_WEB_CMS_SEQ
+-- ----------------------------
+DROP SEQUENCE "USER_WEB_CMS_SEQ";
+CREATE SEQUENCE "USER_WEB_CMS_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for WARING_DATA_ID
+-- ----------------------------
+DROP SEQUENCE "WARING_DATA_ID";
+CREATE SEQUENCE "WARING_DATA_ID" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Sequence structure for WEBSERVICE_SEQ
+-- ----------------------------
+DROP SEQUENCE "WEBSERVICE_SEQ";
+CREATE SEQUENCE "WEBSERVICE_SEQ" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 CACHE 20;
+
+-- ----------------------------
+-- Primary Key structure for table B_BANLANCE
+-- ----------------------------
+ALTER TABLE "B_BANLANCE" ADD CONSTRAINT "B_BANLANCE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_BANLANCE
+-- ----------------------------
+ALTER TABLE "B_BANLANCE" ADD CONSTRAINT "SYS_C00159596" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_BLACKLIST
+-- ----------------------------
+ALTER TABLE "B_BLACKLIST" ADD CONSTRAINT "B_BLACKLIST_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_BLACKLIST
+-- ----------------------------
+ALTER TABLE "B_BLACKLIST" ADD CONSTRAINT "SYS_C00159593" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_BLACKLIST
+-- ----------------------------
+CREATE INDEX "B_BLACKLIST_INDEX1"
+  ON "B_BLACKLIST" ("MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE INDEX "B_BLACKLIST_INDEX2"
+  ON "B_BLACKLIST" ("TYPE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE INDEX "B_BLACKLIST_INDEX3"
+  ON "B_BLACKLIST" ("SV_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN" ADD CONSTRAINT "B_CAMPAIGN_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN" ADD CONSTRAINT "SYS_C00159602" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "B_CAMPAIGN" ADD CONSTRAINT "SYS_C00159603" CHECK ("PRIORITY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "B_CAMPAIGN" ADD CONSTRAINT "SYS_C00159604" CHECK ("STATUS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "B_CAMPAIGN" ADD CONSTRAINT "SYS_C00159605" CHECK ("IS_DEFAULT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_ADD
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_ADD" ADD CONSTRAINT "B_CAMPAIGN_ADD_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_ADD
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_ADD" ADD CONSTRAINT "SYS_C00159577" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_BALANCE
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_BALANCE" ADD CONSTRAINT "B_CAMPAIGN_BALANCE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_BALANCE
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_BALANCE" ADD CONSTRAINT "SYS_C00159576" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_EXP
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_EXP" ADD CONSTRAINT "B_CAMPAIGN_EXP_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_EXP
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_EXP" ADD CONSTRAINT "SYS_C00159592" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_SHORTCODE
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SHORTCODE" ADD CONSTRAINT "B_CAMPAIGN_SHORTCODE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_SHORTCODE
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SHORTCODE" ADD CONSTRAINT "SYS_C00159566" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_SUB
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SUB" ADD CONSTRAINT "B_CAMPAIGN_SUB_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_SUB
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SUB" ADD CONSTRAINT "SYS_C00159565" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_CAMPAIGN_SUB
+-- ----------------------------
+CREATE INDEX "B_CAMPAIGN_SUB_INDEX1"
+  ON "B_CAMPAIGN_SUB" ("CAMPAIGN_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_CAMPAIGN_SYN
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SYN" ADD CONSTRAINT "B_CAMPAIGN_SYN_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_CAMPAIGN_SYN
+-- ----------------------------
+ALTER TABLE "B_CAMPAIGN_SYN" ADD CONSTRAINT "SYS_C00159595" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_COMPANY
+-- ----------------------------
+ALTER TABLE "B_COMPANY" ADD CONSTRAINT "B_COMPANY_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_COMPANY
+-- ----------------------------
+ALTER TABLE "B_COMPANY" ADD CONSTRAINT "SYS_C00159573" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_EXPIRE_DATE
+-- ----------------------------
+ALTER TABLE "B_EXPIRE_DATE" ADD CONSTRAINT "B_EXPIRE_DATE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_EXPIRE_DATE
+-- ----------------------------
+ALTER TABLE "B_EXPIRE_DATE" ADD CONSTRAINT "SYS_C00159588" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_HISTORY
+-- ----------------------------
+ALTER TABLE "B_HISTORY" ADD CONSTRAINT "B_HISTORY_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_HISTORY
+-- ----------------------------
+ALTER TABLE "B_HISTORY" ADD CONSTRAINT "SYS_C00159571" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_HISTORY
+-- ----------------------------
+CREATE UNIQUE INDEX "B_HISTORY_INDEX1"
+  ON "B_HISTORY" ("REQUEST_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LIST_SUB
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB" ADD CONSTRAINT "B_LIST_SUB_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LIST_SUB
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB" ADD CONSTRAINT "SYS_C00159575" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LIST_SUB_DETAIL_BL
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_BL" ADD CONSTRAINT "B_LIST_SUB_DETAIL_BL_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LIST_SUB_DETAIL_BL
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_BL" ADD CONSTRAINT "SYS_C00159587" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_LIST_SUB_DETAIL_BL
+-- ----------------------------
+CREATE UNIQUE INDEX "B_LIST_SUB_DETAIL_BL_INDEX1"
+  ON "B_LIST_SUB_DETAIL_BL" ("MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LIST_SUB_DETAIL_NV
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_NV" ADD CONSTRAINT "B_LIST_SUB_DETAIL_NV_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LIST_SUB_DETAIL_NV
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_NV" ADD CONSTRAINT "SYS_C00159568" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_LIST_SUB_DETAIL_NV
+-- ----------------------------
+CREATE UNIQUE INDEX "B_LIST_SUB_DETAIL_NV_INDEX1"
+  ON "B_LIST_SUB_DETAIL_NV" ("MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LIST_SUB_DETAIL_WL
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_WL" ADD CONSTRAINT "B_LIST_SUB_DETAIL_WL_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LIST_SUB_DETAIL_WL
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_DETAIL_WL" ADD CONSTRAINT "SYS_C00159586" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_LIST_SUB_DETAIL_WL
+-- ----------------------------
+CREATE UNIQUE INDEX "B_LIST_SUB_DETAIL_WL_INDEX1"
+  ON "B_LIST_SUB_DETAIL_WL" ("LIST_SUB_FILE_ID" ASC, "MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE UNIQUE INDEX "B_LIST_SUB_DETAIL_WL_INDEX2"
+  ON "B_LIST_SUB_DETAIL_WL" ("LIST_SUB_ID" ASC, "MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LIST_SUB_FILE
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_FILE" ADD CONSTRAINT "B_LIST_SUB_FILE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LIST_SUB_FILE
+-- ----------------------------
+ALTER TABLE "B_LIST_SUB_FILE" ADD CONSTRAINT "SYS_C00159560" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_LIST_SUB_FILE
+-- ----------------------------
+CREATE UNIQUE INDEX "B_LIST_SUB_FILE_INDEX1"
+  ON "B_LIST_SUB_FILE" ("FILE_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_LOG_TOTAL
+-- ----------------------------
+ALTER TABLE "B_LOG_TOTAL" ADD CONSTRAINT "B_LOG_TOTAL_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_LOG_TOTAL
+-- ----------------------------
+ALTER TABLE "B_LOG_TOTAL" ADD CONSTRAINT "SYS_C00159607" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_ON_CAM_SEND
+-- ----------------------------
+ALTER TABLE "B_ON_CAM_SEND" ADD CONSTRAINT "B_ON_CAM_SEND_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_ON_CAM_SEND
+-- ----------------------------
+ALTER TABLE "B_ON_CAM_SEND" ADD CONSTRAINT "SYS_C00159570" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_ON_VARIABLE
+-- ----------------------------
+ALTER TABLE "B_ON_VARIABLE" ADD CONSTRAINT "B_VARIABLE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_ON_VARIABLE
+-- ----------------------------
+ALTER TABLE "B_ON_VARIABLE" ADD CONSTRAINT "SYS_C00159581" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_ON_WHITELIST
+-- ----------------------------
+ALTER TABLE "B_ON_WHITELIST" ADD CONSTRAINT "B_ON_WHITELIST_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_ON_WHITELIST
+-- ----------------------------
+ALTER TABLE "B_ON_WHITELIST" ADD CONSTRAINT "SYS_C00159567" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_ON_WHITELIST
+-- ----------------------------
+CREATE UNIQUE INDEX "B_ON_WHITELIST_INDEX1"
+  ON "B_ON_WHITELIST" ("MSISDN" ASC, "CAMPAIGN_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_REGISTER_LOG
+-- ----------------------------
+ALTER TABLE "B_REGISTER_LOG" ADD CONSTRAINT "B_REGISTER_LOG_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_REGISTER_LOG
+-- ----------------------------
+ALTER TABLE "B_REGISTER_LOG" ADD CONSTRAINT "SYS_C00159578" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_REPORT_TOTAL_TMP
+-- ----------------------------
+ALTER TABLE "B_REPORT_TOTAL_TMP" ADD CONSTRAINT "B_REPORT_TOTAL_TMP_PK" PRIMARY KEY ("SEQ");
+
+-- ----------------------------
+-- Checks structure for table B_REPORT_TOTAL_TMP
+-- ----------------------------
+ALTER TABLE "B_REPORT_TOTAL_TMP" ADD CONSTRAINT "SYS_C00159611" CHECK ("SEQ" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_SERVICE
+-- ----------------------------
+ALTER TABLE "B_SERVICE" ADD CONSTRAINT "B_SERVICE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_SERVICE
+-- ----------------------------
+ALTER TABLE "B_SERVICE" ADD CONSTRAINT "SYS_C00159606" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_SERVICE_ADD_KODUNG
+-- ----------------------------
+ALTER TABLE "B_SERVICE_ADD_KODUNG" ADD CONSTRAINT "B_SERVICE_ADD_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_SERVICE_ADD_KODUNG
+-- ----------------------------
+ALTER TABLE "B_SERVICE_ADD_KODUNG" ADD CONSTRAINT "SYS_C00159594" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_SERVICE_GROUP
+-- ----------------------------
+ALTER TABLE "B_SERVICE_GROUP" ADD CONSTRAINT "B_SERVICE_GROUP_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_SERVICE_GROUP
+-- ----------------------------
+ALTER TABLE "B_SERVICE_GROUP" ADD CONSTRAINT "SYS_C00159789" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table B_TOTAL_INPUT
+-- ----------------------------
+ALTER TABLE "B_TOTAL_INPUT" ADD CONSTRAINT "B_TOTAL_INPUT_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_TOTAL_INPUT
+-- ----------------------------
+ALTER TABLE "B_TOTAL_INPUT" ADD CONSTRAINT "SYS_C00162446" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table B_TOTAL_INPUT
+-- ----------------------------
+CREATE INDEX "B_TOTAL_INPUT_INDEX1"
+  ON "B_TOTAL_INPUT" ("NGAY" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE INDEX "B_TOTAL_INPUT_INDEX2"
+  ON "B_TOTAL_INPUT" ("CODE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table B_WHITE_LIST_DATA_TMP
+-- ----------------------------
+ALTER TABLE "B_WHITE_LIST_DATA_TMP" ADD CONSTRAINT "B_WHITE_LIST_DATA_TMP_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table B_WHITE_LIST_DATA_TMP
+-- ----------------------------
+ALTER TABLE "B_WHITE_LIST_DATA_TMP" ADD CONSTRAINT "SYS_C00159572" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table CP
+-- ----------------------------
+ALTER TABLE "CP" ADD CONSTRAINT "CP_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table CP
+-- ----------------------------
+ALTER TABLE "CP" ADD CONSTRAINT "SYS_C00159583" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "CP" ADD CONSTRAINT "SYS_C00159584" CHECK ("NAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "CP" ADD CONSTRAINT "SYS_C00159585" CHECK ("CONFIG_FILE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table ERR_CODE
+-- ----------------------------
+ALTER TABLE "ERR_CODE" ADD CONSTRAINT "LOTO_ERR_CODE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table ERR_CODE
+-- ----------------------------
+ALTER TABLE "ERR_CODE" ADD CONSTRAINT "SYS_C00159608" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "ERR_CODE" ADD CONSTRAINT "SYS_C00159609" CHECK ("ERR_CODE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table KEYS
+-- ----------------------------
+ALTER TABLE "KEYS" ADD CONSTRAINT "KEYS_PK" PRIMARY KEY ("KEYNAME");
+
+-- ----------------------------
+-- Checks structure for table KEYS
+-- ----------------------------
+ALTER TABLE "KEYS" ADD CONSTRAINT "SYS_C00159579" CHECK ("KEYNAME" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "KEYS" ADD CONSTRAINT "SYS_C00159580" CHECK ("NEXTVAL" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table PARAMS
+-- ----------------------------
+ALTER TABLE "PARAMS" ADD CONSTRAINT "PARAMS_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table PARAMS
+-- ----------------------------
+ALTER TABLE "PARAMS" ADD CONSTRAINT "SYS_C00159612" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table PARAMS
+-- ----------------------------
+CREATE UNIQUE INDEX "PARAMS_INDEX1"
+  ON "PARAMS" ("CODE" ASC, "CODE_GROUP" ASC, "CHANNEL" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table PUSH_USSD
+-- ----------------------------
+ALTER TABLE "PUSH_USSD" ADD CONSTRAINT "PUSH_USSD_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Indexes structure for table PUSH_USSD
+-- ----------------------------
+CREATE INDEX "PUSH_USSD_INDEX1"
+  ON "PUSH_USSD" ("IS_LOCK" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table PUSH_USSD_DETAIL
+-- ----------------------------
+ALTER TABLE "PUSH_USSD_DETAIL" ADD CONSTRAINT "PUD_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table PUSH_USSD_DETAIL
+-- ----------------------------
+ALTER TABLE "PUSH_USSD_DETAIL" ADD CONSTRAINT "SYS_C00164950" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "PUSH_USSD_DETAIL" ADD CONSTRAINT "SYS_C00164951" CHECK ("REQUEST_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table PUSH_USSD_DETAIL
+-- ----------------------------
+CREATE INDEX "PUD_MSISDN_IDX"
+  ON "PUSH_USSD_DETAIL" ("MSISDN" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE INDEX "PUD_ST_IDX"
+  ON "PUSH_USSD_DETAIL" ("SEND_TIME" DESC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+CREATE UNIQUE INDEX "PUD_UK"
+  ON "PUSH_USSD_DETAIL" ("REQUEST_ID" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table PUSH_USSD_HIS
+-- ----------------------------
+ALTER TABLE "PUSH_USSD_HIS" ADD CONSTRAINT "PUSH_USSD_HIS_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table PUSH_USSD_HIS
+-- ----------------------------
+ALTER TABLE "PUSH_USSD_HIS" ADD CONSTRAINT "SYS_C00159589" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table RELOAD
+-- ----------------------------
+ALTER TABLE "RELOAD" ADD CONSTRAINT "RELOAD_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table RELOAD
+-- ----------------------------
+ALTER TABLE "RELOAD" ADD CONSTRAINT "SYS_C00159610" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_COUNT_DAILY
+-- ----------------------------
+CREATE INDEX "RCD_REPORT_DATE_IDX"
+  ON "REPORT_COUNT_DAILY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_COUNT_HOURLY
+-- ----------------------------
+CREATE INDEX "RCH_REPORT_DATE_IDX"
+  ON "REPORT_COUNT_HOURLY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_ERROR_DAILY
+-- ----------------------------
+CREATE INDEX "RED_REPORT_DATE_IDX"
+  ON "REPORT_ERROR_DAILY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_ERROR_HOURLY
+-- ----------------------------
+CREATE INDEX "REH_REPORT_DATE_IDX"
+  ON "REPORT_ERROR_HOURLY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_USER_DAILY
+-- ----------------------------
+CREATE INDEX "RUD_REPORT_DATE_IDX"
+  ON "REPORT_USER_DAILY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Indexes structure for table REPORT_USER_HOURLY
+-- ----------------------------
+CREATE INDEX "RUH_REPORT_DATE_IDX"
+  ON "REPORT_USER_HOURLY" ("REPORT_DATE" ASC)
+  LOGGING
+  VISIBLE
+PCTFREE 10
+INITRANS 2
+STORAGE (
+  INITIAL 65536 
+  NEXT 1048576 
+  MINEXTENTS 1
+  MAXEXTENTS 2147483645
+  BUFFER_POOL DEFAULT
+  FLASH_CACHE DEFAULT
+)
+   USABLE;
+
+-- ----------------------------
+-- Primary Key structure for table SMS_INPUT
+-- ----------------------------
+ALTER TABLE "SMS_INPUT" ADD CONSTRAINT "SMS_INPUT_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table SMS_INPUT
+-- ----------------------------
+ALTER TABLE "SMS_INPUT" ADD CONSTRAINT "SYS_C00159598" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table STATE
+-- ----------------------------
+ALTER TABLE "STATE" ADD CONSTRAINT "SYS_C00159590" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE" ADD CONSTRAINT "SYS_C00159591" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table STATE_CHANGE
+-- ----------------------------
+ALTER TABLE "STATE_CHANGE" ADD CONSTRAINT "SYS_C00159561" CHECK ("STATE1" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE" ADD CONSTRAINT "SYS_C00159562" CHECK ("INPUT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE" ADD CONSTRAINT "SYS_C00159563" CHECK ("STATE2" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE" ADD CONSTRAINT "SYS_C00159564" CHECK ("PRIORITY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table STATE_CHANGE_PUSH
+-- ----------------------------
+ALTER TABLE "STATE_CHANGE_PUSH" ADD CONSTRAINT "SYS_C00160847" CHECK ("STATE1" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE_PUSH" ADD CONSTRAINT "SYS_C00160848" CHECK ("INPUT" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE_PUSH" ADD CONSTRAINT "SYS_C00160849" CHECK ("STATE2" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_CHANGE_PUSH" ADD CONSTRAINT "SYS_C00160850" CHECK ("PRIORITY" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Checks structure for table STATE_PUSH
+-- ----------------------------
+ALTER TABLE "STATE_PUSH" ADD CONSTRAINT "SYS_C00160845" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "STATE_PUSH" ADD CONSTRAINT "SYS_C00160846" CHECK ("TYPE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table TMP_NOTUSE
+-- ----------------------------
+ALTER TABLE "TMP_NOTUSE" ADD CONSTRAINT "TMP_NOTUSE_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table TMP_NOTUSE
+-- ----------------------------
+ALTER TABLE "TMP_NOTUSE" ADD CONSTRAINT "SYS_C00159597" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table TMP_PLS
+-- ----------------------------
+ALTER TABLE "TMP_PLS" ADD CONSTRAINT "TMP_PLS_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table TMP_PLS
+-- ----------------------------
+ALTER TABLE "TMP_PLS" ADD CONSTRAINT "SYS_C00159582" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table USER_WEB_CMS_FUNCTION
+-- ----------------------------
+ALTER TABLE "USER_WEB_CMS_FUNCTION" ADD CONSTRAINT "USER_WEB_CMS_FUNCTION_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table USER_WEB_CMS_FUNCTION
+-- ----------------------------
+ALTER TABLE "USER_WEB_CMS_FUNCTION" ADD CONSTRAINT "SYS_C00159574" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table USSDGW
+-- ----------------------------
+ALTER TABLE "USSDGW" ADD CONSTRAINT "USSDGW_PK" PRIMARY KEY ("USSDGW_ID");
+
+-- ----------------------------
+-- Checks structure for table USSDGW
+-- ----------------------------
+ALTER TABLE "USSDGW" ADD CONSTRAINT "SYS_C00159599" CHECK ("USSDGW_ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "USSDGW" ADD CONSTRAINT "SYS_C00159600" CHECK ("CONFIG_FILE" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+ALTER TABLE "USSDGW" ADD CONSTRAINT "SYS_C00159601" CHECK ("IMPLEMENT_CLASS" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table WARING_DATA
+-- ----------------------------
+ALTER TABLE "WARING_DATA" ADD CONSTRAINT "WARING_DATA_PK" PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Checks structure for table WARING_DATA
+-- ----------------------------
+ALTER TABLE "WARING_DATA" ADD CONSTRAINT "SYS_C00159569" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;
+
+-- ----------------------------
+-- Primary Key structure for table WEBSERVICE
+-- ----------------------------
+ALTER TABLE "WEBSERVICE" ADD CONSTRAINT "WS_PK" PRIMARY KEY ("WS_ID");

+ 17 - 82
SuperAdmin/SuperAdmin/Controllers/AdminController.cs

@@ -280,21 +280,11 @@ namespace SuperAdmin.Controllers
             {
                 return Redirect(GetParameter(UtilsController.Constant.SUB_DOMAIN) + "/Home/Login");
             }
-            PrepareCampaignManagementView(false);
+            PrepareCampaignManagementView();
             return View();
         }
 
-        public IActionResult HiddenCampaignManagement()
-        {
-            if (!CheckAuthToken())
-            {
-                return Redirect(GetParameter(UtilsController.Constant.SUB_DOMAIN) + "/Home/Login");
-            }
-            PrepareCampaignManagementView(true);
-            return View("CampaignManagement");
-        }
-
-        private void PrepareCampaignManagementView(bool isHiddenCampaign)
+        private void PrepareCampaignManagementView()
         {
             CriteriaSearchReq req = new CriteriaSearchReq();
             req.rowsOnPage = "1000000";
@@ -318,29 +308,23 @@ namespace SuperAdmin.Controllers
             HttpContext.Session.SetComplexData("listSubFile", res4.list);
             PreLoadService();
 
-            ViewBag.IsHiddenCampaign = isHiddenCampaign;
-            ViewBag.CampaignPageTitle = isHiddenCampaign ? "Hidden Campaign Management" : "Campaign Management";
-            ViewBag.CampaignBreadcrumb = isHiddenCampaign ? "Hidden Campaign Management" : "Campaign Management";
-            ViewBag.CampaignSearchUrl = isHiddenCampaign ? "/Admin/HiddenCampaignSearch" : "/Admin/CampaignSearch";
-            ViewBag.CampaignExportUrl = isHiddenCampaign ? "/Admin/HiddenCampaignExport" : "/Admin/CampaignExport";
-            ViewBag.CampaignLoadInfoUrl = isHiddenCampaign ? "/Admin/HiddenCampaignLoadInfo" : "/Admin/CampaignLoadInfo";
-            ViewBag.CampaignAddUpdateUrl = isHiddenCampaign ? "/Admin/HiddenCampaignAddUpdate" : "/Admin/CampaignAddUpdate";
-            ViewBag.CampaignCloneUrl = isHiddenCampaign ? "/Admin/HiddenCampaignClone" : "/Admin/CampaignClone";
-            ViewBag.CampaignChangeStatusUrl = isHiddenCampaign ? "/Admin/HiddenCampaignChangeStatus" : "/Admin/ChangeStatus";
-            ViewBag.CampaignExportFileName = isHiddenCampaign ? "hidden_campaigns.xlsx" : "campaigns.xlsx";
+            ViewBag.CampaignPageTitle = "Campaign Management";
+            ViewBag.CampaignBreadcrumb = "Campaign Management";
+            ViewBag.CampaignSearchUrl = "/Admin/CampaignSearch";
+            ViewBag.CampaignExportUrl = "/Admin/CampaignExport";
+            ViewBag.CampaignLoadInfoUrl = "/Admin/CampaignLoadInfo";
+            ViewBag.CampaignAddUpdateUrl = "/Admin/CampaignAddUpdate";
+            ViewBag.CampaignCloneUrl = "/Admin/CampaignClone";
+            ViewBag.CampaignChangeStatusUrl = "/Admin/ChangeStatus";
+            ViewBag.CampaignExportFileName = "campaigns.xlsx";
         }
 
         public IActionResult CampaignSearch(CampaignGetListReq req)
         {
-            return CampaignSearchByWs(req, CommonUtils.WsType.CamGetList, false);
+            return CampaignSearchByWs(req, CommonUtils.WsType.CamGetList);
         }
 
-        public IActionResult HiddenCampaignSearch(CampaignGetListReq req)
-        {
-            return CampaignSearchByWs(req, CommonUtils.WsType.HiddenCamGetList, true);
-        }
-
-        private IActionResult CampaignSearchByWs(CampaignGetListReq req, string wsType, bool isHiddenCampaign)
+        private IActionResult CampaignSearchByWs(CampaignGetListReq req, string wsType)
         {
             if (!CheckAuthToken())
             {
@@ -350,23 +334,12 @@ namespace SuperAdmin.Controllers
                     content = "Login first"
                 });
             }
-            //string account = HttpContext.Session.GetString("account");
-            //req.usersName = account;
             req.rowsOnPage = "1000000";
             req.seqPage = "1";
             req.order = "desc";
-            //req.type = "1"; // already result
 
             String url = GetParameter(wsType);
             CampaignGetListRes res = CampaignGetListRes.Parse(SendPost(req, url));
-            //HttpContext.Session.SetComplexData("ExportGetListRes", res);
-            //return Json(new
-            //{
-            //    error = res.responseCode,
-            //    content = res.responseMessage,
-            //    data = res.list
-            //});
-            ViewBag.IsHiddenCampaign = isHiddenCampaign;
             return PartialView("../Partial/_ListCampaign", res.list);
         }
 
@@ -376,11 +349,7 @@ namespace SuperAdmin.Controllers
             return CampaignExportByWs(req, CommonUtils.WsType.CamGetList, "campaigns.xlsx");
         }
 
-        [HttpPost]
-        public IActionResult HiddenCampaignExport(CampaignGetListReq req)
-        {
-            return CampaignExportByWs(req, CommonUtils.WsType.HiddenCamGetList, "hidden_campaigns.xlsx");
-        }
+
 
         private IActionResult CampaignExportByWs(CampaignGetListReq req, string wsType, string fileName)
         {
@@ -475,11 +444,7 @@ namespace SuperAdmin.Controllers
             return CampaignCloneByWs(request, CommonUtils.WsType.camCopy);
         }
 
-        [HttpPost]
-        public JsonResult HiddenCampaignClone(CampaignCopyReq request)
-        {
-            return CampaignCloneByWs(request, CommonUtils.WsType.hiddenCamCopy);
-        }
+
 
         private JsonResult CampaignCloneByWs(CampaignCopyReq request, string wsType)
         {
@@ -510,11 +475,7 @@ namespace SuperAdmin.Controllers
             return CampaignLoadInfoByWs(request, CommonUtils.WsType.CamGetList);
         }
 
-        [HttpPost]
-        public IActionResult HiddenCampaignLoadInfo(CampaignGetListReq request)
-        {
-            return CampaignLoadInfoByWs(request, CommonUtils.WsType.HiddenCamGetList);
-        }
+
 
         private IActionResult CampaignLoadInfoByWs(CampaignGetListReq request, string wsType)
         {
@@ -552,11 +513,7 @@ namespace SuperAdmin.Controllers
             return CampaignAddUpdateByWs(campAddUpdateObj, CommonUtils.WsType.CamGetList, CommonUtils.WsType.CamInsert, CommonUtils.WsType.CamUpdate);
         }
 
-        [HttpPost]
-        public JsonResult HiddenCampaignAddUpdate(CampaignAddUpdateObj campAddUpdateObj)
-        {
-            return CampaignAddUpdateByWs(campAddUpdateObj, CommonUtils.WsType.HiddenCamGetList, CommonUtils.WsType.HiddenCamInsert, CommonUtils.WsType.HiddenCamUpdate);
-        }
+
 
         private JsonResult CampaignAddUpdateByWs(CampaignAddUpdateObj campAddUpdateObj, string getListWsType, string insertWsType, string updateWsType)
         {
@@ -1261,29 +1218,7 @@ namespace SuperAdmin.Controllers
             });
         }
 
-        [HttpPost]
-        public JsonResult HiddenCampaignChangeStatus(ChangeStatusReq request)
-        {
-            if (!CheckAuthToken())
-            {
-                return Json(new
-                {
-                    error = "-1",
-                    content = "Login first"
-                });
-            }
-            string account = HttpContext.Session.GetString("account");
-            request.users = account;
-            request.type = CommonUtils.ActionType.Campaign;
-            string url = GetParameter(CommonUtils.WsType.hiddenChangeStatus);
-            var res = CommonRes.Parse(SendPost(request, url));
 
-            return Json(new
-            {
-                error = res.responseCode,
-                content = res.responseMessage
-            });
-        }
 
         [HttpPost]
         public IActionResult ServiceExport(ServiceGetListReq req)

+ 1 - 6
SuperAdmin/SuperAdmin/Source/CommonUtils.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
@@ -238,11 +238,6 @@ namespace SuperAdmin.Source
             public const String CamUpdate = "wsCamUpdate";
             public const String CamInsert = "wsCamInsert";
             public const String camCopy = "camCopy";
-            public const String HiddenCamGetList = "wsHiddenCamGetList";
-            public const String HiddenCamUpdate = "wsHiddenCamUpdate";
-            public const String HiddenCamInsert = "wsHiddenCamInsert";
-            public const String hiddenCamCopy = "hiddenCamCopy";
-            public const String hiddenChangeStatus = "wsHiddenChangeStatus";
             public const String CamSvGetList = "wsCamSvGetList";
             public const String CamAddInsert = "wsCamAddInsert";
             public const String CamSvRemove = "wsCamSvRemove";

+ 2 - 33
SuperAdmin/SuperAdmin/Views/Admin/CampaignManagement.cshtml

@@ -10,7 +10,6 @@
 
 @model SearchMsisdnRes
 @{
-    bool isHiddenCampaign = ViewBag.IsHiddenCampaign == true;
     string campaignPageTitle = ViewBag.CampaignPageTitle ?? "Campaign Management";
     string campaignBreadcrumb = ViewBag.CampaignBreadcrumb ?? "Campaign Management";
     string campaignSearchUrl = ViewBag.CampaignSearchUrl ?? "/Admin/CampaignSearch";
@@ -186,7 +185,7 @@
                                             <div class="form-group">
                                                 <label>Campaign Type</label>
                                                 <select class="form-control" id="isDefaultSearch" name="isDefaultSearch">
-                                                    <option value="-1" selected>-- All --</option>
+                                                    @* <option value="-1" selected>-- All --</option> *@
                                                     @* <option value="1">Default</option> *@
                                                     <option value="0">Normal</option>
                                                 </select>
@@ -1203,37 +1202,7 @@
             });
         }
 
-        @if (isHiddenCampaign)
-        {
-            <text>
-        function changeStatus(id, type, status) {
-            console.log("changeHiddenCampaignStatus " + id + " to " + status);
-            $.ajax({
-                url: urlConfig('@campaignChangeStatusUrl'),
-                type: "POST",
-                data: {
-                    id: id,
-                    type: type,
-                    status: status
-                },
-                success: function (result) {
-                    console.log(result);
-                    if (result.error == '0') {
-                        Swal.fire("Success!", result.content, "success").
-                            then((result) => {
-                                search();
-                            });
-                    } else {
-                        Swal.fire("Failed!", result.content, "error");
-                    }
-                },
-                error: function (err) {
-                    console.log(err);
-                }
-            });
-        }
-            </text>
-        }
+
 
         //function updateGridDataDetail(val) {
         //    console.log(val);

+ 1 - 10
SuperAdmin/SuperAdmin/Views/Partial/_Menu.cshtml

@@ -1,4 +1,4 @@
-@using Microsoft.AspNetCore.Http;
+@using Microsoft.AspNetCore.Http;
 @using SuperAdmin.Controllers;
 @using SuperAdmin.Models.Object;
 @using SuperCms.Extensions;
@@ -48,15 +48,6 @@
                 </a>
             </li>
         }
-        if (BaseController.useVsa == "0" || listMenu.Contains("/Admin/HiddenCampaignManagement"))
-        {
-            <li class=" nav-item">
-                <a class="nav-link" href="@ViewBag.MyConfig.MyValue/Admin/HiddenCampaignManagement">
-                    <i class="icon-eyeglasses"></i>
-                    <span class="menu-title">Hidden Campaigns</span>
-                </a>
-            </li>
-        }
         if (BaseController.useVsa == "0" || listMenu.Contains("/Admin/CampaignScheduler"))
         {
             <li class=" nav-item">

+ 0 - 5
SuperAdmin/SuperAdmin/appsettings.json

@@ -18,11 +18,6 @@
   "wsCamGetList": "http://127.0.0.1:8989/api/balance/camGetList/data",
   "wsCamUpdate": "http://127.0.0.1:8989/api/balance/camUpdate/data",
   "wsCamInsert": "http://127.0.0.1:8989/api/balance/camInsert/data",
-  "wsHiddenCamGetList": "http://127.0.0.1:8989/api/balance/hiddenCamGetList/data",
-  "wsHiddenCamUpdate": "http://127.0.0.1:8989/api/balance/hiddenCamUpdate/data",
-  "wsHiddenCamInsert": "http://127.0.0.1:8989/api/balance/hiddenCamInsert/data",
-  "hiddenCamCopy": "http://127.0.0.1:8989/api/balance/hiddenCamCopy/data",
-  "wsHiddenChangeStatus": "http://127.0.0.1:8989/api/balance/hiddenChangeStatus/data",
   "wsTransferSearch": " http://127.0.0.1:8989/api/balance/getListConvertByUser/data",
   "wsMsisdnExport": " http://127.0.0.1:8989/api/balance/rpSearchDetailTicketUniqueMsisdn/data",
   "urlTermresult": " http://127.0.0.1:8989/api/luckyGame/getResultOfTerm/data",