SPMNP01802.xjs 17 KB

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