FrmVmsMsgScheMngrSRCF.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include <vcl.h>
  4. #include "ITSSkinF.h"
  5. #include "ITSUtilF.h"
  6. #include "AppGlobalF.h"
  7. #pragma hdrstop
  8. #include "FrmVmsMsgScheMngrF.h"
  9. #include "FrmVmsMsgScheMngrSRCF.h"
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt()
  13. {
  14. String sQry;
  15. TADOQuery *pADO = NULL;
  16. sQry = "SELECT A.VMS_FORM_DSPL_CNDT_ID, \r\n"
  17. " A.VMS_FORM_DSPL_CNDT, \r\n"
  18. " A.VMS_FORM_DSPL_CNDT_NM \r\n"
  19. " FROM TB_VMS_FORM_DSPL_CNDT A \r\n";
  20. try {
  21. try {
  22. pADO = new TADOQuery(NULL);
  23. pADO->Close();
  24. pADO->Connection = ITSDb_GetConnection();
  25. ITSDb_SQLText(pADO, sQry);
  26. ITSDb_SQLOpen(pADO);
  27. for( ; !pADO->Eof; pADO->Next()) {
  28. TVmsDsplCndt *pObj = new TVmsDsplCndt();
  29. pObj->VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString;
  30. pObj->VMS_FORM_DSPL_CNDT = pADO->FieldByName("VMS_FORM_DSPL_CNDT")->AsString;
  31. pObj->VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString;
  32. FVmsFormDsplCndtList.Push(pObj->VMS_FORM_DSPL_CNDT_ID, pObj);
  33. }
  34. }
  35. catch(EDatabaseError &E) {
  36. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(E.ClassName()), E.Message, sQry);
  37. return false;
  38. }
  39. catch(Exception &e) {
  40. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormDsplCndt", String(e.ClassName()), e.Message, sQry);
  41. return false;
  42. }
  43. }
  44. __finally {
  45. if (pADO) {
  46. pADO->Close();
  47. delete pADO;
  48. }
  49. }
  50. return true;
  51. }
  52. //---------------------------------------------------------------------------
  53. String __fastcall TFrmVmsMsgScheMngr::GetNextVmsScnrId(String AVmsCtlrId)
  54. {
  55. String sQry;
  56. TADOQuery *pADO = NULL;
  57. String result = "S000000100";
  58. 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";
  59. try {
  60. try {
  61. pADO = new TADOQuery(NULL);
  62. pADO->Close();
  63. pADO->Connection = ITSDb_GetConnection();
  64. ITSDb_SQLText(pADO, sQry);
  65. ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
  66. ITSDb_SQLOpen(pADO);
  67. pADO->Open();
  68. result = pADO->FieldByName("NEWID")->AsString;
  69. }
  70. catch(EDatabaseError &E) {
  71. DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(E.ClassName()), E.Message, sQry);
  72. return result;
  73. }
  74. catch(Exception &e) {
  75. DBERRORMSG("TFrmVmsMsgScheMngr::GetNextVmsScnrId", String(e.ClassName()), e.Message, sQry);
  76. return result;
  77. }
  78. }
  79. __finally {
  80. if (pADO) {
  81. pADO->Close();
  82. delete pADO;
  83. }
  84. }
  85. return result;
  86. }
  87. //---------------------------------------------------------------------------
  88. bool __fastcall TFrmVmsMsgScheMngr::LoadVmsScenarionForm(String AVmsCtlrId, String AScnrId)
  89. {
  90. String sQry;
  91. TADOQuery *pADO = NULL;
  92. CMM_ClearGridTableView(TvSche);
  93. CMM_ClearGridTableView(TvPreview);
  94. TcxDataController *pDcScnr = TvSche->DataController;
  95. TcxDataController *pDcView = TvPreview->DataController;
  96. sQry = "SELECT A.VMS_CTLR_ID, A.VMS_SCNR_ID, \r\n"
  97. " A.VMS_SCNR_NM, \r\n"
  98. " B.SN AS FORM_SN, \r\n"
  99. " B.VMS_FORM_ID, \r\n"
  100. " B.TXT_FORM_APLY_VMS_SECT_ID, \r\n"
  101. " B.VMS_FORM_DSPL_CNDT_ID, \r\n"
  102. " B.DSPL_HR, \r\n"
  103. " C.VMS_MODL_KIND, \r\n"
  104. " C.VMS_FORM_TYPE, \r\n"
  105. " C.VMS_FORM_NM, \r\n"
  106. " C.VMS_FORM_IMG, \r\n"
  107. " D.VMS_FORM_DSPL_CNDT, \r\n"
  108. " D.VMS_FORM_DSPL_CNDT_NM \r\n"
  109. " FROM TB_VMS_SCNR A, \r\n"
  110. " TB_VMS_SCNR_VMS_FORM B, \r\n"
  111. " TB_VMS_FORM C, \r\n"
  112. " TB_VMS_FORM_DSPL_CNDT D \r\n"
  113. " WHERE 1=1 \r\n"
  114. " AND A.VMS_CTLR_ID = :p01 \r\n"
  115. " AND A.VMS_SCNR_ID = :p02 \r\n"
  116. " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID \r\n"
  117. " AND A.VMS_SCNR_ID = B.VMS_SCNR_ID \r\n"
  118. " AND B.VMS_FORM_ID = C.VMS_FORM_ID \r\n"
  119. " AND B.VMS_FORM_DSPL_CNDT_ID = \r\n"
  120. " D.VMS_FORM_DSPL_CNDT_ID(+) \r\n"
  121. " ORDER BY A.VMS_SCNR_ID, B.SN \r\n";
  122. try {
  123. TvSche->BeginUpdate();
  124. TvPreview->BeginUpdate();
  125. try {
  126. int nRowS, nRowV;
  127. pADO = new TADOQuery(NULL);
  128. pADO->Close();
  129. pADO->Connection = ITSDb_GetConnection();
  130. ITSDb_SQLText(pADO, sQry);
  131. ITSDb_SQLBind(pADO, "p01", AVmsCtlrId);
  132. ITSDb_SQLBind(pADO, "p02", AScnrId);
  133. ITSDb_SQLOpen(pADO);
  134. for( ; !pADO->Eof; pADO->Next()) {
  135. String VMS_SCNR_ID = pADO->FieldByName("VMS_SCNR_ID")->AsString;
  136. int FORM_SN = pADO->FieldByName("FORM_SN")->AsInteger;
  137. String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString;
  138. String TXT_FORM_APLY_VMS_SECT_ID = pADO->FieldByName("TXT_FORM_APLY_VMS_SECT_ID")->AsString;
  139. String VMS_FORM_DSPL_CNDT_ID = pADO->FieldByName("VMS_FORM_DSPL_CNDT_ID")->AsString;
  140. int DSPL_HR = pADO->FieldByName("DSPL_HR")->AsInteger;
  141. String VMS_MODL_KIND = pADO->FieldByName("VMS_MODL_KIND")->AsString;
  142. String VMS_FORM_TYPE = pADO->FieldByName("VMS_FORM_TYPE")->AsString;
  143. String VMS_FORM_NM = pADO->FieldByName("VMS_FORM_NM")->AsString;
  144. String VMS_FORM_DSPL_CNDT_NM = pADO->FieldByName("VMS_FORM_DSPL_CNDT_NM")->AsString;
  145. nRowS = pDcScnr->AppendRecord();
  146. pDcScnr->Values[nRowS][Col00->Index] = VMS_FORM_ID;
  147. pDcScnr->Values[nRowS][Col01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
  148. pDcScnr->Values[nRowS][Col02->Index] = VMS_FORM_NM;
  149. pDcScnr->Values[nRowS][Col03->Index] = DSPL_HR;
  150. pDcScnr->Values[nRowS][Col04->Index] = TXT_FORM_APLY_VMS_SECT_ID;
  151. pDcScnr->Values[nRowS][Col05->Index] = VMS_FORM_DSPL_CNDT_ID;
  152. pDcScnr->Values[nRowS][Col06->Index] = VMS_MODL_KIND;
  153. pDcScnr->Values[nRowS][Col07->Index] = VMS_FORM_TYPE;
  154. pDcScnr->Values[nRowS][ColDsplCndtId->Index] = VMS_FORM_DSPL_CNDT_ID;
  155. pDcScnr->Values[nRowS][ColDsplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM;
  156. #if 0
  157. nRowV = pDcView->AppendRecord();
  158. pDcView->Values[nRowV][ColView00->Index] = VMS_FORM_ID;
  159. pDcView->Values[nRowV][ColView01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
  160. pDcView->Values[nRowV][ColView03->Index] = DSPL_HR;
  161. pDcView->Values[nRowV][ColViewDslplCndtNm->Index] = VMS_FORM_DSPL_CNDT_NM;
  162. #endif
  163. }
  164. }
  165. catch(EDatabaseError &E) {
  166. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(E.ClassName()), E.Message, sQry);
  167. return false;
  168. }
  169. catch(Exception &e) {
  170. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsScenarionForm", String(e.ClassName()), e.Message, sQry);
  171. return false;
  172. }
  173. }
  174. __finally {
  175. if (pADO) {
  176. pADO->Close();
  177. delete pADO;
  178. }
  179. TvSche->EndUpdate();
  180. TvPreview->EndUpdate();
  181. TvPreview->ApplyBestFit(NULL, false, false);
  182. }
  183. PreviewVmsScenarionForm();
  184. return true;
  185. }
  186. //---------------------------------------------------------------------------
  187. bool __fastcall TFrmVmsMsgScheMngr::LoadVmsFormList(String AVmsModlKind)
  188. {
  189. ClearSymbloList();
  190. CMM_ClearGridTableView(TvForm);
  191. String sQry;
  192. TADOQuery *pADO = NULL;
  193. sQry = "SELECT A.VMS_FORM_ID, A.VMS_MODL_KIND, A.VMS_FORM_TYPE, A.VMS_FORM_NM, \r\n"
  194. " A.VMS_FORM_IMG, \r\n"
  195. " A.DSPL_EFF, NVL(A.DSPL_HR, 0) AS DSPL_HR, A.BACK_CLR, \r\n"
  196. " NVL(B.FORM_TYPE_NM, A.VMS_FORM_TYPE) AS FORM_TYPE_NM, \r\n"
  197. " NVL(C.FORM_TYPE_NM, A.DSPL_EFF) AS DSPL_EFF_NM, \r\n"
  198. " NVL(D.VMS_MODL_KIND_NM, A.VMS_MODL_KIND) AS VMS_MODL_KIND_NM \r\n"
  199. " FROM TB_VMS_FORM A, \r\n"
  200. " (SELECT CODE_NO, CD_NM AS FORM_TYPE_NM \r\n"
  201. " FROM TB_SYS_CD \r\n"
  202. " WHERE CLSS_CD = 'VMS_FORM_TYPE_CD') B, \r\n"
  203. " (SELECT CODE_NO, CD_NM AS FORM_TYPE_NM \r\n"
  204. " FROM TB_SYS_CD \r\n"
  205. " WHERE CLSS_CD = 'VMS_FORM_DSPL_EFF_CD') C, \r\n"
  206. " TB_VMS_MODL_KIND D \r\n"
  207. " WHERE 1=1 \r\n"
  208. " AND A.VMS_FORM_TYPE = B.CODE_NO(+) \r\n"
  209. " AND A.DSPL_EFF = C.CODE_NO(+) \r\n"
  210. " AND A.VMS_MODL_KIND = D.VMS_MODL_KIND(+) \r\n"
  211. " AND A.VMS_MODL_KIND = :p01 \r\n"
  212. " ORDER BY A.VMS_MODL_KIND, A.VMS_FORM_ID \r\n";
  213. try {
  214. TvForm->BeginUpdate();
  215. TcxDataController *pGDC = TvForm->DataController;;
  216. int nRow;
  217. try {
  218. pADO = new TADOQuery(NULL);
  219. pADO->Close();
  220. pADO->Connection = ITSDb_GetConnection();
  221. ITSDb_SQLText(pADO, sQry);
  222. ITSDb_SQLBind(pADO, "p01", AVmsModlKind);
  223. ITSDb_SQLOpen(pADO);
  224. int nFormTypeCd, nFormIdx;
  225. for( ; !pADO->Eof; pADO->Next()) {
  226. nRow = pGDC->AppendRecord();
  227. String VMS_FORM_ID = pADO->FieldByName("VMS_FORM_ID")->AsString;
  228. pGDC->Values[nRow][ColFrm00->Index] = VMS_FORM_ID;
  229. pGDC->Values[nRow][ColFrm02->Index] = pADO->FieldByName("VMS_FORM_NM")->AsString;
  230. pGDC->Values[nRow][ColFrm03->Index] = pADO->FieldByName("DSPL_HR")->AsString;
  231. pGDC->Values[nRow][ColFrm09->Index] = pADO->FieldByName("FORM_TYPE_NM")->AsString;
  232. pGDC->Values[nRow][ColFrm08->Index] = pADO->FieldByName("VMS_MODL_KIND")->AsString;
  233. pGDC->Values[nRow][ColFrm07->Index] = pADO->FieldByName("VMS_FORM_TYPE")->AsString;
  234. pGDC->Values[nRow][ColFrm01->Index] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant;
  235. TFormImage *pImage = new TFormImage();
  236. pImage->fromId = VMS_FORM_ID;
  237. pImage->bitmap = new Graphics::TBitmap;
  238. try {
  239. pImage->bitmap->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("VMS_FORM_IMG"), bmRead));
  240. }
  241. catch(Exception &e) {
  242. delete pImage->bitmap;
  243. pImage->bitmap = NULL;
  244. }
  245. FFormLists.Push(pImage->fromId, pImage);
  246. }
  247. }
  248. catch(EDatabaseError &E)
  249. {
  250. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(E.ClassName()), E.Message, sQry);
  251. return false;
  252. }
  253. catch(Exception &e)
  254. {
  255. DBERRORMSG("TFrmVmsMsgScheMngr::LoadVmsFormList", String(e.ClassName()), e.Message, sQry);
  256. return false;
  257. }
  258. }
  259. __finally {
  260. if (pADO) {
  261. pADO->Close();
  262. delete pADO;
  263. }
  264. TvForm->EndUpdate();
  265. }
  266. return true;
  267. }
  268. //---------------------------------------------------------------------------