SMADB04200_혼동주의관리.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  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. <warndruginfo>
  11. <warndruglist>
  12. <warnitemcd/>
  13. <mngtcd/>
  14. <drugcd/>
  15. <drugnm/>
  16. <instcd/>
  17. <newyn/>
  18. </warndruglist>
  19. </warndruginfo>
  20. </main>
  21. <send>
  22. <srchinfo>
  23. <srchdrugcd/>
  24. <srchdrugnm/>
  25. </srchinfo>
  26. <savedata>
  27. <warndrug/>
  28. </savedata>
  29. <req>
  30. <srchdrugcd/>
  31. </req>
  32. <useriddata>
  33. <chkpid/>
  34. </useriddata>
  35. </send>
  36. <init>
  37. <cmblist>
  38. <warnitemlist>
  39. </warnitemlist>
  40. </cmblist>
  41. <drugitem>
  42. <drugcd/>
  43. <drugnm/>
  44. </drugitem>
  45. </init>
  46. <hidden>
  47. <item>
  48. <count/>
  49. </item>
  50. <chkpid>
  51. <pharm>
  52. <pharmflag/>
  53. </pharm>
  54. </chkpid>
  55. </hidden>
  56. <temp>
  57. <receivedata>
  58. <receiveref>/root/temp/receivedata/drugcd</receiveref>
  59. <drugcd/>
  60. <drugnm/>
  61. <comcd/>
  62. </receivedata>
  63. </temp>
  64. </root>
  65. </instance>
  66. <script type="javascript">
  67. <![CDATA[
  68. function fGetWarnDruglist() {
  69. if(submit("TRADB04201")) {
  70. for(var iRowNo = 1 ; iRowNo <= getNodesetCount("/root/main/warndruginfo/warndruglist") ; iRowNo++) {
  71. grd_warndrugist.isReadOnly(iRowNo, grd_warndrugist.colRef("warnitemcd")) = true;
  72. }
  73. }
  74. }
  75. ]]>
  76. </script>
  77. <submission id="TRADB00001"/>
  78. <submission id="TRADB04201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/srchinfo" replace="instance" resultref="/root/main/warndruginfo/warndruglist"/>
  79. <submission id="TXADB04201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" replace="instance" resultref="/root/hidden"/>
  80. <submission id="TRADB02604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/init/drugitem"/>
  81. <submission id="TRADC00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/useriddata/chkpid" resultref="/root/hidden/chkpid"/>
  82. </model>
  83. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  84. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  85. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  86. <script type="javascript" src="../../../ast/pharmacybaseweb/js/pharmacycombolist.js"/>
  87. <script type="javascript" ev:event="xforms-ready">
  88. <![CDATA[
  89. //혼동주의항목 조회
  90. pharmacyGetCodeList( new Array("WARN"), new Array("/root/init/cmblist/warnitemlist") );
  91. // 20120614_약사군 이외에는 조회만 가능하게 수정
  92. model.setValue("/root/send/useriddata/chkpid", getUserInfo("userid"));
  93. submit("TRADC00104");
  94. if ( model.getValue("/root/hidden/chkpid/pharm/pharmflag")!= "Y" ) { //약사가 아닌경우는 버튼 Hidden 처리
  95. btn_save.attribute("visibility") = "hidden"; //저장
  96. btn_grdnew.attribute("visibility") = "hidden"; //관리코드추가
  97. button50.attribute("visibility") = "hidden"; //약품코드추가
  98. btn_grddel.attribute("visibility") = "hidden"; //행삭제
  99. }
  100. fGetWarnDruglist() ;
  101. model.refresh();
  102. ]]>
  103. </script>
  104. </xhtml:head>
  105. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  106. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  107. <caption id="caption19" class="tit_1" style="left:0px; top:0px; width:225px; height:13px; ">고주의(혼동주의) 관리</caption>
  108. </group>
  109. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  110. <group id="group2" style="left:0px; top:0px; width:1194px; height:45px; ">
  111. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:3px; width:1194px; height:40px; background-color:#fffbf2; border-color:#ffd799; "/>
  112. <button id="button3" class="btn1_letter2" style="left:1119px; top:13px; width:56px; height:22px; ">
  113. <caption>조회</caption>
  114. <script type="javascript" ev:event="DOMActivate">
  115. <![CDATA[
  116. fGetWarnDruglist();
  117. ]]>
  118. </script>
  119. </button>
  120. <caption id="caption1" class="search_name" style="left:248px; top:13px; width:86px; height:17px; ">약품명 :</caption>
  121. <line id="line13" class="line_4" style="x1:1095px; y1:10px; x2:1095px; y2:38px; border-color:#ffe4bb; border-left-style:solid; "/>
  122. <caption id="caption3" class="search_name" style="left:5px; top:13px; width:86px; height:17px; ">약품코드 :</caption>
  123. <input id="ipt_srchdrugnm" ref="/root/send/srchinfo/srchdrugnm" class="input_search" inputtype="button" maxlength="100" style="left:325px; top:13px; width:520px; height:19px; ">
  124. <script type="javascript" ev:event="onkeypress">
  125. <![CDATA[
  126. if(event.keyCode == 13) {
  127. model.setValue("/root/send/srchinfo/srchdrugnm", ipt_srchdrugnm.currentText);
  128. ipt_srchdrugnm.refresh();
  129. fGetWarnDruglist();
  130. }
  131. ]]>
  132. </script>
  133. <script type="javascript" ev:event="onbuttonclick">
  134. <![CDATA[
  135. // 약품코드 검색
  136. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  137. var drugcode = model.getValue("/root/temp/receivedata/drugcd");
  138. // 약품명 검색
  139. if (drugcode != "") {
  140. model.setValue("/root/send/req/srchdrugcd", drugcode);
  141. if(submit("TRADB02604",false)){
  142. model.setValue("/root/send/srchinfo/srchdrugnm", model.getValue("/root/init/drugitem/drugnm"));
  143. model.resetInstanceNode("/root/init/drugitem");
  144. }
  145. }
  146. ipt_srchdrugnm.refresh();
  147. ]]>
  148. </script>
  149. </input>
  150. <input id="ipt_srchdrugcd" ref="/root/send/srchinfo/srchdrugcd" class="input_search" inputtype="button" maxlength="7" style="left:97px; top:13px; width:130px; height:19px; ">
  151. <script type="javascript" ev:event="onkeypress">
  152. <![CDATA[
  153. if(event.keyCode == 13) {
  154. model.setValue("/root/send/srchinfo/srchdrugcd", ipt_srchdrugcd.currentText);
  155. ipt_srchdrugcd.refresh();
  156. fGetWarnDruglist();
  157. }
  158. ]]>
  159. </script>
  160. <script type="javascript" ev:event="onbuttonclick">
  161. <![CDATA[
  162. // 약품코드 검색
  163. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  164. var drugcode = model.getValue("/root/temp/receivedata/drugcd");
  165. // 약품명 검색
  166. if (drugcode != "") {
  167. model.makeValue("/root/send/srchinfo/srchdrugcd",drugcode);
  168. }
  169. ipt_srchdrugcd.refresh();
  170. ]]>
  171. </script>
  172. </input>
  173. </group>
  174. <button id="button50" class="btn2_letter6" style="left:1052px; top:50px; width:86px; height:19px; ">
  175. <caption>약품코드추가</caption>
  176. <script type="javascript" ev:event="DOMActivate">
  177. <![CDATA[
  178. var iBfRowNo = grd_warndrugist.row;
  179. var iAfRowNo = 0;
  180. if(iBfRowNo < grd_warndrugist.fixedRows) {
  181. messageBox("약품코드를 추가할 관리코드를 선택하여 주십시오.", "I999");
  182. return;
  183. }
  184. if(model.getValue("/root/main/warndruginfo/warndruglist["+ iBfRowNo +"]/mngtcd") == "") {
  185. messageBox("관리코드를 먼저 입력하여(혼동주의 항목 선택) 주십시오.", "I999");
  186. return;
  187. }
  188. grd_warndrugist.insertRow(iBfRowNo, "below", false, true);
  189. iAfRowNo = grd_warndrugist.row;
  190. grd_warndrugist.valueMatrix(iAfRowNo, grd_warndrugist.colRef("warnitemcd")) = grd_warndrugist.valueMatrix(iBfRowNo, grd_warndrugist.colRef("warnitemcd"));
  191. grd_warndrugist.valueMatrix(iAfRowNo, grd_warndrugist.colRef("mngtcd")) = grd_warndrugist.valueMatrix(iBfRowNo, grd_warndrugist.colRef("mngtcd"));
  192. model.setValue("/root/main/warndruginfo/warndruglist["+ iAfRowNo +"]/newyn", "N");
  193. grd_warndrugist.isReadOnly(iAfRowNo, grd_warndrugist.colRef("warnitemcd")) = true;
  194. grd_warndrugist.isReadOnly(iAfRowNo, grd_warndrugist.colRef("mngtcd")) = true;
  195. grd_warndrugist.refresh();
  196. ]]>
  197. </script>
  198. </button>
  199. <datagrid id="grd_warndrugist" nodeset="/root/main/warndruginfo/warndruglist" backcoloralternate="#f0f0f0" caption="혼동주의 항목^관리코드^약품코드^처방명^newyn" colwidth="145, 121, 129, 515, 100" explorerbar="sortshow" extendlastcol="scroll" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="update" style="left:0px; top:75px; width:1194px; height:595px; ">
  200. <col ref="warnitemcd" type="combo">
  201. <choices>
  202. <itemset nodeset="/root/init/cmblist/warnitemlist/WARN">
  203. <label ref="cdnm"/>
  204. <value ref="cdid"/>
  205. </itemset>
  206. </choices>
  207. </col>
  208. <col ref="mngtcd"/>
  209. <col ref="drugcd" type="inputbutton" _key="true"/>
  210. <col ref="drugnm"/>
  211. <col ref="newyn" visibility="hidden"/>
  212. <script type="javascript" ev:event="onbuttonclick">
  213. <![CDATA[
  214. var iRowNo = grd_warndrugist.row;
  215. var sDrugCode = "";
  216. if(grd_warndrugist.col == grd_warndrugist.colRef("drugcd")){
  217. if(grd_warndrugist.rowStatus(iRowNo) != "1" && grd_warndrugist.rowStatus(iRowNo) != "3") {
  218. messageBox("약품코드는 추가 및 삭제만 가능 합니다.", "I999");
  219. return;
  220. }
  221. // 약품코드 검색
  222. modal("SPADB60100",0,100,150,"SPADB60100","/root/temp/receivedata","/root/temp/receivedata");
  223. sDrugCode = model.getValue("/root/temp/receivedata/drugcd");
  224. if(sDrugCode != "") {
  225. model.setValue("/root/send/req/srchdrugcd", sDrugCode);
  226. if(submit("TRADB02604",false)){
  227. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugnm", model.getValue("/root/init/drugitem/drugnm"));
  228. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugcd", model.getValue("/root/init/drugitem/drugcd"));
  229. model.resetInstanceNode("/root/init/drugitem");
  230. }
  231. }
  232. model.setValue("/root/temp/receivedata/drugcd", "");
  233. grd_warndrugist.refresh();
  234. }
  235. ]]>
  236. </script>
  237. <script type="javascript" ev:event="onkeypress">
  238. <![CDATA[
  239. var iRowNo = grd_warndrugist.row;
  240. var sDrugCode = "";
  241. if(event.keyCode == "13") {
  242. if(grd_warndrugist.col == grd_warndrugist.colRef("drugcd")){
  243. sDrugCode = model.getValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugcd");
  244. if (sDrugCode == "") {
  245. messageBox("약품코드를", "C001");
  246. }
  247. model.setValue("/root/send/req/srchdrugcd",sDrugCode.toUpperCase());
  248. if(submit("TRADB02604")) {
  249. if(model.getValue("/root/init/drugitem/drugcd") == "") {
  250. messageBox("존재하지 않는 약품코드 입니다.", "I999");
  251. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugcd", "");
  252. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugnm", "");
  253. return;
  254. }
  255. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugnm", model.getValue("/root/init/drugitem/drugnm"));
  256. model.setValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/drugcd", model.getValue("/root/init/drugitem/drugcd"));
  257. model.resetInstanceNode("/root/init/drugitem");
  258. }
  259. model.setValue("/root/temp/receivedata/drugcd", "");
  260. }
  261. grd_warndrugist.refresh();
  262. }
  263. ]]>
  264. </script>
  265. <script type="javascript" ev:event="xforms-value-changed">
  266. <![CDATA[
  267. var iRow = grd_warndrugist.row;
  268. var sMngtCd = "";
  269. var iCurNo = 1;
  270. var sUsedYN = "Y";
  271. var iMaxNo = 1;
  272. var iLastNo = 1;
  273. if (iRow >= grd_warndrugist.fixedRows && grd_warndrugist.col == grd_warndrugist.colRef("warnitemcd")) {
  274. for(var iRowNo = 1 ; iRowNo < grd_warndrugist.rows ; iRowNo++) {
  275. if((model.getValue("/root/main/warndruginfo/warndruglist["+ iRow +"]/warnitemcd")
  276. != model.getValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/warnitemcd"))
  277. || model.getValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/warnitemcd") == ""
  278. || iRowNo == iRow) {
  279. continue;
  280. }
  281. sMngtCd = model.getValue("/root/main/warndruginfo/warndruglist["+ iRowNo +"]/mngtcd");
  282. iCurNo = Number(sMngtCd.substr(2, 5));
  283. iCurNo = iCurNo + 1;
  284. iLastNo = iCurNo;
  285. //현재값 +1 을 이미 사용하고 있는지 확인한다.
  286. for(var iNo2 = 1 ; iNo2 < grd_warndrugist.rows ; iNo2++) {
  287. if((model.getValue("/root/main/warndruginfo/warndruglist["+ iRow +"]/warnitemcd")
  288. != model.getValue("/root/main/warndruginfo/warndruglist["+ iNo2 +"]/warnitemcd"))
  289. || model.getValue("/root/main/warndruginfo/warndruglist["+ iNo2 +"]/warnitemcd") == ""
  290. || iNo2 == iRow) {
  291. continue;
  292. }
  293. if(iCurNo == Number( (model.getValue("/root/main/warndruginfo/warndruglist["+ iNo2 +"]/mngtcd").substr(2, 5)) ) ) {
  294. sUsedYN = "Y";
  295. break;
  296. }
  297. if(iNo2 == (grd_warndrugist.rows-1)) {
  298. sUsedYN = "N";
  299. iLastNo = iCurNo;
  300. }
  301. }
  302. if(sUsedYN == "N") {
  303. break;
  304. }
  305. }
  306. model.setValue("/root/main/warndruginfo/warndruglist["+ iRow +"]/mngtcd", model.getValue("/root/main/warndruginfo/warndruglist["+ iRow +"]/warnitemcd") + String(iLastNo).getLeftPad(4, "0"));
  307. grd_warndrugist.refresh();
  308. }
  309. ]]>
  310. </script>
  311. </datagrid>
  312. <button id="btn_grddel" class="btn2_letter3" style="left:1141px; top:50px; width:53px; height:19px; ">
  313. <caption>행삭제</caption>
  314. <script type="javascript" ev:event="DOMActivate">
  315. <![CDATA[
  316. var iRow = grd_warndrugist.row;
  317. if(iRow < grd_warndrugist.fixedRows) {
  318. messageBox("삭제할 행을 선택하여 주십시오.", "I999");
  319. return;
  320. }
  321. if(grd_warndrugist.rowStatus(iRow) == "1" || grd_warndrugist.rowStatus(iRow) == "3") {
  322. grd_warndrugist.deleteRow(iRow);
  323. } else {
  324. grd_warndrugist.rowStatus(iRow) = 4;
  325. }
  326. grd_warndrugist.refresh();
  327. ]]>
  328. </script>
  329. </button>
  330. <caption id="caption9" class="tit_2" style="left:5px; top:55px; width:144px; height:13px; ">혼동주의 코드 리스트</caption>
  331. <line id="line4" class="line_1" style="x1:0px; y1:70px; x2:1194px; y2:70px; "/>
  332. <button id="btn_grdnew" class="btn2_letter6" style="left:963px; top:50px; width:86px; height:19px; ">
  333. <caption>관리코드추가</caption>
  334. <script type="javascript" ev:event="DOMActivate">
  335. <![CDATA[
  336. grd_warndrugist.addItem();
  337. model.setValue("/root/main/warndruginfo/warndruglist["+ grd_warndrugist.row +"]/newyn", "Y");
  338. grd_warndrugist.bottomRow = grd_warndrugist.row;
  339. ]]>
  340. </script>
  341. </button>
  342. </group>
  343. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  344. <button id="btn_save" class="btn4_letter2" style="left:1138px; top:5px; width:56px; height:22px; ">
  345. <caption>저장</caption>
  346. <script type="javascript" ev:event="DOMActivate">
  347. <![CDATA[
  348. model.setValue("/root/send/savedata/warndrug", grd_warndrugist.getUpdateData());
  349. setAlertOn();
  350. if(submit("TXADB04201")) {
  351. fGetWarnDruglist();
  352. }
  353. ]]>
  354. </script>
  355. </button>
  356. </group>
  357. </xhtml:body>
  358. </xhtml:html>