SPMNP01805.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. /* ---------------------------------------------------------------------
  2. SPMNP01805_마취CART복사조회.xrw (SMMNP01805.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By K. J. M
  6. : 2010.02.10
  7. ---------------------------------------------------------------------- */
  8. // Global Main Path
  9. var gPathCart = "/root/main/MnphcagoLists" + " " // 0 Cart물품
  10. + "/root/main/MnpmcartList" + " " // 1 CartCode
  11. + "/root/main/MmbhppdsLists" + " " // 2 처치처방
  12. + "/root/init/Wk1802/DelMnphcagoListss" + " " // 3 삭제Cart물품
  13. + "/root/init/Wk1802/codelists" + " " // 4 Save Cart Master
  14. + "/root/init/Wk1802/MnphcagoLists" + " " // 5 Save 물품 내역
  15. + "/root/main/MmohoprsLists/mmohoprslist" + " " // 6 예약정보 Path
  16. + "/root/main/operation/list" + " " // 7 수술예약 상단정보
  17. + "/root/main/CartOrdData" ; // 8 Cart Order Display Data Instance Path
  18. var gCartPath = gPathCart.split(" ");
  19. // CCDS Display Instance Path
  20. var tPathName = "/orddeptcd" + " " // 0 진료과
  21. + "/perfid" + " " // 1 집도의
  22. + "/ccrtno" + " " // 2 Cart코드
  23. + "/cp_orddeptcd" + " " // 3 진료과
  24. + "/cp_perfid" + " " // 4 집도의
  25. + "/cp_ccrtno" ; // 5 Cart코드
  26. var tPathNode = tPathName.split(" "); //gPathNode[1]+tPathNode
  27. // CCDS Clear Path
  28. var PathClearNm = "/root/main/MnpmcartList/orddeptcd/codelist" + " " // 0 진료과
  29. + "/root/main/MnpmcartList/perfid/codelist" + " " // 1 집도의
  30. + "/root/main/MnpmcartList/ccrtno/codelist" + " " // 2 Cart코드
  31. + "/root/main/MnphcagoLists/mnphcagolist" + " " // 3 물품
  32. + "/root/main/MnpmcartList/cp_orddeptcd/codelist" + " " // 4 진료과
  33. + "/root/main/MnpmcartList/cp_perfid/codelist" + " " // 5 집도의
  34. + "/root/main/MnpmcartList/cp_ccrtno/codelist" + " " // 6 Cart코드
  35. + "/root/main/CMnphcagoLists/mnphcagolist" + " " // 7 물품
  36. + "/root/init/Wk1802/scond/ccrtno" ; // 8 Cart코드
  37. var PathClear = PathClearNm.split(" ");
  38. // Refresh Document Id
  39. var wRefreshDoc = "cmb_orddept" + " " // 0 진료과
  40. + "grd_perfid" + " " // 1 집도의
  41. + "grd_ccrtno" + " " // 2 Cart코드
  42. + "grd_good" + " " // 3 물품
  43. + "cmb_cp_orddept" + " " // 4 진료과
  44. + "cmb_cp_ccrtno" + " " // 5 Cart코드
  45. + "cmb_cp_perfdr" + " " // 6 집도의
  46. + "grd_cgood" ; // 7 물품
  47. var wRefresh = wRefreshDoc.split(" ");
  48. var sOproomcd = ""; // 환자의 수술방코드
  49. var sCartgubn = "";
  50. // --------------------------------------------------
  51. // 화면 Loading시 처리하는 함수
  52. // 약속처방 Tree정보 가져오기
  53. // --------------------------------------------------
  54. function fInit() {
  55. sOproomcd = opener.javascript.getParameter("SPMNP01802_oproomcd");
  56. opener.javascript.setParameter("SPMNP01802_oproomcd","");
  57. sCartgubn = opener.javascript.getParameter("SPMNP01802_cartgubn");
  58. opener.javascript.setParameter("SPMNP01802_cartgubn", "");
  59. sInsuKind = opener.javascript.getParameter("SPMNP01802_insukindcd");
  60. opener.javascript.setParameter("SPMNP01802_insukindcd", "");
  61. model.setValue("/root/init/Wk1802/cond/insukind", sInsuKind);
  62. fRemoveNode(1); // 1 집도의
  63. fRemoveNode(2); // 2 Cart코드
  64. fRemoveNode(3); // 3 물품
  65. if( (sCartgubn == "A")||(sCartgubn == "R") ) {//마취, 회복은 마취로 셋팅
  66. model.setValue("/root/hidden/cartgubn", "A");
  67. }else {
  68. model.setValue("/root/hidden/cartgubn", sCartgubn);
  69. }
  70. grd_good.fixedcellcheckbox(0,0) = true;
  71. model.removenode("/root/send");
  72. model.makeValue("/root/send/reqdata/cdgrupid", "106");//병원별 Display 여부
  73. model.makeValue("/root/send/reqdata/supcdid", "");//서브구분
  74. model.makeValue("/root/send/reqdata/cdid", "");//서브구분
  75. submit("TRMNP04903", false);
  76. model.setValue("/root/init/Wk1802/cond/payflagcd", model.getValue("/root/init/hardcodeinfo/cdid").substr(6, 1));
  77. if( model.getValue("/root/init/hardcodeinfo/cdid").substr(6, 1) == "Y" ) {//급비컬럼
  78. grd_good.colWidth(grd_good.colRef("goodengnm")) = "200";
  79. grd_good.colWidth(grd_good.colRef("goodspec")) = "90";
  80. grd_good.colWidth(grd_good.colRef("goodmodel")) = "78";
  81. grd_good.colWidth(grd_good.colRef("makernm")) = "85";
  82. grd_good.colWidth(grd_good.colRef("prcpunit")) = "50";
  83. grd_good.colWidth(grd_good.colRef("payflagcd")) = "50";
  84. grd_good.colWidth(grd_good.colRef("goodqty")) = "45";
  85. }else {
  86. grd_good.colWidth(grd_good.colRef("goodengnm")) = "225";
  87. grd_good.colWidth(grd_good.colRef("goodspec")) = "100";
  88. grd_good.colWidth(grd_good.colRef("goodmodel")) = "90";
  89. grd_good.colWidth(grd_good.colRef("makernm")) = "90";
  90. grd_good.colWidth(grd_good.colRef("prcpunit")) = "50";
  91. grd_good.colWidth(grd_good.colRef("payflagcd")) = "0";
  92. grd_good.colWidth(grd_good.colRef("goodqty")) = "50";
  93. grd_good.colWidth(grd_good.colRef("goodcd")) = "80";
  94. }
  95. //fMnpmcartData_Read( 0 , grd_orddept); // Cart정보 가져오기
  96. model.removenode("/root/send");
  97. model.makeValue("/root/send/reqdata/cdgrupid", "012");//마취과
  98. model.makeValue("/root/send/reqdata/supcdid", "");//서브구분
  99. model.makeValue("/root/send/reqdata/cdid", "");//서브구분
  100. submit("TRMNP04903", false);
  101. model.setValue("/root/init/Wk1802/cond/orddeptcd", model.getValue("/root/init/hardcodeinfo/cdid"));
  102. model.setValue("/root/init/Wk1802/cond/qryflag", "2" );
  103. fMnpmcartData_Read( 1, grd_perfid,"/root/init/Wk1802/cond/orddeptcd");
  104. }
  105. /* ------------------------------------------------- */
  106. /* SMMNP01800_물품등록 */
  107. /* On Load 시 Call */
  108. /* ------------------------------------------------- */
  109. /* group : EMR 간호 수술마취 */
  110. /* ver : 2015.05.15 */
  111. /* by : 최학록 */
  112. /* ------------------------------------------------- */
  113. /* SMMNP01800_Case Cart 물품 */
  114. /* On Load 시 Call */
  115. /* desc :Case Cart MASTER 정보 가져오기 */
  116. /* --------------------------------------------------*/
  117. function fMnpmcartData_Read(pIdx, pId, pDept, pDr ,pCcrtno ) {
  118. if (chk_useyn.value == "Y") {
  119. model.setValue("/root/init/Wk1802/cond/useflag", "Y"); // 사용여부
  120. } else {
  121. model.setValue("/root/init/Wk1802/cond/useflag", "A"); // 사용여부
  122. }
  123. model.removenode("/root/send");
  124. model.makeValue("/root/send/orddeptcd" , model.getValue(pDept )); // 진료과
  125. model.makeValue("/root/send/perfid" , model.getValue(pDr )); // 집도의
  126. model.makeValue("/root/send/ccrtno" , model.getValue(pCcrtno )); // CaseCart 번호
  127. model.makeValue("/root/send/countyn" ,"N" ); // CART물품있는것만 여부
  128. model.makeValue("/root/send/instcd" , "" ); // 기관코드
  129. model.makeValue("/root/send/useflag" , model.getValue("/root/init/Wk1802/cond/useflag")); // 사용여부
  130. model.makeValue("/root/send/cartgubn" , model.getValue("/root/hidden/cartgubn") ); // cart 구분
  131. model.makeValue("/root/send/qryflag" , model.getValue("/root/init/Wk1802/cond/qryflag")); // Query 구분 1:진료과,2:집도의,2:CART 코드
  132. model.makeNode("/root/send/refnm");//검색명
  133. model.makeNode("/root/send/condflag");//한글영문구분
  134. submit("TRMNP01601"); // Cart MASTER 정보를 가져온다.
  135. model.copyNode(gCartPath[1]+tPathNode[pIdx] , gCartPath[4]);
  136. model.removenode(gCartPath[4]);
  137. pId.row = 1;
  138. pId.refresh();
  139. }
  140. function fMnphcagoRead(pIdx, pId, pCcrtno, pCartGoodseq ) {
  141. model.removenode("/root/send");
  142. model.makeValue("/root/send/ccrtno" , pCcrtno ); // CaseCart 번호
  143. model.makeValue("/root/send/cartgoodseq" , pCartGoodseq ); // Cart물품순번
  144. model.makeValue("/root/send/instcd" , "" ); // 기관코드
  145. model.makeValue("/root/send/prcpflag" , "Y" ); // 진료처방자료존재구분
  146. model.makeValue("/root/send/oproomcd" , sOproomcd ); // 수술방 코드
  147. model.makeValue("/root/send/cartgubn" , model.getValue("/root/hidden/cartgubn")); // Cart구분
  148. model.makeValue("/root/send/menuparam" , "S" ); // 사용구분
  149. model.makeValue("/root/send/insukind" , model.getValue("/root/init/Wk1802/cond/insukind")); // 환자보험유형
  150. model.makeValue("/root/send/payflagcd" , model.getValue("/root/init/Wk1802/cond/payflagcd")); // 급비여부
  151. submit("TRMNP01602"); // Cart MASTER 정보를 가져온다.
  152. model.copyNode(gCartPath[pIdx] , gCartPath[5]);
  153. pId.refresh();
  154. }
  155. function fRemoveNode(pIdx){
  156. model.removeNodeset(PathClear[pIdx]);
  157. eval(wRefresh[pIdx]).refresh();
  158. }
  159. function fCopyGood(){
  160. var sCopyOrderXpath = "/root/main/MnphcagoLists/mnphcagolist";
  161. var nIdx = getNodesetCount(sCopyOrderXpath);
  162. if (nIdx < 1) {
  163. messageBox("선택된 물품이 ", "I004");
  164. return;
  165. }
  166. var sSendData = "";
  167. for (var i = 1; i <= nIdx; i++) {
  168. if (model.getValue(sCopyOrderXpath+"["+i+"]/fcheck")=="true"){
  169. //2008-08-05 오후 4:36:34 taebum CCR에서 관리하지 않는 재료에 대해서 break
  170. /*
  171. var sCcrGoodcd = model.getValue(sCopyOrderXpath+ "["+i+"]/checkgoodcd");
  172. var sPrcpclscd = model.getValue(sCopyOrderXpath+ "["+i+"]/prcpclscd");
  173. var sGoodcd = model.getValue(sCopyOrderXpath+ "["+i+"]/goodcd");
  174. var sGoodengnm = model.getValue(sCopyOrderXpath+ "["+i+"]/goodengnm");
  175. if(sPrcpclscd == "M2" && (sCcrGoodcd == "" || sCcrGoodcd == null || sCcrGoodcd == "undefined")){
  176. model.alert(sGoodcd+" - "+sGoodengnm+" 는 등록되지 않은 재료처방입니다. CCR에 문의하시기 바랍니다. ");
  177. return;
  178. }else{
  179. */
  180. //처방불가 물품은 처방 안되게 막음, 삭제는 제외 2009.08.31 K.J.M
  181. var sTmpReqmthd = model.getValue(sCopyOrderXpath+ "["+i+"]/reqmthd");
  182. var sGoodcd = model.getValue(sCopyOrderXpath+ "["+i+"]/goodcd");
  183. if( sTmpReqmthd == "X" ) {
  184. messageBox(sGoodcd+"코드 처방불가이므로 처방 할 수 없습니다.!", "E000");
  185. return;
  186. }
  187. if( model.getValue(sCopyOrderXpath+"["+i+"]/insuyn")=="Y"&&model.getValue(sCopyOrderXpath+"["+i+"]/calcscorcd")=="" ) {
  188. var goodcd = model.getValue(sCopyOrderXpath+ "["+i+"]/goodcd");
  189. messageBox(goodcd+"코드 처방 할 수 없습니다.!", "E000");
  190. //}else if( sTmpReqmthd == ""&&model.getValue(sCopyOrderXpath+"["+i+"]/calcscorcd") == ""&&model.getValue(sCopyOrderXpath+"["+i+"]/insuyn") == ""&&model.getValue(sCopyOrderXpath+"["+i+"]/prcpclscd") == "" ) {//구매, 처방 마스터에 살아있는데이터가 없을 때 막음 2010.01.04 K.J.M
  191. // messageBox(sGoodcd+"코드 처방할 수 없습니다.!", "E000");
  192. // return;
  193. }else {
  194. sSendData = sSendData +
  195. model.getValue(sCopyOrderXpath+ "["+i+"]/goodcd" ) + "▥" +
  196. model.getValue(sCopyOrderXpath+ "["+i+"]/allsizespecid") + "▥" +
  197. model.getValue(sCopyOrderXpath+ "["+i+"]/goodcls" ) + "▥" +
  198. model.getValue(sCopyOrderXpath+ "["+i+"]/goodqty" ) + "▥" +
  199. model.getValue(sCopyOrderXpath+ "["+i+"]/payflagcd" ) + "▥" +
  200. model.getValue(sCopyOrderXpath+ "["+i+"]/goodqty" ) + "▥" +
  201. model.getValue(sCopyOrderXpath+ "["+i+"]/goodengnm" ) + "▥" +
  202. model.getValue(sCopyOrderXpath+ "["+i+"]/goodspec" ) + "▥" +
  203. model.getValue(sCopyOrderXpath+ "["+i+"]/makernm" ) + "▥" +
  204. model.getValue(sCopyOrderXpath+ "["+i+"]/goodmodel" ) + "▥" +
  205. model.getValue(sCopyOrderXpath+ "["+i+"]/prcpunit" ) + "▥" +
  206. model.getValue(sCopyOrderXpath+ "["+i+"]/drugmthdspccd") + "▥" +
  207. model.getValue(sCopyOrderXpath+ "["+i+"]/stocqty") + "▥" +
  208. model.getValue(sCopyOrderXpath+ "["+i+"]/acmlbaseqty") + "▥" +
  209. model.getValue(sCopyOrderXpath+ "["+i+"]/prcpclscd") + "▥" + //간호약속처방 prcpcls용도
  210. model.getValue(sCopyOrderXpath+ "["+i+"]/reqmthd") + "▥" +
  211. model.getValue(sCopyOrderXpath+ "["+i+"]/purcflag") + "▥" +
  212. model.getValue(sCopyOrderXpath+ "["+i+"]/calculyn") + "▥" +
  213. model.getValue(sCopyOrderXpath+ "["+i+"]/insuyn") + "▥" +
  214. model.getValue(sCopyOrderXpath+ "["+i+"]/calcscorcd") + "▧" ;
  215. }
  216. /*
  217. }
  218. */
  219. }
  220. }
  221. //선택된 내역이 있을 경우에는 수술마취간호처방으로 처방리스트를 전달함.
  222. if(sSendData != ""){
  223. if(checkOpener()){
  224. opener.javascript.fNurseOrderMake(sSendData);
  225. window.close();
  226. }
  227. }
  228. }
  229. /* ------------------------------------------------- */
  230. /* ------End Of List ------------------------------- */
  231. /* -------------------------------------------------- */