| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223 |
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include <vcl.h>
- #include <IOUtils.hpp>
- #include <jpeg.hpp>
- #include <GIFimg.hpp>
- #include "ITSSkinF.h"
- #include "ITSUtilF.h"
- #include "AppGlobalF.h"
- #include "CDSVmsFormF.h"
- #pragma hdrstop
- #include "FrmVmsMsgUserDispF.h"
- #include "FrmVmsMsgUserDispSrcF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- //폼유형
- void __fastcall TFrmVmsMsgUserDisp::FillVmsFormType(TcxComboBox *ACombo)
- {
- //Not Used
- String sQry;
- TADOQuery *pADO = NULL;
- ACombo->Properties->Items->Clear();
- sQry = "SELECT VMS_FORM_TYPE_CD AS CD, \r\n"
- " VMS_FORM_TYPE_NM AS NM, \r\n"
- " USE_YN \r\n"
- " FROM TB_VMS_FORM_TYPE \r\n"
- " ORDER BY CD ASC \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())
- {
- String sUse = pADO->FieldByName("USE_YN")->AsString;
- if (sUse != "Y") continue;
- String sCd = pADO->FieldByName("CD")->AsString;
- String sNm = pADO->FieldByName("NM")->AsString;
- ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm);
- }
- ACombo->ItemIndex = 0;
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormType", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormType", String(exception.ClassName()), exception.Message, sQry);
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- }
- //---------------------------------------------------------------------------
- //표출방법
- void __fastcall TFrmVmsMsgUserDisp::FillVmsFormDispMode(TcxComboBox *ACombo)
- {
- //Not Used
- String sQry;
- TADOQuery *pADO = NULL;
- ACombo->Properties->Items->Clear();
- sQry = "SELECT VMS_FORM_DSPL_MTHD_CD AS CD, \r\n"
- " VMS_FORM_DSPL_MTHD_NM AS NM, \r\n"
- " USE_YN \r\n"
- " FROM TB_VMS_FORM_DSPL_MTHD \r\n"
- " ORDER BY CD ASC \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())
- {
- String sUse = pADO->FieldByName("USE_YN")->AsString;
- if (sUse != "Y") continue;
- String sCd = pADO->FieldByName("CD")->AsString;
- String sNm = pADO->FieldByName("NM")->AsString;
- ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm);
- }
- ACombo->ItemIndex = 0;
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormDispMode", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormDispMode", String(exception.ClassName()), exception.Message, sQry);
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- }
- //---------------------------------------------------------------------------
- //표출방향
- void __fastcall TFrmVmsMsgUserDisp::FillVmsFormDispDir(TcxComboBox *ACombo)
- {
- //Not Used
- String sQry;
- TADOQuery *pADO = NULL;
- ACombo->Properties->Items->Clear();
- sQry = "SELECT VMS_FORM_DSPL_DRCT_CD AS CD, \r\n"
- " VMS_FORM_DSPL_DRCT_NM AS NM, \r\n"
- " USE_YN \r\n"
- " FROM TB_VMS_FORM_DSPL_DRCT \r\n"
- " ORDER BY CD ASC \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())
- {
- String sUse = pADO->FieldByName("USE_YN")->AsString;
- if (sUse != "Y") continue;
- String sCd = pADO->FieldByName("CD")->AsString;
- String sNm = pADO->FieldByName("NM")->AsString;
- ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm);
- }
- ACombo->ItemIndex = 0;
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormDispDir", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFormDispDir", String(exception.ClassName()), exception.Message, sQry);
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- }
- //---------------------------------------------------------------------------
- //VMS Font
- void __fastcall TFrmVmsMsgUserDisp::FillVmsFont(TcxComboBox *ACombo)
- {
- //Not Used
- String sQry;
- TADOQuery *pADO = NULL;
- ACombo->Properties->Items->Clear();
- sQry = "SELECT VMS_FONT_NAME_CD AS CD, \r\n"
- " VMS_FONT_NAME_NM AS NM, \r\n"
- " USE_YN \r\n"
- " FROM TB_VMS_FONT_NAME \r\n"
- " ORDER BY CD ASC \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())
- {
- String sUse = pADO->FieldByName("USE_YN")->AsString;
- if (sUse != "Y") continue;
- String sCd = pADO->FieldByName("CD")->AsString;
- String sNm = pADO->FieldByName("NM")->AsString;
- ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm);
- }
- ACombo->ItemIndex = 0;
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFont", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::FillVmsFont", String(exception.ClassName()), exception.Message, sQry);
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgUserDisp::LoadFormObjectInfo(String AFormId, TVmsFormDesigner *ADesigner, String AFormType)
- {
- ADesigner->Clear();
- 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"
- " 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"
- " 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, \r\n"
- " D.PICT_HGHT, D.PICT_DATA_SZ, \r\n"
- " D.PICT_DATA, D.PICT_TYPE \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"
- " WHERE 1=1 \r\n"
- " AND A.VMS_FORM_ID = :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"
- " ORDER BY A.VMS_FORM_ID, A.SN \r\n";
- try
- {
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- ITSDb_SQLOpen(pADO);
- int nDrawType;
- String sObjKind;
- for( ; !pADO->Eof; pADO->Next())
- {
- String sFormId = pADO->FieldByName("VMS_FORM_ID")->AsString;
- String sObjId = pADO->FieldByName("VMS_FORM_OBJ_ID")->AsString;
- int nObjSeq = pADO->FieldByName("OBJ_SEQ")->AsInteger;
- String sObjKind = pADO->FieldByName("VMS_FORM_OBJ_KIND")->AsString;
- String sBackClr = pADO->FieldByName("BACK_CLR")->AsString;
- int nPosX = pADO->FieldByName("FORM_OBJ_PSTN_X")->AsInteger;
- int nPosY = pADO->FieldByName("FORM_OBJ_PSTN_Y")->AsInteger;
- bool bBlinking = pADO->FieldByName("FORM_OBJ_BLNK_YN")->AsString == "N" ? false : true;
- int isCctvObj = pADO->FieldByName("IS_CCTV_OBJ")->AsInteger;
- int isTextObj = pADO->FieldByName("IS_TEXT_OBJ")->AsInteger;
- int isSymbObj = pADO->FieldByName("IS_SYMB_OBJ")->AsInteger;
- int nObjType = 0;
- int nDsplWdth = 0;
- int nDsplHght = 0;
- int nDsplSize = 0;
- String sDsplText = "";
- if (sObjKind == FORM_OBJ_KIND_CCTV && isCctvObj == 1) {
- sDsplText = pADO->FieldByName("CCTV_ID")->AsString;
- nDrawType = 1; //이미지그리기
- nObjType = 2; //이미지
- nDsplWdth = ADesigner->Width;
- nDsplHght = ADesigner->Height;
- nDsplSize = nDsplWdth * nDsplHght;
- }
- else
- if (sObjKind == FORM_OBJ_KIND_TEXT && isTextObj == 1) {
- sDsplText = pADO->FieldByName("DSPL_TXT")->AsString;
- nDsplWdth = pADO->FieldByName("TXT_WDTH")->AsInteger;
- nDsplHght = pADO->FieldByName("TXT_HGHT")->AsInteger;
- nDsplSize = sDsplText.Length();
- nDrawType = 0; //문자열그리기
- nObjType = 0; //문자열
- }
- else
- if (sObjKind == FORM_OBJ_KIND_IMAGE && isSymbObj == 1) {
- sDsplText = pADO->FieldByName("PICT_NM")->AsString;
- nDsplWdth = pADO->FieldByName("PICT_WDTH")->AsInteger;
- nDsplHght = pADO->FieldByName("PICT_HGHT")->AsInteger;
- nDsplSize = pADO->FieldByName("PICT_DATA_SZ")->AsInteger;
- //TMemoryStream *pictData = pADO->CreateBlobStream(pADO->FieldByName("PICT_DATA"), bmRead);
- //SAFE_DELETE(pictData);
- nDrawType = 1; //이미지그리기
- nObjType = 1; //이미지심벌
- }
- else {
- continue;
- }
- /////// 폼객체를 생성해서 추가한다.
- TVmsFormObject *pObj = ADesigner->AddObject((VmsObjectDrawType)nDrawType);
- if (!pObj) continue;
- if (sObjKind == FORM_OBJ_KIND_CCTV && isCctvObj == 1) {
- pObj->EditMode = false;
- }
- pObj->ObjSeq = nObjSeq;
- pObj->ObjId = sObjId;
- pObj->ObjKind = sObjKind;
- pObj->ObjType = sObjKind;
- pObj->Tag = 0;
- pObj->ObjSize = nDsplSize;
- pObj->BkColorCode = sBackClr;
- pObj->Blink = bBlinking;
- pObj->ImageId = sObjId;
- pObj->Text = sDsplText;
- pObj->RunText = pObj->Text;
- pObj->SetPos(nPosX, nPosY);
- if (sObjKind == FORM_OBJ_KIND_TEXT && isTextObj == 1) // 문자열
- {
- String sTxtItemId = pADO->FieldByName("VMS_TXT_ITEM_ID")->AsString;
- String sTxtAlgn = pADO->FieldByName("TXT_ALGN_MTHD")->AsString;
- String sFontClr = pADO->FieldByName("FONT_CLR")->AsString;
- String sFontType = pADO->FieldByName("FONT_TYPE")->AsString;
- int nFontSize = pADO->FieldByName("FONT_SZ")->AsInteger;
- bool bFontThck = pADO->FieldByName("FONT_THCK")->AsString == "N" ? false : true;
- int nTextAlign = 0;
- if (sTxtAlgn == "R") nTextAlign = 1;
- if (sTxtAlgn == "C") nTextAlign = 2;
- pObj->FillIn = sTxtItemId;
- pObj->FontNameCode = sFontType;
- 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 = sFontClr;
- pObj->FontSize = nFontSize;
- pObj->FontBold = bFontThck;
- pObj->TextAlign = nTextAlign;
- }
- else
- if (sObjKind == FORM_OBJ_KIND_IMAGE && isSymbObj == 1)
- {
- if (pObj->ObjKind == OBJKIND_IMAGEID) {
- if (pObj->Text.Trim() == "") {
- pObj->Text = pObj->ImageId;
- }
- }
- TMemoryStream *pictData = new TMemoryStream();
- try {
- String sPictType = pADO->FieldByName("PICT_TYPE")->AsString;
- String sPictExt = DbPictTypeToReal(sPictExt);
- pictData->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("PICT_DATA"), bmRead));
- if (pictData && pictData->Size > 0) {
- imageFilePath = saveDirPath + sObjId + "." + sPictExt;
- pictData->SaveToFile(imageFilePath);
- LoadingImage(pObj, imageFilePath, nDsplWdth, nDsplHght);
- #if 0
- Graphics::TBitmap *Bitmap = pObj->GetBitmap();
- pictData->Position = 0;
- Bitmap->LoadFromStream(pictData);
- #ifdef IMAGE_RESIZE
- pObj->GetImage()->AutoSize= false;
- pObj->GetImage()->Stretch = true;
- pObj->GetImage()->Width = nWidth;
- pObj->GetImage()->Height = nHeight;
- pObj->SetSize(nDsplWdth, nDsplHght);
- #else
- pObj->SetSize(Bitmap->Width, Bitmap->Height);
- #endif
- #endif
- pObj->SetPos(nPosX, nPosY);
- }
- }
- __finally {
- SAFE_DELETE(pictData);
- }
- }
- pObj->Show();
- pObj->BringToFront();
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::LoadFormObjectInfo", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &exception)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::LoadFormObjectInfo", String(exception.ClassName()), exception.Message, sQry);
- throw Exception(String(exception.ClassName()) + exception.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgUserDisp::LoadVmsForm()
- {
- #if 0
- FormClear();
- CMM_ClearGridTableView(TvList);
- ClearSymbloList();
- TVmsSizeType *pVmsSizeType = APP_GetVmsSizeTypeObject(CbSizeType);
- if (pVmsSizeType == NULL) return;
- String sWhereQry = "";
- if (pVmsSizeType->TypeCd != "ALL") {
- sWhereQry += " AND A.VMS_MODL_KIND = '" + pVmsSizeType->TypeCd + "' \r\n";
- }
- FVmsTypeCd = pVmsSizeType->TypeCd;
- FVmsWidth = pVmsSizeType->Width;
- FVmsHeight = pVmsSizeType->Height;
- FVmsCols = pVmsSizeType->Cols;
- FVmsRows = pVmsSizeType->Rows;
- ImgForm->Width = FVmsWidth;
- ImgForm->Height = FVmsHeight;
- ImgForm->Picture->Bitmap->Width = FVmsWidth;
- ImgForm->Picture->Bitmap->Height = FVmsHeight;
- {
- PnlEdtBack->Width = FVmsWidth+4;
- PnlEdtBack->Height= FVmsHeight+4;
- PnlRePreview->Width = FVmsWidth+4;
- PnlRePreview->Height= FVmsHeight+4;
- PnlRePreview->Color = clWhite;
- ImgEdtPreview->Left = 2;
- ImgEdtPreview->Top = 2;
- ImgEdtPreview->Width = FVmsWidth;
- ImgEdtPreview->Height= FVmsHeight;
- ImgEdtPreview->Picture->Bitmap->Width = FVmsWidth;
- ImgEdtPreview->Picture->Bitmap->Height = FVmsHeight;
- m_pEdtDesigner->DrawPreviewModuleBack(ImgEdtPreview, clBlack, FVmsRows, FVmsCols);
- #if 0
- #if 0
- ReForm->Width = FVmsWidth+22+4;
- ReForm->Height= FVmsHeight+22+4;
- #else
- ReForm->Width = FVmsWidth+4;
- ReForm->Height= FVmsHeight+4;
- #endif
- #endif
- ReForm->Color = clBlack;
- m_pEdtDesigner->Clear();
- m_pEdtDesigner->SizeType = FVmsTypeCd;
- m_pEdtDesigner->SetSize(FVmsWidth, FVmsHeight);
- m_pEdtDesigner->SetPos(0, 0);
- m_pEdtDesigner->BkColorCode = "0";
- m_pEdtDesigner->EditMode = true;
- m_pEdtDesigner->Show();
- }
- String sVmsSizeNm = pVmsSizeType->TypeNm;
- 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.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 = 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";
- sQry += sWhereQry;
- sQry +=" ORDER BY A.VMS_MODL_KIND, A.VMS_FORM_ID \r\n";
- String sFirstFormId = "";
- try
- {
- int nRow;
- TcxDataController *pGDC = TvList->DataController;
- TvList->BeginUpdate();
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next())
- {
- nRow = pGDC->AppendRecord();
- String sVmsFormId = pADO->FieldByName("VMS_FORM_ID")->AsString;
- if (sFirstFormId == "") sFirstFormId = sVmsFormId;
- String DSPL_EFF = pADO->FieldByName("DSPL_EFF")->AsString;
- pGDC->Values[nRow][ColVMS_FORM_ID->Index] = sVmsFormId; //폼ID
- pGDC->Values[nRow][ColVMS_FORM_NM->Index] = pADO->FieldByName("VMS_FORM_NM")->AsVariant; //폼명칭
- pGDC->Values[nRow][ColVMS_FORM_TYPE_NM->Index] = pADO->FieldByName("FORM_TYPE_NM")->AsString; //폼종류
- pGDC->Values[nRow][ColDSPL_EFF_NM->Index] = pADO->FieldByName("DSPL_EFF_NM")->AsString; //표출효과
- pGDC->Values[nRow][ColVMS_MODL_KIND_NM->Index] = pADO->FieldByName("VMS_MODL_KIND_NM")->AsString; //폼크기
- pGDC->Values[nRow][ColDSPL_HR->Index] = pADO->FieldByName("DSPL_HR")->AsInteger; //표출시간
- pGDC->Values[nRow][ColVMS_FORM_TYPE->Index] = pADO->FieldByName("VMS_FORM_TYPE")->AsString; //폼종류코드-
- pGDC->Values[nRow][ColDSPL_EFF->Index] = pADO->FieldByName("DSPL_EFF")->AsString; //표출효과
- pGDC->Values[nRow][ColBACK_CLR->Index] = pADO->FieldByName("BACK_CLR")->AsString; //배경색코드-
- pGDC->Values[nRow][ColVMS_MODL_KIND->Index] = pADO->FieldByName("VMS_MODL_KIND")->AsString; //폼크기코드-
- #if 0
- Graphics::TBitmap *bitmap = new Graphics::TBitmap;
- try {
- bitmap->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("VMS_FORM_IMAG"), bmRead));
- } catch(Exception &e) {
- //throw Exception(String(e.ClassName()) + e.Message);
- }
- FListSymb->Add(bitmap);
- #endif
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::LoadVmsForm", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::LoadVmsForm", String(e.ClassName()), e.Message, sQry);
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- TvList->EndUpdate();
- if (TvList->DataController->RecordCount > 0)
- {
- //CMM_SetGridRow(CxList, TvList, sFirstFormId, ColVMS_FORM_ID->Index);
- //DisplayInfo();
- }
- }
- #endif
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::SaveVmsForm(String AVALID_YN)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- String VMS_FORM_ID = FVMS_FORM_ID;
- String VMS_MODL_KIND = FVMS_MODL_KIND;
- String VMS_FORM_TYPE = FVMS_FORM_TYPE;
- String VMS_FORM_NM = FVMS_FORM_NM;
- String DSPL_EFF = FDSPL_EFF;
- int DSPL_HR = FDSPL_HR;
- String BACK_CLR = FBACK_CLR;
- String OPER_ID = FOPER_ID;
- sQry = "MERGE INTO TB_VMS_FORM L \r\n"
- "USING (SELECT :p01 AS VMS_FORM_ID, \r\n"
- " :p02 AS VMS_MODL_KIND, \r\n"
- " :p03 AS VMS_FORM_TYPE, \r\n"
- " :p04 AS VMS_FORM_NM, \r\n"
- " :p05 AS DSPL_EFF, \r\n"
- " :p06 AS DSPL_HR, \r\n"
- " :p07 AS BACK_CLR, \r\n"
- " :p08 AS OPER_ID \r\n"
- " FROM DUAL) M \r\n"
- " ON (L.VMS_FORM_ID = M.VMS_FORM_ID) \r\n"
- "WHEN MATCHED THEN \r\n"
- " UPDATE SET L.VMS_MODL_KIND = M.VMS_MODL_KIND, \r\n"
- " L.VMS_FORM_TYPE = M.VMS_FORM_TYPE, \r\n"
- " L.VMS_FORM_NM = M.VMS_FORM_NM, \r\n"
- " L.DSPL_EFF = M.DSPL_EFF, \r\n"
- " L.DSPL_HR = M.DSPL_HR, \r\n"
- " L.BACK_CLR = M.BACK_CLR, \r\n"
- " L.CHNGR_ID = M.OPER_ID, \r\n"
- " L.CHG_DT = SYSDATE \r\n"
- "WHEN NOT MATCHED THEN \r\n"
- " INSERT (VMS_FORM_ID, \r\n"
- " VMS_MODL_KIND, \r\n"
- " VMS_FORM_TYPE, \r\n"
- " VMS_FORM_NM, \r\n"
- " DSPL_EFF, \r\n"
- " DSPL_HR, \r\n"
- " BACK_CLR, \r\n"
- " RGSTR_ID, \r\n"
- " REG_DT ) \r\n"
- " VALUES (M.VMS_FORM_ID, \r\n"
- " M.VMS_MODL_KIND, \r\n"
- " M.VMS_FORM_TYPE, \r\n"
- " M.VMS_FORM_NM, \r\n"
- " M.DSPL_EFF, \r\n"
- " M.DSPL_HR, \r\n"
- " M.BACK_CLR, \r\n"
- " M.OPER_ID, \r\n"
- " SYSDATE ) \r\n";
- TMemoryStream *dataStream = new TMemoryStream();
- ImgForm->Picture->Bitmap->SaveToStream(dataStream);
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p02")->Value = VMS_MODL_KIND;
- pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_TYPE;
- pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_NM;
- pADO->Parameters->ParamByName("p05")->DataType = ftString;
- pADO->Parameters->ParamByName("p05")->Value = DSPL_EFF;
- pADO->Parameters->ParamByName("p06")->Value = DSPL_HR;
- pADO->Parameters->ParamByName("p07")->DataType = ftString;
- pADO->Parameters->ParamByName("p07")->Value = BACK_CLR;
- pADO->Parameters->ParamByName("p08")->DataType = ftString;
- pADO->Parameters->ParamByName("p08")->Value = OPER_ID;
- ITSDb_SQLExec(pADO);
- sQry = "UPDATE TB_VMS_FORM \r\n"
- " SET VMS_FORM_IMG = :p02 \r\n"
- " WHERE VMS_FORM_ID = :p01 \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", VMS_FORM_ID);
- if (dataStream->Size == 0) {
- ITSDb_SQLBind(pADO, "p01", "");
- }
- else {
- pADO->Parameters->ParamByName("p02")->LoadFromStream(dataStream, ftBlob);
- }
- ITSDb_SQLExec(pADO);
- return true;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgUserDisp::SaveVmsForm", String(E.ClassName()), E.Message, sQry);
- return false;
- //throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::SaveVmsForm", String(e.ClassName()), e.Message, sQry);
- return false;
- //throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- if (dataStream) delete dataStream;
- dataStream = NULL;
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::SaveVmsFormObject()
- {
- bool bResult = false;
- String sQry;
- TADOQuery *pADO = NULL;
- TVmsFormObject *pFormObj = NULL;
- TcxGridDataController *pGDC = TvObjList->DataController;
- String VMS_FORM_ID = FVMS_FORM_ID;
- String OBJ_VMS_FORM_ID = FVMS_FORM_ID.SubString(1, 6);
- int newObjSeq = 1; // 신규로 추가하는 메시지
- int nObjCnt = pGDC->RecordCount;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- // 폼 오브젝트 구성정보 저장
- sQry = "INSERT INTO TB_VMS_FORM_VMS_FORM_OBJ ( \r\n"
- " VMS_FORM_ID, \r\n"
- " SN, \r\n"
- " VMS_FORM_OBJ_KIND, \r\n"
- " VMS_FORM_OBJ_ID, \r\n"
- " BACK_CLR, \r\n"
- " FORM_OBJ_PSTN_X, \r\n"
- " FORM_OBJ_PSTN_Y, \r\n"
- " FORM_OBJ_BLNK_YN ) \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";
- ITSDb_SQLText(pADO, sQry);
- for (int ii = 0; ii < nObjCnt; ii++) {
- String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]);
- pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt());
- if (!pFormObj) continue;
- //이력으로 조회하는곳에서 좌표를 0x02로 저장하는데 음수가 나오는 경우
- //2자리로 처리가 되지 않기 때문에 여기서 막아준다.
- if (pFormObj->Left < 0) pFormObj->Left = 0;
- if (pFormObj->Top < 0) pFormObj->Top = 0;
- int SN = ii+1;
- String VMS_FORM_OBJ_KIND = pFormObj->ObjKind;
- String VMS_FORM_OBJ_ID = pFormObj->ObjId;
- if (VMS_FORM_OBJ_ID == "") {
- VMS_FORM_OBJ_ID.printf(L"%s-%03d", OBJ_VMS_FORM_ID, newObjSeq++);
- pFormObj->ObjId = VMS_FORM_OBJ_ID;
- }
- String BACK_CLR = pFormObj->BkColorCode;
- int FORM_OBJ_PSTN_X = pFormObj->Left;
- int FORM_OBJ_PSTN_Y = pFormObj->Top;
- String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N";
- pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p02")->Value = SN;
- pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_OBJ_KIND;
- pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_OBJ_ID;
- pADO->Parameters->ParamByName("p05")->DataType = ftString;
- pADO->Parameters->ParamByName("p05")->Value = BACK_CLR;
- pADO->Parameters->ParamByName("p06")->Value = FORM_OBJ_PSTN_X;
- pADO->Parameters->ParamByName("p07")->Value = FORM_OBJ_PSTN_Y;
- pADO->Parameters->ParamByName("p08")->DataType = ftString;
- pADO->Parameters->ParamByName("p08")->Value = FORM_OBJ_BLNK_YN;
- ITSDb_SQLExec(pADO);
- }
- // 텍스트 오브젝트 정보 저장
- sQry = "INSERT INTO TB_VMS_FORM_OBJ_TXT ( \r\n"
- " VMS_FORM_OBJ_ID, \r\n"
- " TXT_WDTH, \r\n"
- " TXT_HGHT, \r\n"
- " TXT_ALGN_MTHD, \r\n"
- " FONT_CLR, \r\n"
- " FONT_TYPE, \r\n"
- " FONT_SZ, \r\n"
- " FONT_THCK, \r\n"
- " VMS_TXT_ITEM_ID, \r\n"
- " DSPL_TXT, \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"
- " :p09, \r\n"
- " :p10, \r\n"
- " :p11, \r\n"
- " SYSDATE ) \r\n";
- ITSDb_SQLText(pADO, sQry);
- for (int ii = 0; ii < nObjCnt; ii++) {
- String sObjSeq = VarToStr(pGDC->Values[ii][ColSeq->Index]);
- pFormObj = m_pEdtDesigner->FindObject(sObjSeq.ToInt());
- if (!pFormObj) continue;
- if (pFormObj->ObjKind != FORM_OBJ_KIND_TEXT) {
- continue;
- }
- String VMS_FORM_OBJ_ID = pFormObj->ObjId;
- int TXT_WDTH = pFormObj->GetWidth();
- int TXT_HGHT = pFormObj->GetHeight();
- String TXT_ALGN_MTHD = "C";
- if (pFormObj->TextAlign == 0) {
- TXT_ALGN_MTHD = "L";
- }
- else if (pFormObj->TextAlign == 1) {
- TXT_ALGN_MTHD = "R";
- }
- String FONT_CLR = pFormObj->FontColorCode;
- String FONT_TYPE = pFormObj->FontNameCode;
- int FONT_SZ = pFormObj->FontSize;
- String FONT_THCK = pFormObj->FontBold ? "B" : "N";
- String VMS_TXT_ITEM_ID = pFormObj->FillIn;
- String DSPL_TXT = pFormObj->Text;
- String RGSTR_ID = g_AppCfg.OPER_ID;
- String BACK_CLR = pFormObj->BkColorCode;
- int FORM_OBJ_PSTN_X = pFormObj->Left;
- int FORM_OBJ_PSTN_Y = pFormObj->Top;
- String FORM_OBJ_BLNK_YN = pFormObj->Blink ? "Y" : "N";
- pADO->Parameters->ParamByName("p01")->Value = VMS_FORM_OBJ_ID;
- pADO->Parameters->ParamByName("p02")->Value = TXT_WDTH;
- pADO->Parameters->ParamByName("p03")->Value = TXT_HGHT;
- pADO->Parameters->ParamByName("p04")->Value = TXT_ALGN_MTHD;
- pADO->Parameters->ParamByName("p05")->DataType = ftString;
- pADO->Parameters->ParamByName("p05")->Value = FONT_CLR;
- pADO->Parameters->ParamByName("p06")->DataType = ftString;
- pADO->Parameters->ParamByName("p06")->Value = FONT_TYPE;
- pADO->Parameters->ParamByName("p07")->Value = FONT_SZ;
- pADO->Parameters->ParamByName("p08")->DataType = ftString;
- pADO->Parameters->ParamByName("p08")->Value = FONT_THCK;
- pADO->Parameters->ParamByName("p09")->DataType = ftString;
- pADO->Parameters->ParamByName("p09")->Value = VMS_TXT_ITEM_ID;
- pADO->Parameters->ParamByName("p10")->DataType = ftString;
- pADO->Parameters->ParamByName("p10")->Value = DSPL_TXT;
- pADO->Parameters->ParamByName("p11")->DataType = ftString;
- pADO->Parameters->ParamByName("p11")->Value = RGSTR_ID;
- ITSDb_SQLExec(pADO);
- }
- bResult = true;
- }
- catch(EDatabaseError &E)
- {
- ITSDb_GetConnection()->RollbackTrans();
- DBERRORMSG("TFrmVmsMsgUserDisp::SaveVmsFormObject", String(E.ClassName()), E.Message, sQry);
- //throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e)
- {
- ITSDb_GetConnection()->RollbackTrans();
- DBERRORMSG("TFrmVmsMsgUserDisp::SaveVmsFormObject", String(e.ClassName()), e.Message, sQry);
- //throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- return bResult;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::CheckExistForm(String AFormId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "SELECT VMS_FORM_ID, COUNT(1) AS CNT \r\n"
- " FROM TB_VMS_FORM \r\n"
- " WHERE VMS_FORM_ID = :p01 \r\n"
- " GROUP BY VMS_FORM_ID \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- if (pADO->FieldByName("CNT")->AsInteger > 0) {
- return true;
- }
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgUserDisp::CheckExistForm", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgUserDisp::CheckExistForm", String(e.ClassName()), e.Message, sQry);
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return false;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::CheckVmsFormUse(String AFormId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "SELECT VMS_FORM_ID, COUNT(1) AS CNT \r\n"
- " FROM TB_VMS_DSPL_PLAN_MSG \r\n"
- " WHERE VMS_FORM_ID = :p01 \r\n"
- " GROUP BY VMS_FORM_ID \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- if (pADO->FieldByName("CNT")->AsInteger > 0) {
- String sMsg;
- sMsg = "VMS 폼 사용확인\r\n삭제할 VMS 폼 정보가 [VMS표출계획메시지] 에서 사용되고 있습니다.\r\n먼저 해당 정보를 삭제해주시기 바랍니다.";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return false;
- }
- }
- sQry = "SELECT VMS_FORM_ID, COUNT(1) AS CNT \r\n"
- " FROM TB_VMS_DFLT_FORM \r\n"
- " WHERE VMS_FORM_ID = :p01 \r\n"
- " GROUP BY VMS_FORM_ID \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- if (pADO->FieldByName("CNT")->AsInteger > 0) {
- String sMsg;
- sMsg = "VMS 폼 사용확인\r\n삭제할 VMS 폼 정보가 [VMS기본폼구성] 에서 사용되고 있습니다.\r\n먼저 해당 정보를 삭제해주시기 바랍니다.";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return false;
- }
- }
- sQry = "SELECT VMS_FORM_ID, COUNT(1) AS CNT \r\n"
- " FROM TB_VMS_SCNR_VMS_FORM \r\n"
- " WHERE VMS_FORM_ID = :p01 \r\n"
- " GROUP BY VMS_FORM_ID \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- if (pADO->FieldByName("CNT")->AsInteger > 0) {
- String sMsg;
- sMsg = "VMS 폼 사용확인\r\n삭제할 VMS 폼 정보가 [VMS시나리오] 에서 사용되고 있습니다.\r\n먼저 해당 정보를 삭제해주시기 바랍니다.";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return false;
- }
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgUserDisp::CheckVmsFormUse", String(E.ClassName()), E.Message, sQry);
- throw Exception(String(E.ClassName()) + E.Message);
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgUserDisp::CheckVmsFormUse", String(e.ClassName()), e.Message, sQry);
- throw Exception(String(e.ClassName()) + e.Message);
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::DelVmsFormRltnTable(String AFormId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "DELETE TB_VMS_FORM_OBJ_TXT \r\n"
- " WHERE VMS_FORM_OBJ_ID IN (SELECT VMS_FORM_OBJ_ID \r\n"
- " FROM TB_VMS_FORM_VMS_FORM_OBJ \r\n"
- " WHERE VMS_FORM_ID = :p01) \r\n";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- pADO->ExecSQL();
- sQry = "DELETE TB_VMS_FORM_VMS_FORM_OBJ WHERE VMS_FORM_ID = :p01";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- pADO->ExecSQL();
- return true;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgFormMngr::DelVmsFormRltnTable", String(E.ClassName()), E.Message, sQry);
- //throw Exception(String(E.ClassName()) + E.Message);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgFormMngr::DelVmsFormRltnTable", String(e.ClassName()), e.Message, sQry);
- //throw Exception(String(e.ClassName()) + e.Message);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgUserDisp::DelVmsForm(String AFormId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- if (!DelVmsFormRltnTable(AFormId)) {
- return false;
- }
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- sQry = "DELETE TB_VMS_FORM WHERE VMS_FORM_ID = :p01";
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AFormId);
- pADO->ExecSQL();
- return true;
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgUserDisp::DelVmsForm", String(E.ClassName()), E.Message, sQry);
- //throw Exception(String(E.ClassName()) + E.Message);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgUserDisp::DelVmsForm", String(e.ClassName()), e.Message, sQry);
- //throw Exception(String(e.ClassName()) + e.Message);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- String __fastcall TFrmVmsMsgUserDisp::GetNextVmsFormId(String AFormType)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- String result = AFormType + "-0000";
- sQry = "SELECT '" + AFormType + "-' || LPAD(NVL(MAX(SUBSTR(VMS_FORM_ID, -4)), '0000') + 1, 4, '0') AS NEWID FROM TB_VMS_FORM WHERE SUBSTR(VMS_FORM_ID,1,2)='" + AFormType + "-'";
- try
- {
- try
- {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLOpen(pADO);
- pADO->Open();
- result = pADO->FieldByName("NEWID")->AsString;
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::GetNextVmsFormId", String(E.ClassName()), E.Message, sQry);
- return result;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgUserDisp::GetNextVmsFormId", String(e.ClassName()), e.Message, sQry);
- return result;
- }
- }
- __finally
- {
- if (pADO)
- {
- pADO->Close();
- delete pADO;
- }
- }
- return result;
- }
- //---------------------------------------------------------------------------
|