SMPMB01700_질병코드관리.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>질병코드관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <sickcdspec>
  11. <sickcdspeclist/>
  12. </sickcdspec>
  13. <result>
  14. <srchcnts>
  15. <sicknm/>
  16. <lastupdtdt/>
  17. <lastupdtid/>
  18. <sickcd/>
  19. <seqno/>
  20. </srchcnts>
  21. </result>
  22. <sicknm/>
  23. </main>
  24. <send>
  25. <srchcond>A</srchcond>
  26. <srchcnts/>
  27. <updatedata>
  28. </updatedata>
  29. <sicknm/>
  30. <updatedatalist>
  31. <datalist/>
  32. </updatedatalist>
  33. </send>
  34. <hidden>
  35. <desc>
  36. <sickcd/>
  37. <sicknm/>
  38. <seqno/>
  39. </desc>
  40. </hidden>
  41. <init>
  42. </init>
  43. </root>
  44. </instance>
  45. <submission id="TRPMB01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/sickcdspec"/>
  46. <submission id="TXPMB01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedatalist" resultref="/root/main/result"/>
  47. <submission id="TRPMB01702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/result"/>
  48. <submission id="TXPMB01702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedatalist/datalist" resultref="/root/main/result"/>
  49. </model>
  50. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  51. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  52. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  53. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  54. <script type="javascript" ev:event="xforms-ready">
  55. <![CDATA[
  56. if (checkOpener()){ //팝업화면으로 사용될 때
  57. button9.visible = true;
  58. }
  59. fInitialize();
  60. ]]>
  61. </script>
  62. <script type="javascript">
  63. <![CDATA[
  64. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  65. //조회조건부,입력부,조회부
  66. function fInitialize() {
  67. model.resetInstanceNode("/root/send");
  68. model.resetInstanceNode("/root/hidden/desc");
  69. model.removeNodeset("/root/main/sickcdspec/sickcdspeclist");
  70. model.setFocus("cmb_srchcond");
  71. model.refresh();
  72. }
  73. //입력창의 내용이 기존내용과 비교하여 변경된 내역이 있는지 체크한다.
  74. //return : 변경된 경우 True, 변경된 내역이 없을 경우 False
  75. function fCheckModify() {
  76. //입력창에 매핑된 send Node 와 변경 전 데이타인 hidden Node 를 비교한다.
  77. //변경되었으면, return true
  78. //if ( (model.getValue("/root/hidden/desc/sickcd") ) != ( model.getValue("/root/send/updatedata/sickcd")) ) return true; //질병코드
  79. //if ( (model.getValue("/root/hidden/desc/sicknm") ) != ( model.getValue("/root/send/updatedata/sicknm")) ) return true; //질병명
  80. var i = 0;
  81. for (i = 1; i <= grd_sickcdlist.rows; i++) {
  82. if (model.getValue("/root/main/sickcdspec/sickcdspeclist["+i+"]/seqno") == "9999999999"){
  83. return true;
  84. }
  85. }
  86. return false;
  87. }
  88. ]]>
  89. </script>
  90. </xhtml:head>
  91. <xhtml:body pagewidth="525" pageheight="660" guideline="1,503;" style="font-family:돋움; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  92. <group id="group4" style="left:0px; top:24px; width:503px; height:35px; vertical-align:top; ">
  93. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:503px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  94. <line id="line3" class="line_4" style="x1:435px; y1:10px; x2:435px; y2:32px; border-color:#ffe4bb; border-left-style:solid; "/>
  95. </group>
  96. <group id="group1" style="left:0px; top:1px; width:503px; height:14px; ">
  97. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:13px; ">증상 및 질환관리</caption>
  98. </group>
  99. <input id="ipt_srchcnts" ref="/root/send/srchcnts" class="input_s_essential" imemode="hangul" style="left:9px; top:33px; width:417px; height:19px; ">
  100. <script type="javascript" ev:event="onkeypress">
  101. <![CDATA[
  102. if (event.keyCode == '13') {
  103. inputEnterKey("btn_search", "DOMActivate");
  104. }
  105. ]]>
  106. </script>
  107. </input>
  108. <button id="btn_search" class="btn1_letter2" style="left:441px; top:33px; width:56px; height:22px; ">
  109. <caption>조회</caption>
  110. <script type="javascript" ev:event="DOMActivate">
  111. <![CDATA[
  112. if ( ipt_srchcnts.value == "" ) {
  113. return;
  114. }
  115. //입력부, 조회부 초기화 후, 조회
  116. model.removeNodeset("/root/main/sickcdspec/sickcdspeclist");
  117. model.resetInstanceNode("/root/send/updatedata");
  118. model.resetInstanceNode("/root/hidden/desc");
  119. submit("TRPMB01701");
  120. ]]>
  121. </script>
  122. </button>
  123. <caption id="caption1" class="tit_2" style="left:5px; top:69px; width:95px; height:13px; ">증상 및 질환내역</caption>
  124. <line id="line1" class="line_1" style="x1:2px; y1:84px; x2:502px; y2:85px; "/>
  125. <line id="line7" class="line_3" style="x1:2px; y1:112px; x2:502px; y2:112px; "/>
  126. <caption id="caption3" class="cell_1" style="left:0px; top:88px; width:127px; height:23px; ">질병명</caption>
  127. <input id="ipt_sicknm" ref="/root/main/sicknm" class="input_essential" imemode="hangul" style="left:132px; top:90px; width:371px; height:19px; ">
  128. <script type="javascript" ev:event="onkeypress">
  129. <![CDATA[
  130. if ( event.keyCode== '13' ) {
  131. var i = 0;
  132. var strSickNm = ipt_sicknm.currentText;
  133. for (i = 1; i < grd_sickcdlist.rows+1; i++){
  134. if (ipt_sicknm.currentText == model.getValue("/root/main/sickcdspec/sickcdspeclist["+i+"]/sicknm")){
  135. messageBox("증상 및 질환내역 리스트에 입력하신 질병명이", "E006");
  136. return false;
  137. }
  138. }
  139. model.setValue("/root/send/sicknm", strSickNm);
  140. if (submit("TRPMB01702") == true) {
  141. var curDate = getCurrentDateTime(); //현재날짜 가져오기
  142. var strUserId = getUserId(); //현재 사용자명 가져오기
  143. grd_sickcdlist.addItem(); // 입력할 행 추가
  144. var cur_row = grd_sickcdlist.bottomRow; // 추가된 행 번호 가져오기
  145. if (model.getValue("/root/main/result/srchcnts/sicknm") == ""){
  146. //DB에 없는 내용이므로 새로 추가
  147. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/sicknm", strSickNm);
  148. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/lastupdtdt", curDate);
  149. if (strUserId != "") {
  150. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/lastupdtrid", strUserId);
  151. }
  152. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/seqno", "9999999999");
  153. grd_sickcdlist.addStatus(cur_row,"insert"); // 행을 업데이트 상태로 변경
  154. }else {
  155. //DB에서 조회하여 추가
  156. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/sicknm", model.getValue("/root/main/result/srchcnts/sicknm"));
  157. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/lastupdtdt", model.getValue("/root/main/result/srchcnts/lastupdtdt"));
  158. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/lastupdtrid", model.getValue("/root/main/result/srchcnts/lastupdtrid"));
  159. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/seqno", model.getValue("/root/main/result/srchcnts/seqno"));
  160. model.setValue("/root/main/sickcdspec/sickcdspeclist["+cur_row+"]/sickcd", model.getValue("/root/main/result/srchcnts/sickcd"));
  161. grd_sickcdlist.clearStatus();
  162. }//else end
  163. var j = 0;
  164. for (j = 1; j <= grd_sickcdlist.rows; j++){
  165. if (model.getValue("/root/main/sickcdspec/sickcdspeclist["+j+"]/seqno") == "9999999999"){
  166. grd_sickcdlist.addStatus(j,"insert"); // 행을 업데이트 상태로 변경
  167. }
  168. }
  169. model.refresh();
  170. } //if (submit("TRPMB01702") == true) end
  171. else {
  172. return false;
  173. }
  174. }
  175. ]]>
  176. </script>
  177. </input>
  178. <line id="line8" class="line_1" style="x1:2px; y1:150px; x2:502px; y2:151px; "/>
  179. <datagrid id="grd_sickcdlist" nodeset="/root/main/sickcdspec/sickcdspeclist" caption="질병명^수정일시^수정자^seqno^sickcd" colsep="^" colwidth="190, 134, 74, 104, 100" dataheight="25" defaultrows="1" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:155px; width:503px; height:470px; ">
  180. <col class="text_center" ref="sicknm"/>
  181. <col ref="lastupdtdt" format="yyyy-mm-dd hh:nn:ss" style="left:1118px; top:25px; width:150px; height:25px; "/>
  182. <col class="text_center" ref="lastupdtrid"/>
  183. <col ref="seqno" visibility="hidden"/>
  184. <col ref="sickcd" visibility="hidden"/>
  185. <script type="javascript" ev:event="onclick">
  186. <![CDATA[
  187. //조회된 리스트를 선택 시, hidden Node 와 입력창(send Node)에 세팅한다.
  188. //입력창은 send Node 와 매핑된다.
  189. if ( grd_sickcdlist.row > 0 ) {
  190. model.resetInstanceNode("/root/send/updatedata");
  191. model.resetInstanceNode("/root/hidden/desc");
  192. model.copyNode("/root/send/updatedata","/root/main/sickcdspec/sickcdspeclist["+(grd_sickcdlist.row)+"]");
  193. model.copyNode("/root/hidden/desc", "/root/main/sickcdspec/sickcdspeclist["+(grd_sickcdlist.row)+"]");
  194. //seqno 세팅
  195. model.makeValue("/root/send/updatedata/seqno",model.getValue("/root/hidden/desc/seqno"));
  196. model.refresh();
  197. }
  198. ]]>
  199. </script>
  200. </datagrid>
  201. <caption id="caption20" class="tit_2" style="left:5px; top:135px; width:205px; height:13px; ">증상 및 질환내역 리스트</caption>
  202. <button id="btn_update" class="btn4_letter2" style="left:317px; top:125px; width:56px; height:22px; ">
  203. <caption>저장</caption>
  204. <script type="javascript" ev:event="DOMActivate">
  205. <![CDATA[
  206. // if ( model.getValue("/root/send/updatedata/sickcd") == "" || model.getValue("/root/send/updatedata/sicknm") == "") {
  207. // messageBox("저장할 데이타를 입력하지", "E007"); //저장할 데이타를 입력하지 않았습니다.
  208. // return;
  209. // }
  210. //처음 세팅된 데이타와 비교하여 변경된 내역이 있는지 확인한다.
  211. // return 값이 false 이면, 변경된 내역이 없다.
  212. // if ( fCheckModify() == false ) {
  213. // messageBox("변경된 내역이 없어, 저장하지", "E007"); //변경된 내역이 없어, 저장하지 않았습니다.
  214. // return;
  215. // }
  216. if ( messageBox("입력하신 증상 및 질환내역을", "Q002") == '6' ) {
  217. // if (grd_sickcdlist.row == -1 || fCheckModify() == false ) {
  218. // messageBox("신규추가된 내용이 없어, 저장하지", "E007"); //변경된 내역이 없어, 저장하지 않았습니다.
  219. // return false;
  220. // }
  221. model.makeNode("/root/send/updatedatalist/datalist/m");
  222. model.makeNode("/root/send/updatedatalist/datalist/sicknm");
  223. model.setValue("/root/send/updatedatalist/datalist/m", "I");
  224. model.setValue("/root/send/updatedatalist/datalist/sicknm", model.getValue("/root/main/sicknm"));
  225. // model.setValue("/root/send/updatedatalist/datalist",grd_sickcdlist.getupdatedata());
  226. //질병코드 저장 처리
  227. if (submit("TXPMB01701") == true) {
  228. //btn_search.dispatch("DOMActivate"); //저장처리 후, 내역 재조회(조회 이벤트 호출)
  229. fInitialize();
  230. messageBox("저장이 ", "I002");
  231. model.refresh();
  232. }
  233. }
  234. else {
  235. return false;
  236. }
  237. ]]>
  238. </script>
  239. </button>
  240. <button id="btn_delete" class="btn4_letter2" style="left:375px; top:125px; width:56px; height:22px; ">
  241. <caption>삭제</caption>
  242. <script type="javascript" ev:event="DOMActivate">
  243. <![CDATA[
  244. var row = grd_sickcdlist.row
  245. if ( grd_sickcdlist.selectedRow(0) < 0 ) {
  246. messageBox("삭제할 내역이 선택되지", "E007"); //삭제할 내역이 선택되지 않았습니다.
  247. return;
  248. }
  249. //삭제확인-선택하신 질병코드를 삭제하시겠습니까? Yes(6),No(7)
  250. if (messageBox("선택하신 질병코드를 ", "Q001") == '6') {
  251. //Yes 이면, 질병코드 삭제처리
  252. //seqno가 "9999999999"이면 화면에서만 생성된 질병리스트
  253. if (model.getValue("/root/main/sickcdspec/sickcdspeclist["+ row +"]/seqno") == "9999999999"){
  254. grd_sickcdlist.deleteItem(grd_sickcdlist.row);
  255. model.refresh();
  256. return true;
  257. }
  258. model.copyNode("/root/send/updatedatalist/datalist", "/root/main/sickcdspec/sickcdspeclist[" + row +"]");
  259. model.makeNode("/root/send/updatedatalist/datalist/workflag");
  260. model.setValue("/root/send/updatedatalist/datalist/workflag", "D");
  261. if (submit("TXPMB01702") == true) {
  262. model.removenode("/root/main/sickcdspec/sickcdspeclist["+grd_sickcdlist.row+"]");
  263. model.refresh();
  264. //btn_search.dispatch("DOMActivate"); //삭제처리 후, 내역 재조회(조회 이벤트 호출)
  265. }
  266. var i = 0;
  267. for (i = 1; i <= grd_sickcdlist.rows; i++){
  268. if (model.getValue("/root/main/sickcdspec/sickcdspeclist["+i+"]/seqno") == "9999999999"){
  269. grd_sickcdlist.addStatus(i,"insert"); // 행을 업데이트 상태로 변경
  270. }
  271. }
  272. }else {
  273. grd_sickcdlist.clearStatus();
  274. var i = 0;
  275. for (i = 1; i <= grd_sickcdlist.rows; i++){
  276. if (model.getValue("/root/main/sickcdspec/sickcdspeclist["+i+"]/seqno") == "9999999999"){
  277. grd_sickcdlist.addStatus(i,"insert"); // 행을 업데이트 상태로 변경
  278. }
  279. }
  280. }
  281. ]]>
  282. </script>
  283. </button>
  284. <button id="btn_clear" class="btn4_letter3" style="left:433px; top:125px; width:68px; height:22px; ">
  285. <caption>초기화</caption>
  286. <script type="javascript" ev:event="DOMActivate">
  287. <![CDATA[
  288. //화면 초기화
  289. fInitialize();
  290. ]]>
  291. </script>
  292. </button>
  293. <button id="button9" class="btn4_letter2" visibility="hidden" style="left:447px; top:635px; width:56px; height:22px; ">
  294. <caption>취소</caption>
  295. <script type="javascript" ev:event="DOMActivate">
  296. <![CDATA[
  297. window.close();
  298. ]]>
  299. </script>
  300. </button>
  301. </xhtml:body>
  302. </xhtml:html>