SPMNP01805.xjs 17 KB

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