DSRM010MF.cpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "ITSSkinF.h"
  4. #include "ITSUtilF.h"
  5. #include "AppGlobalF.h"
  6. #include "CDSCodeF.h"
  7. #include "CDSFacilityF.h"
  8. #pragma hdrstop
  9. #include "DSRM010MF.h"
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma link "FRAME_DsrcListF"
  13. #pragma link "FRAME_FlashMapF"
  14. #pragma link "cxButtons"
  15. #pragma link "cxCheckBox"
  16. #pragma link "cxContainer"
  17. #pragma link "cxControls"
  18. #pragma link "cxDropDownEdit"
  19. #pragma link "cxEdit"
  20. #pragma link "cxGraphics"
  21. #pragma link "cxGroupBox"
  22. #pragma link "cxLabel"
  23. #pragma link "cxLookAndFeelPainters"
  24. #pragma link "cxLookAndFeels"
  25. #pragma link "cxMaskEdit"
  26. #pragma link "cxSpinEdit"
  27. #pragma link "cxSplitter"
  28. #pragma link "cxTextEdit"
  29. #pragma link "dxSkinBlack"
  30. #pragma link "dxSkinBlue"
  31. #pragma link "dxSkinsCore"
  32. #pragma resource "*.dfm"
  33. TDSRM010M *DSRM010M = NULL;
  34. //---------------------------------------------------------------------------
  35. void TDSRM010M_FlashCall(TObject *ASender, const WideString request)
  36. {
  37. try
  38. {
  39. if (!DSRM010M) return;
  40. DSRM010M->ShockwaveFlash1FlashCall1(ASender, request);
  41. }
  42. catch(Exception &exception)
  43. {
  44. }
  45. }
  46. //---------------------------------------------------------------------------
  47. __fastcall TDSRM010M::TDSRM010M(TComponent* Owner)
  48. : TForm(Owner)
  49. {
  50. ITSSkin_Load(this);
  51. CMM_LoadForm(g_sFormsDir, this);
  52. FUpdate= false;
  53. FTitle = "DSRC-RSE 관리";
  54. MapStart = false;
  55. FRAMEGisMap1->FlashCallbackFunc = TDSRM010M_FlashCall;
  56. FRAMEGisMap1->DrawMode = 1; //구간정보표출
  57. FRAMEGisMap1->ImgPan->Visible = true;
  58. FRAMEGisMap1->ImgZoomIn->Visible = true;
  59. FRAMEGisMap1->ImgZoomOut->Visible = true;
  60. FRAMEGisMap1->ImgSel->Visible = true;
  61. FRAMEGisMap1->ImgStnd->Visible = true;
  62. FRAMEGisMap1->ImgRefresh->Visible = true;
  63. FRAMEGisMap1->LbDef->Caption = "(선택메뉴를 클릭하여 위치를 선택합니다.)";
  64. FRAMEGisMap1->LbDef->Hint = FRAMEGisMap1->LbDef->Caption;
  65. FRAMEGisMap1->LbDef->Visible = true;
  66. //FRAMEDsrcList1->Column02->Visible = false;
  67. FRAMEDsrcList1->PnlTop->Visible = false;
  68. FRAMEDsrcList1->PnlBottom->Visible = false;
  69. FRAMEDsrcList1->ColumnSel->Visible = false;
  70. m_pGDC = FRAMEDsrcList1->TvList->DataController;
  71. }
  72. //---------------------------------------------------------------------------
  73. /*
  74. * 닫기버튼 이나 x버튼 클릭시 공통으로 처리하는 로직이들어간다..
  75. * Form과 DataModule class를 delete시킨다.
  76. * arguments
  77. *
  78. * return
  79. * void
  80. */
  81. void __fastcall TDSRM010M::CommClose()
  82. {
  83. try
  84. {
  85. CMM_SaveForm(g_sFormsDir, this);
  86. }
  87. catch(...)
  88. {
  89. }
  90. }
  91. //---------------------------------------------------------------------------
  92. /*
  93. * Form을 보여줄때 호출되는 event 메서드이다.
  94. * arguments
  95. * Sender : event handler 객체
  96. * return
  97. * void
  98. */
  99. void __fastcall TDSRM010M::FormShow(TObject *Sender)
  100. {
  101. Refresh();
  102. CbMnfcCmpyCd->Properties->Items->Clear();
  103. TItsCode *FCodeRMF = ItsCodeManager->FLists.Find("RMF");
  104. if (FCodeRMF)
  105. {
  106. FOR_STL(TItsSubCode *, pSubCode, FCodeRMF->FSubLists)
  107. {
  108. if (pSubCode->USE_YN == "N") continue;
  109. CbMnfcCmpyCd->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM);
  110. }
  111. }
  112. CbMnfcCmpyCd->ItemIndex = 0;
  113. FormInit();
  114. ChangeEditMode(1);
  115. TmrShow->Enabled = true;
  116. }
  117. //---------------------------------------------------------------------------
  118. /*
  119. * form 초기화
  120. *
  121. * arguments
  122. *
  123. * return
  124. * void
  125. */
  126. void __fastcall TDSRM010M::FormInit()
  127. {
  128. EdId->Text = "";
  129. EdRseId->Text = "";
  130. EdRoadSpotId->Text = "";
  131. EdLogCnncId->Text = "";
  132. EdLogCnncPwd->Text = "";
  133. EdIstlLctnNm->Text = "";
  134. SePosX->Value = 0;
  135. SePosY->Value = 0;
  136. EdIP->Text = "";
  137. EdPort->Text = "";
  138. CbMnfcCmpyCd->ItemIndex = 0;
  139. FNewDb = false;
  140. }
  141. //---------------------------------------------------------------------------
  142. /*
  143. * Form이 Show되고 난 후 최초 1회 수행되는 타이머 이벤트
  144. * arguments
  145. * Sender : event handler 객체
  146. * return
  147. * void
  148. */
  149. void __fastcall TDSRM010M::TmrShowTimer(TObject *Sender)
  150. {
  151. TmrShow->Enabled = false;
  152. FRAMEGisMap1->LinkLevel = 2;
  153. FRAMEGisMap1->LoadGisMap();
  154. FRAMEDsrcList1->UpdateList();
  155. }
  156. //---------------------------------------------------------------------------
  157. /*
  158. * Close 버튼 클릭 이벤트 핸들러
  159. * arguments
  160. * Sender : event handler 객체
  161. * return
  162. * void
  163. */
  164. void __fastcall TDSRM010M::BtnCloseClick(TObject *Sender)
  165. {
  166. Close();
  167. }
  168. //---------------------------------------------------------------------------
  169. void __fastcall TDSRM010M::FormClose(TObject *Sender, TCloseAction &Action)
  170. {
  171. CommClose();
  172. DSRM010M = NULL;
  173. Action = caFree;
  174. }
  175. //---------------------------------------------------------------------------
  176. void __fastcall TDSRM010M::FormCloseQuery(TObject *Sender, bool &CanClose)
  177. {
  178. if (FUpdate)
  179. {
  180. POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0);
  181. }
  182. FRAMEDsrcList1->OnCloseQuery(CanClose);
  183. }
  184. //---------------------------------------------------------------------------
  185. void __fastcall TDSRM010M::DisplayInfo(TItsDsrc* AObj)
  186. {
  187. FormInit();
  188. if (!AObj) return;
  189. EdId->Text = AObj->ID;
  190. EdRseId->Text = AObj->RSE_ID;
  191. EdRoadSpotId->Text = AObj->ROAD_SPOT_ID;
  192. EdLogCnncId->Text = AObj->LOG_CNNC_ID;
  193. EdLogCnncPwd->Text = AObj->LOG_CNNC_PW;
  194. EdIstlLctnNm->Text = AObj->ISTL_LCTN_NM;
  195. SePosX->Value = StrToFloatDef(AObj->LCTN_X, 0);
  196. SePosY->Value = StrToFloatDef(AObj->LCTN_Y, 0);
  197. EdIP->Text = AObj->IP;
  198. EdPort->Text = AObj->PORT;
  199. SeCLCT_ABNR_BASI->Value = AObj->CLCT_ABNR_BASI;
  200. SeAbnrAll->Value = SeCLCT_ABNR_BASI->Value;
  201. CMM_SetComboBoxItem(CbMnfcCmpyCd, AObj->MNFC_CMPY_CD);
  202. FRAMEGisMap1->SelectObjectByPos(SePosX->Value, SePosY->Value, true);
  203. ChangeEditMode(3);
  204. }
  205. //---------------------------------------------------------------------------
  206. void __fastcall TDSRM010M::UpdateRseIcon()
  207. {
  208. if (!MapStart) return;
  209. TItsFacility *pFacility;
  210. try
  211. {
  212. TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "RemoveFacility", FAC_RSE);
  213. //if (ChkViewIcon->Checked)
  214. {
  215. String sObjList = "";
  216. try
  217. {
  218. FRAMEDsrcList1->MyItsDsrcManager->FLists.Lock();
  219. FOR_STL(TItsDsrc*, pObj, FRAMEDsrcList1->MyItsDsrcManager->FLists)
  220. {
  221. if (pObj->DEL_YN == "Y") continue;
  222. String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM);
  223. sObjList += (pObj->ID + "," + "0," + sLoc + "," + pObj->LCTN_X + "," + pObj->LCTN_Y + "," + pObj->RSE_ID + "|");
  224. }
  225. }
  226. __finally
  227. {
  228. FRAMEDsrcList1->MyItsDsrcManager->FLists.UnLock();
  229. if (sObjList != "")
  230. {
  231. sObjList = sObjList.SubString(1, sObjList.Length()-1);
  232. TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "AddFacility", FAC_RSE + "|" + sObjList);
  233. }
  234. }
  235. }
  236. }
  237. catch(...)
  238. {
  239. }
  240. }
  241. //---------------------------------------------------------------------------
  242. void __fastcall TDSRM010M::FRAMEDsrcList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
  243. TMouseButton AButton, TShiftState AShift, bool &AHandled)
  244. {
  245. if (!ACellViewInfo) return;
  246. int nRow = FRAMEDsrcList1->TvList->DataController->FocusedRecordIndex;
  247. if( nRow <= -1 )
  248. return;
  249. int nMemPtr = FRAMEDsrcList1->TvList->DataController->Values[nRow][FRAMEDsrcList1->Column99->Index];
  250. TItsDsrc* pObj = (TItsDsrc*)nMemPtr;
  251. DisplayInfo(pObj);
  252. }
  253. //---------------------------------------------------------------------------
  254. void __fastcall TDSRM010M::ChkViewIconClick(TObject *Sender)
  255. {
  256. if (!FRAMEGisMap1->MapStart) return;
  257. String sShowIcon = ChkViewIcon->Checked ? "1" : "0";
  258. String sShowName = ChkViewName->Checked ? "1" : "0";
  259. TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "ShowFacility", "RSE|" + sShowIcon + "|" + sShowName);
  260. }
  261. //---------------------------------------------------------------------------
  262. void __fastcall TDSRM010M::BtnEditClick(TObject *Sender)
  263. {
  264. if (BtnEdit->Caption == "편집")
  265. {
  266. ChangeEditMode(0);
  267. FNewDb = false;
  268. }
  269. else
  270. {
  271. String sId = EdId->Text;
  272. ChangeEditMode(1);
  273. TItsDsrc *pObj = FRAMEDsrcList1->MyItsDsrcManager->FLists.Find(sId);
  274. if (pObj)
  275. {
  276. CMM_SetGridRow(FRAMEDsrcList1->CxList, FRAMEDsrcList1->TvList, sId, FRAMEDsrcList1->Column01->Index);
  277. DisplayInfo(pObj);
  278. }
  279. }
  280. }
  281. //---------------------------------------------------------------------------
  282. void __fastcall TDSRM010M::ChangeEditMode(int AEdit)
  283. {
  284. bool bEnabled = false;
  285. switch(AEdit)
  286. {
  287. case 0: //편집버튼클릭
  288. {
  289. BtnEdit->Enabled = true;
  290. BtnInsert->Enabled = false;
  291. BtnDelete->Enabled = false;
  292. BtnSave->Enabled = true;
  293. BtnEdit->Caption = FrmLang->lblCancel->Caption;//"취소";
  294. BtnEdit->Hint = FrmLang->lblCancel->Hint;//데이터 편집 취소";
  295. }
  296. break;
  297. case 1: //편집[취소]버튼클릭
  298. {
  299. FormInit(); //화면을 모두 지운다.
  300. BtnEdit->Enabled = false;
  301. BtnInsert->Enabled = true;
  302. BtnDelete->Enabled = false;
  303. BtnSave->Enabled = false;
  304. BtnEdit->Caption = FrmLang->lblEdit->Caption;//"편집";
  305. BtnEdit->Hint = FrmLang->lblEdit->Hint;//데이터 편집";
  306. bEnabled = true;
  307. }
  308. break;
  309. case 2: //추가
  310. {
  311. BtnEdit->Enabled = true;
  312. BtnInsert->Enabled = false;
  313. BtnDelete->Enabled = false;
  314. BtnSave->Enabled = true;
  315. BtnEdit->Caption = FrmLang->lblCancel->Caption;//"취소";
  316. BtnEdit->Hint = FrmLang->lblCancel->Hint;//데이터 편집 취소";
  317. }
  318. break;
  319. case 3: //수정모드
  320. {
  321. BtnEdit->Enabled = true;
  322. BtnInsert->Enabled = true;
  323. BtnDelete->Enabled = true;
  324. BtnSave->Enabled = false;
  325. BtnEdit->Caption = FrmLang->lblEdit->Caption;//"편집";
  326. BtnEdit->Hint = FrmLang->lblEdit->Hint;//데이터 편집";
  327. bEnabled = true;
  328. }
  329. break;
  330. }
  331. if (AEdit == 0 || AEdit == 2)
  332. {
  333. FRAMEDsrcList1->CxList->Enabled = false;
  334. }
  335. else
  336. {
  337. FRAMEDsrcList1->CxList->Enabled = true;
  338. }
  339. #if 1
  340. EdId->Properties->ReadOnly = bEnabled;
  341. EdRseId->Properties->ReadOnly = bEnabled;
  342. EdRoadSpotId->Properties->ReadOnly = bEnabled;
  343. EdLogCnncId->Properties->ReadOnly = bEnabled;
  344. EdLogCnncPwd->Properties->ReadOnly = bEnabled;
  345. EdIstlLctnNm->Properties->ReadOnly = bEnabled;
  346. SePosX->Properties->ReadOnly = bEnabled;
  347. SePosY->Properties->ReadOnly = bEnabled;
  348. EdIP->Properties->ReadOnly = bEnabled;
  349. EdPort->Properties->ReadOnly = bEnabled;
  350. CbMnfcCmpyCd->Properties->ReadOnly = bEnabled;
  351. SeCLCT_ABNR_BASI->Properties->ReadOnly = bEnabled;
  352. #endif
  353. }
  354. //---------------------------------------------------------------------------
  355. void __fastcall TDSRM010M::BtnInsertClick(TObject *Sender)
  356. {
  357. FormInit();
  358. //신규아이디를 얻어와서 화면을 초기화한다.
  359. String sRseId;
  360. if (!FRAMEDsrcList1->MyItsDsrcManager->GetNextRseId(sRseId))
  361. {
  362. Application->MessageBox(L"새로운 RSE ID를 생성하지 못하였습니다.\r\n프로그램 종료후에 다시 시도해 보세요.",
  363. FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
  364. return;
  365. }
  366. EdId->Text = sRseId;
  367. EdRseId->Text = sRseId;
  368. ChangeEditMode(2);
  369. FNewDb = true;
  370. }
  371. //---------------------------------------------------------------------------
  372. void __fastcall TDSRM010M::BtnDeleteClick(TObject *Sender)
  373. {
  374. if (!FRAMEGisMap1->MapStart) return;
  375. int nIdx = m_pGDC->FocusedRecordIndex;
  376. if (nIdx < 0) return;
  377. String sId = EdId->Text;
  378. if (sId.IsEmpty())
  379. {
  380. Application->MessageBox(L"삭제할 DSRC-RSE를 목록에서 선택하세요.\r\n목록에서 더블클릭하여 선택합니다.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
  381. return;
  382. }
  383. String sMsg;
  384. sMsg = "ID: " + sId;
  385. sMsg+= "\r\n선택하신 DSRC-RSE 정보를 삭제하시겠습니까?";
  386. if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
  387. TItsDsrc *pObj = FRAMEDsrcList1->MyItsDsrcManager->FLists.Find(sId);
  388. if (pObj)
  389. {
  390. if (FRAMEDsrcList1->MyItsDsrcManager->DeleteDsrc(pObj))
  391. {
  392. pObj->DEL_YN = "Y";
  393. FRAMEDsrcList1->UpdateList();
  394. }
  395. TItsFacility *pFacility = ItsFacilityManager->FLists.Find(sId);
  396. if (pFacility)
  397. {
  398. FUpdate = true;
  399. }
  400. Application->MessageBox(L"DSRC-RSE 정보삭제\r\nDSRC-RSE 정보를 삭제 하였습니다.",
  401. FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
  402. FormInit();
  403. ChangeEditMode(1);
  404. //UpdateRseIcon();
  405. TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "DeleteFacility", FAC_RSE + "|" + sId);
  406. POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0);
  407. }
  408. }
  409. //---------------------------------------------------------------------------
  410. void __fastcall TDSRM010M::BtnSaveClick(TObject *Sender)
  411. {
  412. if (EdId->Text.IsEmpty() ||
  413. EdRseId->Text.Trim().IsEmpty() ||
  414. EdRoadSpotId->Text.IsEmpty() ||
  415. SePosX->Value == 0 ||
  416. SePosY->Value == 0 ||
  417. CbMnfcCmpyCd->Text.IsEmpty() )
  418. {
  419. Application->MessageBox(L"★항목은 필수 입력 항목입니다.\r\n모두 입력후 진행해 주세요.",
  420. FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
  421. return;
  422. }
  423. String sId = EdId->Text;
  424. TItsDsrc *pObj;
  425. if (FNewDb)
  426. pObj = new TItsDsrc();
  427. else
  428. pObj = FRAMEDsrcList1->MyItsDsrcManager->FLists.Find(sId);
  429. if (pObj)
  430. {
  431. pObj->ID = sId;
  432. String sOldRseId = pObj->RSE_ID;
  433. pObj->RSE_ID = EdRseId->Text.Trim();
  434. pObj->ROAD_SPOT_ID = EdRoadSpotId->Text.Trim();
  435. pObj->LOG_CNNC_ID = EdLogCnncId->Text.Trim();
  436. pObj->LOG_CNNC_PW = EdLogCnncPwd->Text.Trim();
  437. pObj->ISTL_LCTN_NM = EdIstlLctnNm->Text.Trim();
  438. pObj->LCTN_X = VarToStr(SePosX->Value);
  439. pObj->LCTN_Y = VarToStr(SePosY->Value);
  440. pObj->IP = EdIP->Text.Trim();
  441. pObj->PORT = EdPort->Text.Trim();
  442. pObj->MNFC_CMPY_CD = ITSUtil_GetCode(CbMnfcCmpyCd->Text);
  443. pObj->CLCT_ABNR_BASI = (SeCLCT_ABNR_BASI->Value);
  444. pObj->Completed = true;
  445. pObj->MEM_DEL = "N";
  446. bool bResult;
  447. if (FNewDb)
  448. {
  449. pObj->DEL_YN = "N";
  450. bResult = FRAMEDsrcList1->MyItsDsrcManager->InsertDsrc(pObj);
  451. if (bResult)
  452. {
  453. FRAMEDsrcList1->MyItsDsrcManager->FLists.Push(sId, pObj);
  454. }
  455. }
  456. else
  457. {
  458. bResult = FRAMEDsrcList1->MyItsDsrcManager->UpdateDsrc(sOldRseId, pObj);
  459. }
  460. if (bResult)
  461. {
  462. Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"DSRC-RSE 정보저장\r\nDSRC-RSE 정보를 저장 하였습니다.",
  463. FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
  464. FUpdate = true;
  465. FRAMEDsrcList1->UpdateList();
  466. UpdateRseIcon();
  467. CMM_SetGridRow(FRAMEDsrcList1->CxList, FRAMEDsrcList1->TvList, sId, FRAMEDsrcList1->Column01->Index);
  468. DisplayInfo(pObj);
  469. POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0);
  470. }
  471. }
  472. }
  473. //---------------------------------------------------------------------------
  474. void __fastcall TDSRM010M::ShockwaveFlash1FlashCall1(TObject *ASender, const WideString request)
  475. {
  476. try
  477. {
  478. String sTemp;
  479. String sFunc;
  480. String sArgs;
  481. sTemp = request;
  482. int nFuncStrIdx = sTemp.Pos("\"");
  483. int nFuncEndIdx = sTemp.Pos("\" returntype");
  484. int nArgsStrIdx = sTemp.Pos("string>");
  485. int nArgsEndIdx = sTemp.Pos("</string");
  486. sFunc = sTemp.SubString(nFuncStrIdx + 1, nFuncEndIdx - (nFuncStrIdx + 1));
  487. sArgs = sTemp.SubString(nArgsStrIdx + 7, nArgsEndIdx - (nArgsStrIdx + 7));
  488. if (sFunc == "OnMapStart")
  489. {
  490. String sShowIcon = ChkViewIcon->Checked ? "1" : "0";
  491. String sShowName = ChkViewName->Checked ? "1" : "0";
  492. MapStart = true;
  493. TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "ShowFacility", "RSE|" + sShowIcon + "|" + sShowName);
  494. }
  495. else
  496. if (sFunc == "OnDrawTrafLink")
  497. {
  498. static bool bFirst = true;
  499. if (bFirst)
  500. {
  501. UpdateRseIcon();
  502. bFirst = true;
  503. }
  504. }
  505. else
  506. if (sFunc == "OnMousePos")
  507. {
  508. if (FRAMEGisMap1->ModeSelect)
  509. {
  510. TStringList *pStringList = new TStringList;
  511. pStringList->CommaText = sArgs;
  512. String sMapX = pStringList->Strings[0]; //lat
  513. String sMapY = pStringList->Strings[1]; //lng
  514. delete pStringList;
  515. try {
  516. SePosX->Value = sMapX.ToDouble();
  517. SePosY->Value = sMapY.ToDouble();
  518. } catch(...) {}
  519. }
  520. }
  521. else
  522. if (sFunc == "OnSelLink")
  523. {
  524. if (FRAMEGisMap1->ModeSelect)
  525. {
  526. TStringList *pStringList = new TStringList;
  527. pStringList->CommaText = sArgs;
  528. String sLevl = pStringList->Strings[0]; //링크레벨
  529. String sId = pStringList->Strings[1]; //링크아이디
  530. String sZoom = pStringList->Strings[2]; //줌레벨
  531. String sPosX = pStringList->Strings[3]; //x
  532. String sPosY = pStringList->Strings[4]; //y
  533. String sMapX = pStringList->Strings[5]; //lat
  534. String sMapY = pStringList->Strings[6]; //lng
  535. delete pStringList;
  536. try {
  537. SePosX->Value = sMapX.ToDouble();
  538. SePosY->Value = sMapY.ToDouble();
  539. } catch(...) {}
  540. }
  541. }
  542. else
  543. if (sFunc == "OnClickFacility")
  544. {
  545. TStringList *pStringList = new TStringList;
  546. pStringList->CommaText = sArgs;
  547. String sType = pStringList->Strings[0]; //유형
  548. String sId = pStringList->Strings[1]; //아이디
  549. String sName = pStringList->Strings[2]; //아이디
  550. delete pStringList;
  551. }
  552. }
  553. catch(Exception &exception)
  554. {
  555. }
  556. }
  557. //---------------------------------------------------------------------------
  558. void __fastcall TDSRM010M::BtnSaveAllClick(TObject *Sender)
  559. {
  560. String sMsg;
  561. sMsg = "";
  562. sMsg+= "\r\n수집 이상 기준 정보를 전체 적용 하시겠습니까?";
  563. if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
  564. int nCLCT_ABNR_BASI = (SeAbnrAll->Value);
  565. if (FRAMEDsrcList1->MyItsDsrcManager->UpdateClctAbnrBasi(nCLCT_ABNR_BASI))
  566. {
  567. SeCLCT_ABNR_BASI->Value = SeAbnrAll->Value;
  568. FUpdate = true;
  569. Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"수집 이상 기준\r\n수집 이상 기준 정보를 저장 하였습니다.",
  570. FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
  571. }
  572. }
  573. //---------------------------------------------------------------------------