SMAHB00200_문진코드관리.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMAHB00200" position="absolute 0 0 1201 790" titletext="문진코드 관리" oninit="SMAHB00200_oninit" onload="SMAHB00200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="문진코드관리" class="tit_1" position="absolute 0 0 119 25"/>
  8. <Grid id="grd_answlst" taborder="1" binddataset="ds_main_anslst_item" useinputpanel="false" position="absolute 594 101 1194 761" autoenter="select" cellsizingtype="col" anchor="top right bottom">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="26"/>
  13. <Column size="100"/>
  14. <Column size="441"/>
  15. <Column size="53"/>
  16. <Column size="100"/>
  17. <Column size="100"/>
  18. </Columns>
  19. <Rows>
  20. <Row size="24" band="head"/>
  21. <Row size="24"/>
  22. </Rows>
  23. <Band id="head">
  24. <Cell/>
  25. <Cell col="1" text="코드"/>
  26. <Cell col="2" text="답안"/>
  27. <Cell col="3" text="비고필수"/>
  28. <Cell col="4" text="최종수정자"/>
  29. <Cell col="5" text="최종수정일시"/>
  30. </Band>
  31. <Band id="body">
  32. <Cell celltype="head"/>
  33. <Cell col="1" displaytype="text" edittype="text" text="bind:answcd"/>
  34. <Cell col="2" displaytype="text" edittype="text" text="bind:answcnts"/>
  35. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:reminptyn" expr="expr:reminptyn == 'Y' ? 1 : 0"/>
  36. <Cell col="4" text="bind:lastupdtrid"/>
  37. <Cell col="5" text="bind:lastupdtdt"/>
  38. </Band>
  39. </Format>
  40. </Formats>
  41. </Grid>
  42. <Div id="grp_sea" taborder="2" class="div_SA" position="absolute 0 25 1195 65" anchor="left top right">
  43. <Layouts>
  44. <Layout>
  45. <Static id="caption2" text="문진분류 :" class="search_name" position="absolute 16 12 103 29"/>
  46. <Static id="caption3" text="문진코드 :" class="search_name" position="absolute 361 12 473 29"/>
  47. <Edit id="ipt_inqrcnts" taborder="1" class="input_search" position="absolute 755 11 1095 30" autoselect="true" autoskip="true"/>
  48. <Button id="btn_search" taborder="2" text="조회" class="btn1" position="absolute 1123 10 1179 32" onclick="grp_sea_btn_search_onclick" anchor="top right"/>
  49. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 1104 10 1110 32" anchor="top right"/>
  50. <Static id="caption5" text="문진내역 :" class="search_name" position="absolute 666 12 753 29"/>
  51. <Edit id="ipt_inqrcd" taborder="3" class="input_search" position="absolute 450 11 610 30" autoselect="true" autoskip="true"/>
  52. <Combo id="cmb_inqrflag" taborder="4" innerdataset="@ds_init_baseinfo_inqrflaglst_A0106" codecolumn="cdid" datacolumn="cdnm" class="combo_s_essential" position="absolute 105 11 265 30"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. <Static id="caption1" text="문진코드" class="tit_2" position="absolute 0 80 78 102"/>
  57. <Shape id="line1" class="line_10" position="absolute 0 96 590 102" anchor="left top right"/>
  58. <Grid id="grd_inqrlst" taborder="3" binddataset="ds_main_inqrlst_item" useinputpanel="false" position="absolute 0 101 590 761" autoenter="select" cellsizingtype="col" anchor="all" oncellclick="grd_inqrlst_oncellclick">
  59. <Formats>
  60. <Format id="default">
  61. <Columns>
  62. <Column size="28" band="left"/>
  63. <Column size="70" band="left"/>
  64. <Column size="260" band="left"/>
  65. <Column size="80"/>
  66. <Column size="80"/>
  67. <Column size="50"/>
  68. <Column size="80"/>
  69. <Column size="60"/>
  70. <Column size="80"/>
  71. <Column size="80"/>
  72. <Column size="100"/>
  73. <Column size="100"/>
  74. </Columns>
  75. <Rows>
  76. <Row size="24" band="head"/>
  77. <Row size="24"/>
  78. </Rows>
  79. <Band id="head">
  80. <Cell/>
  81. <Cell col="1" text="코드"/>
  82. <Cell col="2" text="문진내역"/>
  83. <Cell col="3" text="문진답안구분"/>
  84. <Cell col="4" text="답안선택수"/>
  85. <Cell col="5" text="사용여부"/>
  86. <Cell col="6" text="기본값"/>
  87. <Cell col="7" text="출력순서"/>
  88. <Cell col="8" text="기타구분1"/>
  89. <Cell col="9" text="기타구분2"/>
  90. <Cell col="10" text="최종수정자"/>
  91. <Cell col="11" text="최종수정일시"/>
  92. </Band>
  93. <Band id="body">
  94. <Cell celltype="head"/>
  95. <Cell col="1" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:inqrcd"/>
  96. <Cell col="2" displaytype="text" edittype="text" style="align:left top;padding:1 0 0 3;" text="bind:inqrnm" wordwrap="word"/>
  97. <Cell col="3" displaytype="combo" edittype="combo" style="align:left middle;padding:0 0 0 3;" text="bind:answflag" combodataset="ds_init_baseinfo_answflaglst_A0066" combocodecol="cdid" combodatacol="cdnm"/>
  98. <Cell col="4" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:answcnt"/>
  99. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:useyn" expr="expr:useyn == 'Y' ? 1 : 0"/>
  100. <Cell col="6" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:defltval"/>
  101. <Cell col="7" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:inqrdipseq"/>
  102. <Cell col="8" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:inqretcflag1"/>
  103. <Cell col="9" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:inqretcflag2"/>
  104. <Cell col="10" style="align:left middle;padding:0 0 0 3;" text="bind:lastupdtrid"/>
  105. <Cell col="11" displaytype="text" edittype="text" style="align:left middle;padding:0 0 0 3;" text="bind:lastupdtdt"/>
  106. </Band>
  107. </Format>
  108. </Formats>
  109. </Grid>
  110. <Static id="caption4" text="선택형답안" class="tit_2" position="absolute 595 80 702 102" anchor="top right"/>
  111. <Shape id="line2" class="line_10" position="absolute 594 96 1194 102" anchor="top right"/>
  112. <Button id="btn_grddel" taborder="4" text="행삭제" class="btn2" position="absolute 537 77 590 96" anchor="top right" onclick="btn_grddel_onclick"/>
  113. <Button id="btn_grdadd" taborder="5" text="행추가" class="btn2" position="absolute 482 77 535 96" anchor="top right" onclick="btn_grdadd_onclick"/>
  114. <Button id="btn_ansadd" taborder="6" text="행추가" class="btn2" position="absolute 1087 77 1140 96" anchor="top right" onclick="btn_ansadd_onclick"/>
  115. <Button id="btn_ansdel" taborder="7" text="행삭제" class="btn2" position="absolute 1141 77 1194 96" anchor="top right" onclick="btn_ansdel_onclick"/>
  116. <Button id="btn_print" taborder="8" text="출력" class="btn6" position="absolute 0 766 56 788" anchor="left bottom" visible="false"/>
  117. <Button id="btn_init" taborder="9" text="초기화" class="btn4" position="absolute 1067 766 1135 788" anchor="right bottom" onclick="btn_init_onclick"/>
  118. <Button id="btn_save" taborder="10" text="저장" class="btn4" position="absolute 1138 766 1194 788" anchor="right bottom" onclick="btn_save_onclick"/>
  119. </Layout>
  120. </Layouts>
  121. <Objects>
  122. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="srchinqrflag" type="STRING" size="256"/>
  125. <Column id="srchinqrcd" type="STRING" size="256"/>
  126. <Column id="srchinqrcnts" type="STRING" size="256"/>
  127. <Column id="srchinstcd" type="STRING" size="256"/>
  128. <Column id="ansinqrcd" type="STRING" size="256"/>
  129. </ColumnInfo>
  130. <Rows>
  131. <Row>
  132. <Col id="srchinqrflag"/>
  133. <Col id="srchinqrcd"/>
  134. <Col id="srchinqrcnts"/>
  135. <Col id="srchinstcd"/>
  136. </Row>
  137. </Rows>
  138. </Dataset>
  139. <Dataset id="ds_main_inqrlst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_inqrlst_item_oncolumnchanged">
  140. <ColumnInfo>
  141. <Column id="inqrcd" type="STRING" size="256" sumtext="문진코드"/>
  142. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  143. <Column id="inqrnm" type="STRING" size="256" sumtext="문진명"/>
  144. <Column id="answflag" type="STRING" size="256" sumtext="답변유형"/>
  145. <Column id="answcnt" type="INT" size="256" sumtext="답변수"/>
  146. <Column id="useyn" type="STRING" size="256" sumtext="사용여부"/>
  147. <Column id="defltval" type="STRING" size="256" sumtext="기본값"/>
  148. <Column id="inqrdipseq" type="INT" size="256" sumtext="문진출력순서"/>
  149. <Column id="inqretcflag1" type="STRING" size="256" sumtext="기타구분1"/>
  150. <Column id="inqretcflag2" type="STRING" size="256" sumtext="기타구분2"/>
  151. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  152. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  153. </ColumnInfo>
  154. </Dataset>
  155. <Dataset id="ds_main_anslst_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_anslst_item_oncolumnchanged">
  156. <ColumnInfo>
  157. <Column id="answcd" type="STRING" size="256" sumtext=""/>
  158. <Column id="answcnts" type="STRING" size="256" sumtext=""/>
  159. <Column id="reminptyn" type="STRING" size="256" sumtext=""/>
  160. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  161. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  162. </ColumnInfo>
  163. </Dataset>
  164. <Dataset id="ds_init_baseinfo_inqrflaglst_A0106" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  165. <Dataset id="ds_init_baseinfo_answflaglst_A0066" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  166. <Dataset id="ds_send_save" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  167. <Dataset id="ds_send_save_saveinqrans" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  168. </Objects>
  169. <Bind>
  170. <BindItem id="item0" compid="grp_sea.cmb_inqrflag" propid="value" datasetid="ds_send" columnid="srchinqrflag"/>
  171. <BindItem id="item1" compid="grp_sea.ipt_inqrcd" propid="value" datasetid="ds_send" columnid="srchinqrcd"/>
  172. <BindItem id="item2" compid="grp_sea.ipt_inqrcnts" propid="value" datasetid="ds_send" columnid="srchinqrcnts"/>
  173. </Bind>
  174. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  175. * System Name :
  176. * Job Name :
  177. * Creator :
  178. * Make Date : 2015-11-13
  179. * Description :
  180. *---------------------------------------------------------------------------------------
  181. * Modify Date Modifier Modify Description
  182. *---------------------------------------------------------------------------------------
  183. * 2015-11-13 Live Converter TF->XP
  184. *
  185. *---------------------------------------------------------------------------------------
  186. ****************************************************************************************/
  187. include "com_commonxp::comm_main.xjs";
  188. include "ast_healexamxp::AHA001.xjs";
  189. include "ast_healthexambasexp::healcombolist.xjs";
  190. var arErrorCode = new HashArray();
  191. function SMAHB00200_oninit(obj:Form, e:InitEventInfo)
  192. {
  193. frmf_initForm(obj);
  194. }
  195. function SMAHB00200_onload(obj:Form, e:LoadEventInfo)
  196. {
  197. grdf_initGrid(grd_inqrlst);
  198. grdf_setRowTypeIcon(grd_inqrlst, 0);
  199. grdf_initGrid(grd_answlst);
  200. grdf_setRowTypeIcon(grd_answlst, 0);
  201. grp_sea.btn_search.enable = frmf_checkAuth("R") ;
  202. btn_save.enable = frmf_checkAuth("X") ;
  203. btn_print.enable = frmf_checkAuth("P") ;
  204. fGetInqrFlag();
  205. }
  206. function fGetInqrFlag()
  207. {
  208. ds_init_baseinfo_inqrflaglst_A0106.clearData();
  209. var arrParam = [{dsNm: "ds_init_baseinfo_inqrflaglst_A0106", cdGrpId: "A0106"}
  210. ,{dsNm: "ds_init_baseinfo_answflaglst_A0066", cdGrpId: "A0066"}]
  211. appf_getCodeList(arrParam);
  212. //submit("TRZBC00101");
  213. }
  214. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  215. {
  216. ds_main_anslst_item.clearData();
  217. ds_main_inqrlst_item.clearData();
  218. fGetInqrlst();
  219. }
  220. function fGetInqrlst()
  221. {
  222. var tmp = ds_send.getColumn(0, "srchinqrflag");
  223. var selRow = ds_main_inqrlst_item.rowposition;
  224. if ( utlf_isNull(tmp))
  225. {
  226. sysf_messageBox("문진분류를 ", "C001")
  227. return;
  228. }
  229. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd") );
  230. var oParam = {};
  231. oParam.id = "TRAHB00201";
  232. oParam.service = "healexambaseapp.InqrCode";
  233. oParam.method = "reqGetInqrCdList";
  234. oParam.inds = "req=ds_send";
  235. oParam.outds = "ds_main_inqrlst_item=item";
  236. oParam.async = false;
  237. oParam.callback = "cf_TRAHB00201";
  238. tranf_submit(oParam);
  239. if(arErrorCode.pop("TRAHB00201") > -1)
  240. {
  241. if(selRow > -1)
  242. {
  243. fGetInqrAns();
  244. }
  245. }
  246. }
  247. function cf_TRAHB00201(sSvcId, nErrorCode, sErrorMsg)
  248. {
  249. arErrorCode.push(sSvcId, nErrorCode);
  250. if(nErrorCode < 0) return;
  251. }
  252. function fGetInqrAns()
  253. {
  254. var tmpinqrflag = ds_send.getColumn(0, "srchinqrflag");
  255. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd") );
  256. ds_send.setColumn(0, "srchinqrflag", tmpinqrflag);
  257. ds_send.setColumn(0, "ansinqrcd", ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.rowposition, "inqrcd"));
  258. var oParam = {};
  259. oParam.id = "TRAHB00202";
  260. oParam.service = "healexambaseapp.InqrCode";
  261. oParam.method = "reqGetInqrAns";
  262. oParam.inds = "req=ds_send";
  263. oParam.outds = "ds_main_anslst_item=item";
  264. oParam.async = false;
  265. //oParam.callback = "cf_TRAHB00202";
  266. tranf_submit(oParam);
  267. }
  268. function grd_inqrlst_oncellclick(obj:Grid, e:GridClickEventInfo)
  269. {
  270. fGetInqrAns();
  271. }
  272. function btn_grdadd_onclick(obj:Button, e:ClickEventInfo)
  273. {
  274. ds_main_inqrlst_item.addRow();
  275. }
  276. function btn_grddel_onclick(obj:Button, e:ClickEventInfo)
  277. {
  278. if(ds_main_inqrlst_item.getRowType(ds_main_inqrlst_item.rowposition) == 2)
  279. {
  280. ds_main_inqrlst_item.deleteRow(ds_main_inqrlst_item.rowposition);
  281. }
  282. else
  283. {
  284. ds_main_inqrlst_item.updatecontrol = false;
  285. ds_main_inqrlst_item.setRowType(ds_main_inqrlst_item.rowposition, "d");
  286. ds_main_inqrlst_item.updatecontrol = true;
  287. }
  288. }
  289. function ds_main_inqrlst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  290. {
  291. if(e.columnid == "useyn")
  292. {
  293. obj.setColumn(e.row, "useyn", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  294. }
  295. }
  296. function ds_main_anslst_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  297. {
  298. if(e.columnid == "reminptyn")
  299. {
  300. obj.setColumn(e.row, "reminptyn", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  301. }
  302. }
  303. function btn_ansadd_onclick(obj:Button, e:ClickEventInfo)
  304. {
  305. ds_main_anslst_item.addRow();
  306. }
  307. function btn_ansdel_onclick(obj:Button, e:ClickEventInfo)
  308. {
  309. if(ds_main_anslst_item.getRowType(ds_main_anslst_item.rowposition) == 2)
  310. {
  311. ds_main_anslst_item.deleteRow(ds_main_anslst_item.rowposition);
  312. }
  313. else
  314. {
  315. ds_main_anslst_item.updatecontrol = false;
  316. ds_main_anslst_item.setRowType(ds_main_anslst_item.rowposition, "d");
  317. ds_main_anslst_item.updatecontrol = true;
  318. }
  319. }
  320. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  321. {
  322. fInitInqrLst();
  323. }
  324. function fInitInqrLst()
  325. {
  326. ds_main_inqrlst_item.clearData();
  327. ds_main_anslst_item.clearData();
  328. }
  329. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  330. {
  331. if(fSaveInqrCd())
  332. {
  333. fGetInqrlst();
  334. }
  335. }
  336. function fSaveInqrCd()
  337. {
  338. var ret = false;
  339. if( sysf_messageBox("문진코드정보를","Q002") == 6)
  340. {
  341. var inqrfg = ds_send.getColumn(0, "srchinqrflag");
  342. if( utlf_isNull(inqrfg)) return ;
  343. var update = grdf_getGridUpdateData(grd_inqrlst);
  344. grdf_setStatusColumn(update, "m");
  345. ds_send_save.copyData(update, true);
  346. var update = grdf_getGridUpdateData(grd_answlst);
  347. grdf_setStatusColumn(update, "m");
  348. ds_send_save_saveinqrans.copyData(update, true);
  349. dsf_makeValue(ds_send_save_saveinqrans, "inqrflag", "string", grp_sea.cmb_inqrflag.value);
  350. dsf_makeValue(ds_send_save_saveinqrans, "inqrcd", "string", ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.rowposition, "inqrcd"));
  351. dsf_makeValue(ds_send_save_saveinqrans, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  352. dsf_makeValue(ds_send_save, "inqrflag", "string", grp_sea.cmb_inqrflag.value);
  353. dsf_makeValue(ds_send_save, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  354. dsf_makeValue(ds_send_save, "userid", "string", sysf_getUserInfo("userid"));
  355. dsf_makeValue(ds_send_save, "inqrcd", "string", ds_main_inqrlst_item.getColumn(ds_main_inqrlst_item.rowposition, "inqrcd"));
  356. var oParam = {};
  357. oParam.id = "TXAHB00201";
  358. oParam.service = "healexambaseapp.InqrCode";
  359. oParam.method = "reqExeInqrCode";
  360. oParam.inds = "req=ds_send_save reqans=ds_send_save_saveinqrans";
  361. oParam.outds = "ds_=item ds_=itemans";
  362. //oParam.typeStr = "m";
  363. oParam.async = false;
  364. oParam.callback = "cf_TXAHB00201";
  365. tranf_submit(oParam);
  366. if(arErrorCode.pop("TXAHB00201") > -1)
  367. {
  368. ret = true;
  369. }
  370. return ret;
  371. }
  372. return ret;
  373. }
  374. function cf_TXAHB00201(sSvcId, nErrorCode, sErrorMsg)
  375. {
  376. arErrorCode.push(sSvcId, nErrorCode);
  377. if(nErrorCode < 0) return;
  378. }]]></Script>
  379. </Form>
  380. </FDL>