function insertComapnyCrisisDate()
{
    define("YEAR_INDEX", 1);
    define("MONTH_INDEX", 2);
    $insert_value = $_GET['selectedInsertItem'];
    $company_id = $insert_value[COMPANY_ID_INDEX];
    // 檢查id是否有公司基本資料存在於資料庫, 若不存在則跳出
    if (checkCompany(TAIWAN, $company_id)) {
        // 檢查該id是否有危機發生日資料存在於資料庫, 若存在則跳出
        if (!checkCompany($GLOBALS['tableName'], $company_id)) {
            $date_value = $insert_value[YEAR_INDEX] . "." . $insert_value[MONTH_INDEX];
            // 2014.11
            // 組成新增字串
            $table_name = "company_financial_crisis";
            $insert_value_str = '(`company_id`, `crisis_date`) VALUES ("' . $company_id . '","' . $date_value . '")';
            // 新增單筆公司危機發生日資料
            $GLOBALS['dbc_object']->insertData($table_name, $insert_value_str);
            // showInsertMessage(INSERT_SUCCESS);
        } else {
            showInsertMessage(EXISTED_CRISIS_DATE);
            // 該公司的危機發生日資料已存在於資料庫中
        }
    } else {
        showInsertMessage(NO_COMPANY_DATA);
        // 該公司代號的公司不存在
    }
}
Exemplo n.º 2
0
function uploadValueAtRisk($c, $status, $file)
{
    // c : taiwan or china
    // file : 上傳的檔案
    // status : 公司狀態
    if ($status === tse or $status === es or $status === "T") {
        $fp = loadExcelFile($file, 0);
    } else {
        $fp = loadExcelFile($file, 1);
    }
    // line 1 : tile列 公司ID 公司名稱 季別
    // line 2 start : data列 公司ID 公司名稱 該季風險值
    // step 1 : checkCompany(cid)
    // step 2 : checkFinancialInfo(taiwan, cid, season) ? 修改該id x season資料風險值欄位 : 新增該id x season資料
    //          同時儲存公司ID LIST
    // loop step 1 2 until data[0] = ''
    // checkCompanyList(status, list)
    if ($fp) {
        // 取得季別
        //設計是先column在row,跟一般習慣相反…
        $season = $fp->getCellByColumnAndRow(THIRDCOLUMN, 1)->getValue();
        // 檢查季別是否與使用者輸入的季別相同
        // 若相同則繼續上傳動作
        if (checkUploadSeason($season)) {
            // 取得原本status下的公司ID清單
            $old_company_list = getCompanyList($c, $status);
            $company_index = 0;
            if ($c === TAIWAN) {
                $table_name = 'company_financial_information';
            } else {
                $table_name = 'china_company_financial_information';
            }
            // 若status不等於上市, 將原本該status下的公司狀態改為null
            if ($status != tse) {
                $condition = '`status`="' . $status . '"';
                $GLOBALS['dbc_object']->updateData($table_name, 'status', 'null', $condition);
            }
            // 取得資料列數
            $highestRow = $fp->getHighestRow();
            // 照row的順序讀取每一家公司資料
            //row start from 1, and column start from 0?
            for ($row = 2; $row <= $highestRow; $row++) {
                if ($fp->getCellByColumnAndRow(FIRSTCOLUMN, $row)->getValue() === '') {
                    break;
                }
                // 讀取該公司資料
                $cid = $fp->getCellByColumnAndRow(FIRSTCOLUMN, $row)->getValue();
                $company_name = $fp->getCellByColumnAndRow(SECONDCOLUMN, $row)->getValue();
                $value_at_risk = checkNull($fp->getCellByColumnAndRow(THIRDCOLUMN, $row)->getCalculatedValue());
                // 檢查公司是否存在於資料庫 若存在 existedCompany = 1 反之 = 0
                $existedCompany = checkCompany($c, $cid);
                if ($existedCompany) {
                    // 檢查該id x season資料是否存在
                    if (checkFinancialInfo($c, $cid, $season)) {
                        echo '公司代號' . $cid . ' 季別' . $season . '風險值資料已存在<br>';
                    } else {
                        if ($c === TAIWAN) {
                            $insert_value = '(`company_id`, `season`, `value_at_risk`, `stock`, `cashflow_operating`, `cashflow_investment`, `proceed_fm_newIssue`) 
						VALUES ("' . $cid . '","' . $season . '", ' . $value_at_risk . ', null, null, null, null)';
                        } else {
                            $insertvalue = '(`company_id`, `season`, `value_at_risk`, `cashflow_operating`, `cashflow_investment`, `proceed_fm_newIssue`) 
						VALUES ("' . $cid . '","' . $season . '",' . $value_at_risk . ', null, null, null)';
                        }
                        $GLOBALS['dbc_object']->insertData($table_name, $insert_value);
                    }
                    // 將該公司狀態改為status
                    $status_value = '"' . $status . '"';
                    $condition = '`company_id`="' . $cid . '"';
                    $GLOBALS['dbc_object']->updateData($table_name, 'status', $status_value, $condition);
                    // search 公司id是否存在於old_company_list並刪除該element
                    $index = array_search($cid, $old_company_list);
                    if ($index !== FALSE) {
                        unset($old_company_list[$index]);
                    }
                } else {
                    echo '公司ID' . $cid . '不存在於資料庫中';
                }
            }
            echo '上季公司名單中<br>';
            $old_company_list = array_values($old_company_list);
            for ($i = 0; $i < count($old_company_list); $i++) {
                echo '公司ID' . $old_company_list[$i] . '<br>';
            }
            echo '不存在在這季風險值檔案中';
        } else {
            printError('檔案內的季別與輸入的上傳季別不一致 取消上傳動作');
        }
    }
}