12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include <vcl.h>
- #include <IOUtils.hpp>
- #include "ITSSkinF.h"
- #include "ITSUtilF.h"
- #include "AppGlobalF.h"
- #pragma hdrstop
- #include "FrmVmsMsgScheMngrF.h"
- #include "FrmVmsMsgScheMngrSRCF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt()
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.VMS_FORM_DSPL_CNDT_ID, \r\n"
- " A.VMS_FORM_DSPL_CNDT, \r\n"
- " A.VMS_FORM_DSPL_CNDT_NM \r\n"
- " FROM TB_VMS_FORM_DSPL_CNDT A \r\n";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- TVmsDsplCndt *pObj = new TVmsDsplCndt();
- pObj->VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString;
- pObj->VMS_FORM_DSPL_CNDT = pADO->FieldByName("VMS_FORM_DSPL_CNDT")->AsString;
- pObj->VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString;
- FVmsFormDsplCndtList.Push(pObj->VMS_FORM_DSPL_CNDT_ID, pObj);
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- String __fastcall TFrmVmsMsgScheMngr::GetNextVmsScnrId(String AVmsCtlrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- String result = "S000000100";
- sQry = "SELECT 'S' || LPAD(NVL(MAX(SUBSTR(VMS_SCNR_ID, -9)), '000000000') + 1, 9, '0') AS NEWID FROM TB_VMS_SCNR WHERE SUBSTR(VMS_SCNR_ID,1,1) = 'S' AND VMS_CTLR_ID = :p01";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLOpen(pADO);
- pADO->Open();
- result = pADO->FieldByName("NEWID")->AsString;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(E.ClassName()), E.Message, sQry);
- return result;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(e.ClassName()), e.Message, sQry);
- return result;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return result;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsScenarionForm(String AVmsCtlrId, String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- FMaxFormSn = 0;
- CMM_ClearGridTableView(TvSche);
- CMM_ClearGridTableView(TvPreview);
- TcxDataController *pDcScnr = TvSche->DataController;
- TcxDataController *pDcView = TvPreview->DataController;
- sQry = "SELECT A.VMS_CTLR_ID, A.VMS_SCNR_ID, \r\n"
- " A.VMS_SCNR_NM, \r\n"
- " B.SN AS FORM_SN, \r\n"
- " B.VMS_FORM_ID, \r\n"
- " B.TXT_FORM_APLY_VMS_SECT_ID, \r\n"
- " B.VMS_FORM_DSPL_CNDT_ID, \r\n"
- " B.DSPL_HR, \r\n"
- " C.VMS_MODL_KIND, \r\n"
- " C.VMS_FORM_TYPE, \r\n"
- " C.VMS_FORM_NM, \r\n"
- " C.VMS_FORM_IMG, \r\n"
- " D.VMS_FORM_DSPL_CNDT, \r\n"
- " D.VMS_FORM_DSPL_CNDT_NM \r\n"
- " FROM TB_VMS_SCNR A, \r\n"
- " TB_VMS_SCNR_VMS_FORM B, \r\n"
- " TB_VMS_FORM C, \r\n"
- " TB_VMS_FORM_DSPL_CNDT D \r\n"
- " WHERE 1=1 \r\n"
- " AND A.VMS_CTLR_ID = :p01 \r\n"
- " AND A.VMS_SCNR_ID = :p02 \r\n"
- " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID \r\n"
- " AND A.VMS_SCNR_ID = B.VMS_SCNR_ID \r\n"
- " AND B.VMS_FORM_ID = C.VMS_FORM_ID \r\n"
- " AND B.VMS_FORM_DSPL_CNDT_ID = \r\n"
- " D.VMS_FORM_DSPL_CNDT_ID(+) \r\n"
- " ORDER BY A.VMS_SCNR_ID, B.SN \r\n";
- try {
- TvSche->BeginUpdate();
- TvPreview->BeginUpdate();
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- String VMS_SCNR_ID = pADO->FieldByName("VMS_SCNR_ID")->AsString;
- int FORM_SN = pADO->FieldByName("FORM_SN")->AsInteger;
- String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString;
- String TXT_FORM_APLY_VMS_SECT_ID = pADO->FieldByName("TXT_FORM_APLY_VMS_SECT_ID")->AsString;
- String VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString;
- int DSPL_HR = pADO->FieldByName("DSPL_HR")->AsInteger;
- String VMS_MODL_KIND = pADO->FieldByName("VMS_MODL_KIND")->AsString;
- String VMS_FORM_TYPE = pADO->FieldByName("VMS_FORM_TYPE")->AsString;
- String VMS_FORM_NM = pADO->FieldByName("VMS_FORM_NM")->AsString;
- String VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString;
- int nRowS = pDcScnr->AppendRecord();
- //if (VMS_FORM_DSPL_CNDT_ID == "") VMS_FORM_DSPL_CNDT_ID = FORM_DSPL_CNDT_DEFAULT;
- pDcScnr->Values[nRowS][Col00->Index] = VMS_FORM_ID;
- pDcScnr->Values[nRowS][Col01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- pDcScnr->Values[nRowS][Col02->Index] = VMS_FORM_NM;
- pDcScnr->Values[nRowS][Col03->Index] = DSPL_HR;
- pDcScnr->Values[nRowS][Col04->Index] = TXT_FORM_APLY_VMS_SECT_ID;
- pDcScnr->Values[nRowS][Col05->Index] = VMS_FORM_DSPL_CNDT_ID;
- pDcScnr->Values[nRowS][Col06->Index] = VMS_MODL_KIND;
- pDcScnr->Values[nRowS][Col07->Index] = VMS_FORM_TYPE;
- pDcScnr->Values[nRowS][ColDsplCndtId->Index] = VMS_FORM_DSPL_CNDT_ID;
- pDcScnr->Values[nRowS][ColDsplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM;
- pDcScnr->Values[nRowS][ColFormSn->Index] = FORM_SN;
- if (FORM_SN > FMaxFormSn) {
- FMaxFormSn = FORM_SN;
- }
- TVmsFormScnr *pVmsScnr = new TVmsFormScnr(FORM_SN);
- FVmsScnrLists.Push(pVmsScnr->FORM_SN, pVmsScnr);
- InitVmsScnrFormObject(AVmsCtlrId, AScnrId, VMS_FORM_ID, pVmsScnr);
- #if 0
- int nRowV = pDcView->AppendRecord();
- pDcView->Values[nRowV][ColView00->Index] = VMS_FORM_ID;
- pDcView->Values[nRowV][ColView01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- pDcView->Values[nRowV][ColView03->Index] = DSPL_HR;
- pDcView->Values[nRowV][ColViewDslplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM;
- #endif
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- TvPreview->EndUpdate();
- TvPreview->ApplyBestFit(NULL, false, false);
- }
- return LoadVmsScenarionFormObj(AVmsCtlrId, AScnrId);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsScenarionFormObj(String AVmsCtlrId, String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.VMS_CTLR_ID, A.VMS_SCNR_ID, \r\n"
- " A.FORM_SN, A.VMS_FORM_ID, A.FORM_OBJ_SN, \r\n"
- " A.VMS_FORM_OBJ_ID, A.FIGR_FORM_APLY_VMS_SECT_ID \r\n"
- " FROM TB_VMS_SCNR_VMS_FORM_OBJ A \r\n"
- " WHERE 1=1 \r\n"
- " AND A.VMS_CTLR_ID = :p01 \r\n"
- " AND A.VMS_SCNR_ID = :p02 \r\n"
- " AND A.FIGR_FORM_APLY_VMS_SECT_ID IS NOT NULL \r\n"
- " ORDER BY A.FORM_SN, A.VMS_FORM_OBJ_ID \r\n";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- int FORM_SN = pADO->FieldByName("FORM_SN")->AsInteger;
- String VMS_FORM_OBJ_ID = pADO->FieldByName("VMS_FORM_OBJ_ID")->AsString;
- TVmsFormScnr *pFormScnr = FVmsScnrLists.Find(FORM_SN);
- if (pFormScnr == NULL) {
- continue;
- }
- TVmsFormScnrObj *pScnrObj = pFormScnr->FLists.Find(VMS_FORM_OBJ_ID);
- if (pScnrObj == NULL) {
- continue;
- }
- pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID = pADO->FieldByName("FIGR_FORM_APLY_VMS_SECT_ID")->AsString;
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionFormObj", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionFormObj", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- PreviewVmsScenarionForm();
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormList(String AVmsModlKind)
- {
- ClearSymbloList();
- CMM_ClearGridTableView(TvForm);
- FVmsFormLists.RemoveAll();
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT A.VMS_FORM_ID, A.VMS_MODL_KIND, A.VMS_FORM_TYPE, A.VMS_FORM_NM, \r\n"
- " A.VMS_FORM_IMG, \r\n"
- " A.DSPL_EFF, NVL(A.DSPL_HR, 0) AS DSPL_HR, A.BACK_CLR, \r\n"
- " NVL(B.FORM_TYPE_NM, A.VMS_FORM_TYPE) AS FORM_TYPE_NM, \r\n"
- " NVL(C.FORM_TYPE_NM, A.DSPL_EFF) AS DSPL_EFF_NM, \r\n"
- " NVL(D.VMS_MODL_KIND_NM, A.VMS_MODL_KIND) AS VMS_MODL_KIND_NM \r\n"
- " FROM TB_VMS_FORM A, \r\n"
- " (SELECT CODE_NO, CD_NM AS FORM_TYPE_NM \r\n"
- " FROM TB_SYS_CD \r\n"
- " WHERE CLSS_CD = 'VMS_FORM_TYPE_CD') B, \r\n"
- " (SELECT CODE_NO, CD_NM AS FORM_TYPE_NM \r\n"
- " FROM TB_SYS_CD \r\n"
- " WHERE CLSS_CD = 'VMS_FORM_DSPL_EFF_CD') C, \r\n"
- " TB_VMS_MODL_KIND D \r\n"
- " WHERE 1=1 \r\n"
- //" AND A.VMS_FORM_TYPE NOT IN ('P', 'E') \r\n"
- " AND A.VMS_FORM_TYPE = B.CODE_NO(+) \r\n"
- " AND A.DSPL_EFF = C.CODE_NO(+) \r\n"
- " AND A.VMS_MODL_KIND = D.VMS_MODL_KIND(+) \r\n"
- " AND A.VMS_MODL_KIND = :p01 \r\n"
- " ORDER BY A.VMS_MODL_KIND, A.VMS_FORM_ID \r\n";
- try {
- TvForm->BeginUpdate();
- TcxDataController *pGDC = TvForm->DataController;
- int nRow;
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsModlKind);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- nRow = pGDC->AppendRecord();
- String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString;
- pGDC->Values[nRow][ColFrm00->Index] = VMS_FORM_ID;
- pGDC->Values[nRow][ColFrm02->Index] = pADO->FieldByName("VMS_FORM_NM")->AsString;
- pGDC->Values[nRow][ColFrm03->Index] = pADO->FieldByName("DSPL_HR")->AsString;
- pGDC->Values[nRow][ColFrm09->Index] = pADO->FieldByName("FORM_TYPE_NM")->AsString;
- pGDC->Values[nRow][ColFrm08->Index] = pADO->FieldByName("VMS_MODL_KIND")->AsString;
- pGDC->Values[nRow][ColFrm07->Index] = pADO->FieldByName("VMS_FORM_TYPE")->AsString;
- pGDC->Values[nRow][ColFrm01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- TFormImage *pImage = new TFormImage();
- pImage->formId = VMS_FORM_ID;
- pImage->bitmap = new Graphics::TBitmap;
- try {
- pImage->bitmap->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("VMS_FORM_IMG"), bmRead));
- }
- catch(Exception &e) {
- delete pImage->bitmap;
- pImage->bitmap = NULL;
- }
- FFormLists.Push(pImage->formId, pImage);
- TVmsFormObj *pVmsFormObj = FVmsFormLists.Find(VMS_FORM_ID);
- if (pVmsFormObj == NULL) {
- pVmsFormObj = new TVmsFormObj();
- pVmsFormObj->VMS_FORM_ID = VMS_FORM_ID;
- pVmsFormObj->BACK_CLR = pADO->FieldByName("BACK_CLR")->AsString;
- FVmsFormLists.Push(pVmsFormObj->VMS_FORM_ID, pVmsFormObj);
- }
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvForm->EndUpdate();
- }
- return LoadVmsFormObjectList(AVmsModlKind);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormObjectList(String AVmsModlKind)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- String imageFilePath;
- String saveDirPath = TPath::GetTempPath() + "VMS-FORM\\";
- ForceDirectories(saveDirPath.c_str());
- sQry = "SELECT A.VMS_FORM_ID, A.VMS_FORM_OBJ_ID, A.SN AS OBJ_SEQ, A.VMS_FORM_OBJ_KIND, \r\n"
- " NVL(A.BACK_CLR, '00') AS BACK_CLR, \r\n"
- " A.FORM_OBJ_PSTN_X, A.FORM_OBJ_PSTN_Y, A.FORM_OBJ_BLNK_YN, \r\n"
- " NVL(A.FORM_OBJ_DSPL_WDTH, 0) AS FORM_OBJ_DSPL_WDTH, \r\n"
- " NVL(A.FORM_OBJ_DSPL_HGHT, 0) AS FORM_OBJ_DSPL_HGHT, \r\n"
- " DECODE(B.VMS_FORM_OBJ_ID, NULL, 0, 1) AS IS_CCTV_OBJ, \r\n"
- " DECODE(C.VMS_FORM_OBJ_ID, NULL, 0, 1) AS IS_TEXT_OBJ, \r\n"
- " DECODE(D.VMS_FORM_OBJ_ID, NULL, 0, 1) AS IS_SYMB_OBJ, \r\n"
- " DECODE(E.VMS_FORM_OBJ_ID, NULL, 0, 1) AS IS_MOVE_OBJ, \r\n"
- " B.CCTV_ID, \r\n"
- " C.TXT_WDTH, C.TXT_HGHT, C.TXT_ALGN_MTHD, \r\n"
- " C.FONT_CLR, C.FONT_TYPE, C.FONT_SZ, NVL(C.FONT_THCK, 'N') AS FONT_THCK, \r\n"
- " C.VMS_TXT_ITEM_ID, C.DSPL_TXT, \r\n"
- " D.PICT_NM, D.PICT_WDTH, D.PICT_HGHT, \r\n"
- " D.PICT_DATA_SZ, D.PICT_DATA, D.PICT_TYPE, \r\n"
- " E.MOV_NM, E.MOV_DATA_SZ, E.MOV_TYPE, E.THMB_IMG \r\n"
- " FROM TB_VMS_FORM_VMS_FORM_OBJ A, \r\n"
- " TB_VMS_FORM_OBJ_CCTV B, \r\n"
- " TB_VMS_FORM_OBJ_TXT C, \r\n"
- " TB_VMS_FORM_OBJ_PICT D, \r\n"
- " TB_VMS_FORM_OBJ_MOV E \r\n"
- " WHERE 1=1 \r\n"
- " AND A.VMS_FORM_ID IN (SELECT VMS_FORM_ID \r\n"
- " FROM TB_VMS_FORM \r\n"
- " WHERE 1=1 \r\n"
- // " AND VMS_FORM_TYPE NOT IN ('P', 'E') \r\n"
- " AND VMS_MODL_KIND = :p01) \r\n"
- " AND A.VMS_FORM_OBJ_ID = B.VMS_FORM_OBJ_ID(+) \r\n"
- " AND A.VMS_FORM_OBJ_ID = C.VMS_FORM_OBJ_ID(+) \r\n"
- " AND A.VMS_FORM_OBJ_ID = D.VMS_FORM_OBJ_ID(+) \r\n"
- " AND A.VMS_FORM_OBJ_ID = E.VMS_FORM_OBJ_ID(+) \r\n"
- " ORDER BY A.VMS_FORM_ID, A.SN \r\n";
- String sOldVmsFormId = "";
- bool bFirst = true;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsModlKind);
- ITSDb_SQLOpen(pADO);
- int nDrawType;
- for( ; !pADO->Eof; pADO->Next()) {
- TFormObj *pFormObj = new TFormObj();
- String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString;
- TVmsFormObj *pVmsFormObj = FVmsFormLists.Find(VMS_FORM_ID);
- if (pVmsFormObj == NULL) {
- pVmsFormObj = new TVmsFormObj();
- pVmsFormObj->VMS_FORM_ID = VMS_FORM_ID;
- pVmsFormObj->BACK_CLR = "00";
- FVmsFormLists.Push(pVmsFormObj->VMS_FORM_ID, pVmsFormObj);
- }
- if (sOldVmsFormId != "" && sOldVmsFormId != VMS_FORM_ID) {
- TFormImage *pImage = new TFormImage();
- pImage->formId = sOldVmsFormId;
- pImage->bitmap = new Graphics::TBitmap;
- m_pEdtDesigner->GetVmsFormImage(ImgForm);
- try {
- pImage->bitmap->Assign(ImgForm->Picture->Bitmap);
- }
- catch(Exception &e) {
- }
- FFormBackLists.Push(pImage->formId, pImage);
- bFirst = true;
- }
- sOldVmsFormId = VMS_FORM_ID;
- if (bFirst) {
- m_pEdtDesigner->Clear();
- m_pEdtDesigner->BkColorCode = pVmsFormObj->BACK_CLR;
- bFirst = false;
- }
- pFormObj->VMS_FORM_ID = VMS_FORM_ID;
- pFormObj->VMS_FORM_OBJ_ID = pADO->FieldByName("VMS_FORM_OBJ_ID")->AsString;
- pFormObj->OBJ_SEQ = pADO->FieldByName("OBJ_SEQ")->AsInteger;
- pFormObj->VMS_FORM_OBJ_KIND = pADO->FieldByName("VMS_FORM_OBJ_KIND")->AsString;
- pFormObj->BACK_CLR = pADO->FieldByName("BACK_CLR")->AsString;
- pFormObj->FORM_OBJ_PSTN_X = pADO->FieldByName("FORM_OBJ_PSTN_X")->AsInteger;
- pFormObj->FORM_OBJ_PSTN_Y = pADO->FieldByName("FORM_OBJ_PSTN_Y")->AsInteger;
- pFormObj->FORM_OBJ_BLNK_YN = pADO->FieldByName("FORM_OBJ_BLNK_YN")->AsString == "N" ? false : true;
- pFormObj->FORM_OBJ_DSPL_WDTH = pADO->FieldByName("FORM_OBJ_DSPL_WDTH")->AsString.ToIntDef(0);
- pFormObj->FORM_OBJ_DSPL_HGHT = pADO->FieldByName("FORM_OBJ_DSPL_HGHT")->AsString.ToIntDef(0);
- pFormObj->IS_CCTV_OBJ = pADO->FieldByName("IS_CCTV_OBJ")->AsInteger == 1;
- pFormObj->IS_TEXT_OBJ = pADO->FieldByName("IS_TEXT_OBJ")->AsInteger == 1;
- pFormObj->IS_SYMB_OBJ = pADO->FieldByName("IS_SYMB_OBJ")->AsInteger == 1;
- pFormObj->IS_MOVE_OBJ = pADO->FieldByName("IS_MOVE_OBJ")->AsInteger == 1;
- pFormObj->CCTV_ID = pADO->FieldByName("CCTV_ID")->AsString;
- pFormObj->TXT_WDTH = pADO->FieldByName("TXT_WDTH")->AsString.ToIntDef(0);
- pFormObj->TXT_HGHT = pADO->FieldByName("TXT_HGHT")->AsString.ToIntDef(0);
- pFormObj->TXT_ALGN_MTHD = pADO->FieldByName("TXT_ALGN_MTHD")->AsString;
- pFormObj->FONT_CLR = pADO->FieldByName("FONT_CLR")->AsString;
- pFormObj->FONT_TYPE = pADO->FieldByName("FONT_TYPE")->AsString;
- pFormObj->FONT_SZ = pADO->FieldByName("FONT_SZ")->AsString.ToIntDef(0);
- pFormObj->FONT_THCK = pADO->FieldByName("FONT_THCK")->AsString == "N" ? false : true;
- pFormObj->VMS_TXT_ITEM_ID = pADO->FieldByName("VMS_TXT_ITEM_ID")->AsString;
- pFormObj->DSPL_TXT = pADO->FieldByName("DSPL_TXT")->AsString;
- pFormObj->PICT_NM = pADO->FieldByName("PICT_NM")->AsString;
- pFormObj->PICT_WDTH = pADO->FieldByName("PICT_WDTH")->AsString.ToIntDef(0);
- pFormObj->PICT_HGHT = pADO->FieldByName("PICT_HGHT")->AsString.ToIntDef(0);
- pFormObj->PICT_DATA_SZ = pADO->FieldByName("PICT_DATA_SZ")->AsString.ToIntDef(0);
- pFormObj->PICT_DATA = NULL;
- pFormObj->PICT_TYPE = pADO->FieldByName("PICT_NM")->AsString;
- pFormObj->MOV_NM = pADO->FieldByName("MOV_NM")->AsString;
- pFormObj->MOV_DATA_SZ = pADO->FieldByName("MOV_DATA_SZ")->AsString.ToIntDef(0);
- pFormObj->MOV_TYPE = pADO->FieldByName("MOV_TYPE")->AsString;
- pFormObj->THMB_IMG = NULL;
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_TEXT && pFormObj->IS_TEXT_OBJ) {
- nDrawType = 0; //문자열그리기
- pFormObj->DSPL_SIZE = pFormObj->DSPL_TXT.Length();
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_IMAGE && pFormObj->IS_SYMB_OBJ) {
- nDrawType = 1; //이미지그리기
- pFormObj->DSPL_TXT = pADO->FieldByName("PICT_NM")->AsString;
- pFormObj->DSPL_SIZE = pFormObj->PICT_DATA_SZ;
- if (pFormObj->FORM_OBJ_DSPL_WDTH <= 0 || pFormObj->FORM_OBJ_DSPL_HGHT <= 0) {
- pFormObj->FORM_OBJ_DSPL_WDTH = pFormObj->PICT_WDTH;
- pFormObj->FORM_OBJ_DSPL_HGHT = pFormObj->PICT_HGHT;
- }
- TMemoryStream *pictData = new TMemoryStream();
- try {
- String sPictExt = DbPictTypeToReal(pFormObj->PICT_TYPE);
- if (pictData != NULL) {
- pictData->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("PICT_DATA"), bmRead));
- if (pictData && pictData->Size > 0) {
- imageFilePath = saveDirPath + pFormObj->VMS_FORM_OBJ_ID + "." + sPictExt;
- pictData->SaveToFile(imageFilePath);
- pFormObj->PICT_DATA = new TImage(NULL);
- pFormObj->PICT_DATA->Picture->LoadFromFile(imageFilePath);
- }
- }
- }
- __finally {
- SAFE_DELETE(pictData);
- }
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_CCTV && pFormObj->IS_CCTV_OBJ) {
- nDrawType = 1; //이미지그리기
- pFormObj->DSPL_TXT = pADO->FieldByName("CCTV_ID")->AsString;
- pFormObj->DSPL_SIZE = pFormObj->PICT_WDTH * pFormObj->PICT_HGHT;
- if (pFormObj->FORM_OBJ_DSPL_WDTH <= 0 || pFormObj->FORM_OBJ_DSPL_HGHT <= 0) {
- pFormObj->FORM_OBJ_DSPL_WDTH = pFormObj->PICT_WDTH;
- pFormObj->FORM_OBJ_DSPL_HGHT = pFormObj->PICT_HGHT;
- }
- pFormObj->THMB_IMG = new Graphics::TBitmap;
- pFormObj->THMB_IMG->Assign(ImgStream->Picture->Bitmap);
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_MOVIE && pFormObj->IS_MOVE_OBJ) {
- nDrawType = 1; //이미지그리기
- pFormObj->DSPL_TXT = pADO->FieldByName("MOV_NM")->AsString;
- pFormObj->DSPL_SIZE = pADO->FieldByName("MOV_DATA_SZ")->AsInteger;
- if (pFormObj->FORM_OBJ_DSPL_WDTH <= 0 || pFormObj->FORM_OBJ_DSPL_HGHT <= 0) {
- pFormObj->FORM_OBJ_DSPL_WDTH = pFormObj->PICT_WDTH;
- pFormObj->FORM_OBJ_DSPL_HGHT = pFormObj->PICT_HGHT;
- }
- try {
- pFormObj->THMB_IMG = new Graphics::TBitmap;
- pFormObj->THMB_IMG->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("THMB_IMG"), bmRead));
- } catch(Exception &e) {
- }
- TMemoryStream *pictData = new TMemoryStream();
- try {
- if (pictData != NULL) {
- pictData->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("THMB_IMG"), bmRead));
- if (pictData && pictData->Size > 0) {
- imageFilePath = saveDirPath + pFormObj->VMS_FORM_OBJ_ID + ".bmp";
- pictData->SaveToFile(imageFilePath);
- }
- }
- }
- __finally {
- SAFE_DELETE(pictData);
- }
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) {
- // add form fill object
- }
- else {
- delete pFormObj;
- continue;
- }
- pVmsFormObj->FLists.Push(pFormObj->OBJ_SEQ, pFormObj);
- ////////////////
- //////////////// 배경이미지 그리기
- ////////////////
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) {
- continue;
- }
- if (pFormObj->VMS_TXT_ITEM_ID == "C1001" || // 도로명
- pFormObj->VMS_TXT_ITEM_ID == "C1002" || // 시점명
- pFormObj->VMS_TXT_ITEM_ID == "C1003" || // 종점명
- pFormObj->VMS_TXT_ITEM_ID == "C2001" || // 소통상황
- pFormObj->VMS_TXT_ITEM_ID == "C2002" || // 시간
- pFormObj->VMS_TXT_ITEM_ID == "C2003" || // 속도
- pFormObj->VMS_TXT_ITEM_ID == "C3001" || // 우회-도로명
- pFormObj->VMS_TXT_ITEM_ID == "C3002" || // 우회-시점명
- pFormObj->VMS_TXT_ITEM_ID == "C3003" || // 우회-종점명
- pFormObj->VMS_TXT_ITEM_ID == "C4001" || // 우회-소통상황
- pFormObj->VMS_TXT_ITEM_ID == "C4002" || // 우회-시간
- pFormObj->VMS_TXT_ITEM_ID == "C4003" ) // 우회-속도
- {
- continue;
- }
- else
- if (pFormObj->VMS_TXT_ITEM_ID == "C0001" && // 단순문자열
- pFormObj->FONT_CLR == "99" ) // 자동색상
- {
- continue;
- }
- TVmsFormObject *pObj = m_pEdtDesigner->AddObject((VmsObjectDrawType)nDrawType);
- if (!pObj) {
- continue;
- }
- pObj->Text = pFormObj->DSPL_TXT;
- pObj->RunText = pObj->Text;
- pObj->SetPos(pFormObj->FORM_OBJ_PSTN_X, pFormObj->FORM_OBJ_PSTN_Y);
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_TEXT && pFormObj->IS_TEXT_OBJ) // 문자열
- {
- int nTextAlign = 0;
- if (pFormObj->TXT_ALGN_MTHD == "R") nTextAlign = 1;
- if (pFormObj->TXT_ALGN_MTHD == "C") nTextAlign = 2;
- pObj->FillIn = pFormObj->VMS_TXT_ITEM_ID;
- pObj->FontNameCode = pFormObj->FONT_TYPE;
- TCDSFontName *pFontName = CDSFontManager->FFontNames.Find(pObj->FontNameCode);
- if (pFontName != NULL) {
- pObj->FontName = pFontName->VMS_FONT_NAME_NM;
- }
- else {
- pObj->FontName = "명조체";
- pObj->FontNameCode = "00";
- }
- pObj->FontColorCode = pFormObj->FONT_CLR;
- pObj->FontSize = pFormObj->FONT_SZ;
- pObj->FontBold = pFormObj->FONT_THCK;
- pObj->TextAlign = nTextAlign;
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_IMAGE && pFormObj->IS_SYMB_OBJ)
- {
- pObj->GetImage()->Picture->LoadFromFile(imageFilePath);
- pObj->GetImage()->AutoSize= false;
- pObj->GetImage()->Stretch = true;
- pObj->GetImage()->Width = pFormObj->FORM_OBJ_DSPL_WDTH;
- pObj->GetImage()->Height = pFormObj->FORM_OBJ_DSPL_HGHT;
- pObj->SetSize(pFormObj->FORM_OBJ_DSPL_WDTH, pFormObj->FORM_OBJ_DSPL_HGHT);
- pObj->SetPos(pFormObj->FORM_OBJ_PSTN_X, pFormObj->FORM_OBJ_PSTN_Y);
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_CCTV && pFormObj->IS_CCTV_OBJ)
- {
- pObj->GetImage()->AutoSize= false;
- pObj->GetImage()->Stretch = false;
- pObj->GetImage()->Center = true;
- pObj->GetImage()->Width = pFormObj->FORM_OBJ_DSPL_WDTH;
- pObj->GetImage()->Height = pFormObj->FORM_OBJ_DSPL_HGHT;
- pObj->GetImage()->Picture->Bitmap->Assign(ImgStream->Picture->Bitmap);
- pObj->SetSize(pFormObj->FORM_OBJ_DSPL_WDTH, pFormObj->FORM_OBJ_DSPL_HGHT);
- pObj->SetPos(pFormObj->FORM_OBJ_PSTN_X, pFormObj->FORM_OBJ_PSTN_Y);
- }
- else
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_MOVIE && pFormObj->IS_MOVE_OBJ)
- {
- pObj->GetImage()->Picture->LoadFromFile(imageFilePath);
- pObj->GetImage()->AutoSize= false;
- pObj->GetImage()->Stretch = true;
- pObj->GetImage()->Width = pFormObj->FORM_OBJ_DSPL_WDTH;
- pObj->GetImage()->Height = pFormObj->FORM_OBJ_DSPL_HGHT;
- pObj->SetSize(pFormObj->FORM_OBJ_DSPL_WDTH, pFormObj->FORM_OBJ_DSPL_HGHT);
- pObj->SetPos(pFormObj->FORM_OBJ_PSTN_X, pFormObj->FORM_OBJ_PSTN_Y);
- }
- pObj->Show();
- pObj->BringToFront();
- }
- if (sOldVmsFormId != "") {
- TFormImage *pImage = new TFormImage();
- pImage->formId = sOldVmsFormId;
- pImage->bitmap = new Graphics::TBitmap;
- m_pEdtDesigner->GetVmsFormImage(ImgForm);
- try {
- pImage->bitmap->Assign(ImgForm->Picture->Bitmap);
- }
- catch(Exception &e) {
- }
- FFormBackLists.Push(pImage->formId, pImage);
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormObjectList", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormObjectList", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgScheMngr::InitVmsScnrFormObject(String AVmsCtlrId, String AScnrId, String AVmsFormId, TVmsFormScnr *AFormScnr)
- {
- TVmsFormObj *pVmsFormObj = FVmsFormLists.Find(AVmsFormId);
- if (pVmsFormObj == NULL) {
- // 없으면 안됨
- return;
- }
- int formObjSn = 1;
- FOR_STL(TFormObj*, pFormObj, pVmsFormObj->FLists) {
- bool isAddObj = false;
- if (pFormObj->VMS_FORM_OBJ_KIND == FORM_OBJ_KIND_FIGURE) {
- isAddObj = true;
- }
- else
- if (pFormObj->VMS_TXT_ITEM_ID == "C1001" || // 도로명
- pFormObj->VMS_TXT_ITEM_ID == "C1002" || // 시점명
- pFormObj->VMS_TXT_ITEM_ID == "C1003" || // 종점명
- pFormObj->VMS_TXT_ITEM_ID == "C2001" || // 소통상황
- pFormObj->VMS_TXT_ITEM_ID == "C2002" || // 시간
- pFormObj->VMS_TXT_ITEM_ID == "C2003" || // 속도
- pFormObj->VMS_TXT_ITEM_ID == "C3001" || // 우회-도로명
- pFormObj->VMS_TXT_ITEM_ID == "C3002" || // 우회-시점명
- pFormObj->VMS_TXT_ITEM_ID == "C3003" || // 우회-종점명
- pFormObj->VMS_TXT_ITEM_ID == "C4001" || // 우회-소통상황
- pFormObj->VMS_TXT_ITEM_ID == "C4002" || // 우회-시간
- pFormObj->VMS_TXT_ITEM_ID == "C4003" ) // 우회-속도
- {
- isAddObj = true;
- }
- else
- if (pFormObj->VMS_TXT_ITEM_ID == "C0001" && // 단순문자열
- pFormObj->FONT_CLR == "99" ) // 자동색상
- {
- isAddObj = true;
- }
- if (isAddObj) {
- TVmsFormScnrObj *pScnrObj = new TVmsFormScnrObj();
- pScnrObj->VMS_CTLR_ID = AVmsCtlrId;
- pScnrObj->VMS_SCNR_ID = AScnrId;
- pScnrObj->FORM_SN = AFormScnr->FORM_SN;
- pScnrObj->VMS_FORM_ID = AVmsFormId;
- pScnrObj->FORM_OBJ_SN = formObjSn++;
- pScnrObj->VMS_FORM_OBJ_ID = pFormObj->VMS_FORM_OBJ_ID;
- pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID = "";
- pScnrObj->VMS_FORM_OBJ_KIND = pFormObj->VMS_FORM_OBJ_KIND;
- pScnrObj->VMS_TXT_ITEM_ID = pFormObj->VMS_TXT_ITEM_ID;
- pScnrObj->FORM_OBJ_PSTN_X = pFormObj->FORM_OBJ_PSTN_X;
- pScnrObj->FORM_OBJ_PSTN_Y = pFormObj->FORM_OBJ_PSTN_Y;
- AFormScnr->FLists.Push(pScnrObj->VMS_FORM_OBJ_ID, pScnrObj);
- }
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::CheckScenarioUse(String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "SELECT VMS_SCNR_ID, COUNT(1) AS CNT \r\n"
- " FROM TB_VMS_CTLR \r\n"
- " WHERE VMS_SCNR_ID = :p01 \r\n"
- " GROUP BY VMS_SCNR_ID \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AScnrId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- if (pADO->FieldByName("CNT")->AsInteger > 0) {
- String sMsg;
- sMsg = "VMS 시나리오 사용확인\r\n삭제할 VMS 시나리오 정보가 사용되고 있습니다.\r\n먼저 해당 정보를 삭제해주시기 바랍니다.";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return true;
- }
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::CheckScenarioUse", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::CheckScenarioUse", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return false;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::DeleteVmsScenario(String AVmsCtlrId, String AScnrId, bool ADelScnr)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "DELETE TB_VMS_SCNR_VMS_FORM_OBJ \r\n"
- " WHERE VMS_CTLR_ID = :p01 \r\n"
- " AND VMS_SCNR_ID = :p02 \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- pADO->ExecSQL();
- sQry = "DELETE TB_VMS_SCNR_VMS_FORM \r\n"
- " WHERE VMS_CTLR_ID = :p01 \r\n"
- " AND VMS_SCNR_ID = :p02 \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- pADO->ExecSQL();
- if (ADelScnr) {
- sQry = "DELETE TB_VMS_SCNR \r\n"
- " WHERE VMS_CTLR_ID = :p01 \r\n"
- " AND VMS_SCNR_ID = :p02 \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- pADO->ExecSQL();
- }
- return true;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgFormMngr::DeleteVmsScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgFormMngr::DeleteVmsScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::UpdateVmsDefScenario(String AVmsCtlrId, String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "UPDATE TB_VMS_CTLR \r\n"
- " SET VMS_SCNR_ID = :p02 \r\n"
- " WHERE VMS_CTLR_ID = :p01 \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- ITSDb_SQLBind(pADO, "p02", AScnrId);
- pADO->ExecSQL();
- return true;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgFormMngr::UpdateVmsDefScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgFormMngr::UpdateVmsDefScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::SaveVmsScenarioForm(String AVmsCtlrId, String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- TcxDataController *pGDC = TvSche->DataController;
- sQry = "INSERT INTO TB_VMS_SCNR_VMS_FORM ( \r\n"
- " VMS_CTLR_ID, \r\n"
- " VMS_SCNR_ID, \r\n"
- " SN, \r\n"
- " VMS_FORM_ID, \r\n"
- " TXT_FORM_APLY_VMS_SECT_ID, \r\n"
- " VMS_FORM_DSPL_CNDT_ID, \r\n"
- " DSPL_HR, \r\n"
- " RGSTR_ID, \r\n"
- " REG_DT ) \r\n"
- " VALUES ( \r\n"
- " :p01, \r\n"
- " :p02, \r\n"
- " :p03, \r\n"
- " :p04, \r\n"
- " :p05, \r\n"
- " :p06, \r\n"
- " :p07, \r\n"
- " :p08, \r\n"
- " SYSDATE ) \r\n";
- try {
- TvSche->BeginUpdate();
- int nRows = pGDC->RecordCount;
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- for (int ii = 0; ii < nRows; ii++) {
- String VMS_CTLR_ID = AVmsCtlrId;
- String VMS_SCNR_ID = AScnrId;
- int SN = ii+1;
- String VMS_FORM_ID = VarToStr(pGDC->Values[ii][Col00->Index]);
- String TXT_FORM_APLY_VMS_SECT_ID = "";
- String VMS_FORM_DSPL_CNDT_ID = VarToStr(pGDC->Values[ii][ColDsplCndtId->Index]);
- int DSPL_HR = VarToStr(pGDC->Values[ii][Col03->Index]).ToIntDef(5);
- String RGSTR_ID = g_AppCfg.OPER_ID;
- if (VMS_FORM_DSPL_CNDT_ID == "") VMS_FORM_DSPL_CNDT_ID = FORM_DSPL_CNDT_DEFAULT;
- pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID;
- pADO->Parameters->ParamByName("p02")->Value = VMS_SCNR_ID;
- pADO->Parameters->ParamByName("p03")->Value = SN;
- pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p05")->Value = TXT_FORM_APLY_VMS_SECT_ID;
- pADO->Parameters->ParamByName("p06")->Value = VMS_FORM_DSPL_CNDT_ID;
- pADO->Parameters->ParamByName("p07")->Value = DSPL_HR;
- pADO->Parameters->ParamByName("p08")->Value = RGSTR_ID;
- pADO->ExecSQL();
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::SaveVmsScenarioForm", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::SaveVmsScenarioForm", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgScheMngr::SaveVmsScenarioFormObj(String AVmsCtlrId, String AScnrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- TcxDataController *pGDC = TvSche->DataController;
- sQry = "INSERT INTO TB_VMS_SCNR_VMS_FORM_OBJ ( \r\n"
- " VMS_CTLR_ID, \r\n"
- " VMS_SCNR_ID, \r\n"
- " FORM_SN, \r\n"
- " VMS_FORM_ID, \r\n"
- " FORM_OBJ_SN, \r\n"
- " VMS_FORM_OBJ_ID, \r\n"
- " FIGR_FORM_APLY_VMS_SECT_ID, \r\n"
- " RGSTR_ID, \r\n"
- " REG_DT ) \r\n"
- " VALUES ( \r\n"
- " :p01, \r\n"
- " :p02, \r\n"
- " :p03, \r\n"
- " :p04, \r\n"
- " :p05, \r\n"
- " :p06, \r\n"
- " :p07, \r\n"
- " :p08, \r\n"
- " SYSDATE ) \r\n";
- try {
- TvSche->BeginUpdate();
- int nRows = pGDC->RecordCount;
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- for (int ii = 0; ii < nRows; ii++) {
- String VMS_CTLR_ID = AVmsCtlrId;
- String VMS_SCNR_ID = AScnrId;
- int FORM_SN = ii+1;
- String VMS_FORM_ID = VarToStr(pGDC->Values[ii][Col00->Index]);
- int MAP_FROM_SN = pGDC->Values[ii][ColFormSn->Index];
- String RGSTR_ID = g_AppCfg.OPER_ID;
- TVmsFormScnr *pFormScnr = FrmVmsMsgScheMngr->FVmsScnrLists.Find(MAP_FROM_SN);
- if (pFormScnr == NULL) {
- continue;
- }
- int FORM_OBJ_SN = 1;
- FOR_STL(TVmsFormScnrObj*, pScnrObj, pFormScnr->FLists) {
- if (pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID.IsEmpty()) {
- continue;
- }
- pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID;
- pADO->Parameters->ParamByName("p02")->Value = VMS_SCNR_ID;
- pADO->Parameters->ParamByName("p03")->Value = FORM_SN;
- pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p05")->Value = FORM_OBJ_SN;
- pADO->Parameters->ParamByName("p06")->Value = pScnrObj->VMS_FORM_OBJ_ID;
- pADO->Parameters->ParamByName("p07")->Value = pScnrObj->FIGR_FORM_APLY_VMS_SECT_ID;
- pADO->Parameters->ParamByName("p08")->Value = RGSTR_ID;
- pADO->ExecSQL();
- FORM_OBJ_SN++;
- }
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgScheMngr::SaveVmsScenarioFormObj", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgScheMngr::SaveVmsScenarioFormObj", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
|