SMADT00200.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. /**
  2. * ?? ?? ?? : SMADT00200.js
  3. * ?? ?? : ATC ???? ???? Javascriot
  4. * ?? ?? ?? : ??????
  5. * ?? ?? ?? : ??????
  6. * ???????? : 2007.5.07 / ???????? / ??????
  7. */
  8. /**
  9. * ??????
  10. */
  11. function fInit() {
  12. var ioflag = "";
  13. ioflag = getScreenMenuParameter();
  14. model.setValue("/root/hidden/srchinfo/srchflag1", ioflag);
  15. if(ioflag == "O") {
  16. model.setValue("/root/hidden/srchinfo/atcioflag", "1");
  17. } else if( ioflag == "I") {
  18. model.setValue("/root/hidden/srchinfo/atcioflag", "2");
  19. }
  20. radio2.dispatch("xforms-value-changed");
  21. success = submit("TRADT00103");
  22. //???? ??????
  23. model.setValue("/root/hidden/srchinfo/srchtrsmflag","N");
  24. //model.setValue("/root/hidden/srchinfo/srchflag1", "O");
  25. model.setValue("/root/hidden/srchinfo/srchflag2", "");
  26. grd_pat.colhidden(3) = true; //srchflag1? ????? ??column hidden
  27. //???? ??????
  28. var curDate = new Date();
  29. model.setValue("/root/hidden/srchinfo/startdd", getCurrentDate());
  30. model.setValue("/root/hidden/srchinfo/enddd", getCurrentDate());
  31. model.setValue("/root/hidden/srchinfo/starttm", "0000");
  32. model.setValue("/root/hidden/srchinfo/endtm", "2359");
  33. //???? KEY ??????
  34. model.setValue("/root/hidden/srchinfo/drugno", "");
  35. model.setValue("/root/hidden/srchinfo/wardcd", "");
  36. model.setValue("/root/hidden/srchinfo/pid", "");
  37. model.setValue("/root/hidden/srchinfo/srchsumdd", getCurrentDate() );
  38. //TEST - ???? ???? ???? ??????
  39. model.setValue("/root/send/suminfo/pid", "");
  40. model.setValue("/root/send/suminfo/orddd", "");
  41. model.setValue("/root/send/suminfo/cretno", "");
  42. model.setValue("/root/send/suminfo/orddrid", "");
  43. model.setValue("/root/send/suminfo/orddeptcd", "");
  44. grd_prcplist.fixedcellcheckbox(0,1)=true;
  45. grd_pat.fixedcellcheckbox(0,0)=true;
  46. //???? Combo ????
  47. model.setValue("/root/send/deptinfo/deptflag", "W");
  48. success = submit("TRADT00203");
  49. if (success) astfAddCombo("/root/hidden/deptlist","ward","wardcd,wardnm",",전체");
  50. model.refresh();
  51. }
  52. /**
  53. * ATC 환자리스트 조회
  54. */
  55. function fPatListSrch() {
  56. model.copyNode("/root/send/srchinfo", "/root/hidden/srchinfo");
  57. submit("TRADT00206");
  58. grd_pat.fixedcellcheckbox(0,0)=true;
  59. if ( grd_pat.rows >0) {
  60. grd_pat.row =1;
  61. }
  62. for(var i = 1; i <= getNodesetCount("/root/main/pat/patlist"); i++) {
  63. if (model.getValue("/root/main/pat/patlist[" + i + "]/powdflag") == "Y") {
  64. grd_pat.isReadOnly(i, grd_pat.colRef("sel"), i, grd_pat.colRef("powdflag")) = true;
  65. } else {
  66. grd_pat.isReadOnly(i, grd_pat.colRef("sel"), i, grd_pat.colRef("powdflag")) = false;
  67. }
  68. }
  69. }
  70. /**
  71. * ATC 환자리스트 선택시 전송대상자료 표시
  72. */
  73. function fATCPrcpData() {
  74. var pat_info;
  75. /*
  76. @ 용법코드 변경 옵션 여부 설정 - 20091107
  77. - gv_mthdOpt
  78. - default : N
  79. */
  80. gv_mthdOpt = model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/mthdopt");
  81. model.setValue("/root/send/prcpinfo/drugdd", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/drugdd"));
  82. model.setValue("/root/send/prcpinfo/drugno", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/drugno"));
  83. model.setValue("/root/send/prcpinfo/ioflag", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/ioflag"));
  84. model.setValue("/root/send/prcpinfo/pid", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/pid"));
  85. model.setValue("/root/send/prcpinfo/srchpid", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/pid"));
  86. model.setValue("/root/send/prcpinfo/orddd", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/orddd"));
  87. model.setValue("/root/send/prcpinfo/srchindd", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/orddd"));
  88. model.setValue("/root/send/prcpinfo/cretno", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/cretno"));
  89. model.setValue("/root/send/prcpinfo/orddeptcd", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/orddeptcd"));
  90. model.setValue("/root/send/prcpinfo/prcpgenrflag", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/prcpgenrflag"));
  91. model.setValue("/root/send/prcpinfo/prnt_drugflag", model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/prnt_drugflag"));
  92. model.setValue("/root/send/prcpinfo/atcioflag", model.getValue("/root/hidden/srchinfo/atcioflag"));
  93. model.setValue("/root/hidden/atcno",model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/atcno"));
  94. model.setValue("/root/temp/selrow", grd_pat.row);
  95. model.refresh();
  96. if ( model.getValue("/root/hidden/srchinfo/srchflag1") =="O" ){
  97. pat_info = "O▦"+ model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/pid") +"▦"+model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/drugdd")+"▦"+model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/cretno")+"▦"+getUserInfo("dutplceinstcd")+"▦1▦"+model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/drugdd");
  98. } else if ( model.getValue("/root/hidden/srchinfo/srchflag1") =="I" ){
  99. pat_info = "I▦"+ model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/pid") +"▦"+model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/orddd")+"▦"+model.getValue("/root/main/pat/patlist["+grd_pat.row+"]/cretno")+"▦1▦"+getUserInfo("dutplceinstcd");
  100. }
  101. setParameter("condparam",pat_info);
  102. //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  103. submit("TRADT00202");
  104. /*var pamInfoCvs = getGlobalVariable("paminfo");
  105. alert(pamInfoCvs);
  106. if(!isNull(pamInfoCvs)){ //cvs가 null이 아닌 경우에만 처리함.
  107. model.removeNodeSet ( "/root/paminfo/list" ); //상단화면 정보 초기화
  108. setCSVToNode ( "/root/paminfo", pamInfoCvs );
  109. }*/
  110. // for ( var i = 1 ; i < grd_prcplist.rows; i++){
  111. // grd_prcplist.addStatus(i,"update");
  112. // }
  113. /*
  114. // 2008-10-16 이선경 수정 (기타용법(zzz)을 낸 경우 default값으로 1회는 아침, 2회는 아침,저녁으로 선택되도록)
  115. for(i = 1; i <= getNodesetCount("/root/main/prcp/prcplist") ; i++){
  116. if(model.getValue("/root/main/prcp/prcplist["+ i + "]/mthdcd1") == "Z"){
  117. if(model.getValue("/root/main/prcp/prcplist["+ i + "]/prcptims") == 1 ) {
  118. model.setValue("/root/main/prcp/prcplist["+ i + "]/morningadminqty", "1");
  119. model.setValue("/root/main/prcp/prcplist["+ i + "]/lunchadminqty", "0");
  120. model.setValue("/root/main/prcp/prcplist["+ i + "]/dinneradminqty", "0");
  121. model.setValue("/root/main/prcp/prcplist["+ i + "]/bedtimeadminqty", "0");
  122. model.setValue("/root/main/prcp/prcplist["+ i + "]/specialadminqty", "0");
  123. } else if(model.getValue("/root/main/prcp/prcplist["+ i + "]/prcptims") == 2 ) {
  124. model.setValue("/root/main/prcp/prcplist["+ i + "]/morningadminqty", "1");
  125. model.setValue("/root/main/prcp/prcplist["+ i + "]/lunchadminqty", "0");
  126. model.setValue("/root/main/prcp/prcplist["+ i + "]/dinneradminqty", "1");
  127. model.setValue("/root/main/prcp/prcplist["+ i + "]/bedtimeadminqty", "0");
  128. model.setValue("/root/main/prcp/prcplist["+ i + "]/specialadminqty", "0");
  129. }
  130. }
  131. }
  132. model.refresh();*/
  133. //2009-02-23 이선경 추가(mixno 정리)
  134. fMakeMixno();
  135. }
  136. /**
  137. * mixno 재정리
  138. **/
  139. function fMakeMixno() {
  140. var prevno = 0;
  141. var minno = 70;
  142. for(var i = 1; i <= getNodesetCount("/root/main/prcp/prcplist") ; i++) {
  143. if(model.getValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno") != "-" && model.getValue("/root/main/prcp/prcplist["+ i + "]/prcpmixnoyn") == "-") {
  144. if( prevno == 0) {
  145. prevno = model.getValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno");
  146. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno", minno);
  147. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixnoyn", "Y");
  148. } else {
  149. if(prevno == model.getValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno")) {
  150. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno", minno);
  151. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixnoyn", "Y");
  152. } else {
  153. prevno = model.getValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno");
  154. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixno", minno++);
  155. model.setValue("/root/main/prcp/prcplist["+ i + "]/prcpmixnoyn", "Y");
  156. }
  157. }
  158. for(var j = i; j <= getNodesetCount("/root/main/prcp/prcplist") ; j++) {
  159. if(prevno == model.getValue("/root/main/prcp/prcplist["+ j + "]/prcpmixnofix")) {
  160. model.setValue("/root/main/prcp/prcplist["+ j + "]/prcpmixno", minno);
  161. model.setValue("/root/main/prcp/prcplist["+ j + "]/prcpmixnoyn", "Y");
  162. }
  163. }
  164. }
  165. }
  166. }
  167. /**
  168. * ATC 전송대상자료 저장
  169. */
  170. function fSavePrcpList(trsmflag, irow) {
  171. var rowno = "";
  172. if(irow == "") {
  173. rowno = grd_pat.row;
  174. } else {
  175. rowno = irow;
  176. }
  177. var idx = model.getValue("/root/temp/selrow");
  178. if(idx == "") {
  179. idx = rowno;
  180. }
  181. // if (model.getValue("/root/main/pat/patlist["+ model.getValue("/root/temp/selrow")+"]/atcno") != "0" && model.getValue("/root/main/pat/patlist["+ model.getValue("/root/temp/selrow")+"]/atcno") != "" ) {
  182. if (model.getValue("/root/main/pat/patlist["+ rowno+"]/atcno") != "0" && model.getValue("/root/main/pat/patlist["+ rowno+"]/atcno") != "" ) {
  183. var lastdt = model.getValue("/root/main/pat/patlist[" + idx + "]/trsmlastdt");
  184. var trsmdt = "";
  185. if(trim(lastdt) != "") trsmdt = "'" + lastdt.substring(0, 4) + "-" + lastdt.substring(4, 6) + "-" + lastdt.substring(6, 8) + " " + lastdt.substring(8, 10) + ":" + lastdt.substring(10, 12) + ":" + lastdt.substring(12, 14) + "' 에";
  186. var str = "";
  187. if(irow == "") {//일괄전송시에는 메시지 체크안함
  188. if(trsmflag == "T") {
  189. str = trsmdt + "전송된 처방입니다. 저장 하시겠습니까?" ;
  190. } else {
  191. str = trsmdt + "전송된 처방입니다. 재전송 하시겠습니까?" ;
  192. }
  193. if (messageBox(str, "Q099") !=6){
  194. return;
  195. }
  196. }
  197. } else { //재전송이 아닐때 조제완료 처리
  198. // 전송정보
  199. model.setValue("/root/send/req/drugdd" , model.getValue("/root/send/prcpinfo/drugdd"));
  200. model.setValue("/root/send/req/drugno" , model.getValue("/root/send/prcpinfo/drugno"));
  201. model.setValue("/root/send/req/ioflag" , model.getValue("/root/send/prcpinfo/ioflag"));
  202. model.setValue("/root/send/req/drugstat" , "D");
  203. model.setValue("/root/send/req/userid" , getUserId());
  204. model.setValue("/root/send/req/instcd" , getUserInfo("dutplceinstcd"));
  205. model.setValue("/root/send/req/dispflag" ,"D");
  206. model.setValue("/root/send/req/inputtm" ,getCurrentTime());
  207. //전광판 데이터
  208. //submit("TXADT00702");
  209. // 수정
  210. //var success = submit("TXADT00701"); //요청에 따라 뺌
  211. }
  212. if(irow != "") {//일괄전송시에는 메시지 체크안함
  213. if (trsmflag != "T" && ( model.getValue("/root/hidden/atcno") =="" || model.getValue("/root/hidden/atcno") =="0" ) ){
  214. messageBox("ATC 호기를 ","C002");
  215. return;
  216. }
  217. }
  218. model.copyNode("/root/send/atcinfo/patinfo", "/root/main/pat/patlist["+ rowno +"]");
  219. if(trsmflag != "T") {
  220. model.setValue("/root/send/atcinfo/patinfo/atcno", model.getValue("/root/hidden/atcno"));
  221. } else {
  222. model.setValue("/root/send/atcinfo/patinfo/atcno", "");
  223. }
  224. model.setValue("/root/send/atcinfo/patinfo/trsmflag", trsmflag);
  225. //model.setValue( "/root/send/atcinfo/prcplist", grd_prcplist.getUpdateData());
  226. if(irow == "") {
  227. nodeList = instance1.selectNodes("/root/main/prcp/prcplist");
  228. rCSV = getNodeListCSV(nodeList);
  229. model.makeValue("/root/send/atcinfo/prcplist",rCSV);
  230. } else {
  231. model.removeNodeset("/root/send/atcinfo/prcplist");
  232. }
  233. //model.setValue("/root/main/pat/patlist["+ model.getValue("/root/temp/selrow")+"]/atcno", model.getValue("/root/hidden/atcno"));
  234. if(trsmflag != "T") {
  235. model.setValue("/root/main/pat/patlist["+ rowno +"]/atcno", model.getValue("/root/hidden/atcno"));
  236. } else {
  237. model.setValue("/root/main/pat/patlist["+ rowno +"]/atcno", "");
  238. }
  239. model.refresh();
  240. model.makeValue("/root/send/atcinfo/patinfo/atcioflag", model.getValue("/root/hidden/srchinfo/atcioflag"));
  241. // 이선경 2008-07-17 start (ast.adbmmthd에 mthdcd 값이 존재하는 용법인지 체크후 없으면 메시지)
  242. var mthdcd = "";
  243. var saveyn = "N";
  244. /*
  245. for(var i = 1; i < grd_prcplist.rows; i++) {
  246. mthdcd = model.getValue("/root/main/prcp/prcplist[" + i + "]/mthdcd1")
  247. +model.getValue("/root/main/prcp/prcplist[" + i + "]/mthdcd2")
  248. +model.getValue("/root/main/prcp/prcplist[" + i + "]/mthdcd3")
  249. +model.getValue("/root/main/prcp/prcplist[" + i + "]/mthdcd4")
  250. +model.getValue("/root/main/prcp/prcplist[" + i + "]/mthdcd5");
  251. model.setValue("/root/send/mthdcd", mthdcd);
  252. submit("TRADT00205");
  253. if(model.getValue("/root/temp/checkmthdcd/mthdcdyn") == "N") {
  254. messageBox(mthdcd + " 용법은", "I004");
  255. return;
  256. } else {
  257. saveyn = "Y";
  258. }
  259. }
  260. */
  261. saveyn = "Y";
  262. if(saveyn == "Y") {
  263. if ( submit("TXADT00203", false) == true ){
  264. if(irow == "") {
  265. submit("TRADT00202", false);
  266. model.setFocus("ipt_drugno");
  267. model.removeNodeset("/root/main/prcp/prcplist");
  268. //fPatListSrch();
  269. model.setValue("/root/hidden/srchinfo/drugno","");
  270. model.setValue("/root/hidden/srchinfo/pid","");
  271. model.setValue("/root/hidden/srchinfo/wardcd","");
  272. model.refresh();
  273. }
  274. }
  275. //model.copyNode("/root/send/atcinfo/actlist", "/root/main/prcp/prcplist["+grd_prcplist.row+"]");
  276. /*var chk = getGridUpdateData(grd_prcplist);
  277. if( chk != ""){
  278. model.removeNodeset("/root/send/atcinfo/actlist");
  279. setCSVToNode("/root/send/atcinfo", chk, "actlist");
  280. //submit("TXADT00202");
  281. } else {
  282. messageBox("?????? ????????", "I004");
  283. }
  284. model.refresh();*/
  285. // fPatListSrch();
  286. }
  287. // 이선경 2008-07-17 end (존재하는 용법인지 체크후 없으면 메시지 올바른 용법이 하나라도 존재하면 저장)
  288. }
  289. function fResetMemo(){
  290. model.setValue("/root/main/prcp/memoinfo/pid" , model.getValue("/root/main/prcp/baseinfo/pid"));
  291. model.setValue("/root/main/prcp/memoinfo/indd" , model.getValue("/root/main/prcp/baseinfo/indd"));
  292. model.setValue("/root/main/prcp/memoinfo/useyn" , "Y");
  293. model.setValue("/root/main/prcp/memoinfo/seqno" , "");
  294. model.setValue("/root/main/prcp/memoinfo/memo" , "");
  295. model.setValue("/root/main/prcp/memoinfo/orddeptcd" , model.getValue("/root/main/prcp/baseinfo/orddeptcd"));
  296. model.setValue("/root/main/prcp/memoinfo/writid" , getUserId());
  297. model.setValue("/root/main/prcp/memoinfo/writid2" , "");
  298. model.setValue("/root/main/prcp/memoinfo/writnm" , getUserName());
  299. model.setValue("/root/main/prcp/memoinfo/writdt" , model.getValue("/root/init/dateinfo/currentdt"));
  300. model.setValue("/root/main/prcp/memoinfo/ioflag" ,"I");
  301. // 사번/이름/일자 다시 세팅
  302. model.refresh();
  303. }