SPPIJ03304_DRG기준관리.xrw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * @(#)SMPID33000_DRG기준자료 관리.xrw
  4. * 수정이력
  5. * - 2013.01.19 / 최초작성 / 이경민
  6. -->
  7. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  8. <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">
  9. <xhtml:head>
  10. <xhtml:title>DRG기준자료 관리</xhtml:title>
  11. <model id="model1">
  12. <instance id="instance1">
  13. <root xmlns="">
  14. <main>
  15. <drgalist>
  16. <drga/>
  17. </drgalist>
  18. </main>
  19. <send>
  20. <drgalist>
  21. </drgalist>
  22. <drgno/>
  23. <cd_name/>
  24. <instcd>031</instcd>
  25. <endyn>Y</endyn>
  26. </send>
  27. <init>
  28. </init>
  29. <hidden>
  30. <popupmenu>
  31. <clcj>
  32. <item>
  33. <name>행 추가</name>
  34. <func>fSpclGridInsertRow</func>
  35. </item>
  36. <item>
  37. <name>-</name>
  38. <func/>
  39. </item>
  40. <item>
  41. <name>행 삭제</name>
  42. <func>fSpclGridDeleteRow</func>
  43. </item>
  44. </clcj>
  45. </popupmenu>
  46. </hidden>
  47. </root>
  48. </instance>
  49. <script type="javascript" ev:event="xforms-ready">
  50. <![CDATA[
  51. // 화면을 초기화한다.
  52. fInitialize();
  53. ]]>
  54. </script>
  55. <submission id="TRPIJ03304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main"/>
  56. <submission id="TXPIJ03304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main"/>
  57. </model>
  58. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  59. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  60. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  61. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  62. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  63. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  64. <script type="javascript">
  65. <![CDATA[
  66. var gToday = new Date();
  67. var gBaseyear = gToday.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
  68. var gBasemonth = gToday.getDateFormat("MM");
  69. var gBaseday = gToday.getDateFormat("DD");
  70. var gCurrentdd = gBaseyear + gBasemonth + gBaseday;
  71. var gCurrentym = gBaseyear + gBasemonth;
  72. // -----------------------
  73. // ▶ 화면초기화
  74. // -----------------------
  75. function fInitialize() {
  76. //model.setValue("/root/send/orddd", getCurrentDate());
  77. model.refresh();
  78. btn_select.dispatch("DOMActivate");
  79. }
  80. // ----------------------------------------------------------------------
  81. // ▶ 동일진료일 명세서조회
  82. // ----------------------------------------------------------------------
  83. function fGetDocuList() {
  84. var chk = true;
  85. // if (model.getValue("/root/send/orddd") == "") {
  86. // chk = false;
  87. // messageBox("기준년월은", "I003"); //I003=필수입력입니다.
  88. // model.setFocus("ipt_orddd");
  89. // }
  90. if (chk == true) {
  91. submit("TRPIJ03304");
  92. }
  93. }
  94. // 화면을 초기화한다.
  95. function fSpclGridInsertRow(){
  96. grd_drgalist.AddRow();
  97. grd_drgalist.bottomRow = grd_drgalist.rows;
  98. }
  99. function fSpclGridDeleteRow(){
  100. for (var i = 0; i < grd_drgalist.selectedRows; i++) {
  101. var sel = grd_drgalist.selectedRow(i);
  102. grd_drgalist.rowstatus(sel) = "4";
  103. }
  104. }
  105. ]]>
  106. </script>
  107. </xhtml:head>
  108. <xhtml:body pagewidth="960" pageheight="660" guideline="1,1163;2,727;2,739;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  109. <group id="grp_tle" style="left:0px; top:0px; width:865px; height:13px; ">
  110. <caption id="cap_title" class="tit_1" style="left:0px; top:0px; width:216px; height:15px; ">DRG기준자료 관리</caption>
  111. </group>
  112. <group id="grp_biz" scroll="auto" style="left:0px; top:28px; width:942px; height:592px; ">
  113. <datagrid id="grd_drgalist" nodeset="/root/main/drgalist/drga" class="datagrid3" caption="DRG코드^코드명^기준진료비^평균&#xA;재원&#xA;일수^정상군&#xA;하한입&#xA;원일수^정상군&#xA;상한입&#xA;원일수^고정&#xA;비율^DRG&#xA;구분^상대가치&#xA;점수^점수당&#xA;단가^야간&#xA;공휴&#xA;점수^산부인과&#xA;가산점수^야간공휴금액^로봇수술&#xA;제외금액^시작일자^종료일자^등록자^등록일자^수정자^수정일자" colsep="^" colwidth="56, 382, 75, 36, 45, 45, 35, 36, 66, 51, 55, 55, 80, 80, 76, 76, 60, 100, 60, 100" dataheight="23" ellipsis="true" extendlastcol="scroll" mergecellsfixedcols="bycol" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="32" rowsep="|" tooltip="true" style="left:0px; top:77px; width:940px; height:514px; ">
  114. <col disabled="true" ref="drgno" type="input" maxlength="5" style="text-align:left; "/>
  115. <col ref="cd_name" type="input" maxlength="200"/>
  116. <col ref="std_amt" type="input" format="#,###" maxlength="10" style="text-align:right; "/>
  117. <col ref="avg_adm_days" type="input" format="#,###.00" maxlength="6" style="text-align:right; "/>
  118. <col ref="ngrp_llmt_adm_days" type="input" maxlength="2" style="text-align:right; "/>
  119. <col ref="ngrp_hlmt_adm_days" type="input" maxlength="2" style="text-align:right; "/>
  120. <col ref="fix_amt_rat" type="input" format="#,###.00" maxlength="5" style="text-align:right; "/>
  121. <col checkvalue="Y,N" ref="drg_cls" type="checkbox"/>
  122. <col ref="rlv_pnt" type="input" format="#,###.00" maxlength="12" style="text-align:right; "/>
  123. <col ref="spot_awc_prc" type="input" format="#,###.0" maxlength="12" style="text-align:right; "/>
  124. <col ref="nig_pnt" type="input" format="#,###.00" maxlength="12"/>
  125. <col ref="obgy_pnt" type="input" format="#,###.00" style="text-align:right; "/>
  126. <col ref="nig_amt" type="input" format="#,###" maxlength="12" style="text-align:right; "/>
  127. <col ref="robotamt" type="input" format="#,###" style="text-align:right; "/>
  128. <col disabled="true" ref="fromdd" type="input" format="yyyy-mm-dd" maxlength="8"/>
  129. <col disabled="true" ref="todd" type="input" format="yyyy-mm-dd" maxlength="8"/>
  130. <col ref="fstrgstrid" type="output" style="text-align:center; "/>
  131. <col ref="fstrgstdt" type="output" format="yyyy-mm-dd hh:nn"/>
  132. <col ref="lastupdtrid" style="text-align:center; "/>
  133. <col ref="lastupdtdt" visibility="visible" format="yyyy-mm-dd hh:nn"/>
  134. <script type="javascript" ev:event="onmousedown">
  135. <![CDATA[
  136. if (event.button == 3) { // 3 : 오른쪽 버튼
  137. if (grd_drgalist.isCell(event.target) && grd_drgalist.mouseRow >= grd_drgalist.fixedrows) {
  138. window.setPopupMenu(true, "/root/hidden/popupmenu/clcj/item", "name", "func", false);
  139. } else {
  140. window.showPopupMenu(true);
  141. window.setPopupMenu(true, "/root/hidden/popupmenu/clcj/item", "name", "func", false);
  142. }
  143. }
  144. ]]>
  145. </script>
  146. <script type="javascript" ev:event="DOMFocusOut">
  147. <![CDATA[
  148. window.setPopupMenu(false);
  149. ]]>
  150. </script>
  151. </datagrid>
  152. <caption id="cap_judgtrgtman" class="tit_2" style="left:4px; top:56px; width:234px; height:15px; ">DRG기준자료 리스트</caption>
  153. <line id="line1" class="line_1" style="x1:0px; y1:72px; x2:940px; y2:72px; "/>
  154. <group id="group1" style="left:0px; top:5px; width:940px; height:40px; vertical-align:top; ">
  155. <shape id="roundrect3" appearance="roundrect" style="left:0px; top:0px; width:940px; height:40px; "/>
  156. <button id="btn_select" class="btn1_letter2" navindex="32" style="left:875px; top:10px; width:56px; height:22px; ">
  157. <caption>조회</caption>
  158. <script type="javascript" ev:event="DOMActivate">
  159. <![CDATA[
  160. fGetDocuList();
  161. ]]>
  162. </script>
  163. </button>
  164. <line id="line3" class="line_4" style="x1:860px; y1:5px; x2:860px; y2:38px; "/>
  165. <input id="ipt_drgno" ref="/root/send/drgno" imemode="disabled" _chartype="upper" style="left:100px; top:10px; width:100px; height:19px; ">
  166. <script type="javascript" ev:event="onkeypress">
  167. <![CDATA[
  168. if (event.keyCode == 13) {
  169. setInputNodeCurText(",");
  170. fGetDocuList();
  171. }
  172. ]]>
  173. </script>
  174. </input>
  175. <caption id="caption30" class="search_name" style="left:8px; top:11px; width:95px; height:17px; ">DRG코드 :</caption>
  176. <input id="ipt_cd_name" ref="/root/send/cd_name" style="left:305px; top:10px; width:345px; height:19px; ">
  177. <script type="javascript" ev:event="onkeypress">
  178. <![CDATA[
  179. if (event.keyCode == 13) {
  180. setInputNodeCurText(",");
  181. fGetDocuList();
  182. }
  183. ]]>
  184. </script>
  185. </input>
  186. <caption id="caption1" class="search_name" style="left:223px; top:11px; width:99px; height:17px; ">코드명 :</caption>
  187. <select id="chk_endyn" ref="/root/send/endyn" overflow="visible" appearance="full" style="left:745px; top:11px; width:100px; height:20px; font-weight:bold; border-style:none; ">
  188. <choices>
  189. <item>
  190. <label>종료 제외</label>
  191. <value>Y</value>
  192. </item>
  193. </choices>
  194. </select>
  195. </group>
  196. <button id="btn_excelsave" class="btn2_letter4" _auth="P" style="left:725px; top:52px; width:64px; height:19px; ">
  197. <caption>엑셀저장</caption>
  198. <script type="javascript" ev:event="DOMActivate">
  199. <![CDATA[
  200. grd_drgalist.gridToInstance();
  201. if (grd_drgalist.rows > 1) {
  202. var fileName = window.fileDialog("save", "", false, cap_title.value, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  203. if (fileName != "") {
  204. grd_drgalist.saveExcel(fileName, "sheetname:;colhiddenextend:true;rowhiddenextend:false;col_3:label;col_4:label;col_5:label;col_6:label;", true, true, "", "", true);
  205. }
  206. } else {
  207. messageBox("엑셀저장할 내역이", "I004"); ///엑셀저장할 내역이 없습니다.
  208. }
  209. ]]>
  210. </script>
  211. </button>
  212. <button id="button1" class="btn5_letter2" _auth="P" style="left:898px; top:52px; width:42px; height:19px; ">
  213. <caption>저장</caption>
  214. <script type="javascript" ev:event="DOMActivate">
  215. <![CDATA[
  216. var updtdata = getGridUpdateData(grd_drgalist);
  217. if (updtdata == "") {
  218. messageBox("변경된 데이터가","I004");
  219. return;
  220. }
  221. for (var i=0; i < grd_drgalist.rows; i++){
  222. if ((grd_drgalist.rowStatus(i) == 1 || grd_drgalist.rowStatus(i) == 2 || grd_drgalist.rowStatus(i) == 3) &&
  223. (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("drgno")).length == 0
  224. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("cd_name")).length ==0
  225. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("std_amt")).length ==0
  226. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("avg_adm_days")).length ==0
  227. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("ngrp_llmt_adm_days")).length ==0
  228. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("ngrp_hlmt_adm_days")).length ==0
  229. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("fix_amt_rat")).length ==0
  230. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("rlv_pnt")).length ==0
  231. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("spot_awc_prc")).length ==0
  232. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("nig_pnt")).length ==0
  233. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("nig_amt")).length ==0
  234. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("fromdd")).length ==0
  235. || grd_drgalist.valueMatrix(i,grd_drgalist.colRef("todd")).length ==0))
  236. {
  237. var errmsg = "";
  238. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("todd")).length ==0)
  239. {
  240. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("todd"));
  241. }
  242. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("fromdd")).length ==0)
  243. {
  244. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("fromdd"));
  245. }
  246. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("nig_amt")).length ==0)
  247. {
  248. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("nig_amt"));
  249. }
  250. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("nig_pnt")).length == 0 )
  251. {
  252. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("nig_pnt"));
  253. }
  254. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("spot_awc_prc")).length ==0)
  255. {
  256. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("spot_awc_prc"));
  257. }
  258. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("rlv_pnt")).length == 0 )
  259. {
  260. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("rlv_pnt"));
  261. }
  262. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("fix_amt_rat")).length ==0)
  263. {
  264. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("fix_amt_rat"));
  265. }
  266. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("ngrp_hlmt_adm_days")).length == 0 )
  267. {
  268. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("ngrp_hlmt_adm_days"));
  269. }
  270. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("ngrp_llmt_adm_days")).length ==0)
  271. {
  272. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("ngrp_llmt_adm_days"));
  273. }
  274. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("avg_adm_days")).length == 0 )
  275. {
  276. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("avg_adm_days"));
  277. }
  278. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("std_amt")).length ==0)
  279. {
  280. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("std_amt"));
  281. }
  282. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("cd_name")).length ==0)
  283. {
  284. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("cd_name"));
  285. }
  286. if (grd_drgalist.valueMatrix(i,grd_drgalist.colRef("drgno")).length == 0 )
  287. {
  288. errmsg = grd_drgalist.labelMatrix(0,grd_drgalist.colRef("drgno"));
  289. }
  290. messageBox(errmsg.split("\n").join("") +"는","I003");
  291. return false;
  292. }
  293. }
  294. if (messageBox("저장", "S001") == 6) {
  295. model.setValue("/root/send/drgalist",grd_drgalist.getUpdateData());
  296. if ( submit("TXPIJ03304") ) {
  297. messageBox("저장이","I002");
  298. }
  299. }
  300. ]]>
  301. </script>
  302. </button>
  303. <button id="button2" class="btn2_letter3" _auth="P" style="left:790px; top:52px; width:53px; height:19px; ">
  304. <caption>행종료</caption>
  305. <script type="javascript" ev:event="DOMActivate">
  306. <![CDATA[
  307. fSpclGridDeleteRow();
  308. ]]>
  309. </script>
  310. </button>
  311. <button id="button3" class="btn2_letter3" _auth="P" style="left:844px; top:52px; width:53px; height:19px; ">
  312. <caption>행추가</caption>
  313. <script type="javascript" ev:event="DOMActivate">
  314. <![CDATA[
  315. fSpclGridInsertRow();
  316. ]]>
  317. </script>
  318. </button>
  319. </group>
  320. <button id="btn_cancel" class="btn4_letter2" style="left:884px; top:622px; width:56px; height:22px; ">
  321. <caption>종료</caption>
  322. <close ev:event="DOMActivate"/>
  323. </button>
  324. </xhtml:body>
  325. </xhtml:html>