/** Function: changeStatusFromTranferingToMatchedOrFailedForCancelOrderForHN Description: change Status Input: Order id Output: success / error code */ function changeStatusFromTranferingToMatchedOrFailedForCancelOrderForHN($OrderID, $IsMatched, $AccountNo, $UpdatedBy) { $function_name = 'changeStatusFromTranferingToMatchedOrFailedForCancelOrderForHN'; $struct = '{urn:' . $this->class_name . '}' . $function_name . 'Struct'; if (authenUser(func_get_args(), $this, $function_name) > 0) { return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } if (!required($OrderID) || !unsigned($OrderID)) { $this->_ERROR_CODE = 30220; } else { if (intval($IsMatched) == 1) { $query = sprintf("SELECT o1.OrderQuantity, o1.OrderPrice, o1.OrderAgencyFee,\r\n o2.OrderQuantity AS OlderQuantity, o2.OrderAgencyFee AS OldOrderAgencyFee,\r\n o1.OldOrderID, o1.AccountID, o2.OrderSideID, o2.UnitCode, o2.BankID\r\n FROM %s o1, %s o2\r\n WHERE o1.ID=%u\r\n AND o1.Deleted='0'\r\n AND o2.Deleted='0'\r\n AND o1.OldOrderID=o2.ID\r\n AND o1.OrderStockStatusID=%u ", TBL_ORDER, TBL_ORDER, $OrderID, ORDER_TRANSFERING); $rs = $this->_MDB2->extended->getRow($query); //block money in bank $query = sprintf("SELECT vw_ListAccountBank_Detail.*\r\n FROM vw_ListAccountBank_Detail, %s\r\n WHERE AccountNo='%s'\r\n AND %s.Deleted='0'\r\n AND vw_ListAccountBank_Detail.AccountID = %s.AccountID\r\n AND vw_ListAccountBank_Detail.BankID = %u\r\n ORDER BY Priority LIMIT 1", TBL_ORDER, $AccountNo, TBL_ORDER, TBL_ORDER, $rs['bankid']); $bank_rs = $this->_MDB2->extended->getRow($query); $vip = checkVIPAccount($AccountNo); // 1: exist 0: not exist if ($rs['ordersideid'] == ORDER_BUY) { if ($bank_rs['accountid'] == $rs['accountid']) { //last Order $oldTempFee = $rs['olderquantity'] * $rs['orderprice'] * $rs['oldorderagencyfee']; $oldTempFee = $oldTempFee > 10000 ? $oldTempFee : 10000; $oldOrderValue = $rs['olderquantity'] * $rs['orderprice'] + $oldTempFee; $oldOrderValue = number_format($oldOrderValue, 0, ".", ""); //remain Quantity $remainQuantity = $rs['olderquantity'] - $rs['orderquantity']; $remainQuantity = number_format($remainQuantity, 0, ".", ""); //cancel Order if ($remainQuantity > 0) { //incompleted cancel $tempCancelFee = $remainQuantity * $rs['orderprice'] * $rs['orderagencyfee']; $tempCancelFee = $tempCancelFee > 10000 ? $tempCancelFee : 10000; $cancelOrderValue = $remainQuantity * $rs['orderprice'] + $tempCancelFee; $cancelOrderValue = number_format($cancelOrderValue, 0, ".", ""); } else { //completed cancel $cancelOrderValue = 0; } $cancelValue = $oldOrderValue - $cancelOrderValue; if (strpos(PAGODA_ACCOUNT, $AccountNo) === false && $vip == 0) { switch ($bank_rs['bankid']) { case DAB_ID: $dab =& new CDAB(); $dab_rs = $dab->cancelBlockMoney($bank_rs['bankaccount'], $AccountNo, $rs['oldorderid'], $cancelValue); break; case VCB_ID: $dab =& new CVCB(); $oldOrderID = $rs['oldorderid'] . $rs['unitcode']; $suffix = date("His"); $newOrderID = $rs['oldorderid'] . $suffix; if ($cancelOrderValue > 0) { $dab_rs = $dab->editBlockMoney($AccountNo, $oldOrderID, $newOrderID, $oldOrderValue, $cancelOrderValue); } else { $dab_rs = $dab->cancelBlockMoney($AccountNo, $oldOrderID, $oldOrderValue); } break; case NVB_ID: $dab =& new CNVB(); $dab_rs = $dab->cancelBlockMoney(substr($rs['oldorderid'] . date("His"), 3), $bank_rs['bankaccount'], $cancelValue, $rs['oldorderid']); break; case NHHM: case OFFLINE: $query = sprintf("CALL sp_VirtualBank_Cancel('%s', %u, %u, %f, '%s')", $AccountNo, $bank_rs['bankid'], $rs['oldorderid'], $cancelValue, $UpdatedBy); $mdb = initWriteDB(); $off_rs = $mdb->extended->getRow($query); $mdb->disconnect(); $dab_rs = $off_rs['varerror']; break; } // switch } else { $dab_rs = 0; } if ($dab_rs != 0) { //fail $IsMatched = 0; switch ($bank_rs['bankid']) { case DAB_ID: switch ($dab_rs) { case '-1': $this->_ERROR_CODE = 41060; break; case '-2': $this->_ERROR_CODE = 41061; break; case '-3': $this->_ERROR_CODE = 41062; break; case '-4': $this->_ERROR_CODE = 41063; break; case '-5': $this->_ERROR_CODE = 41064; break; case '1': $this->_ERROR_CODE = 41065; break; default: $this->_ERROR_CODE = $dab_rs; } // switch break; case VCB_ID: $arrErr = explode("_", $dab_rs); $this->_ERROR_CODE = $arrErr[1]; break; case NVB_ID: $this->_ERROR_CODE = $dab_rs; break; case NHHM: case OFFLINE: switch ($dab_rs) { case '-1': $this->_ERROR_CODE = 30730; break; case '-2': $this->_ERROR_CODE = 30731; break; case '-3': $this->_ERROR_CODE = 30732; break; case '-4': $this->_ERROR_CODE = 30733; break; case '-5': $this->_ERROR_CODE = 30734; break; default: $this->_ERROR_CODE = $dab_rs; } break; } } // bank } else { // AccountNo doesn't match $this->_ERROR_CODE = 30225; return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } } } $query = sprintf("CALL sp_updateFromTranferingToMatchedOrFailedForCancelOrderForHN(%u, '%u', '%s', '%s')", $OrderID, $IsMatched, $UpdatedBy, $suffix); $rs = $this->_MDB2_WRITE->extended->getRow($query); if (empty($rs)) { $this->_ERROR_CODE = 30221; } else { $result = $rs['varerror']; if ($result < 0) { switch ($result) { case '-2': $this->_ERROR_CODE = 30223; break; default: $this->_ERROR_CODE = 666; } //switch } // if result } // if store } // return returnXML(func_get_args(), $this->class_name, $function_name, /*$this->_ERROR_CODE*/33333, $this->items, $this ); return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); }
function getListInvalidFutureBuyingOrder($OrderDate, $StockExchangeID) { // End 20100723 - Them $StockExchangeID ------------------------------------------------------- // $function_name = 'getListInvalidFutureBuyingOrder'; $struct = '{urn:' . $this->class_name . '}' . $function_name . 'Struct'; if (authenUser(func_get_args(), $this, $function_name) > 0) { return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } if (!required($OrderDate)) { $this->_ERROR_CODE = 30480; } elseif (!required($StockExchangeID)) { $this->_ERROR_CODE = 30001; } else { // $query = sprintf( "CALL sp_getListInvalidFutureBuyingOrder('%s' )", $OrderDate ); $query = sprintf("CALL sp_getListInvalidFutureBuyingOrder('%s', '%s' )", $OrderDate, $StockExchangeID); $rs = $this->_MDB2_WRITE->extended->getAll($query); $this->_MDB2_WRITE->disconnect(); $count = count($rs); for ($i = 0; $i < $count; $i++) { // 20100723 - Quang change --------------------------------- // $vip = checkVIPAccount($AccountNo);// 1: exist 0: not exist $vip = checkVIPAccount($rs[$i]['accountno']); // 1: exist 0: not exist // End 20100723 - Quang change ----------------------------- if (strpos(PAGODA_ACCOUNT, $rs[$i]['accountno']) === false && $vip == 0) { if ($rs[$i]['ordersideid'] == ORDER_BUY) { switch ($rs[$i]['bankid']) { case DAB_ID: $dab =& new CDAB(); $dab_rs = $dab->cancelBlockMoney($rs[$i]['bankaccount'], $rs[$i]['accountno'], $rs[$i]['id'], $rs[$i]['amount']); break; case VCB_ID: $dab =& new CVCB(); $newOrderID = $rs[$i]['id'] . $rs[$i]['unitcode']; $dab_rs = $dab->cancelBlockMoney($rs[$i]['accountno'], $newOrderID, $rs[$i]['amount']); break; case NVB_ID: $dab =& new CNVB(); $dab_rs = $dab->cancelBlockMoney(substr($rs[$i]['id'] . date("His"), 3), $rs[$i]['bankaccount'], $rs[$i]['amount'], $rs[$i]['id']); break; case OFFLINE: $query = sprintf("CALL sp_VirtualBank_Cancel('%s', %u, %u, %f, '%s')", $rs[$i]['accountno'], OFFLINE, $rs[$i]['id'], $rs[$i]['amount'], $function_name); $this->_MDB2_WRITE->connect(); $off_rs = $this->_MDB2_WRITE->extended->getRow($query); $this->_MDB2_WRITE->disconnect(); $dab_rs = $off_rs['varerror']; break; } // switch if ($dab_rs == 0) { $success = 1; } else { $success = 0; } $this->_MDB2_WRITE->connect(); $query = sprintf("CALL sp_updateFromApprovedToDeniedForFutureBuyingOrder( %u, %u )", $rs[$i]['id'], $success); $update_rs = $this->_MDB2_WRITE->extended->getRow($query); $this->_MDB2_WRITE->disconnect(); } // BUY order $bank_result .= $rs[$i]['accountno'] . " " . $rs[$i]['id'] . " " . $rs[$i]['amount'] . " --> " . $dab_rs . "\r\n"; $arraySMS['Phone'] = $rs[$i]['mobilephone']; $OrderSide = $rs[$i]['ordersideid'] == ORDER_BUY ? "Mua" : "Ban"; $arraySMS['Content'] = "EPS: Lenh " . $OrderSide . " " . $rs[$i]['symbol'] . " - TK: " . $rs[$i]['accountno'] . " khong hop le do sai gia Tran/San"; sendSMS($arraySMS); } // PAGODA_ACCOUNT } // for mailSMTP('Quản lý Đặt lệnh', '*****@*****.**', '*****@*****.**', '*****@*****.**', '', 'Danh sách lệnh đặt trước không hợp lệ - StockExchangeID:' . $StockExchangeID, 'Danh sách lệnh đặt trước không hợp lệ \\r\\n <br>' . $bank_result); // mailSMTP('Quản lý Đặt lệnh','*****@*****.**','*****@*****.**','*****@*****.**', '', 'Danh sách lệnh đặt trước không hợp lệ - StockExchangeID:'.$StockExchangeID,'Danh sách lệnh đặt trước không hợp lệ \r\n <br>'.$bank_result); $filename = $_SERVER['DOCUMENT_ROOT'] . "/bank/unlock/" . date("Ymd"); file_put_contents($filename, $bank_result); } return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); }
function insertCoSellOrder($CoAccountNo, $AccountNo, $StockID, $OrderQuantity, $OrderPrice, $Session, $FromTypeID, $Note, $OrderDate, $IsAssigner, $IsGotPaper, $CreatedBy, $AccountNoContra, $CompanyNameContra) { $function_name = 'insertCoSellOrder'; $struct = '{urn:' . $this->class_name . '}' . $function_name . 'Struct'; $log[] = sprintf('insertCoSellOrder - CoAccountNo:%s;AccountNo:%s;StockID:%s;OrderQuantity:%s;OrderPrice:%s;Session:%s;FromTypeID:%s;Note:%s;OrderDate:%s;IsAssigner:%s;IsGotPaper:%s;CreatedBy:%s;AccountNoContra:%s;CompanyNameContra:%s;ExecutedTime:%s', $CoAccountNo, $AccountNo, $StockID, $OrderQuantity, $OrderPrice, $Session, $FromTypeID, $Note, $OrderDate, $IsAssigner, $IsGotPaper, $CreatedBy, $AccountNoContra, $CompanyNameContra, date('Y-m-d h:i:s')); if (authenUser(func_get_args(), $this, $function_name) > 0) { $log[] = sprintf('authenUser: ERROR_CODE: %s', $this->_ERROR_CODE); write_my_log_path("insertCoSellOrder", implode("\n --> ", $log), '/home/vhosts/eSMS/htdocs/logs/otc/'); return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } $log[] = sprintf('authenUser: ERROR_CODE: %s', $this->_ERROR_CODE); // checking account is active / not if (!checkAccountIsActive($AccountNo) || !checkAccountIsActive($CoAccountNo)) { $this->_ERROR_CODE = 30275; $log[] = sprintf('checkAccountIsActive: ERROR_CODE: %s; AccountNo:%s,%s;CoAccountNo: %s,%s', $this->_ERROR_CODE, $AccountNo, checkAccountIsActive($AccountNo) ? 'TRUE' : 'FALSE', $CoAccountNo, checkAccountIsActive($CoAccountNo) ? 'TRUE' : 'FALSE'); write_my_log_path("insertCoSellOrder", implode("\n --> ", $log), '/home/vhosts/eSMS/htdocs/logs/otc/'); return returnXML(func_get_args(), $this->class_name, $function_name, 30275, $this->items, $this); } $log[] = sprintf('checkAccountIsActive: ERROR_CODE: %s; AccountNo:%s,%s;CoAccountNo: %s,%s', $this->_ERROR_CODE, $AccountNo, checkAccountIsActive($AccountNo) ? 'TRUE' : 'FALSE', $CoAccountNo, checkAccountIsActive($CoAccountNo) ? 'TRUE' : 'FALSE'); if (!required($CoAccountNo) || !required($AccountNo) || !required($OrderDate) || !required($StockID) || !required($OrderQuantity) || !required($OrderPrice) || !required($Session) || !unsigned($OrderQuantity) || !unsigned($StockID)) { if (!required($AccountNo) || !required($CoAccountNo)) { $this->_ERROR_CODE = 30051; } if (!required($OrderDate)) { $this->_ERROR_CODE = 30052; } if (!required($StockID) || !unsigned($StockID)) { $this->_ERROR_CODE = 30053; } if (!required($OrderQuantity) || !unsigned($OrderQuantity)) { $this->_ERROR_CODE = 30054; } if (!required($Session)) { $this->_ERROR_CODE = 30055; } if (!required($OrderPrice)) { $this->_ERROR_CODE = 30056; } $log[] = sprintf('check require: ERROR_CODE: %s', $this->_ERROR_CODE); } else { $vip = checkVIPAccount($AccountNo); // 1: exist 0: not exist $vipCo = checkVIPAccount($CoAccountNo); // 1: exist 0: not exist if (($vip == 1 || $vipCo == 1) && $FromTypeID == 5) { // web $this->_ERROR_CODE = 30602; $log[] = sprintf('Vip on web: Fail; AccountNo: %s;CoAccountNo: %s', $vip == 0 ? 'not vip' : 'vip', $vipCo == 0 ? 'not vip' : 'vip'); write_my_log_path("insertCoSellOrder", implode("\n --> ", $log), '/home/vhosts/eSMS/htdocs/logs/otc/'); return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } if ((strpos(EOT_PROHIBITION_ACCOUNT, $AccountNo) !== false || strpos(EOT_PROHIBITION_ACCOUNT, $CoAccountNo) !== false) && $FromTypeID == 5) { $this->_ERROR_CODE = 30602; $log[] = sprintf('check EOT_PROHIBITION_ACCOUNT: ERROR_CODE: %s;AccountNo:%s,%s;CoAccountNo:%s,%s', $this->_ERROR_CODE, $AccountNo, strpos(EOT_PROHIBITION_ACCOUNT, $AccountNo), $CoAccountNo, strpos(EOT_PROHIBITION_ACCOUNT, $CoAccountNo)); write_my_log_path("insertCoSellOrder", implode("\n --> ", $log), '/home/vhosts/eSMS/htdocs/logs/otc/'); return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); } if (!checkStockPrice($StockID, $OrderPrice, $OrderDate)) { $this->_ERROR_CODE = 30057; } $log[] = sprintf('checkStockPrice: ERROR_CODE: %s', $this->_ERROR_CODE); $sellingOrderID = ''; $buyingOrderID = ''; try { if ($this->_ERROR_CODE == 0) { // -------------------------------------------------------------------------------------- // // Insert sell order for $CoAccountNo // -------------------------------------------------------------------------------------- // $query = sprintf("CALL sp_upcom_insertSellingOrder('%s', %u, %u, %u, %u, '%u', '%s', '%s', '%u', '%u', '%s', '%s', '%s')", $CoAccountNo, $StockID, $OrderQuantity, $OrderPrice, $Session, $FromTypeID, $Note, $OrderDate, $IsAssigner, $IsGotPaper, $CreatedBy, $AccountNoContra, $CompanyNameContra); $log[] = sprintf('%s', $query); $mdb = initWriteDB(); $rs = $mdb->extended->getRow($query); $mdb->disconnect(); if (empty($rs)) { $this->_ERROR_CODE = 30060; } else { $result = $rs['varerror']; if ($result < 0) { switch ($result) { case '-1': $this->_ERROR_CODE = 19010; break; case '-2': $this->_ERROR_CODE = 19011; break; case '-3': $this->_ERROR_CODE = 19012; break; case '-4': $this->_ERROR_CODE = 19013; break; case '-5': $this->_ERROR_CODE = 19014; break; case '-6': $this->_ERROR_CODE = 19015; break; default: $this->_ERROR_CODE = $result; } } else { $sellingOrderID = $result; } } $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); $log[] = sprintf('SellingOrderID: %s', $sellingOrderID); } if ($this->_ERROR_CODE == 0) { // -------------------------------------------------------------------------------------- // // Insert buy order for $AccountNo // -------------------------------------------------------------------------------------- // $query = sprintf("CALL sp_upcom_insertBuyingOrder('%s', %u, %u, %u, %u, %u, '%s', '%s', '%u', '%u', '%s', '%s', '%s')", $AccountNo, $StockID, $OrderQuantity, $OrderPrice, $Session, $FromTypeID, $Note, $OrderDate, $IsAssigner, $IsGotPaper, $CreatedBy, $AccountNoContra, $CompanyNameContra); $log[] = sprintf('%s', $query); $rs = $this->_MDB2_WRITE->extended->getRow($query); if (empty($rs)) { $this->_ERROR_CODE = 30015; $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); } else { $result = $rs['varerror']; if ($result < 0) { switch ($result) { case '-1': $this->_ERROR_CODE = 19001; break; case '-2': $this->_ERROR_CODE = 19002; break; case '-3': $this->_ERROR_CODE = 19003; break; case '-4': $this->_ERROR_CODE = 19004; break; case '-5': $this->_ERROR_CODE = 19005; break; default: $this->_ERROR_CODE = $result; } $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); } else { $isQuotaAccount = CheckIsQuotaAccount($AccountNo); $vip = checkVIPAccount($AccountNo); // 1: exist 0: not exist $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); $log[] = sprintf('BuyingOrderID: %s', $result); $buyingOrderID = $result; //block money in bank $query = sprintf("SELECT * FROM vw_ListAccountBank_Detail WHERE AccountNo='%s' ORDER BY Priority ", $AccountNo); $log[] = sprintf('%s', $query); $mdb = initWriteDB(); $bank_rs = $mdb->extended->getAll($query); $log[] = sprintf('PAGODA_ACCOUNT: %s', strpos(PAGODA_ACCOUNT, $AccountNo) === false ? 'FALSE' : 'TRUE'); $log[] = sprintf('VIP_ACCOUNT: %s', $vip == 0 ? 'FALSE' : 'TRUE'); if (strpos(PAGODA_ACCOUNT, $AccountNo) === false && $vip == 0) { $dab_rs = 999; if ($isQuotaAccount != 0) { $BankID = NHHM; $mdb = initWriteDB(); $query = sprintf("CALL sp_VirtualBank_Lock('%s', %u, %u, %f, '%s', '%s')", $AccountNo, NHHM, $result, $rs['varordervalue'], $OrderDate, $CreatedBy); $off_rs = $mdb->extended->getRow($query); $mdb->disconnect(); $dab_rs = $off_rs['varerror']; $log[] = sprintf('block_money: bankid:NHHM;result:%s', $dab_rs); } else { for ($i = 0; $i < count($bank_rs); $i++) { switch ($bank_rs[$i]['bankid']) { case DAB_ID: $dab =& new CDAB(); $dab_rs = $dab->blockMoney($bank_rs[$i]['bankaccount'], $bank_rs[$i]['cardno'], $AccountNo, $result, $rs['varordervalue'], $OrderDate); $log[] = sprintf('block_money: bankid:DAB_ID;result:%s', $dab_rs); break; case VCB_ID: $dab =& new CVCB(); $OrderID = $result . $rs['varunitcode']; if (!killStupidBank()) { // VCB is stupid $dab_rs = $dab->blockMoney($AccountNo, $OrderID, $rs['varordervalue']); } else { $dab_rs = 30999; } $log[] = sprintf('block_money: bankid:VCB_ID;result:%s', $dab_rs); break; case ANZ_ID: $OrderID = $result; $query = sprintf("CALL sp_anz_money_request_lock( %u, '%s', '%s', '%s' )", $OrderID, $AccountNo, $rs['varordervalue'], $CreatedBy); $this->_MDB2_WRITE->connect(); $rs1 = $this->_MDB2_WRITE->extended->getRow($query); $this->_MDB2_WRITE->disconnect(); switch ($rs1['varerror']) { case -1: $dab_rs = 34511; //database error break; case -2: $dab_rs = 34512; //not enough money to unlock break; case -3: $dab_rs = 34513; //account does not exist break; default: $dab_rs = $rs1['varerror']; } $log[] = sprintf('block_money: bankid:ANZ_ID;result:%s', $dab_rs); // added by Quang, 20100407 ------------------------------------ break; case OFFLINE: //inAccountNo varchar(20),inBankID int,inOrderID bigint,inOrderAmount double,inOrderDate date,inCreatedBy $mdb = initWriteDB(); $query = sprintf("CALL sp_VirtualBank_Lock('%s', %u, %u, %f, '%s', '%s')", $AccountNo, OFFLINE, $result, $rs['varordervalue'], $OrderDate, $CreatedBy); $off_rs = $mdb->extended->getRow($query); $mdb->disconnect(); $dab_rs = $off_rs['varerror']; $log[] = sprintf('block_money: bankid:OFFLINE;result:%s', $dab_rs); break; // end add ----------------------------------------------------- } if ($dab_rs == 0) { $BankID = $bank_rs[$i]['bankid']; break; } } } } else { $dab_rs = 0; } if ($dab_rs == 0) { //Successfully $log[] = sprintf('successded_block_money'); $mdb = initWriteDB(); if ($Session <= 3) { $query = sprintf("CALL sp_updateBuyingOrderFromPendingToApproved(%u, %u) ", $result, $BankID); } else { $query = sprintf("CALL sp_updateBuyingOrderFromPendingToTransfered(%u, %u) ", $result, $BankID); } $log[] = sprintf('%s', $query); $status_rs = $mdb->extended->getRow($query); $mdb->disconnect(); if (empty($status_rs)) { $this->_ERROR_CODE = 30143; } else { $result = $status_rs['varerror']; if ($result < 0) { //update Order Status fail switch ($result) { case '-1': $this->_ERROR_CODE = 30141; break; case '-2': $this->_ERROR_CODE = 30142; break; } //switch } // if } // if WS $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); } else { // bank fail $log[] = sprintf('failed_block_money'); switch ($dab_rs) { case '-1': $this->_ERROR_CODE = 41020; break; case '-2': $this->_ERROR_CODE = 41021; break; case '-3': $this->_ERROR_CODE = 41022; break; case '-4': $this->_ERROR_CODE = 41023; break; case '-5': $this->_ERROR_CODE = 41024; break; case '1': $this->_ERROR_CODE = 41025; break; case '2': $this->_ERROR_CODE = 41026; break; case '3': $this->_ERROR_CODE = 41027; break; case '4': $this->_ERROR_CODE = 41028; break; case '5': $this->_ERROR_CODE = 41030; break; case '99': $this->_ERROR_CODE = 41029; break; default: $this->_ERROR_CODE = $dab_rs; } $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); $mdb = initWriteDB(); $query = sprintf("CALL sp_updateBuyingOrderFromPendingToDenied(%u, '%s') ", $result, $dab_rs); $log[] = sprintf('%s', $query); $status_rs = $mdb->extended->getRow($query); $mdb->disconnect(); if (empty($status_rs)) { $this->_ERROR_CODE = 30144; } else { $result = $status_rs['varerror']; if ($result < 0) { //update Order Status fail switch ($result) { case '-1': $this->_ERROR_CODE = 30145; break; case '-2': $this->_ERROR_CODE = 30146; break; } //switch } // if } // if WS $log[] = sprintf('ERROR_CODE: %s', $this->_ERROR_CODE); } } } // -------------------------------------------------------------------------------------- // // End Insert buy order for $AccountNo // -------------------------------------------------------------------------------------- // } $this->items[0] = new SOAP_Value('item', $struct, array("BuyingOrderID" => new SOAP_Value("BuyingOrderID", "string", $buyingOrderID), "SellingOrderID" => new SOAP_Value("SellingOrderID", "string", $sellingOrderID))); } catch (Exception $e) { $log[] = sprintf('Exception: %s', $e->getMessage()); $this->_ERROR_CODE = 30060; } } write_my_log_path("insertCoSellOrder", implode("\n --> ", $log), '/home/vhosts/eSMS/htdocs/logs/otc/'); return returnXML(func_get_args(), $this->class_name, $function_name, $this->_ERROR_CODE, $this->items, $this); }