SMMRC02200.xjs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /**
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. 의료정보 - 사본발급List ( SMMRC02200_사본발급List.xrw - JScript )
  6. - Version :
  7. 1) : Ver.1.00.01
  8. - Author : 이은영 수정->이창록
  9. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  10. **/
  11. /**
  12. * @ver :
  13. * @desc : 화면초기화
  14. * @
  15. * @by : 이은영
  16. * @ :2008-12-12 이창록 수정(기준일자 변경)
  17. * @param :
  18. * @return :
  19. * @---------------------------------------------------
  20. */
  21. function fInit()
  22. {
  23. // KNUH_20101124_박성호_start - 의무기록 부서코드 가져오기
  24. lf_getHardCDList("N", 5501, null, ds_temp_hardcd);
  25. // KNUH_20101124_박성호_end
  26. var instcd = sysf_getUserInfo("dutplceinstcd");
  27. var standard_yn = "orduseyn";
  28. var ord_deptflag = 'D';
  29. var rslt_ref = "ds_init_deptlist_dept";
  30. var sort_method = "depthngnm";
  31. appf_getDeptCodeList(instcd, standard_yn, ord_deptflag, sort_method, "", "", "", "",rslt_ref ,false, "");
  32. // 공통코드 목록 가져오기
  33. appf_getCodeList([{dsNm: "ds_init_ioflag_P0001", cdGrpId: "P0001"} , {dsNm: "ds_init_issgoalcd_M0332", cdGrpId: "M0332"}
  34. , {dsNm: "ds_init_issscopcd_M0333", cdGrpId: "M0333"} , {dsNm: "ds_init_prcpstatcd_M0011", cdGrpId: "M0011"}], true);
  35. ds_main_isshist_isslist.clearData();
  36. //상단 환자 정보 가져오기
  37. var node = sysf_getGlobalVariable("paminfo");
  38. dsf_setCSVToDs("ds_main_paminfo_list", node);
  39. //상단 정보 있는지 유무 체크
  40. if( !utlf_isNull(node) )
  41. {
  42. var current_pid = fCheckedBindPid(ds_main_paminfo_list.getColumn(0, "pid"));
  43. ds_send_cond.setColumn(0, "pid", current_pid);
  44. }
  45. // 오늘 날짜로 세팅
  46. var currentdate = utlf_getCurrentDate();
  47. //20080908 이창록 신청일자 시작일자 오늘 날짜로 변경
  48. ds_send_cond.setColumn(0, "fromdd", currentdate);
  49. ds_send_cond.setColumn(0, "todd", currentdate);
  50. fHistSearch();
  51. }
  52. /**
  53. * @ver :
  54. * @desc : 환자 찾기 팝업
  55. * @
  56. * @by : 이은영
  57. * @param :
  58. * @return : 2008-12-23 이창록 수정->주민번로 뒷자리 숨기기
  59. * @---------------------------------------------------
  60. */
  61. function fPatPopUp(pFlag)
  62. {
  63. if(pFlag == "1"){
  64. dsf_makeValue(ds_temp,"pid","string", ipt_pid.value);
  65. }else if(pFlag == "2"){
  66. dsf_makeValue(ds_temp,"hngnm","string", ipt_hngnm.value);
  67. }else if(pFlag == "3"){
  68. dsf_makeValue(ds_temp,"rrgstno1","string", ipt_rrgstno1.value);
  69. dsf_makeValue(ds_temp,"rrgstno2","string", ipt_rrgstno2.value);
  70. }
  71. dsf_makeValue(ds_temp,"srchcond","string", pFlag);
  72. dsf_makeValue(ds_temp,"autoflag","string", "Y");
  73. ds_patinfolist.clearData();
  74. var objArg = new Object();
  75. objArg.arg_ds_send = ds_temp;
  76. frmf_modal("SPPMC02500","SPPMC02500",objArg,"",1,10,10,"","","","","","M");
  77. ds_send_cond.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  78. ds_send_cond.setColumn(0, "hngnm", ds_patinfolist.getColumn(0, "hngnm"));
  79. ds_send_cond.setColumn(0, "rrgstno1", ds_patinfolist.getColumn(0, "rrgstno1"));
  80. ds_send_cond.setColumn(0, "rrgstno2", ds_patinfolist.getColumn(0, "rrgstno2"));
  81. fHistSearch();
  82. }
  83. /**
  84. * @ver :
  85. * @desc : 이전 내역 조회
  86. * @
  87. * @by : 이은영
  88. * @param :
  89. * @return :
  90. * @---------------------------------------------------
  91. */
  92. function fHistSearch()
  93. {
  94. /*세 줄 어디서 없애는거?..
  95. model.resetInstanceNode("/root/main/issinfo/copyinfo");
  96. model.removeNodeset("/root/main/issinfo/emrapplist");
  97. model.removeNodeset("/root/main/issinfo/rcptlist");
  98. */
  99. var sPid = "";
  100. var isspatcnt = 0;
  101. var totalcopies = 0;
  102. var isstotalcopies = 0;
  103. var issTotalprcpcopies = 0;
  104. var issprcptims = 0;
  105. var sFindRow = 0;
  106. var prcsflag = ds_send_cond.getColumn(0, "prcsflag");
  107. dsf_setDefaultVal(ds_send_cond, "wardcd:-");
  108. var oParam = {};
  109. oParam.id = "TRMRC02201";
  110. oParam.service = "chrtmngtapp.CopyIssMngt";
  111. oParam.method = "reqGetNewCopyIssMngtHist";
  112. oParam.inds = "req=ds_send_cond";
  113. oParam.outds = "ds_main_isshist_isslist=isslist";
  114. oParam.async = false;
  115. oParam.callback = "cf_TRMRC02201";
  116. tranf_submit(oParam);
  117. if( !utlf_isNull(ds_main_isshist_isslist.getColumnInfo("totalcopies")) && !utlf_isNull(ds_main_isshist_isslist.getColumnInfo("prcptims")) && !utlf_isNull(ds_main_isshist_isslist.getColumnInfo("cretno")) ){
  118. dsf_setTypeFormat(ds_main_isshist_isslist, "totalcopies:INT^prcptims:INT^cretno:INT");
  119. }
  120. if( utlf_isNull(ds_main_isshist_isslist.getColumnInfo("isschk"))){
  121. ds_main_isshist_isslist.addColumn("isschk", "string");
  122. }
  123. if( utlf_isNull(ds_main_isshist_isslist.getColumnInfo("lastupdtrid"))){
  124. ds_main_isshist_isslist.addColumn("lastupdtrid", "string");
  125. }
  126. if( utlf_isNull(ds_main_isshist_isslist.getColumnInfo("state"))){
  127. ds_main_isshist_isslist.addColumn("state", "string");
  128. }
  129. if(arErrorCode.pop("TRMRC02201") > -1)
  130. {
  131. ds_main_isshist_isslist.rowposition = -1;
  132. grdf_initGridStyle(grd_isshist);
  133. grdf_setRowStyle(grd_isshist,"4","입원","ioflagnm","equal");
  134. for(var iRow = 0; iRow < ds_main_isshist_isslist.rowcount; iRow++){
  135. sPid = ds_main_isshist_isslist.getColumn(iRow, "pid");
  136. sFindRow = ds_main_isshist_isslist.findRow("issno" , sPid, 0); //grd_isshist.findRow(sPid, 1, 4);
  137. if(sFindRow < 0 || iRow <= sFindRow){
  138. isspatcnt++;
  139. }
  140. totalcopies = ds_main_isshist_isslist.getColumn(iRow, "totalcopies");
  141. prcptims = ds_main_isshist_isslist.getColumn(iRow, "prcptims");
  142. if( utlf_isNull(totalcopies) ){
  143. totalcopies = 0;
  144. }
  145. if( utlf_isNull(prcptims) ){
  146. prcptims = 0;
  147. }
  148. isstotalcopies = totalcopies*prcptims //총매수 -> 매수 * 부수
  149. issTotalprcpcopies += eval(isstotalcopies);
  150. issprcptims += eval(prcptims);//2008-12-26 사본 총부수 추가 이창록 수정
  151. }
  152. if(isspatcnt > 0) ds_main_issinfo.setColumn(0, "isspatcnt", isspatcnt);
  153. else ds_main_issinfo.setColumn(0, "isspatcnt", "");
  154. if(isstotalcopies > 0) ds_main_issinfo.setColumn(0, "isstotalcopies", issTotalprcpcopies);
  155. else ds_main_issinfo.setColumn(0, "isstotalcopies", "");
  156. if(issprcptims > 0) ds_main_issinfo.setColumn(0, "issprcptims", issprcptims); //2008-12-26 사본 총부수 추가 이창록 수정
  157. else ds_main_issinfo.setColumn(0, "issprcptims", "");
  158. }
  159. else
  160. {
  161. sysf_messageBox("조회를", "E009");
  162. ds_main_issinfo.setColumn(0, "isspatcnt", "");
  163. ds_main_issinfo.setColumn(0, "isstotalcopies", "");
  164. }
  165. }
  166. /**
  167. * @ver :
  168. * @desc : 발행목적 팝업 조회
  169. * @
  170. * @by : 이은영
  171. * @param :
  172. * @return :
  173. * @---------------------------------------------------
  174. */
  175. function fIssGoalPopUp(){
  176. var sIssUsge = "";
  177. var sIssUsgeCnt = 0;
  178. var sIssGoalEtc = "";
  179. var sIssGoalEtcCd = "";
  180. frmf_setParameter("SPMMR02200_usage", "");
  181. frmf_setParameter("SPMMR02200_multichkyn", "N");
  182. frmf_modal("SPMMR02200", "SPMMR02200", null, null, null, null, null, null, null, null, null, null, "M");
  183. //var rtObj =
  184. sIssUsge = ds_main.getColumn(0, "issusge");//utlf_transNullToEmpty(rtObj.copyInfoDs.getColumn(rtObj.copyInfoDs.rowposition, "reqdata"));
  185. if( !utlf_isNull(sIssUsge) ){
  186. ds_send_cond.setColumn(0, "issgoalnm", lf_getArrayData(sIssUsge, 1, 1));
  187. ds_send_cond.setColumn(0, "issgoalcd", lf_getArrayData(sIssUsge, 1, 0));
  188. }
  189. }
  190. /**
  191. * @ver :
  192. * @desc : 더블클릭시 사본신청/발급창과연계
  193. * @
  194. * @by : 이창록 20090507 수정-> 의료정보팀일때만 신규사본신청창 연계
  195. * @param :
  196. * @return :
  197. * @---------------------------------------------------
  198. */
  199. function fSendCopyInfo(iRow)
  200. {
  201. var userinfo = sysf_getUserInfo("dutplcecd");
  202. // KNUH_20101124_박성호_start
  203. var dutplcecd = sysf_getUserInfo("dutplcecd");
  204. var jobkindcd = sysf_getUserInfo("jobkindcd");
  205. //if(userinfo =="3230000000"){
  206. if( !utlf_isNull(ds_temp_hardcd.lookup("hardcd", dutplcecd, "hardcd")) || jobkindcd == "1140" || jobkindcd == "1110")
  207. {
  208. // // KNUH_20101124_박성호_end
  209. frmf_setParameter("SMMRC03000_param_pid" ,ds_main_isshist_isslist.getColumn(iRow, "pid"));
  210. frmf_setParameter("SMMRC03000_param_hngnm" ,ds_main_isshist_isslist.getColumn(iRow, "hngnm"));
  211. frmf_setParameter("SMMRC03000_param_rrgstno1" ,ds_main_isshist_isslist.getColumn(iRow, "rrgstno1"));
  212. frmf_setParameter("SMMRC03000_param_rrgstno2" ,ds_main_isshist_isslist.getColumn(iRow, "rrgstno2"));
  213. frmf_setParameter("SMMRC03000_param_copyseqno" ,ds_main_isshist_isslist.getColumn(iRow, "copyseqno"));
  214. //2009-01-28 이창록 추가(발급제한여부 param 추가)
  215. frmf_setParameter("SMMRC03000_param_prntlim" ,ds_main_isshist_isslist.getColumn(iRow, "prntlim"));
  216. frmf_setParameter("SMMRC03000_param_ioflagnm" ,ds_main_isshist_isslist.getColumn(iRow, "ioflagnm"));
  217. var chrtObj = frmf_findPopup("SMMRC03000");
  218. if( !utlf_isNull(chrtObj) ){
  219. chrtObj.reload();
  220. }else{
  221. frmf_open("SMMRC03000", "SMMRC03000", null, null, null, null, null, null, null, null, null, null, "M");
  222. }
  223. }
  224. }
  225. /**
  226. * @ver :
  227. * @desc :
  228. * @
  229. * @by : 이창록
  230. * @param :
  231. * @return : 2008-12-29
  232. * @---------------------------------------------------
  233. */
  234. function fSelctPatInfo()
  235. {
  236. ds_init_tmp.clearData();
  237. if( grd_isshist.currentrow > -1 && grd_isshist.currentcol > -1 ){//그리드에서 데이타영역만 선택
  238. var issdt =ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "issdt");
  239. issdd = utlf_transNullToEmpty(issdt).substring(0,8);
  240. dsf_makeValue(ds_init_tmp,"issno", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "issno"));
  241. dsf_makeValue(ds_init_tmp,"ocmnum", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "issno"));
  242. dsf_makeValue(ds_init_tmp,"pid", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "pid"));
  243. dsf_makeValue(ds_init_tmp,"issdd", "string", issdd);
  244. dsf_makeValue(ds_init_tmp,"indd", "string", issdd);
  245. dsf_makeValue(ds_init_tmp,"docucd", "string", "0000001127"); //진료기록 사본 발급 위임장 formcd 0000001953 에서 변경(20120514 이윤주)
  246. dsf_makeValue(ds_init_tmp,"hngnm", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "hngnm"));
  247. dsf_makeValue(ds_init_tmp,"rrgstno1", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "rrgstno1"));
  248. dsf_makeValue(ds_init_tmp,"rrgstno2", "string", ds_main_isshist_isslist.getColumn(ds_main_isshist_isslist.rowposition, "rrgstno2"));
  249. dsf_makeValue(ds_init_tmp,"cmc_spcid", "string", ""); //blocking null exception
  250. dsf_makeValue(ds_init_tmp,"cmc_orddate", "string", ""); //blocking null exception
  251. dsf_makeValue(ds_init_tmp,"cmc_orderseqno", "string", ""); //blocking null exception
  252. }
  253. }
  254. /**
  255. * @ver :
  256. * @desc : 사본유의 환자관리에서 등록 및 삭제시 발급리스트 조회
  257. * @
  258. * @by : 이창록
  259. * @param :
  260. * @return :2008-12-29
  261. * @---------------------------------------------------
  262. */
  263. function fDisPatchHistSearch()
  264. {
  265. fHistSearch();
  266. }
  267. /**
  268. * @ver :
  269. * @desc : 사본 신청발급창에서 신청 및 발행시 조회
  270. * @
  271. * @by : 이창록
  272. * @param : SMMRC03000_appYN ->Y(신청내역저장), SMMRC03000_issYN ->Y(발급완료)
  273. * @return :2009-03-01
  274. * @---------------------------------------------------
  275. */
  276. function fGetCopyInfoHistSearch()
  277. {
  278. var Copyappparam = frmf_getParameter("SMMRC03000_appYN"); // 신청내역저장
  279. var Copyissparam = frmf_getParameter("SMMRC03000_issYN"); //발급완료
  280. var prcsflag = ds_send_cond.getColumn(0, "prcsflag");
  281. if(Copyappparam =="Y"){
  282. ds_send_cond.setColumn(0, "prcsflag", "N");
  283. fHistSearch();
  284. }else if(Copyissparam =="Y"){
  285. ds_send_cond.setColumn(0, "prcsflag", "Y");
  286. fHistSearch();
  287. }
  288. }
  289. ]]></Script>