This commit is contained in:
2026-01-23 17:05:09 +09:00
parent ac50737ea8
commit d89d793efa
16 changed files with 665 additions and 256 deletions
+12 -4
View File
@@ -8,8 +8,15 @@ import java.io.File
import java.util.zip.ZipInputStream
import javax.xml.parsers.DocumentBuilderFactory
data class CorpInfo(
var cCode : String = "",
var cName : String = "",
var stockCode : String = "",
var stockName : String = "",
)
object DartCodeManager {
private val corpCodeMap = mutableMapOf<String, String>()
private val corpCodeMap = mutableMapOf<String, CorpInfo>()
private const val DART_API_KEY = "61143d2af0759f6c28ce372d9e339d1e01687abc" // 지범님의 API 키 입력
private fun saveXmlDebugFile(xmlBytes: ByteArray) {
@@ -63,10 +70,11 @@ object DartCodeManager {
val element = nodeList.item(i) as org.w3c.dom.Element
val stockCode = element.getElementsByTagName("stock_code").item(0)?.textContent?.trim() ?: ""
val corpCode = element.getElementsByTagName("corp_code").item(0)?.textContent ?: ""
println("stockCode: $stockCode , corpCode: $corpCode")
val corpName = element.getElementsByTagName("corp_name").item(0)?.textContent ?: ""
// println("[$corpName]stockCode: $stockCode , corpCode: $corpCode")
// 종목코드(stock_code)가 있는 상장사만 매핑에 추가
if (stockCode.isNotEmpty()) {
corpCodeMap[stockCode] = corpCode
corpCodeMap[stockCode] = CorpInfo(corpCode, corpName, stockCode)
}
}
}
@@ -74,7 +82,7 @@ object DartCodeManager {
/**
* 6자리 종목코드로 8자리 법인코드 반환
*/
fun getCorpCode(stockCode: String): String? {
fun getCorpCode(stockCode: String): CorpInfo? {
// 1. 직접 매칭 시도
corpCodeMap[stockCode]?.let { return it }