//--------------------------------------------------------------------------- #pragma hdrstop #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #pragma hdrstop #include "FrmVmsMsgScheMngrF.h" #include "FrmVmsMsgScheMngrSRCF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt() { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.VMS_FORM_DSPL_CNDT_ID, \r\n" " A.VMS_FORM_DSPL_CNDT, \r\n" " A.VMS_FORM_DSPL_CNDT_NM \r\n" " FROM TB_VMS_FORM_DSPL_CNDT A \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { TVmsDsplCndt *pObj = new TVmsDsplCndt(); pObj->VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString; pObj->VMS_FORM_DSPL_CNDT = pADO->FieldByName("VMS_FORM_DSPL_CNDT")->AsString; pObj->VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString; FVmsFormDsplCndtList.Push(pObj->VMS_FORM_DSPL_CNDT_ID, pObj); } } catch(EDatabaseError &E) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(E.ClassName()), E.Message, sQry); return false; } catch(Exception &e) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(e.ClassName()), e.Message, sQry); return false; } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- String __fastcall TFrmVmsMsgScheMngr::GetNextVmsScnrId(String AVmsCtlrId) { String sQry; TADOQuery *pADO = NULL; String result = "S000000100"; sQry = "SELECT 'S' || LPAD(NVL(MAX(SUBSTR(VMS_SCNR_ID, -9)), '000000000') + 1, 9, '0') AS NEWID FROM TB_VMS_SCNR WHERE SUBSTR(VMS_SCNR_ID,1,1) = 'S' AND VMS_CTLR_ID = :p01"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AVmsCtlrId); ITSDb_SQLOpen(pADO); pADO->Open(); result = pADO->FieldByName("NEWID")->AsString; } catch(EDatabaseError &E) { DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(E.ClassName()), E.Message, sQry); return result; } catch(Exception &e) { DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(e.ClassName()), e.Message, sQry); return result; } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return result; } //--------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsScenarionForm(String AVmsCtlrId, String AScnrId) { String sQry; TADOQuery *pADO = NULL; CMM_ClearGridTableView(TvSche); CMM_ClearGridTableView(TvPreview); TcxDataController *pDcScnr = TvSche->DataController; TcxDataController *pDcView = TvPreview->DataController; sQry = "SELECT A.VMS_CTLR_ID, A.VMS_SCNR_ID, \r\n" " A.VMS_SCNR_NM, \r\n" " B.SN AS FORM_SN, \r\n" " B.VMS_FORM_ID, \r\n" " B.TXT_FORM_APLY_VMS_SECT_ID, \r\n" " B.VMS_FORM_DSPL_CNDT_ID, \r\n" " B.DSPL_HR, \r\n" " C.VMS_MODL_KIND, \r\n" " C.VMS_FORM_TYPE, \r\n" " C.VMS_FORM_NM, \r\n" " C.VMS_FORM_IMG, \r\n" " D.VMS_FORM_DSPL_CNDT, \r\n" " D.VMS_FORM_DSPL_CNDT_NM \r\n" " FROM TB_VMS_SCNR A, \r\n" " TB_VMS_SCNR_VMS_FORM B, \r\n" " TB_VMS_FORM C, \r\n" " TB_VMS_FORM_DSPL_CNDT D \r\n" " WHERE 1=1 \r\n" " AND A.VMS_CTLR_ID = :p01 \r\n" " AND A.VMS_SCNR_ID = :p02 \r\n" " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID \r\n" " AND A.VMS_SCNR_ID = B.VMS_SCNR_ID \r\n" " AND B.VMS_FORM_ID = C.VMS_FORM_ID \r\n" " AND B.VMS_FORM_DSPL_CNDT_ID = \r\n" " D.VMS_FORM_DSPL_CNDT_ID(+) \r\n" " ORDER BY A.VMS_SCNR_ID, B.SN \r\n"; try { TvSche->BeginUpdate(); TvPreview->BeginUpdate(); try { int nRowS, nRowV; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AVmsCtlrId); ITSDb_SQLBind(pADO, "p02", AScnrId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String VMS_SCNR_ID = pADO->FieldByName("VMS_SCNR_ID")->AsString; int FORM_SN = pADO->FieldByName("FORM_SN")->AsInteger; String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString; String TXT_FORM_APLY_VMS_SECT_ID = pADO->FieldByName("TXT_FORM_APLY_VMS_SECT_ID")->AsString; String VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString; int DSPL_HR = pADO->FieldByName("DSPL_HR")->AsInteger; String VMS_MODL_KIND = pADO->FieldByName("VMS_MODL_KIND")->AsString; String VMS_FORM_TYPE = pADO->FieldByName("VMS_FORM_TYPE")->AsString; String VMS_FORM_NM = pADO->FieldByName("VMS_FORM_NM")->AsString; String VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString; nRowS = pDcScnr->AppendRecord(); pDcScnr->Values[nRowS][Col00->Index] = VMS_FORM_ID; pDcScnr->Values[nRowS][Col01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant; pDcScnr->Values[nRowS][Col02->Index] = VMS_FORM_NM; pDcScnr->Values[nRowS][Col03->Index] = DSPL_HR; pDcScnr->Values[nRowS][Col04->Index] = TXT_FORM_APLY_VMS_SECT_ID; pDcScnr->Values[nRowS][Col05->Index] = VMS_FORM_DSPL_CNDT_ID; pDcScnr->Values[nRowS][Col06->Index] = VMS_MODL_KIND; pDcScnr->Values[nRowS][Col07->Index] = VMS_FORM_TYPE; pDcScnr->Values[nRowS][ColDsplCndtId->Index] = VMS_FORM_DSPL_CNDT_ID; pDcScnr->Values[nRowS][ColDsplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM; #if 0 nRowV = pDcView->AppendRecord(); pDcView->Values[nRowV][ColView00->Index] = VMS_FORM_ID; pDcView->Values[nRowV][ColView01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant; pDcView->Values[nRowV][ColView03->Index] = DSPL_HR; pDcView->Values[nRowV][ColViewDslplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM; #endif } } catch(EDatabaseError &E) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(E.ClassName()), E.Message, sQry); return false; } catch(Exception &e) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(e.ClassName()), e.Message, sQry); return false; } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvSche->EndUpdate(); TvPreview->EndUpdate(); TvPreview->ApplyBestFit(NULL, false, false); } PreviewVmsScenarionForm(); return true; } //--------------------------------------------------------------------------- bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormList(String AVmsModlKind) { 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 = B.CODE_NO(+) \r\n" " AND A.DSPL_EFF = C.CODE_NO(+) \r\n" " AND A.VMS_MODL_KIND = D.VMS_MODL_KIND(+) \r\n" " AND A.VMS_MODL_KIND = :p01 \r\n" " ORDER BY A.VMS_MODL_KIND, A.VMS_FORM_ID \r\n"; try { TvForm->BeginUpdate(); TcxDataController *pGDC = TvForm->DataController;; int nRow; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AVmsModlKind); ITSDb_SQLOpen(pADO); 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][ColFrm08->Index] = pADO->FieldByName("VMS_MODL_KIND")->AsString; pGDC->Values[nRow][ColFrm07->Index] = pADO->FieldByName("VMS_FORM_TYPE")->AsString; pGDC->Values[nRow][ColFrm01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant; TFormImage *pImage = new TFormImage(); pImage->fromId = 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->fromId, pImage); } } catch(EDatabaseError &E) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(E.ClassName()), E.Message, sQry); return false; } catch(Exception &e) { DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(e.ClassName()), e.Message, sQry); return false; } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvForm->EndUpdate(); } return true; } //---------------------------------------------------------------------------