SMASB02300_법정전염병마스터관리.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. * 제 목 : SMASB02300_법정전염병마스터관리.xrw
  4. * 설 명 : 법정전염병마스터관리
  5. * 설 계 자 : 김광성
  6. * 작 성 자 : 김광성
  7. * 작 성 일 : 2010.2.10
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>법정전염병 마스터관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <asihlgdc>
  20. <list>
  21. <status/>
  22. <seqno/>
  23. <instcd/>
  24. <instcd/>
  25. <reptflag/>
  26. <lglydiscd/>
  27. <lglydisnm/>
  28. <infdiskindcd/>
  29. <fromdd/>
  30. <todd/>
  31. <fromicd10cd/>
  32. <toicd10cd/>
  33. <fstrgstrid/>
  34. <fstrgstdt/>
  35. <lastupdtrid/>
  36. <lastupdtdt/>
  37. <rorgstflag/>
  38. <cdcdiagcd/>
  39. <lastuptusernm/>
  40. <fstrgstusernm/>
  41. </list>
  42. </asihlgdc>
  43. </main>
  44. <send>
  45. <reqdata>
  46. <reptflag/>
  47. <icd10cd/>
  48. <sicknm/>
  49. <endchk/>
  50. <savedata/>
  51. </reqdata>
  52. </send>
  53. <init>
  54. <reptflag>
  55. </reptflag>
  56. <selrptflag/>
  57. <infdiskindcd/>
  58. </init>
  59. <hidden/>
  60. <temp>
  61. <lastrowcnt/>
  62. <getdata/>
  63. </temp>
  64. <conditon>
  65. <status>
  66. <insert>i</insert>
  67. <delete>d</delete>
  68. <update>u</update>
  69. <select>s</select>
  70. </status>
  71. <wndid>SMASB02300</wndid>
  72. </conditon>
  73. </root>
  74. </instance>
  75. <script type="javascript" ev:event="xforms-ready">
  76. <![CDATA[
  77. // 그룹코드(A0130)에 해당하는 cdid, cdnm값을 가져와서 cmb_reptflag에 연결하는 부분
  78. // 그룹코드 : A0130
  79. // 사용범위 : 검색필드->신고서 구분, 검색결과 그리드-> reptflag
  80. zbcfGetCodeList( new Array("A0130"), new Array("/root/init/reptflag") , true); // ZBC001.js에 정의된 스크립트
  81. // 그리드->reptflag에서 사용될 노드를 복사
  82. model.copyNode("/root/init/selrptflag", "/root/init/reptflag");
  83. // 신고서구분에 전체 조건을 추가
  84. addComboItem("cmb_reptflag", "전체", "-", "above"); // tfHelper.js에 정의된 스크립트
  85. zbcfGetCodeList( new Array("A0129"), new Array("/root/init/infdiskindcd") , true); // ZBC001.js에 정의된 스크립트
  86. model.setValue("/root/send/reqdata/reptflag", "-");
  87. submit("TRASB02301");
  88. grd_asihlgdc.refresh();
  89. ]]>
  90. </script>
  91. <!-- com/basiccodeweb/js/ZBC001.js 함수를 사용하기 위한 Map파일 설정 -->
  92. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  93. <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  94. <submission id="TRZBC00114" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  95. <submission id="TRZBC00103" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  96. <submission id="TRZBC00104" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  97. <submission id="TRZBC00105" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  98. <!-- kskim 사용자가 정의한 Submission 부분 -->
  99. <!-- 조회 버튼 클릭 시 실행되는 Submission -->
  100. <submission id="TRASB02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/asihlgdc"/>
  101. <!-- 공통코드 API를 사용하기 위한 관련 js파일 import 부분 -->
  102. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  103. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  104. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  105. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  106. <submission id="TXASB02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata/savedata" resultref="/root/main/asihlgdc"/>
  107. </model>
  108. </xhtml:head>
  109. <xhtml:body guideline="1,1217;2,54;1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  110. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:199px; height:15px; ">법정감염병 질병 마스터</caption>
  111. <shape id="roundrect1" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:30px; width:1194px; height:30px; "/>
  112. <select1 id="cmb_reptflag" ref="/root/send/reqdata/reptflag" appearance="minimal" style="left:112px; top:36px; width:120px; height:19px; ">
  113. <choices>
  114. <itemset nodeset="/root/init/reptflag/A0130">
  115. <label ref="cdnm"/>
  116. <value ref="cdid"/>
  117. </itemset>
  118. </choices>
  119. <script type="javascript" ev:event="xforms-value-changed">
  120. <![CDATA[
  121. btn_reflglydisinfo.dispatch("DOMActivate");
  122. ]]>
  123. </script>
  124. </select1>
  125. <caption id="caption1" class="search_name" style="left:15px; top:37px; width:94px; height:17px; ">신고서구분:</caption>
  126. <caption id="caption3" class="search_name" style="left:248px; top:37px; width:94px; height:17px; ">감염병코드:</caption>
  127. <caption id="caption4" class="search_name" style="left:459px; top:37px; width:81px; height:17px; ">감염병명:</caption>
  128. <input id="ipt_lglydisnm" ref="/root/send/reqdata/sicknm" style="left:543px; top:36px; width:135px; height:19px; ">
  129. <script type="javascript" ev:event="onkeyup">
  130. <![CDATA[
  131. inputEnterKey("btn_reflglydisinfo", "DOMActivate");
  132. ]]>
  133. </script>
  134. </input>
  135. <button id="btn_reflglydisinfo" class="btn1_letter2" navindex="3" style="left:1133px; top:35px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  136. <caption>조회</caption>
  137. <script type="javascript" ev:event="DOMActivate">
  138. <![CDATA[
  139. submit("TRASB02301");
  140. grd_asihlgdc.refresh();
  141. ]]>
  142. </script>
  143. </button>
  144. <datagrid id="grd_asihlgdc" nodeset="/root/main/asihlgdc/list" disabled="false" autoresize="true" caption="status^seqno^기관코드^신고서구분^감염병코드^질병관리본부코드^감염병명^감염병분류코드^시작일자^종료일자^시작ICD10코드^종료ICD10코드^최초등록자^최초등록일^최종수정자^최종수정일^최초등록자ID^최종수정자ID^R/O^mig^rorgstflag^" colsep="^" colwidth="16, 11, 10, 162, 69, 100, 250, 91, 89, 90, 104, 106, 72, 91, 72, 91, 100, 100, 45" explorerbar="sortshowmove" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:91px; width:1194px; height:665px; ">
  145. <col ref="status" visibility="hidden"/>
  146. <col ref="seqno" type="output" visibility="hidden"/>
  147. <col ref="instcd" type="output" visibility="hidden"/>
  148. <col ref="reptflag" type="combo">
  149. <choices>
  150. <itemset nodeset="/root/init/selrptflag/A0130">
  151. <label ref="cdnm"/>
  152. <value ref="cdid"/>
  153. </itemset>
  154. </choices>
  155. </col>
  156. <col ref="lglydiscd" type="input" format="###" maxlength="3"/>
  157. <col ref="cdcdiagcd"/>
  158. <col ref="lglydisnm" type="input"/>
  159. <col ref="infdiskindcd" type="combo" style="text-align:center; ">
  160. <choices>
  161. <itemset nodeset="/root/init/infdiskindcd/A0129">
  162. <label ref="cdnm"/>
  163. <value ref="cdid"/>
  164. </itemset>
  165. </choices>
  166. </col>
  167. <col ref="fromdd" type="inputdate" format="yyyy-mm-dd"/>
  168. <col ref="todd" type="inputdate" format="yyyy-mm-dd"/>
  169. <col id="fromlglydiscd_btn" ref="fromicd10cd" type="inputbutton"/>
  170. <col id="tolglydiscd_btn" ref="toicd10cd" type="inputbutton"/>
  171. <col ref="fstrgstusernm" style="text-align:center; "/>
  172. <col disabled="true" ref="fstrgstdt" type="inputdate"/>
  173. <col ref="lastuptusernm" style="text-align:center; "/>
  174. <col disabled="true" ref="lastupdtdt" type="inputdate"/>
  175. <col ref="fstrgstrid" visibility="hidden"/>
  176. <col ref="lastupdtrid" visibility="hidden"/>
  177. <col ref="rorgstflag" type="combo">
  178. <choices>
  179. <item>
  180. <label>Y</label>
  181. <value>Y</value>
  182. </item>
  183. <item>
  184. <label>N</label>
  185. <value>N</value>
  186. </item>
  187. </choices>
  188. </col>
  189. <script type="javascript" ev:event="xforms-value-changed">
  190. <![CDATA[
  191. var curRow = grd_asihlgdc.row;
  192. if(model.getValue("/root/main/asihlgdc/list[" + curRow + "]/status") != "i") {
  193. model.setValue("/root/main/asihlgdc/list[" + curRow + "]/status", model.getValue("/root/conditon/status/update") );
  194. }
  195. ]]>
  196. </script>
  197. <script type="javascript" ev:event="onbuttonclick">
  198. <![CDATA[
  199. var curRow = grd_asihlgdc.row;
  200. var curCol = grd_asihlgdc.col; //lglydiscd 컬럼위치 정보
  201. var curStatus = model.getValue("/root/main/asihlgdc/list[" + curRow + "]/status");
  202. var selId = model.getFocus();
  203. if(selId == "fromlglydiscd_btn.button" || selId == "tolglydiscd_btn.button"){
  204. setParameter("SMASB02300_param", curRow + "▦" + curCol + "▦" + curStatus);
  205. modal("SPMQP01600", 1,0,0,"SPMQP01600","","","","", "", "");
  206. }
  207. ]]>
  208. </script>
  209. <script type="javascript" ev:event="onaftersort">
  210. <![CDATA[
  211. grd_asihlgdc.gridToInstance();
  212. ]]>
  213. </script>
  214. </datagrid>
  215. <input id="ipt_lglydiscd" ref="/root/send/reqdata/icd10cd" style="left:345px; top:36px; width:105px; height:19px; ">
  216. <script type="javascript" ev:event="onkeyup">
  217. <![CDATA[
  218. inputEnterKey("btn_reflglydisinfo", "DOMActivate");
  219. ]]>
  220. </script>
  221. </input>
  222. <button id="btn_addRow" class="btn2_letter2" style="left:1055px; top:66px; width:42px; height:19px; ">
  223. <caption>추가</caption>
  224. <script type="javascript" ev:event="DOMActivate">
  225. <![CDATA[
  226. grd_asihlgdc.addRow(true, true);
  227. var curCnt = grd_asihlgdc.rows - grd_asihlgdc.fixedRows;
  228. model.setValue("/root/main/asihlgdc/list[" + curCnt + "]/fromdd", getCurrentDate() );
  229. model.setValue("/root/main/asihlgdc/list[" + curCnt + "]/todd", "99991231");
  230. model.setValue("/root/main/asihlgdc/list[" + curCnt + "]/status", model.getValue("/root/conditon/status/insert") );
  231. grd_asihlgdc.row = curCnt;
  232. grd_asihlgdc.col = grd_asihlgdc.colRef("reptflag");
  233. grd_asihlgdc.editCell();
  234. ]]>
  235. </script>
  236. </button>
  237. <button id="btn_rmRow" class="btn2_letter2" style="left:1100px; top:66px; width:42px; height:19px; ">
  238. <caption>삭제</caption>
  239. <script type="javascript" ev:event="DOMActivate">
  240. <![CDATA[
  241. var selectedRow = grd_asihlgdc.row;
  242. var status = model.getValue("/root/main/asihlgdc/list[" + selectedRow + "]/status")
  243. if( status == "i"){
  244. grd_asihlgdc.removeItem();
  245. }
  246. else{
  247. model.setValue("/root/main/asihlgdc/list[" + selectedRow + "]/status", model.getValue("/root/conditon/status/delete"));
  248. grd_asihlgdc.addStatus(selectedRow, "delete");
  249. }
  250. ]]>
  251. </script>
  252. </button>
  253. <button id="btn_saveRow" class="btn5_letter2" style="left:1145px; top:66px; width:42px; height:19px; ">
  254. <caption>저장</caption>
  255. <script type="javascript" ev:event="DOMActivate">
  256. <![CDATA[
  257. var nodes = instance1.selectNodes("/root/main/asihlgdc/list[status = 'u' or status = 'i']");
  258. if( nodes.length > 0 ) {
  259. var node = nodes.item(0);
  260. var reptflag = node.selectSingleNode("reptflag");
  261. var lglydisnm = node.selectSingleNode("lglydisnm");
  262. var fromicd10cd = node.selectSingleNode("fromicd10cd");
  263. var toicd10cd = node.selectSingleNode("toicd10cd");
  264. if( isNull(reptflag.nodeValue)){
  265. messageBox("신고서구분은 ", "I003");
  266. grd_asihlgdc.row;
  267. grd_asihlgdc.col = grd_asihlgdc.colRef("reptflag");
  268. grd_asihlgdc.editCell();
  269. return;
  270. }
  271. else if(isNull( lglydisnm.nodeValue )){
  272. messageBox("감염병명은 ", "I003");
  273. grd_asihlgdc.row;
  274. grd_asihlgdc.col = grd_asihlgdc.colRef("lglydisnm");
  275. grd_asihlgdc.editCell();
  276. return;
  277. }
  278. else if(isNull(fromicd10cd.nodeValue)){
  279. messageBox("시작ICD10코드는 ", "I003");
  280. grd_asihlgdc.row;
  281. grd_asihlgdc.col = grd_asihlgdc.colRef("fromicd10cd");
  282. grd_asihlgdc.editCell();
  283. return;
  284. }
  285. else if( isNull(toicd10cd.nodeValue)){
  286. messageBox("종료ICD10코드는 ", "I003");
  287. grd_asihlgdc.row;
  288. grd_asihlgdc.col = grd_asihlgdc.colRef("toicd10cd");
  289. grd_asihlgdc.editCell();
  290. return;
  291. }
  292. }
  293. var saveNodes = instance1.selectNodes("/root/main/asihlgdc/list[status = 'u' or status = 'i' or status = 'd']");
  294. if( saveNodes.length > 0 ){
  295. model.makeValue("/root/send/reqdata/savedata/list", grd_asihlgdc.getUpdateData());
  296. model.makeValue("/root/send/reqdata/savedata/req_reptflag", model.getValue("/root/send/reqdata/reptflag"));
  297. model.makeValue("/root/send/reqdata/savedata/req_icd10cd", model.getValue("/root/send/reqdata/icd10cd"));
  298. model.makeValue("/root/send/reqdata/savedata/req_sicknm", model.getValue("/root/send/reqdata/sicknm"));
  299. if(submit("TXASB02301", false)){
  300. model.refresh();
  301. grd_asihlgdc.clearStatus();
  302. }
  303. }
  304. else{
  305. messageBox("저장할 데이터가", "I004");
  306. }
  307. ]]>
  308. </script>
  309. </button>
  310. <line id="line3" style="x1:1125px; y1:34px; x2:1125px; y2:56px; border-color:#ffe4bb; border-left-style:solid; "/>
  311. <line id="line6" class="line_1" style="x1:0px; y1:86px; x2:1194px; y2:86px; "/>
  312. <caption id="caption12" class="tit_2" style="left:5px; top:70px; width:274px; height:15px; ">법정감염병 질병 마스터관리</caption>
  313. <select id="checkbox1" ref="/root/send/reqdata/endchk" overflow="visible" appearance="full" style="left:1050px; top:38px; width:70px; height:20px; border-style:none; ">
  314. <choices>
  315. <item>
  316. <label>종료포함</label>
  317. <value>Y</value>
  318. </item>
  319. </choices>
  320. </select>
  321. <button id="btn_excel" class="btn1_letter2" style="left:980px; top:35px; width:56px; height:22px; ">
  322. <caption>엑셀</caption>
  323. <script type="javascript" ev:event="DOMActivate">
  324. <![CDATA[
  325. var fileName = window.fileDialog("save", ",", false, "법정전염병 마스터" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  326. if (fileName != ""){
  327. grd_asihlgdc.saveExcel(fileName, "SheetName", true, true, "", "", "false");
  328. }
  329. ]]>
  330. </script>
  331. </button>
  332. </xhtml:body>
  333. </xhtml:html>