SMMNI00500.xjs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 주사실 기타 처치등록 관리(SMMNI00500.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var cbk_TXMNI00501_flag = "";
  8. //20090512 dhkim 사용자부서정보
  9. var userdeptcd = sysf_getUserInfo("dutplcecd");
  10. //20090512 dhkim 주사실코드
  11. var injdeptcd;
  12. /**
  13. * 20090506 dhkim
  14. * 초기화펑션추가
  15. */
  16. function fInit(){
  17. //20090512 dhkim 주사실코드 가져오기
  18. var objParam = new Object();
  19. objParam.id = "TRMNI00504";
  20. objParam.service = "injroomapp.InjRoomPatMngt";
  21. objParam.method = "reqGetInjDeptcd";
  22. objParam.outds = "ds_init_injcdinfo=injcdinfo";
  23. objParam.async = false;
  24. objParam.callback = "cbk_TRMNI00504";
  25. tranf_submit(objParam);
  26. injdeptcd = ds_init_injcdinfo.getColumn(0,"injdeptcd");
  27. //시행부서조건추가 (20090506 현재 육아상담실, 소아청소년과, 중앙주사실)
  28. var ds_temp = dsf_createDsRow("ds_temp", [{col: "cdgrupid", val:"075" }]);
  29. var objParam = new Object();
  30. objParam.id = "TRMNI01302";
  31. objParam.service = "injroomapp.InjRoomPatMngt"
  32. objParam.method = "reqGetNursBaseCd";
  33. objParam.inds = "refCond="+ds_temp;
  34. objParam.outds = "ds_init_execinfolist=execinfolist"
  35. objParam.async = false;
  36. objParam.callback = "cbk_TRMNI01302";
  37. tranf_submit(objParam);
  38. //20090512 dhkim 사용자정보가 주사실일 경우는 주사실만 보여지고 주사실이 아니면 주사실만 빼고 보여줌.
  39. //노드에서 제거
  40. fSetNodeExecUserDept();
  41. ds_cond.setColumn(0,"ordd", utlf_getCurrentDate());
  42. ds_cond.setColumn(0,"fromdd", utlf_getCurrentDate());
  43. ds_cond.setColumn(0,"todd", utlf_getCurrentDate());
  44. var param = opener.frmf_getParameter("SMMNI00500_pid");
  45. if (utlf_isNull(param)) {
  46. var sPamInfo = sysf_getGlobalVariable("paminfo");
  47. if(!utlf_isNull(sPamInfo)){
  48. dsf_setCSVToDs("ds_patinfolist",sPamInfo);
  49. var uppid = ds_patinfolist.getColumn(0,"pid");
  50. var uphngnm = ds_patinfolist.getColumn(0,"hngnm");
  51. var upgndrage = ds_patinfolist.getColumn(0,"sex") + "/" + ds_patinfolist.getColumn(0,"age");
  52. if(!utlf_isNull(uppid)){
  53. group1.ipt_pid.value = uppid;
  54. group1.opt_hngnm.value = uphngnm;
  55. ds_cond.setColumn(0,"gndrage",upgndrage);
  56. fpidref();//등록번호에 따른 환자정보 검색*/
  57. }
  58. }
  59. }
  60. else
  61. {
  62. group1.ipt_pid.value = param;
  63. fpidref();//등록번호에 따른 환자정보 검색
  64. }
  65. fdetlcd();//처치 내역에따른 처치명 조회
  66. fEtcCureList();// 시행리스트, 통계 조회
  67. }
  68. function cbk_TRMNI00504(sScvId, nErrorCode, sErrorMsg){
  69. if(nErrorCode == 0){//성공하였을때
  70. }else{
  71. sysf_messageBox("주사실코드조회를", "E009");
  72. sysf_messageBox(sErrorMsg, "E");
  73. }
  74. }
  75. function cbk_TRMNI01302(sScvId, nErrorCode, sErrorMsg){
  76. if(nErrorCode == 0){//성공하였을때
  77. }else{
  78. sysf_messageBox('시행부서 초기화를', 'E009');
  79. sysf_messageBox(sErrorMsg, "E");
  80. }
  81. }
  82. /*************************************************************************************************************
  83. * 20090512 dhkim
  84. * 전체노드중 주사실사용자는 주사실노드만 재구성,
  85. * 소아청소년과/육아상담실은 주사실제외후 재구성
  86. *------------------------------------------------------------------------------------------------------------
  87. * 20090603 dhkim
  88. * supcdid파라미터 구성 배열로 변경
  89. * supcdid[0]예방주사비활성화여부(Y:비활성, N:활성)
  90. * supcdid[1]겸직사용자여부 (Y:겸직, N:비겸직)
  91. *************************************************************************************************************/
  92. function fSetNodeExecUserDept(){
  93. //노드초기화
  94. ds_init_execinfolist.insertRow(0);
  95. ds_init_execinfolist.setColumn(0,"basecd","ALL");
  96. ds_init_execinfolist.setColumn(0,"basenm","전체");
  97. group1.cmb_execdeptcd.index = 0;
  98. ds_cond.setColumn(0,"deptcd",userdeptcd);
  99. }
  100. /**
  101. * @group :
  102. * @ver : 2007.08.01
  103. * @by : 신혁춘
  104. * @---------------------------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : 처치 내역에따른 처치명 조회
  108. * @param :
  109. * @return :
  110. * @---------------------------------------------------
  111. */
  112. function fdetlcd(){
  113. var cdclslist = utlf_transNullToEmpty(ds_cond.getColumn(0,"recflag"));
  114. var baseclsflag = cdclslist.substring(0,1);
  115. var cdcls = cdclslist.substring(0,2);
  116. var execdeptcd = ds_cond.getColumn(0,"deptcd");
  117. var ds_temp = dsf_createDsRow("ds_temp", [{col: "baseclsflag", val:baseclsflag }
  118. ,{col: "cdcls", val:cdcls }
  119. ,{col: "supbasetypecd", val:cdclslist }
  120. ,{col: "execdeptcd", val:execdeptcd }]);
  121. var objParam = new Object();
  122. objParam.id = "TRMNI00503";
  123. objParam.service = "injroomapp.InjRoomPatMngt";
  124. objParam.method = "reqGetBaseCodeList";
  125. objParam.inds = "refCond="+ds_temp;
  126. objParam.outds = "ds_init_detlcdlist=baseinfolist";
  127. objParam.async = false;
  128. tranf_submit(objParam);
  129. }
  130. function fpidref(){
  131. var pid = group1.ipt_pid.value;
  132. trace("pid == " + pid);
  133. dsf_createDsRow("ds_send" , [
  134. {col: "pid", val:pid}
  135. ]);
  136. var oParam = {};
  137. oParam.id = "TRMNI00501";
  138. oParam.service = "injroomapp.InjRoomPatMngt";
  139. oParam.method = "reqGetPidRef";
  140. oParam.inds = "refCond=ds_send";
  141. oParam.outds = "ds_data_rghtreflist=rghtreflist";
  142. oParam.async = false;
  143. oParam.callback = "cf_TRMNI00501";
  144. tranf_submit(oParam);
  145. }
  146. function cf_TRMNI00501(sSvcId, nErrorCode, sErrorMsg) {
  147. if(nErrorCode < 0) return;
  148. var hngnm= ds_data_rghtreflist.getColumn(0,"hngnm");
  149. //데이타가 없을시 이전 출력 내용 삭제.
  150. if(utlf_isNull(hngnm)){
  151. group1.opt_hngnm.value="";
  152. group1.opt_gndrage.value="";
  153. ds_cond.setColumn(0,"pid","");
  154. }
  155. else
  156. {
  157. group1.opt_hngnm.value = ds_data_rghtreflist.getColumn(0,"hngnm");
  158. group1.opt_gndrage.value=ds_data_rghtreflist.getColumn(0,"gndrage");
  159. }
  160. }
  161. /**
  162. * @group :
  163. * @ver : 2007.06.01
  164. * @by : 신혁춘
  165. * @---------------------------------------------------
  166. * @type : function
  167. * @access : public
  168. * @desc : 환자번호 조회 돋보기 클릭시
  169. * @param :
  170. * @return :
  171. * @---------------------------------------------------
  172. */
  173. function fPatSrch(){
  174. frmf_modal("SPPMC02500","SPPMC02500","","","","","","","","","","","M");
  175. ds_cond.setColumn(0,"pid",ds_patinfolist.getColumn(0,"pid"));
  176. var pid = ds_cond.getColumn(0,"pid");
  177. if (!utlf_isNull(pid) && pid != " " && pid != "-"){
  178. fpidref();
  179. }
  180. }
  181. /**
  182. * @group :
  183. * @ver : 2007.06.04
  184. * @by : 신혁춘
  185. * @---------------------------------------------------
  186. * @type : function
  187. * @access : public
  188. * @desc : 기타 처치등록 실시
  189. * @param :
  190. * @return :
  191. * @---------------------------------------------------
  192. */
  193. function fEtcCureSave(){
  194. var hngnm = ds_cond.getColumn(0, "hngnm");
  195. var detlcd = ds_cond.getColumn(0,"detlcd");
  196. var execdd = ds_cond.getColumn(0,"ordd");
  197. var execdeptcd = ds_cond.getColumn(0,"deptcd");
  198. if(execdeptcd == "ALL" || utlf_isNull(execdeptcd)){
  199. sysf_messageBox("시행부서가 선택되지", "E007");
  200. return;
  201. }
  202. if(utlf_isNull(hngnm)){
  203. sysf_messageBox("환자가 선택되지", "E007");
  204. return;
  205. }
  206. if(utlf_isNull(detlcd) || detlcd == 1 ){
  207. sysf_messageBox("처치 내역이 선택되지", "E007");
  208. return;
  209. }
  210. var pid = group1.ipt_pid.value;
  211. var recflag = ds_cond.getColumn(0,"recflag");
  212. cbk_TXMNI00501_flag = "";
  213. dsf_createDsRow("ds_temp", [{col: "execdd", val:execdd }
  214. ,{col: "pid", val:pid }
  215. ,{col: "recflag", val:recflag }
  216. ,{col: "detlcd", val:detlcd }
  217. ,{col: "execdeptcd", val:execdeptcd }]);
  218. var oParam = {};
  219. oParam.id = "TXMNI00501";
  220. oParam.service = "injroomapp.InjRoomPatMngt";
  221. oParam.method = "reqExeEtcCure";
  222. oParam.inds = "refCond=ds_temp";
  223. oParam.outds = "";
  224. oParam.async = false;
  225. oParam.callback = "cf_TXMNI00501";
  226. tranf_submit(oParam);
  227. if( arErrorCode.pop("TXMNI00501") > -1 ){
  228. sysf_messageBox("저장이", "I002");
  229. ds_cond.setColumn(0,"fromdd",execdd);
  230. ds_cond.setColumn(0,"todd" ,execdd);
  231. fEtcCureList();//기타 처치시행 리스트 조회
  232. }else{
  233. sysf_messageBox(sErrorMsg, "E");
  234. }
  235. }
  236. function cf_TXMNI00501(sScvId, nErrorCode, sErrorMsg){
  237. arErrorCode.push(sScvId, nErrorCode);
  238. }
  239. /**
  240. * @group :
  241. * @ver : 2007.06.04
  242. * @by : 신혁춘
  243. * @---------------------------------------------------
  244. * @type : function
  245. * @access : public
  246. * @desc : 기타 처치시행 리스트 조회
  247. * @param :
  248. * @return :
  249. * @---------------------------------------------------
  250. */
  251. function fEtcCureList(){
  252. var fromdd = ds_cond.getColumn(0,"fromdd");
  253. var todd = ds_cond.getColumn(0,"todd");
  254. var recflag = ds_cond.getColumn(0,"recflag2");
  255. var execdeptcd = ds_cond.getColumn(0,"deptcd");
  256. var ds_temp = dsf_createDsRow("ds_temp", [{col: "fromdd", val:fromdd }
  257. ,{col: "todd", val:todd }
  258. ,{col: "recflag", val:recflag }
  259. ,{col: "execdeptcd", val:execdeptcd }]);
  260. var objParam = new Object();
  261. objParam.id = "TRMNI00502";
  262. objParam.service = "injroomapp.InjRoomPatMngt";
  263. objParam.method = "reqGetExecData";
  264. objParam.inds = "refCond="+ds_temp;
  265. objParam.outds = "ds_grid_grd_execinfo=execinfolist ds_grid_datagrid2=statsinfolist"
  266. objParam.async = false;
  267. tranf_submit(objParam);
  268. if(ds_grid_grd_execinfo.rowcount > 0){
  269. ds_grid_grd_execinfo.addColumn("chkflag","string");
  270. ds_grid_grd_execinfo.updatecontrol = false;
  271. for(var i=0; i<ds_grid_grd_execinfo.rowcount; i++){
  272. ds_grid_grd_execinfo.setColumn(i, "0");
  273. ds_grid_grd_execinfo.setRowType(i, Dataset.ROWTYPE_NORMAL);
  274. }
  275. ds_grid_grd_execinfo.updatecontrol = true;
  276. ds_grid_grd_execinfo.rowposition = -1;
  277. }
  278. ds_grid_datagrid2.rowposition = -1;
  279. }
  280. /**
  281. * @group :
  282. * @ver : 2007.06.05
  283. * @by : 신혁춘
  284. * @---------------------------------------------------
  285. * @type : function
  286. * @access : public
  287. * @desc : 기타 처치시행 리스트 삭제
  288. * @param :
  289. * @return :
  290. * @---------------------------------------------------
  291. */
  292. function fEtcCuredel(){
  293. var Row = ds_grid_grd_execinfo.rowcount;
  294. var chek = 0;
  295. for (i=0; i<Row; i++){
  296. if(ds_grid_grd_execinfo.getColumn(i,"chkflag") == "1")
  297. chek++;
  298. }
  299. if(chek==0){
  300. sysf_messageBox("하나 이상의 내역을", "C002");
  301. return;
  302. }
  303. tranf_submit({
  304. id: "TXMNI00502"
  305. , service: "injroomapp.InjRoomPatMngt"
  306. , method: "reqExeEtcCureDel"
  307. , inds: "refCond=ds_grid_grd_execinfo:U"
  308. // , outds: "ds_grid_grd_druginfo=druginfolist"
  309. , async: false
  310. , callback: "cbk_TXMNI00502"
  311. });
  312. }
  313. function cbk_TXMNI00502(sScvId, nErrorCode, sErrorMsg){
  314. if(nErrorCode == 0){//성공하였을때
  315. fEtcCureList();
  316. }else{
  317. sysf_messageBox(sErrorMsg, "E");
  318. }
  319. }
  320. ]]></Script>