12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247 |
- //---------------------------------------------------------------------------
- #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 "FrmVmsMsgPubrMngrF.h"
- #include "FrmVmsPubrSelTermF.h"
- #include "VMSEDT0MF.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"
- TFrmVmsMsgPubrMngr *FrmVmsMsgPubrMngr = NULL;
- //---------------------------------------------------------------------------
- __fastcall TFrmVmsMsgPubrMngr::TFrmVmsMsgPubrMngr(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 TFrmVmsMsgPubrMngr::SetColorScheme(String ASkinName)
- {
- dxSkinController1->SkinName = ASkinName;
- dxSkinController1->Refresh();
- PnlPreview->ParentColor = false;
- PnlPreview->Color = clBlack;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::CommClose()
- {
- try {
- #if 0
- if (m_pEdtDesigner) {
- delete m_pEdtDesigner;
- m_pEdtDesigner = NULL;
- }
- #endif
- APP_DelVmsSizeCombo(CbSizeType);
- ClearSymbloList();
- SAFE_DELETE(FListSymb);
- CComm_Terminate();
- ITSSkin_Term();
- //CMM_SaveForm(g_sFormsDir, this);
- }
- catch(...) {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::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();
- if (!CenterCommManager) {
- CenterCommManager = new TCenterCommManager();
- }
- CenterCommManager->LoadFromDb(g_AppCfg.PRCS_ID);
- FCommCtrlTarget = CenterCommManager->FLists.Find("22"); // VMS표출문안 등록 알림
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FormShow(TObject *Sender)
- {
- int nResult = CComm_Initialize((long)Handle, g_AppCfg.PRCS_ID, "P04010", 0);
- Refresh();
- FormInit();
- TmrShow->Enabled = true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FormInit()
- {
- TNotifyEvent evt = CbSizeType->Properties->OnChange;
- CbSizeType->Properties->OnChange = NULL;
- APP_FillVmsSizeType(CbSizeType, false);
- CbSizeType->Properties->OnChange = evt;
- FNewDb = false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::TmrShowTimer(TObject *Sender)
- {
- TmrShow->Enabled = false;
- CbSizeType->ItemIndex = -1;
- CbSizeType->ItemIndex = 0;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnCloseClick(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FormClose(TObject *Sender, TCloseAction &Action)
- {
- CommClose();
- FrmVmsMsgPubrMngr = NULL;
- Action = caFree;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FormCloseQuery(TObject *Sender, bool &CanClose)
- {
- if (FUpdate)
- {
- //POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::FRAMEVmsSchList1TvListCellDblClick(TcxCustomGridTableView *Sender,
- TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton,
- TShiftState AShift, bool &AHandled)
- {
- if (!ACellViewInfo) return;
- DisplayInfo();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FRAMEVmsSchList1TvListFocusedRecordChanged(TcxCustomGridTableView *Sender,
- TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord,
- bool ANewItemRecordFocusingChanged)
- {
- if (!AFocusedRecord) return;
- DisplayInfo();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::CbSizeTypePropertiesChange(TObject *Sender)
- {
- if (CbSizeType->ItemIndex < 0) return;
- EdFocus->SetFocus();
- BtnSearchClick(NULL);
- FRAMEVmsSchList1->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;
- TvView->OptionsView->DataRowHeight = FVmsHeight;
- if (TvView->OptionsView->DataRowHeight < 48) {
- TvView->OptionsView->DataRowHeight = 48;
- }
- if (TvView->OptionsView->DataRowHeight > 144) {
- TvView->OptionsView->DataRowHeight = 144;
- }
- LockWindowUpdate(0);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnSearchClick(TObject *Sender)
- {
- RefreshData();
- EdFocus->SetFocus();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::RefreshData()
- {
- FormClear();
- TVmsSizeType *pVmsSizeType = APP_GetVmsSizeTypeObject(CbSizeType);
- if (pVmsSizeType == NULL) return;
- FVmsTypeCd = pVmsSizeType->TypeCd;
- FVmsWidth = pVmsSizeType->Width;
- FVmsHeight = pVmsSizeType->Height;
- #if 0
- PnlEdtBack->Width = FVmsWidth+4;
- PnlEdtBack->Height= FVmsHeight+4;
- m_pEdtDesigner->Clear();
- m_pEdtDesigner->SizeType = FVmsTypeCd;
- m_pEdtDesigner->SetSize(FVmsWidth, FVmsHeight);
- m_pEdtDesigner->SetPos(0, 0);
- m_pEdtDesigner->BkColorCode = "00";
- m_pEdtDesigner->EditMode = true;
- m_pEdtDesigner->Show();
- #endif
- FRAMEVmsSchList1->UpdateList(FVmsTypeCd);
- LoadVmsFormList(FVmsTypeCd);
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::FormClear()
- {
- FSelIdx = -1;
- EdVmsNmbr->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 TFrmVmsMsgPubrMngr::DisplayInfo()
- {
- FormClear();
- FSelIdx = CMM_GetRecordIndex(FRAMEVmsSchList1->TvList);
- if (FSelIdx < 0) return;
- TcxDataController *pGDC = FRAMEVmsSchList1->TvList->DataController;
- String sVmsCtlrId = VarToStr(pGDC->Values[FSelIdx][FRAMEVmsSchList1->Column01->Index]);
- EdVmsNmbr->Text = sVmsCtlrId;
- GrpSchedule->Caption = lblTitle->Caption + " (" + VarToStr(pGDC->Values[FSelIdx][FRAMEVmsSchList1->Column02->Index]) + ": " + VarToStr(pGDC->Values[FSelIdx][FRAMEVmsSchList1->Column03->Index]) + ")";
- LoadVmsScheduleInfo(sVmsCtlrId);
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgPubrMngr::CheckExistScheduleFormId(String AVmsFormId)
- {
- try {
- TvSche->BeginUpdate();
- TcxDataController *pGDC = TvSche->DataController;
- int nRows = pGDC->RecordCount;
- for (int ii = 0; ii < nRows; ii++) {
- String VMS_FORM_ID = VarToStr(pGDC->Values[ii][Col00->Index]);
- if (AVmsFormId == VMS_FORM_ID) {
- return true;
- }
- }
- }
- __finally {
- TvSche->EndUpdate();
- }
- return false;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnListAddClick(TObject *Sender)
- {
- int nSelIdx = CMM_GetRecordIndex(FRAMEVmsSchList1->TvList);
- if (nSelIdx < 0) return;
- TcxGridDataController *pDcFrm = TvForm->DataController;
- TcxGridDataController *pDcSch = TvSche->DataController;
- int nFormIdx = CMM_GetRecordIndex(TvForm);
- if (nFormIdx < 0) return;
- String sNewVmsFormId = VarToStr(pDcFrm->Values[nFormIdx][ColFrm00->Index]);
- String sNewVmsFormNm = VarToStr(pDcFrm->Values[nFormIdx][ColFrm02->Index]);
- if (CheckExistScheduleFormId(sNewVmsFormId)) {
- String sMsg = "VMS 홍보 메시지 관리 - 메시지 추가 실패\r\n\r\n";
- sMsg += "메시지ID: " + sNewVmsFormId + "\r\n";
- sMsg += "메시지명: " + sNewVmsFormNm + "\r\n\r\n";
- sMsg += "메시지 정보가 스케줄에 이미 존재 합니다.\r\n스케줄에는 하나의 메시지 정보만 가능합니다.\r\n";
- Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- TFrmVmsPubrSelTerm *pSelDate = new TFrmVmsPubrSelTerm(this);
- pSelDate->FStrTime = Now().FormatString("YYYYMMDDHHNN");
- pSelDate->FEndTime = (Now()+1).FormatString("YYYYMMDDHHNN");//"209912312359";
- pSelDate->FWeek = "1111111";
- pSelDate->ShowModal();
- bool bSelected = pSelDate->FSelected;
- String sStrDate = pSelDate->FStrTime;
- String sEndDate = pSelDate->FEndTime;
- String sWeek = pSelDate->FWeek;
- delete pSelDate;
- pSelDate = NULL;
- if (!bSelected) {
- 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]; //이미지데이터임
- pDcSch->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN);
- pDcSch->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN);
- pDcSch->Values[nRow][ColWeek1->Index] = sWeek;
- String sUse = "Y";
- String sNowDate = Now().FormatString("YYYYMMDDHHNNSS");
- if (sEndDate < sNowDate) {
- sUse = "N";
- }
- pDcSch->Values[nRow][ColUse->Index] = sUse;
- EditPreviewForm();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnListDeleteClick(TObject *Sender)
- {
- int nSelIdx = CMM_GetRecordIndex(FRAMEVmsSchList1->TvList);
- if (nSelIdx < 0) return;
- #if 0
- TcxGridDataController *pDcSch = TvSche->DataController;
- nSelIdx = CMM_GetRecordIndex(TvSche);
- if (nSelIdx < 0) return;
- TvSche->DataController->DeleteRecord(nSelIdx);
- #endif
- TcxGridTableView *pSrcList = TvSche;
- int nFocused = pSrcList->Controller->FocusedRecordIndex;
- int nSelRows = pSrcList->Controller->SelectedRowCount;
- if (nSelRows <= 0) {
- return;
- }
- try {
- TcxGridDataController *pGDC = pSrcList->DataController;
- pSrcList->BeginUpdate();
- try {
- pSrcList->Controller->DeleteSelection();
- int nDataCnt = pSrcList->DataController->RecordCount;
- if (nDataCnt <= nFocused)
- nFocused = nDataCnt - 1;
- pSrcList->Controller->ClearSelection();
- }
- catch(...) {
- }
- }
- __finally {
- pSrcList->EndUpdate();
- }
- EditPreviewForm();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnSaveClick(TObject *Sender)
- {
- //작업한 스케줄 정보를 저장한다.
- if (EdVmsNmbr->Text.Trim().IsEmpty())
- {
- Application->MessageBox(lblErr2->Caption.c_str(),//L"VMS 자동 스케줄 관리\r\nVMS 목록에서 VMS를 먼저 선택한 후 작업을 진행하세요.",
- FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- bool bUpdate = true;
- String sVmsCtlrId = EdVmsNmbr->Text.Trim();
- if (bUpdate)
- {
- String sMsg;
- sMsg = "VMS: " + sVmsCtlrId;
- sMsg+= "\r\n" + lblErr3->Caption;//선택한 VMS의 자동 스케줄 정보를 저장하시겠습니까?";
- if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
- }
- ITSDb_GetConnection()->BeginTrans();
- if (!DeleteVmsScenario(sVmsCtlrId)) {
- ITSDb_GetConnection()->RollbackTrans();
- return;
- }
- if (!SaveVmsScenario(sVmsCtlrId)) {
- ITSDb_GetConnection()->RollbackTrans();
- return;
- }
- ITSDb_GetConnection()->CommitTrans();
- #if 0
- if (FCommCtrlTarget != NULL) {
- FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
- int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
- if (VERR_NONE == sendResult) {
- }
- Sleep(200);
- }
- }
- #endif
- Application->MessageBox(lblErr4->Caption.c_str(),//L"VMS 자동 스케줄 관리\r\nVMS 자동 스케줄 정보를 저장 하였습니다.",
- FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
- CMM_SetGridRow(FRAMEVmsSchList1->CxList, FRAMEVmsSchList1->TvList, sVmsCtlrId, FRAMEVmsSchList1->Column01->Index);
- //DisplayInfo();
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgPubrMngr::SaveVmsScenario(String AVmsCtlrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- TcxDataController *pGDC = TvSche->DataController;
- sQry = "INSERT INTO TB_VMS_PUBRL_FORM ( \r\n"
- " VMS_CTLR_ID, \r\n"
- " VMS_FORM_ID, \r\n"
- " DSPL_BGN_YMD, \r\n"
- " DSPL_FNSH_YMD, \r\n"
- " DSPL_WEEK, \r\n"
- " DSPL_BGN_HM, \r\n"
- " DSPL_FNSH_HM, \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;
- //int SN = ii+1;
- String VMS_FORM_ID = VarToStr(pGDC->Values[ii][Col00->Index]);
- String sStrDateTime = VarToStr(pGDC->Values[ii][Col04->Index]);
- sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll);
- sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll);
- sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll);
- String DSPL_BGN_YMD = sStrDateTime.SubString(1, 8);
- String DSPL_BGN_HM = sStrDateTime.SubString(9, 4);
- String sEndDateTime = VarToStr(pGDC->Values[ii][Col05->Index]);
- sEndDateTime = StringReplace(sEndDateTime, ":", "", TReplaceFlags() << rfReplaceAll);
- sEndDateTime = StringReplace(sEndDateTime, "-", "", TReplaceFlags() << rfReplaceAll);
- sEndDateTime = StringReplace(sEndDateTime, " ", "", TReplaceFlags() << rfReplaceAll);
- String DSPL_FNSH_YMD = sEndDateTime.SubString(1, 8);
- String DSPL_FNSH_HM = sEndDateTime.SubString(9, 4);
- String DSPL_WEEK = VarToStr(pGDC->Values[ii][ColWeek1->Index]);
- String RGSTR_ID = g_AppCfg.OPER_ID;
- pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID;
- pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID;
- pADO->Parameters->ParamByName("p03")->Value = DSPL_BGN_YMD;
- pADO->Parameters->ParamByName("p04")->Value = DSPL_FNSH_YMD;
- pADO->Parameters->ParamByName("p05")->Value = DSPL_WEEK;
- pADO->Parameters->ParamByName("p06")->Value = DSPL_BGN_HM;
- pADO->Parameters->ParamByName("p07")->Value = DSPL_FNSH_HM;
- pADO->Parameters->ParamByName("p08")->Value = RGSTR_ID;
- pADO->ExecSQL();
- }
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgPubrMngr::SaveVmsScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgPubrMngr::SaveVmsScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgPubrMngr::DeleteVmsScenario(String AVmsCtlrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- sQry = "DELETE TB_VMS_PUBRL_FORM \r\n"
- " WHERE 1=1 \r\n"
- " AND VMS_CTLR_ID = :p01 \r\n";
- try {
- try {
- pADO = new TADOQuery(NULL);
- pADO->Close();
- pADO->Connection = ITSDb_GetConnection();
- ITSDb_SQLText(pADO, sQry);
- ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
- pADO->ExecSQL();
- }
- catch(EDatabaseError &E) {
- DBERRORMSG("TFrmVmsMsgPubrMngr::DeleteVmsScenario", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgPubrMngr::DeleteVmsScenario", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- }
- return true;
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgPubrMngr::LoadVmsScheduleInfo(String AVmsCtlrId)
- {
- String sQry;
- TADOQuery *pADO = NULL;
- CMM_ClearGridTableView(TvSche);
- CMM_ClearGridTableView(TvView);
- TcxDataController *pDcSch = TvSche->DataController;
- TcxDataController *pDcViw = TvView->DataController;
- sQry = "SELECT A.VMS_CTLR_ID, ROWNUM AS 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"
- " A.DSPL_BGN_YMD, A.DSPL_FNSH_YMD, \r\n"
- " A.DSPL_WEEK, \r\n"
- " A.DSPL_BGN_HM, \r\n"
- " A.DSPL_FNSH_HM \r\n"
- " FROM TB_VMS_PUBRL_FORM A, \r\n"
- " TB_VMS_FORM B \r\n"
- " WHERE 1=1 \r\n"
- " AND A.VMS_CTLR_ID = :p01 \r\n"
- " AND A.VMS_FORM_ID = B.VMS_FORM_ID \r\n"
- " ORDER BY A.VMS_CTLR_ID, A.VMS_FORM_ID \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", AVmsCtlrId);
- ITSDb_SQLOpen(pADO);
- for( ; !pADO->Eof; pADO->Next()) {
- nRowS = pDcSch->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;
- String sStrDate = pADO->FieldByName("DSPL_BGN_YMD")->AsString + pADO->FieldByName("DSPL_BGN_HM")->AsString;
- String sEndDate = pADO->FieldByName("DSPL_FNSH_YMD")->AsString + pADO->FieldByName("DSPL_FNSH_HM")->AsString;
- pDcSch->Values[nRowS][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN);
- pDcSch->Values[nRowS][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN);
- pDcSch->Values[nRowS][ColWeek1->Index] = pADO->FieldByName("DSPL_WEEK")->AsString;
- pDcSch->Values[nRowS][Col01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
- String sUse = "Y";
- if (sEndDate < Now().FormatString("YYYYMMDDHHNN")) {
- sUse = "N";
- }
- pDcSch->Values[nRowS][ColUse->Index] = sUse;
- if (sUse == "N") {
- continue;
- }
- nRowV = pDcViw->AppendRecord();
- 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("TFrmVmsMsgPubrMngr::LoadVmsScheduleInfo", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e) {
- DBERRORMSG("TFrmVmsMsgPubrMngr::LoadVmsScheduleInfo", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvSche->EndUpdate();
- TvView->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::EditPreviewForm()
- {
- CMM_ClearGridTableView(TvView);
- TcxDataController *pDcSch = TvSche->DataController;
- TcxDataController *pDcViw = TvView->DataController;
- try {
- TvSche->BeginUpdate();
- TvView->BeginUpdate();
- int nRowS, nRowV;
- try {
- for(nRowS = 0; nRowS < pDcSch->RecordCount; nRowS++) {
- String sUse = VarToStr(pDcSch->Values[nRowS][ColUse->Index]);
- if (sUse == "N") {
- continue;
- }
- nRowV = pDcViw->AppendRecord();
- pDcViw->Values[nRowV][ColView00->Index] = pDcSch->Values[nRowS][Col00->Index];
- pDcViw->Values[nRowV][ColView02->Index] = pDcSch->Values[nRowS][Col02->Index];
- pDcViw->Values[nRowV][ColView03->Index] = pDcSch->Values[nRowS][Col03->Index];
- pDcViw->Values[nRowV][ColView01->Index] = pDcSch->Values[nRowS][Col01->Index];
- }
- }
- catch(Exception &e) {
- }
- }
- __finally {
- TvSche->EndUpdate();
- TvView->EndUpdate();
- }
- }
- //---------------------------------------------------------------------------
- bool __fastcall TFrmVmsMsgPubrMngr::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 = 'P' \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);
- 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("TFrmVmsMsgPubrMngr::LoadVmsFormList", String(E.ClassName()), E.Message, sQry);
- return false;
- }
- catch(Exception &e)
- {
- DBERRORMSG("TFrmVmsMsgPubrMngr::LoadVmsFormList", String(e.ClassName()), e.Message, sQry);
- return false;
- }
- }
- __finally {
- if (pADO) {
- pADO->Close();
- delete pADO;
- }
- TvForm->EndUpdate();
- }
- return true;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::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();
- }
- EditPreviewForm();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::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();
- }
- EditPreviewForm();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::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 TFrmVmsMsgPubrMngr::ChkAutoWidthPropertiesChange(TObject *Sender)
- {
- try
- {
- LockWindowUpdate(Handle);
- TvView->BeginUpdate();
- if (ChkAutoWidth->Checked) {
- //TvView->OptionsView->DataRowHeight = 58;
- TvView->OptionsView->CellAutoHeight = false;
- }
- else {
- TvView->OptionsView->DataRowHeight = 0;
- TvView->OptionsView->CellAutoHeight = true;
- }
- TvView->OptionsView->ColumnAutoWidth = ChkAutoWidth->Checked;
- }
- __finally
- {
- TvView->EndUpdate();
- LockWindowUpdate(0);
- //BtnBestFit->Visible = !ChkAutoWidth->Checked;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnBestFitClick(TObject *Sender)
- {
- try {
- LockWindowUpdate(Handle);
- TvView->BeginUpdate();
- TvView->ApplyBestFit(NULL, false, false);
- TvView->EndUpdate();
- }
- __finally {
- LockWindowUpdate(0);
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::Col05CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
- bool &ADone)
- {
- int nRecordIdx = AViewInfo->GridRecord->RecordIndex;
- if (nRecordIdx < 0) {
- return;
- }
- try {
- if (VarIsNull(AViewInfo->GridRecord->DisplayTexts[ColUse->Index])) return;
- String sUseYn = AViewInfo->GridRecord->DisplayTexts[ColUse->Index];
- if (sUseYn == "N") {
- ACanvas->Canvas->Brush->Color = clRed;
- }
- }
- catch(Exception &e) {
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::TvScheCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo,
- TMouseButton AButton, TShiftState AShift, bool &AHandled)
- {
- if (!ACellViewInfo) return;
- int nRow = Sender->DataController->FocusedRecordIndex;
- if( nRow <= -1 )
- return;
- TcxGridDataController *pGDC = (TcxGridDataController*)Sender->DataController;
- int nColIdx = ACellViewInfo->Item->Index;
- String sStrDate = VarToStr(pGDC->Values[nRow][Col04->Index]);
- String sEndDate = VarToStr(pGDC->Values[nRow][Col05->Index]);
- String sWeek = VarToStr(pGDC->Values[nRow][ColWeek1->Index]);
- if (nColIdx == Col04->Index || nColIdx == Col05->Index || nColIdx == ColWeek1->Index) {
- //표출기간설정
- TFrmVmsPubrSelTerm *pSelDate = new TFrmVmsPubrSelTerm(this);
- pSelDate->FStrTime = sStrDate;
- pSelDate->FEndTime = sEndDate;
- pSelDate->FWeek = sWeek;
- pSelDate->ShowModal();
- bool bSelected = pSelDate->FSelected;
- sStrDate = pSelDate->FStrTime;
- sEndDate = pSelDate->FEndTime;
- sWeek = pSelDate->FWeek;
- delete pSelDate;
- pSelDate = NULL;
- if (bSelected)
- {
- pGDC->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN);
- pGDC->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN);
- pGDC->Values[nRow][ColWeek1->Index] = sWeek;
- String sUse = "Y";
- String sNowDate = Now().FormatString("YYYYMMDDHHNNSS");
- if (sEndDate < sNowDate) {
- sUse = "N";
- }
- pGDC->Values[nRow][ColUse->Index] = sUse;
- EditPreviewForm();
- }
- return;
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnAllEditClick(TObject *Sender)
- {
- TcxButton *pBtn = (TcxButton*)Sender;
- TcxGridTableView *pTvList = TvSche;
- TcxGridDataController *pGDC;
- String sMode = "E";
- if (pBtn->Tag == 1) {
- sMode = "A"; //추가
- pTvList = TvForm;
- }
- if (!pTvList) return;
- pGDC = pTvList->DataController;
- int nFormIdx = CMM_GetRecordIndex(pTvList);
- if (nFormIdx < 0)
- {
- Application->MessageBox(L"VMS 홍보 메시지 스케줄 일괄 관리\r\n등록되어 있는 스케줄 메시지을 목록에서 먼저 선택하세요.",
- FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- String sFormId;
- String sWeek;
- if (sMode == "A") {
- sFormId = VarToStr(pGDC->Values[nFormIdx][ColFrm00->Index]);
- sWeek = "1111111";
- }
- else {
- sFormId = VarToStr(pGDC->Values[nFormIdx][Col00->Index]);
- sWeek = VarToStr(pGDC->Values[nFormIdx][ColWeek1->Index]);
- }
- TVmsSizeType *pVmsSizeType = APP_GetVmsSizeTypeObject(CbSizeType);
- if (pVmsSizeType == NULL) {
- Application->MessageBox(L"VMS 홍보 메시지 스케줄 일괄 관리\r\nVMS 모듈 유형을 알수 없습니다. VMS 모듈 유형을 먼저 선택하세요.",
- FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL);
- return;
- }
- String sVmsTypeCd = pVmsSizeType->TypeCd;
- TVMSEDT0M *pFrmEdt = new TVMSEDT0M(this);
- pFrmEdt->FVmsTypeCd = sVmsTypeCd;
- pFrmEdt->FScheType = SCHEDULE_PUBR;
- pFrmEdt->FScheFormType = String(pBtn->Tag);
- pFrmEdt->FFormId = sFormId;
- pFrmEdt->FMode = sMode;
- pFrmEdt->FVmsNmbr = "";
- pFrmEdt->FSymbLibNmbr = "";
- pFrmEdt->FStreamAddr = "";
- pFrmEdt->FWeek = sWeek;
- pFrmEdt->ShowModal();
- bool bOk = pFrmEdt->FSelected;
- delete pFrmEdt;
- pFrmEdt = NULL;
- if (bOk) {
- DisplayInfo();
- EditPreviewForm();
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmVmsMsgPubrMngr::BtnMsgDispClick(TObject *Sender)
- {
- String sMsg = "VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하시겠습니까?";
- if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return;
- if (FCommCtrlTarget != NULL) {
- FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) {
- int sendResult = CComm_VmsNotiRegDsplMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT);
- if (VERR_NONE == sendResult) {
- }
- Sleep(200);
- }
- }
- Application->MessageBox(L"VMS 메시지 표출\r\nVMS 메시지 표출 명령을 통신서버로 전송 하였습니다.",
- FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
- BtnMsgDisp->Enabled = false;
- }
- //---------------------------------------------------------------------------
|