123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include "ITSSkinF.h"
- #include "ITSUtilF.h"
- #include "AppGlobalF.h"
- #include "WindowMsgF.h"
- #include "CDSVmsIfscF.h"
- #include "CDSFontF.h"
- #include "CDSVmsFormF.h"
- #pragma hdrstop
- #include "FrmVmsMsgRespMngrF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "cxButtons"
- #pragma link "cxCalendar"
- #pragma link "cxContainer"
- #pragma link "cxControls"
- #pragma link "cxDropDownEdit"
- #pragma link "cxEdit"
- #pragma link "cxGraphics"
- #pragma link "cxGroupBox"
- #pragma link "cxLabel"
- #pragma link "cxLookAndFeelPainters"
- #pragma link "cxLookAndFeels"
- #pragma link "cxMaskEdit"
- #pragma link "cxPC"
- #pragma link "cxPCdxBarPopupMenu"
- #pragma link "cxSpinEdit"
- #pragma link "cxSplitter"
- #pragma link "cxTextEdit"
- #pragma link "cxTimeEdit"
- #pragma link "dxSkinBlack"
- #pragma link "dxSkinBlue"
- #pragma link "dxSkinCaramel"
- #pragma link "dxSkinCoffee"
- #pragma link "dxSkinDarkRoom"
- #pragma link "dxSkinDarkSide"
- #pragma link "dxSkinFoggy"
- #pragma link "dxSkinGlassOceans"
- #pragma link "dxSkiniMaginary"
- #pragma link "dxSkinLilian"
- #pragma link "dxSkinLiquidSky"
- #pragma link "dxSkinLondonLiquidSky"
- #pragma link "dxSkinMcSkin"
- #pragma link "dxSkinMoneyTwins"
- #pragma link "dxSkinOffice2007Black"
- #pragma link "dxSkinOffice2007Blue"
- #pragma link "dxSkinOffice2007Green"
- #pragma link "dxSkinOffice2007Pink"
- #pragma link "dxSkinOffice2007Silver"
- #pragma link "dxSkinOffice2010Black"
- #pragma link "dxSkinOffice2010Blue"
- #pragma link "dxSkinOffice2010Silver"
- #pragma link "dxSkinsCore"
- #pragma link "dxSkinscxPCPainter"
- #pragma link "dxSkinSeven"
- #pragma link "dxSkinSharp"
- #pragma link "dxSkinSilver"
- #pragma link "dxSkinStardust"
- #pragma link "cxRadioGroup"
- #pragma link "cxClasses"
- #pragma link "cxCustomData"
- #pragma link "cxData"
- #pragma link "cxDataStorage"
- #pragma link "cxDBData"
- #pragma link "cxFilter"
- #pragma link "cxGrid"
- #pragma link "cxGridCustomTableView"
- #pragma link "cxGridCustomView"
- #pragma link "cxGridDBTableView"
- #pragma link "cxGridLevel"
- #pragma link "cxGridTableView"
- #pragma link "cxStyles"
- #pragma link "cxCheckBox"
- #pragma link "cxImage"
- #pragma link "cxButtonEdit"
- #pragma link "cxBlobEdit"
- #pragma link "cxColorComboBox"
- #pragma link "cxCalc"
- #pragma link "VmsDesignerF"
- #pragma link "FRAME_VmsSchListF"
- #pragma link "cxHint"
- #pragma link "dxCustomHint"
- #pragma link "dxScreenTip"
- #pragma link "dxSkinsForm"
- #pragma link "dxGDIPlusClasses"
- #pragma resource "*.dfm"
- TFrmVmsMsgRespMngr *FrmVmsMsgRespMngr = NULL;
- //---------------------------------------------------------------------------
- __fastcall TFrmVmsMsgRespMngr::TFrmVmsMsgRespMngr(TComponent* Owner)
- : TForm(Owner)
- {
- //CMM_SetFormPosition(g_AppCfg.bSaveForm);
- ITSSkin_Initialize(Application, g_AppCfg.sLang);
- ITSSkin_Caption(false);
- ITSSkin_Load(this);
- //CMM_LoadForm(g_sFormsDir, this);
- SetColorScheme(g_AppCfg.sSkinName);
- FUpdate= false;
- FTitle = Caption;//"VMS 자동 스케줄 관리";
- FListSymb = new TList;
- EditMode = false;
- //FRAMEVmsSchList1->PnlTop->Visible = false;
- //FRAMEVmsSchList1->PnlBottom->Visible = false;
- PgVmsSch->Properties->ActivePage = TsEdit;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::SetColorScheme(String ASkinName)
- {
- dxSkinController1->SkinName = ASkinName;
- dxSkinController1->Refresh();
- PnlPreview->ParentColor = false;
- PnlPreview->Color = clBlack;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::CommClose()
- {
- try {
- #if 0
- if (m_pEdtDesigner) {
- delete m_pEdtDesigner;
- m_pEdtDesigner = NULL;
- }
- #endif
- APP_DelVmsSizeCombo(CbSizeType);
- ClearSymbloList();
- SAFE_DELETE(FListSymb);
- ITSSkin_Term();
- //CMM_SaveForm(g_sFormsDir, this);
- }
- catch(...) {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormCreate(TObject *Sender)
- {
- InitDbLoading();
- //m_pEdtDesigner = new TVmsFormDesigner(PnlEditForm);
- //FOR_STL(TCDSFontColor*, pObj, CDSFontManager->FFontColors) {
- // m_pEdtDesigner->InitFontColor(pObj->VMS_FONT_COLR_CD, (TColor)pObj->VMS_FONT_COLR_VAL);
- //}
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::InitDbLoading()
- {
- Application->ProcessMessages();
- if (!VmsCtlrManager) {
- VmsCtlrManager = new TVmsCtlrManager();
- }
- VmsCtlrManager->LoadVmsModlSize();
- VmsCtlrManager->LoadFromDb();
- #if 0
- if (SysCodeManager == NULL) {
- SysCodeManager = new TSysCodeManager();
- }
- SysCodeManager->LoadFromDb();
- if (!VmsTextItemManager) {
- VmsTextItemManager = new TVmsTextItemManager();
- }
- VmsTextItemManager->LoadFromDb();
- #endif
- if(!CDSFontManager) {
- CDSFontManager = new TCDSFontManager();
- }
- CDSFontManager->LoadFontInfo();
- LoadIncdType();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormShow(TObject *Sender)
- {
- Refresh();
- FormInit();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormInit()
- {
- TNotifyEvent evt = CbSizeType->Properties->OnChange;
- CbSizeType->Properties->OnChange = NULL;
- APP_FillVmsSizeType(CbSizeType, false);
- CbSizeType->Properties->OnChange = evt;
- FNewDb = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- CbSizeType->ItemIndex = -1;
- CbSizeType->ItemIndex = 0;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnCloseClick(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormClose(TObject *Sender, TCloseAction &Action)
- {
- CommClose();
- FrmVmsMsgRespMngr = NULL;
- Action = caFree;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormCloseQuery(TObject *Sender, bool &CanClose)
- {
- if (FUpdate)
- {
- POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::ClearSymbloList()
- {
- FFormLists.RemoveAll();
- for(int ii = 0; ii < FListSymb->Count; ii++)
- {
- Graphics::TBitmap *bitmap = (Graphics::TBitmap *)FListSymb->Items[ii];
- delete bitmap;
- }
- FListSymb->Clear();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::CbSizeTypePropertiesChange(TObject *Sender)
- {
- if (CbSizeType->ItemIndex < 0) return;
- EdFocus->SetFocus();
- BtnSearchClick(NULL);
- CxList->SetFocus();
- LockWindowUpdate(GrpPreview->Handle);
- PnlPreview->Width = FVmsWidth;
- PnlPreview->Height= FVmsHeight;
- ImgPreview->Align = alNone;
- ImgPreview->Picture->Bitmap->Width = FVmsWidth;
- ImgPreview->Picture->Bitmap->Height= FVmsHeight;
- APP_ImageClear(ImgPreview->Canvas, 0, 0, ImgPreview->Width, ImgPreview->Height, clBlack);
- ImgPreview->Align = alClient;
- LockWindowUpdate(0);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnSearchClick(TObject *Sender)
- {
- RefreshData();
- EdFocus->SetFocus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::RefreshData()
- {
- FormClear();
- TVmsSizeType *pVmsSizeType = APP_GetVmsSizeTypeObject(CbSizeType);
- if (pVmsSizeType == NULL) return;
- FVmsTypeCd = pVmsSizeType->TypeCd;
- FVmsWidth = pVmsSizeType->Width;
- FVmsHeight = pVmsSizeType->Height;
- FillIncdTypeList();
- LoadVmsFormList(FVmsTypeCd);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FormClear()
- {
- FSelIdx = -1;
- EdIncdType->Clear();
- EdIncdDtlType->Clear();
- GrpSchedule->Caption = lblTitle->Caption;//"▶ 자동 스케줄 설정";
- CMM_ClearGridTableView(TvSche);
- //LockWindowUpdate(GrpPreview->Handle);
- APP_ImageClear(ImgPreview->Canvas, 0, 0, ImgPreview->Width, ImgPreview->Height, clBlack);
- //LockWindowUpdate(0);
- FNewDb = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::DisplayInfo()
- {
- FormClear();
- FSelIdx = CMM_GetRecordIndex(TvList);
- if (FSelIdx < 0) return;
- TcxDataController *pGDC = TvList->DataController;
- //FVmsTypeCd
- String sIncd = VarToStr(pGDC->Values[FSelIdx][ColIncd->Index]);
- String sIncdDtl = VarToStr(pGDC->Values[FSelIdx][ColIncdDtl->Index]);
- String sIncdType = VarToStr(pGDC->Values[FSelIdx][ColIncdType->Index]);
- String sIncdDtlType = VarToStr(pGDC->Values[FSelIdx][ColIncdDtlType->Index]);
- EdIncdType->Text = sIncdType;
- EdIncdDtlType->Text = sIncdDtlType;
- GrpSchedule->Caption = lblTitle->Caption + " (" + sIncd + " ==> " + sIncdDtl + ")";
- LoadVmsScheduleInfo(FVmsTypeCd, sIncdType, sIncdDtlType);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnListAddClick(TObject *Sender)
- {
- String sUse = "N";
- String sTime= "4";
- int nSelIdx = CMM_GetRecordIndex(TvList);
- if (nSelIdx < 0) return;
- TcxGridDataController *pDcFrm = TvForm->DataController;
- TcxGridDataController *pDcSch = TvSche->DataController;
- int nFormIdx = CMM_GetRecordIndex(TvForm);
- if (nFormIdx < 0) return;
- int nRow = pDcSch->AppendRecord();
- pDcSch->Values[nRow][Col00->Index] = VarToStr(pDcFrm->Values[nFormIdx][ColFrm00->Index]); //ID
- pDcSch->Values[nRow][Col02->Index] = VarToStr(pDcFrm->Values[nFormIdx][ColFrm02->Index]); //명칭
- pDcSch->Values[nRow][Col03->Index] = VarToStr(pDcFrm->Values[nFormIdx][ColFrm03->Index]); //표출(초)
- //pDcSch->Values[nRow][Col01->Index] = pDcFrm->Values[nFormIdx][ColFrm01->Index]; //이미지데이터임
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnListDeleteClick(TObject *Sender)
- {
- int nSelIdx = CMM_GetRecordIndex(TvList);
- if (nSelIdx < 0) return;
- TcxGridDataController *pDcSch = TvSche->DataController;
- nSelIdx = CMM_GetRecordIndex(TvSche);
- if (nSelIdx < 0) return;
- TvSche->DataController->DeleteRecord(nSelIdx);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnSaveClick(TObject *Sender)
- {
- String sVmsModlKind = FVmsTypeCd;
- String sIncdType = EdIncdType->Text.Trim();
- String sIncdDtlType = EdIncdDtlType->Text.Trim();
- if (sIncdType.IsEmpty() || sIncdDtlType.IsEmpty()) {
- Application->MessageBox(L"VMS 대응 메시지 관리\r\nVMS 대응 이벤트 목록에서 VMS 이벤트를 먼저 선택한 후 작업을 진행하세요.",
- FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- if (Application->MessageBox(L"VMS 대응 메시지 관리\r\nVMS 대응 원클릭 메시지를 저장하시겠습니까?",
- FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
- ITSDb_GetConnection()->BeginTrans();
- if (!DeleteVmsScenario(sVmsModlKind, sIncdType, sIncdDtlType)) {
- ITSDb_GetConnection()->RollbackTrans();
- return;
- }
- if (!SaveVmsScenario(sVmsModlKind, sIncdType, sIncdDtlType)) {
- ITSDb_GetConnection()->RollbackTrans();
- return;
- }
- ITSDb_GetConnection()->CommitTrans();
- Application->MessageBox(L"VMS 대응 메시지 관리\r\nVMS 대응 원클릭 메시지를 저장하였습니다.",
- FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
- //CMM_SetGridRow(CxList, FRAMEVmsSchList1->TvList, sVmsCtlrId, FRAMEVmsSchList1->Column01->Index);
- DisplayInfo();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgRespMngr::SaveVmsScenario(String AVmsModlKind, String AIncdType, String AIncdDtlType)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- TcxDataController *pGDC = TvSche->DataController;
- sQry = "INSERT INTO TB_VMS_INCD_RES_FORM ( \r\n"
- " INCD_TYPE, \r\n"
- " INCD_DTL_TYPE, \r\n"
- " VMS_MODL_KIND, \r\n"
- " SN, \r\n"
- " VMS_FORM_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"
- " 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++) {
- int SN = ii+1;
- String VMS_FORM_ID = VarToStr(pGDC->Values[ii][Col00->Index]);
- String RGSTR_ID = g_AppCfg.OPER_ID;
- pADO->Parameters->ParamByName("p01")->Value = AIncdType;
- pADO->Parameters->ParamByName("p02")->Value = AIncdDtlType;
- pADO->Parameters->ParamByName("p03")->Value = AVmsModlKind;
- pADO->Parameters->ParamByName("p04")->Value = SN;
- pADO->Parameters->ParamByName("p05")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p06")->Value = RGSTR_ID;
- pADO->ExecSQL();
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgRespMngr::SaveVmsScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgRespMngr::SaveVmsScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgRespMngr::DeleteVmsScenario(String AVmsModlKind, String AIncdType, String AIncdDtlType)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "DELETE TB_VMS_INCD_RES_FORM \r\n"
- " WHERE 1=1 \r\n"
- " AND INCD_TYPE = :p01 \r\n"
- " AND INCD_DTL_TYPE = :p02 \r\n"
- " AND VMS_MODL_KIND = :p03 \r\n";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- pADO->Parameters->ParamByName("p01")->Value = AIncdType;
- pADO->Parameters->ParamByName("p02")->Value = AIncdDtlType;
- pADO->Parameters->ParamByName("p03")->Value = AVmsModlKind;
- pADO->ExecSQL();
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgRespMngr::DeleteVmsScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgRespMngr::DeleteVmsScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgRespMngr::LoadVmsScheduleInfo(String AVmsModlKind, String AIncdType, String AIncdDtlType)
- {
- int ii;
- String sQry;
- TADOQuery *pADO = NULL;
- CMM_ClearGridTableView(TvSche);
- CMM_ClearGridTableView(TvView);
- TcxDataController *pDcSch = TvSche->DataController;
- TcxDataController *pDcViw = TvView->DataController;
- sQry = "SELECT A.INCD_TYPE, A.INCD_DTL_TYPE, \r\n"
- " A.VMS_MODL_KIND, A.SN, \r\n"
- " A.VMS_FORM_ID, B.VMS_FORM_NM, \r\n"
- " B.VMS_FORM_TYPE, B.DSPL_HR, \r\n"
- " B.VMS_FORM_IMG \r\n"
- " FROM TB_VMS_INCD_RES_FORM A, \r\n"
- " TB_VMS_FORM B \r\n"
- " WHERE 1=1 \r\n"
- " AND A.INCD_TYPE = :p01 \r\n"
- " AND A.INCD_DTL_TYPE = :p02 \r\n"
- " AND A.VMS_MODL_KIND = :p03 \r\n"
- " AND A.VMS_FORM_ID = B.VMS_FORM_ID \r\n"
- " ORDER BY A.SN \r\n";
- try {
- TvSche->BeginUpdate();
- TvView->BeginUpdate();
- int nRowS, nRowV;
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AIncdType);
- ITSDb_SQLBind(pADO, "p02", AIncdDtlType);
- ITSDb_SQLBind(pADO, "p03", AVmsModlKind);
- ITSDb_SQLOpen(pADO);
- int nFormType;
- for( ; !pADO->Eof; pADO->Next()) {
- nRowS = pDcSch->AppendRecord();
- nRowV = pDcViw->AppendRecord();
- pDcSch->Values[nRowS][Col00->Index] = pADO->FieldByName("VMS_FORM_ID")->AsString;
- pDcSch->Values[nRowS][Col02->Index] = pADO->FieldByName("VMS_FORM_NM")->AsString;
- pDcSch->Values[nRowS][Col03->Index] = pADO->FieldByName("DSPL_HR")->AsString;
- //pDcSch->Values[nRowS][Col01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- pDcViw->Values[nRowV][ColView00->Index] = pADO->FieldByName("VMS_FORM_ID")->AsString;
- pDcViw->Values[nRowV][ColView02->Index] = pADO->FieldByName("VMS_FORM_NM")->AsString;
- pDcViw->Values[nRowV][ColView03->Index] = pADO->FieldByName("DSPL_HR")->AsString;
- pDcViw->Values[nRowV][ColView01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadVmsScheduleInfo", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadVmsScheduleInfo", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- TvView->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgRespMngr::LoadVmsFormList(String AFormSizeCd)
- {
- ClearSymbloList();
- CMM_ClearGridTableView(TvForm);
- 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 = 'I' \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", AFormSizeCd);
- ITSDb_SQLOpen(pADO);
- int nFormTypeCd, nFormIdx;
- 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][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);
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadVmsFormList", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadVmsFormList", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvForm->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::cxGridColumn172CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
- bool &ADone)
- {
- int nRecordIdx = AViewInfo->GridRecord->RecordIndex;
- if (nRecordIdx < 0) {
- return;
- }
- try {
- int nItemIdx = AViewInfo->Item->Index;
- if (VarIsNull(AViewInfo->GridRecord->DisplayTexts[nItemIdx])) return;
- String sEndDt = AViewInfo->GridRecord->DisplayTexts[nItemIdx];
- if (sEndDt < Now().FormatString(STR_HHNN)) {
- ACanvas->Canvas->Brush->Color = clSilver;
- }
- }
- catch(Exception &e) {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnUpClick(TObject *Sender)
- {
- try {
- TvSche->BeginUpdate();
- int nCurIdx = TvSche->DataController->FocusedRowIndex;//FocusedRecordIndex;
- if (nCurIdx <= 0) {
- return;
- }
- int nUpIdx = nCurIdx-1;
- try {
- int nCols = TvSche->ColumnCount;
- for (int ii = 0; ii < nCols; ii++) {
- Variant va = TvSche->DataController->Values[nCurIdx][ii];
- TvSche->DataController->Values[nCurIdx][ii] = TvSche->DataController->Values[nUpIdx][ii];
- TvSche->DataController->Values[nUpIdx][ii] = va;
- }
- TvSche->Controller->ClearSelection();
- TvSche->Controller->FocusedRowIndex = nUpIdx;
- TvSche->ViewData->Records[nUpIdx]->Focused = true;
- TvSche->ViewData->Records[nUpIdx]->Selected = true;
- CxSche->SetFocus();
- }
- catch(...) {
- }
- }
- __finally {
- TvSche->EndUpdate();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnDownClick(TObject *Sender)
- {
- try {
- TvSche->BeginUpdate();
- int nCurIdx = TvSche->DataController->FocusedRowIndex;//FocusedRecordIndex;
- if (nCurIdx < 0) {
- return;
- }
- if (nCurIdx == TvSche->DataController->RecordCount-1) {
- return;
- }
- int nDnIdx = nCurIdx+1;
- try {
- int nCols = TvSche->ColumnCount;
- for (int ii = 0; ii < nCols; ii++) {
- Variant va = TvSche->DataController->Values[nCurIdx][ii];
- TvSche->DataController->Values[nCurIdx][ii] = TvSche->DataController->Values[nDnIdx][ii];
- TvSche->DataController->Values[nDnIdx][ii] = va;
- }
- TvSche->Controller->ClearSelection();
- TvSche->Controller->FocusedRowIndex = nDnIdx;
- TvSche->ViewData->Records[nDnIdx]->Focused = true;
- TvSche->ViewData->Records[nDnIdx]->Selected = true;
- CxSche->SetFocus();
- }
- catch(...) {
- }
- }
- __finally {
- TvSche->EndUpdate();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::TvScheFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
- TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged)
- {
- if (!AFocusedRecord) return;
- int nSelIdx = CMM_GetRecordIndex(TvSche);
- if (nSelIdx < 0) return;
- String sVmsFormId = VarToStr(TvSche->DataController->Values[nSelIdx][Col00->Index]);
- LoadPreviewForm(sVmsFormId);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::TvFormFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
- TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged)
- {
- if (!AFocusedRecord) return;
- int nSelIdx = CMM_GetRecordIndex(TvForm);
- if (nSelIdx < 0) return;
- String sVmsFormId = VarToStr(TvForm->DataController->Values[nSelIdx][ColFrm00->Index]);
- LoadPreviewForm(sVmsFormId);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::LoadPreviewForm(String AVmsFormId)
- {
- TFormImage *pImage = FFormLists.Find(AVmsFormId);
- LockWindowUpdate(GrpPreview->Handle);
- if (pImage != NULL && pImage->bitmap != NULL) {
- ImgPreview->Picture->Bitmap->Assign(pImage->bitmap);
- }
- else {
- APP_ImageClear(ImgPreview->Canvas, 0, 0, ImgPreview->Width, ImgPreview->Height, clBlack);
- }
- LockWindowUpdate(0);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::ChkAutoWidthPropertiesChange(TObject *Sender)
- {
- try {
- LockWindowUpdate(Handle);
- TvView->BeginUpdate();
- TvView->OptionsView->ColumnAutoWidth = ChkAutoWidth->Checked;
- TvView->EndUpdate();
- }
- __finally {
- LockWindowUpdate(0);
- //BtnBestFit->Visible = !ChkAutoWidth->Checked;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::BtnBestFitClick(TObject *Sender)
- {
- try {
- LockWindowUpdate(Handle);
- TvView->BeginUpdate();
- TvView->ApplyBestFit(NULL, false, false);
- TvView->EndUpdate();
- }
- __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgRespMngr::LoadIncdType()
- {
- TIncdCode *code1 = new TIncdCode(1, "사고");
- code1->FLists.Push(0, new TIncdSubCode(0, "사고"));
- TIncdCode *code2 = new TIncdCode(2, "공사");
- code2->FLists.Push(0, new TIncdSubCode(0, "공사"));
- TIncdCode *code3 = new TIncdCode(3, "행사");
- code3->FLists.Push(0, new TIncdSubCode(0, "행사"));
- TIncdCode *code4 = new TIncdCode(4, "기상");
- code4->FLists.Push(0, new TIncdSubCode(0, "기상"));
- FIncdLists.Push(code1->INCD_TYPE, code1);
- FIncdLists.Push(code2->INCD_TYPE, code2);
- FIncdLists.Push(code3->INCD_TYPE, code3);
- FIncdLists.Push(code4->INCD_TYPE, code4);
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "SELECT B.CLSS_CD, B.CODE_NO AS INCD_TYPE, B.CD_NM AS INCD_NAME, \r\n"
- " A.CODE_NO AS INCD_DTL_TYPE, A.CD_NM AS INCD_DTL_NAME \r\n"
- " FROM TB_SYS_CD A, \r\n"
- " (SELECT CLSS_CD, CODE_NO, CD_NM, CD_VAL_1 \r\n"
- " FROM TB_SYS_CD \r\n"
- " WHERE CLSS_CD = 'INCD_TYPE_CD') B \r\n"
- " WHERE A.CLSS_CD = B.CD_VAL_1 \r\n"
- " ORDER BY B.CODE_NO, TO_NUMBER(A.CODE_NO) \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()) {
- int INCD_TYPE = pADO->FieldByName("INCD_TYPE")->AsInteger;
- String INCD_NAME = pADO->FieldByName("INCD_NAME")->AsString;
- int INCD_DTL_TYPE = pADO->FieldByName("INCD_DTL_TYPE")->AsInteger;
- String INCD_DTL_NAME = pADO->FieldByName("INCD_DTL_NAME")->AsString;
- TIncdCode *pCode = FIncdLists.Find(INCD_TYPE);
- if (pCode == NULL) {
- pCode = new TIncdCode(INCD_TYPE, INCD_NAME);
- FIncdLists.Push(pCode->INCD_TYPE, pCode);
- }
- pCode->FLists.Push(INCD_DTL_TYPE, new TIncdSubCode(INCD_DTL_TYPE, INCD_DTL_NAME));
- }
- }
- catch(EDatabaseError &E)
- {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadIncdType", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgRespMngr::LoadIncdType", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::FillIncdTypeList()
- {
- CMM_ClearGridTableView(TvList);
- int nRow = 0;
- TcxDataController *pGDC = TvList->DataController;
- TvList->BeginUpdate();
- try {
- FOR_STL(TIncdCode*, pCode, FIncdLists) {
- FOR_STL(TIncdSubCode*, pSubCode, pCode->FLists) {
- nRow = pGDC->AppendRecord();
- pGDC->Values[nRow][ColIncd->Index] = String(pCode->INCD_TYPE) + ": " + pCode->INCD_NAME;
- pGDC->Values[nRow][ColIncdDtl->Index] = String(pSubCode->INCD_DTL_TYPE) + ": " + pSubCode->INCD_DTL_NAME;
- pGDC->Values[nRow][ColIncdType->Index] = pCode->INCD_TYPE;
- pGDC->Values[nRow][ColIncdDtlType->Index] = pSubCode->INCD_DTL_TYPE;
- pGDC->Values[nRow][Column99->Index] = (int)pSubCode;
- }
- }
- }
- __finally {
- TvList->EndUpdate();
- //TvList->DataController->GotoFirst();
- //TvList->DataController->FocusedRecordIndex = 0;
- CMM_ExpandCollapseChk(TvList, true);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::ChkExpandClick(TObject *Sender)
- {
- CMM_ExpandCollapseChk(TvList, ChkExpand->Checked);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgRespMngr::TvListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord,
- TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged)
- {
- if (!AFocusedRecord) return;
- DisplayInfo();
- }
- //---------------------------------------------------------------------------
|