SMMRI01800.js 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984
  1. var sORDERBY = "desc";
  2. var gTimerID;
  3. var gIntervalTime = 500;
  4. var gTimeCnt;
  5. /**
  6. * @desc 서식명 조회
  7. */
  8. function fReqGetFormList(){
  9. if(submit("TRMRI01804")){ //서식명콤보 조회
  10. addComboItem("cmb_formcd","전체","-");
  11. }
  12. }
  13. /**
  14. * @desc 미비항목코드 조회
  15. */
  16. function fReqGetFormItemList(formcd){
  17. model.removeNodeset("/root/send/reqdata");
  18. model.makeNode("/root/send/reqdata");
  19. model.makeValue("/root/send/reqdata/formcd", formcd);
  20. if(submit("TRMRI01805")){
  21. addComboItem("cmb_itemcd","전체","-");
  22. }
  23. }
  24. /**
  25. * @desc 미비의사 조회
  26. * @param srchflag 검색구분(id:아이디, nm:명)
  27. * unprepdeptcd 미비진료과
  28. * unprepdr 미비의사(srch?id:아이디, nm:명)
  29. * stnddd 기준일자
  30. * deptengabbr 부서약어명
  31. */
  32. function fReqGetUnPrepDrList(srchflag, unprepdeptcd, unprepdr, stnddd, deptengabbr, grupflag){
  33. model.removeNodeset("/root/send/reqdata");
  34. model.makeValue("/root/send/reqdata/srchflag" , srchflag);
  35. model.makeValue("/root/send/reqdata/unprepdeptcd", unprepdeptcd);
  36. model.makeValue("/root/send/reqdata/unprepdr" , unprepdr);
  37. model.makeValue("/root/send/reqdata/deptengabbr" , deptengabbr);
  38. model.makeValue("/root/send/reqdata/stnddd" , stnddd);
  39. model.makeValue("/root/send/reqdata/grupflag" , grupflag);
  40. if(submit("TRMRI02604")){
  41. }
  42. }
  43. /**
  44. * @desc 조회기준 정보 CSV 형태로 생성
  45. */
  46. function doSrchCondCSV(nodeList, sColSep, sRowSep){
  47. if( nodeList.length == 0 ){
  48. return;
  49. }
  50. var rCSV = "";
  51. var childNodeList = nodeList.item(0).childNodes;
  52. var childNodeCnt = childNodeList.length;
  53. if( childNodeCnt == 0 ){
  54. return;
  55. }
  56. var i, j;
  57. for( i = 0; i < childNodeCnt - 1; i++) {
  58. rCSV += childNodeList.item(i).nodeName + sColSep;
  59. }
  60. rCSV += childNodeList.item(i).nodeName + sRowSep;
  61. var node;
  62. while( node = nodeList.nextNode() ) {
  63. childNodeList = node.childNodes;
  64. for( i = 0; i < childNodeCnt - 1; i++) {
  65. rCSV += childNodeList.item(i).text + sColSep;
  66. }
  67. rCSV += childNodeList.item(i).text + sRowSep;
  68. }
  69. return rCSV;
  70. }
  71. /**
  72. * @desc 미비의사확인 표시
  73. * SMMRI01800_medirecinfo 구성 상태^등록번호^진료일자^생성번호^서식코드^서식일련번호
  74. * status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + workflag;
  75. */
  76. function fDispUnPrepDrCnfm(){
  77. var cmplcnt = model.getValue("/root/main/cnfmcmplcnt/cnfmcmplcnt");
  78. var posinstcd = getUserInfo("posinstcd");
  79. var dutplcecd = getUserInfo("dutplcecd");
  80. var posuserid = getUserId();
  81. cmplcnt++;
  82. model.setValue("/root/main/cnfmcmplcnt/cnfmcmplcnt", cmplcnt);
  83. var mainobj = getMainViewer();
  84. var medirecinfo = mainobj.javascript.getParameter("SMMRI01800_medirecinfo");
  85. if(medirecinfo != ""){
  86. var unprepinfo = medirecinfo.split("^");
  87. var status = unprepinfo[0];
  88. var pid = unprepinfo[1];
  89. var orddd = unprepinfo[2];
  90. var cretno = unprepinfo[3];
  91. var formcd = unprepinfo[4];
  92. var formrecdd = unprepinfo[5];
  93. var formrecseq = unprepinfo[6];
  94. var workflag = unprepinfo[7]; // usg : 인증저장, uss : Staff-Sign
  95. var formrecdeptcd = unprepinfo[8]; //진료기록 작성부서코드
  96. if(formrecdeptcd==""){
  97. formrecdeptcd = dutplcecd;
  98. }
  99. for(var i = 1; i < grd_unpreplist.rows; i++){
  100. var trgtpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
  101. var trgtorddd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/indd");
  102. var trgtcretno = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/cretno");
  103. var trgtformcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/srcformcd");
  104. var trgtformrecdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd");
  105. var trgtformrecseq = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/formrecseq");
  106. var trgtunprepdrid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepdrid");
  107. var trgtunprepitemcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemcd");
  108. var trgtorddeptcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/orddeptcd");
  109. //Staff Sign처리되는 건은 미비상태를 의사확인으로 변경
  110. //2008. 12. 26 오지훈
  111. if((workflag=="usg") && !(trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
  112. if(formcd == "0000000680" || formcd =="0000001592"){ //입퇴원요약지/DischargeNote인 경우에는 일자가 조회조건에서 빠짐
  113. if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd){
  114. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  115. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  116. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  117. grd_unpreplist.refresh();
  118. }
  119. }else{
  120. if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq && formrecdeptcd == trgtorddeptcd){
  121. //서울성모병원 수술기록지의 경우 인증저장시 미비상태를 '완료'로 처리한다.(2010.02.10 이남익)
  122. if(trgtformcd == "0000000676"){
  123. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
  124. } else {
  125. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  126. }
  127. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd", formrecdd);
  128. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  129. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  130. grd_unpreplist.refresh();
  131. }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd && formrecdd == trgtformrecdd ){
  132. if(trgtformcd == "0000000676"){
  133. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
  134. } else {
  135. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  136. }
  137. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  138. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  139. grd_unpreplist.refresh();
  140. }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd){
  141. //입퇴원요약지, Discharge Note에 대한 진료기록일자 변경시 처리
  142. if(trgtformcd == "0000000680" || trgtformcd == "0000001592"){
  143. if(trgtformcd == "0000001592"){
  144. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
  145. } else {
  146. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  147. }
  148. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  149. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  150. grd_unpreplist.refresh();
  151. }
  152. }
  153. }
  154. } else if((workflag=="usg") && (trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
  155. if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq){
  156. if(trgtformcd == "0000000676" && posuserid == trgtunprepdrid){
  157. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  158. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  159. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  160. grd_unpreplist.refresh();
  161. }
  162. }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdd == trgtformrecdd){
  163. if(trgtformcd == "0000000676" && posuserid == trgtunprepdrid){
  164. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  165. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  166. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  167. grd_unpreplist.refresh();
  168. }
  169. }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd){
  170. //입퇴원요약지, Discharge Note에 대한 진료기록일자 변경시 처리
  171. if(trgtformcd == "0000000680" || trgtformcd == "0000001592"){
  172. if(posuserid == trgtunprepdrid){
  173. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  174. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  175. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  176. grd_unpreplist.refresh();
  177. }
  178. }
  179. }
  180. }else if(workflag=="uss" && (trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
  181. if(formcd == "0000000680" || formcd =="0000001592"){ //입퇴원요약지/DischargeNote 인 경우에는 일자가 조회조건에서 빠짐
  182. if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd){
  183. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  184. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  185. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  186. grd_unpreplist.refresh();
  187. }
  188. }else{
  189. if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq){
  190. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  191. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd", formrecdd);
  192. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  193. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  194. grd_unpreplist.refresh();
  195. }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdd == trgtformrecdd){
  196. model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
  197. grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
  198. grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
  199. grd_unpreplist.refresh();
  200. }
  201. }
  202. }
  203. }
  204. grd_unpreplist.select(i, grd_unpreplist.col) = false;
  205. }
  206. model.refresh();
  207. }
  208. /**
  209. * @desc 미비기록 load
  210. */
  211. function fLoadUnPrepRec(){
  212. var currow = grd_unpreplist.row;
  213. var pid = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/pid");
  214. var indd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indd");
  215. var cretno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/cretno");
  216. var ioflag = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indschflag");
  217. var formcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formcd");
  218. var srcformcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/srcformcd");
  219. var orddeptcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indschdeptcd");
  220. var formrecdd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formrecdd");
  221. var dschdd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/dschdd");
  222. var formrecseq = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formrecseq");
  223. var oprsrvno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/oprsrvno");
  224. var instcd = getUserInfo("dutplceinstcd");
  225. var unprepitemcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/unprepitemcd");
  226. var unprepno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/unprepno");
  227. var opendd = model.getValue("/root/init/openday/M0037M0546/cdid"); // 병원별 오픈일
  228. //2009-07-08 오후 8:03:43 강지훈 수정 : 20091002로 하드코딩된 내역을 공통코드 "M0546" 유형코드 "M0037" 로 관리
  229. var preopendd = opendd.toDate().getAddDate(-1, "D").getDateFormat();
  230. var preOpenMonth = preopendd.substring(4,6);
  231. var preOpenDay = preopendd.substring(6,8);
  232. //2010-01-04 이남익 수정 : 응급실미비 조회를 위한 ordertype 구분
  233. var ordtype = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/ordtype");
  234. var dutplcecd = getUserInfo("dutplcecd"); //사용자부서
  235. if(formrecdd <= preopendd){
  236. messageBox(preOpenMonth+"월 "+preOpenDay+"일까지 발생된 미비기록은 구OCS프로그램과 종이에 작성", "I008");
  237. return;
  238. }
  239. //작성미비된 기록인 경우, formrecseq값을 삭제함
  240. if(formrecseq == -1){
  241. formrecseq = "";
  242. }
  243. if((srcformcd != "0000002022")){
  244. //기록지 번호가 없고, 미비항목코드가 인증미비인 경우 기록지 로딩을 하지 않는다.
  245. if(formrecseq == ""){
  246. if(unprepitemcd == "0000000057" || unprepitemcd == "000000002"){
  247. messageBox("기록지와 연동되지 않아 인증", "E001");
  248. return;
  249. }
  250. }
  251. }
  252. // 2009.07.01 이경희
  253. // 환자의 퇴원일이 해당 일자 이후인 경우. 즉 재원중인 환자는 dschdd를 현재일자로 넘긴다.
  254. var today = getCurrentDate();
  255. if(dschdd > today) {
  256. dschdd = today;
  257. }
  258. // 수술기록연동
  259. // 수술환자 parameter 구조 ioflag▦pid ▦opcnfmdd▦cretno ▦instcd ▦perfdeptcd▦perfdrid▦patflag ▦procflag▦oprsrvno▦ophistno▦srchdd
  260. // 외래/입원구분▦등록번호▦수술일자▦생성번호▦기관코드▦집도과 ▦집도의 ▦환자구분▦처리구분
  261. // 수술기록 || Brief OP Note || Post Op Note(New)-20130619 || 마취기록지-20131015 || 마취전 평가 및 협진서-20131025
  262. if(srcformcd == "0000000676" || srcformcd == "0000003169" || srcformcd == "1300014169" || srcformcd == "0000002022" || srcformcd == "0000000737"){
  263. /*
  264. if(oprsrvno == ""){
  265. messageBox("수술정보를 연결할 수", "I004");
  266. return;
  267. }
  268. */
  269. var param = "T" + "▦" + // ioflag
  270. pid + "▦" + // pid
  271. formrecdd + "▦" + // opcnfmdd
  272. cretno + "▦" + // cretno
  273. instcd + "▦" + // instcd
  274. "" + "▦" + // perfdeptcd
  275. "" + "▦" + // perfdrid
  276. "I" + "▦" + // patflag
  277. "F" + "▦" + // procflag
  278. oprsrvno + "▦" + // oprsrvno
  279. "" + "▦" + // ophistno
  280. dschdd; // srchdd
  281. /*
  282. // 수술기록인 경우 환자원무키 조회를 한다.
  283. // 조회 결과가 1건인 경우에는 기존 로직대로 진행
  284. // 2건인 경우에는 조회된 결과를 팝업으로 띄워 사용자가 어떤 수진을 열것인지 선택
  285. // 선택된 수진으로 열도록 설정.
  286. param = fGetEtcPatPamPrimaryKey(param);
  287. */
  288. //수술기록 이외의 기록연동
  289. }else{
  290. /*추가 2010.01.05 이남익 응급실 관련 추가 이전
  291. var param = "I" + "▦" +
  292. pid + "▦" +
  293. indd + "▦" +
  294. cretno + "▦" +
  295. instcd + "▦" +
  296. dschdd;
  297. */
  298. if(ordtype!="E"){
  299. ordtype = "I";
  300. }
  301. var param = ordtype + "▦" +
  302. pid + "▦" +
  303. indd + "▦" +
  304. cretno + "▦" +
  305. instcd + "▦" +
  306. dschdd;
  307. }
  308. setParameter("condparam", param);
  309. //기록번호가 없는 경우, 작성미비가 아니면 연동불가
  310. setGlobalVariable("linked_formcd" , formcd , "emr");
  311. setGlobalVariable("linked_formrecseq", formrecseq , "emr");
  312. setGlobalVariable("linked_formrecdd" , formrecdd , "emr");
  313. modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  314. var gmainwnd = getMainViewer();
  315. setParameter("SMMMO04100_ANSWCNT", "");
  316. /*
  317. gmainwnd.javascript.navigate("SMMMR00100");
  318. */
  319. // 2013.10.15 김영기 마취기록지 및 마취전 평가 및 협진서 추가를 위한 로직 수정
  320. //if((dutplcecd == "2090000000" || dutplcecd == "2090300000")){ //사용자부서가 마취통증의학과, 통증클리닉인 경우
  321. if(srcformcd == "0000002022" || srcformcd == "0000000737"){ //서식코드가 마취기록지 및 마취전 평가 일경우
  322. gmainwnd.javascript.navigate("SMMMR03700");
  323. //model.setValue("/root/temp2/unprepno", unprepno);
  324. setParameter("SMMMR03700_unprepno", unprepno);
  325. }else{
  326. gmainwnd.javascript.navigate("SMMMR00100");
  327. }
  328. model.refresh();
  329. }
  330. /**
  331. * @desc 부서콤보 조회
  332. */
  333. function fGetDeptCodeComboList(ref, rsltref, orddeptflag, stnddd){
  334. var mmb_rsltref = "/root/hidden/mmb/orddept";
  335. model.removeNode(mmb_rsltref);
  336. model.makeNode(mmb_rsltref);
  337. model.removeNode(ref);
  338. model.makeValue(ref + "/orddeptflag", orddeptflag);
  339. if(stnddd != ""){
  340. model.makeValue(ref + "/stnddd", stnddd);
  341. }
  342. if(submit("TRMMB04101", "false", ref, mmb_rsltref)==true){
  343. model.copyNode(rsltref, mmb_rsltref);
  344. model.removeNode(mmb_rsltref);
  345. }
  346. model.refresh();
  347. }
  348. /**
  349. * @desc 미비항목코드 Count예외코드 조회
  350. */
  351. function reqGetUnPrepBaseExptCnt(){
  352. if(submit("TRMRI01703")){
  353. }
  354. }
  355. /**
  356. * @desc 다음달을 구하는 함수
  357. * @param yyyy : 년도
  358. * @param mm : 월
  359. * @return yyyymm : 년월
  360. */
  361. function addMonth(yyyymm){
  362. var yyyy = yyyymm.substring(0, 4);
  363. var mm = yyyymm.substring(4, 6);
  364. var bfmm;
  365. if(mm.substr(0,1) == "0"){ //10월 이전인 경우, 앞자리 0을 제거
  366. bfmm = mm.substr(1,1);
  367. bfmm++;
  368. }else{ //10월 이후인 경우
  369. bfmm = mm;
  370. bfmm++;
  371. }
  372. if(bfmm > 12){ // 1월 이전을 선택한 경우, 년도를 바꿈
  373. bfmm = "01";
  374. yyyy++;
  375. }else if(bfmm < 10){ //10월 이후인 경우에는 앞자리에 0을 붙임.
  376. bfmm = "0".concat(bfmm);
  377. }
  378. return "" + yyyy + "".concat(bfmm);
  379. }
  380. /**
  381. * @desc 달간격을 구하는 함수
  382. * @param startdd : 시작년월(YYYY-MM)
  383. * @param enddd : 종료년월(YYYY-MM)
  384. * @return monthcnt : 달간격
  385. */
  386. function getMonthInterval(startdd, enddd){
  387. var monthcnt = 0;
  388. while(startdd != enddd){
  389. startdd = addMonth(startdd);
  390. monthcnt++;
  391. }
  392. return monthcnt;
  393. }
  394. /**
  395. * @desc 숫자여부 판단
  396. */
  397. function isNumber(str) {
  398. str += ''; // 문자열로 변환
  399. str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
  400. if (str == '' || isNaN(str)){
  401. return "N";
  402. }
  403. return "Y";
  404. }
  405. /**
  406. * @desc 미비의사 조회
  407. */
  408. function fReqGetUnPrepDrSmplList(srchflag, srchdata){
  409. model.removeNodeset("/root/send/reqdata");
  410. model.makeValue("/root/send/reqdata/srchflag", srchflag);
  411. model.makeValue("/root/send/reqdata/srchdata", srchdata);
  412. if(submit("TRMRI02901")){
  413. }
  414. }
  415. /**
  416. * @desc 의사별미비리스트 조회
  417. * @param unprepsign staffsign구분(Y/N)
  418. */
  419. function fReqGetUnPrepDrClsList(unprepsign){
  420. grd_unpreplist.allstyle("all", "color") = "";
  421. grd_unpreplist.allstyle("all", "font-weight")= "";
  422. model.setValue("/root/main/cond/unprepsign", unprepsign);
  423. model.removeNode("/root/main/unpreplist/unpreplistcnt");
  424. model.removeNodeset("/root/main/unpreplist/unpreplist");
  425. model.copyNode("/root/send/reqdata", "/root/main/cond");
  426. model.makeValue("/root/send/reqdata/offset", "0");
  427. model.makeValue("/root/send/reqdata/pagesize", "1000");
  428. if(submit("TRMRI01801")){
  429. fFormCountofSrcForminfo();
  430. //fFormCountofFominfo();
  431. fDoMergeUnPrepDrClsList();
  432. }
  433. //grd_unpreplist.rowstyle(1, "overchk", "background-color") = "#ff0000";
  434. for (var i=1 ; i < grd_unpreplist.rows ; i++ )
  435. {
  436. var overchk = model.getValue("/root/main/unpreplist/unpreplist["+ i +"]/overchk");
  437. grd_unpreplist.cellstyle("color", i,1) = "#000000";
  438. if (overchk > 24 ) {
  439. grd_unpreplist.cellstyle("color", i,1) = "#FF0000";
  440. }
  441. }
  442. }
  443. /**
  444. * @desc 의사별미비리스트 조회 스크롤이벤트
  445. * @param unprepsign staffsign구분(Y/N)
  446. */
  447. function fSubmitOnScroll()
  448. {
  449. if( (grd_unpreplist.rows - grd_unpreplist.fixedrows) < 1000)
  450. return;
  451. if(grd_unpreplist.vscroll.attribute("max") == grd_unpreplist.vscroll.attribute("pos"))
  452. {
  453. fDoUnMergeUnPrepDrClsList();
  454. model.copyNode("/root/send/reqdata", "/root/main/cond");
  455. // end of scroll
  456. var nextpage = grd_unpreplist.rows-grd_unpreplist.fixedRows;
  457. model.makeValue("/root/send/reqdata/offset", nextpage); // grid의 header row는 제외
  458. model.makeValue("/root/send/reqdata/pagesize", "1000");
  459. if(submit("TRMRI01801")){
  460. grd_unpreplist.dispatch("onmouseup"); // 스크롤바 처리를 위한 이벤트 발생
  461. grd_unpreplist.refresh();
  462. grd_unpreplist.rebuild();
  463. fDoMergeUnPrepDrClsListScroll();
  464. fFormCountofSrcForminfo();
  465. }
  466. }
  467. }
  468. /**
  469. * @desc 의사별미비리스트 unmerge
  470. */
  471. function fDoUnMergeUnPrepDrClsList()
  472. {
  473. grd_unpreplist.sortClear();
  474. for(var i = 1; i < grd_unpreplist.rows; i++)
  475. {
  476. if(grd_unpreplist.isMerge(i, grd_unpreplist.colRef("pid")))
  477. {
  478. grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("pid"));
  479. grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("hngnm"));
  480. grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("dschdd"));
  481. grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("dschdeptnm"));
  482. grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("medispclnm"));
  483. }
  484. }
  485. grd_unpreplist.refresh();
  486. model.refresh();
  487. }
  488. /**
  489. * @desc 의사별미비리스트 Scroll merge
  490. */
  491. function fDoMergeUnPrepDrClsListScroll(){
  492. var reccnt = 0;
  493. var patcnt = 0;
  494. var icnt = 0;
  495. var color = "#ffffcc";
  496. var startrow = 1;
  497. for(var i = 1; i < grd_unpreplist.rows; i++){
  498. var unprepitemcd = model.getValue("/root/main/unpreplist/unpreplist[" + i + "]/unprepitemcd");
  499. var result = model.getValue("/root/main/unprepiteminfo/unprepiteminfo[unprepitemcd='" + unprepitemcd + "']/unprepitemcd");
  500. if(result == ""){
  501. reccnt++;
  502. }
  503. if(i == 1){
  504. var orgpid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
  505. var orgdschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
  506. var orgmedispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
  507. startrow = 1;
  508. grd_unpreplist.rowStyle(i, "data", "background-color")= color;
  509. patcnt++;
  510. continue;
  511. }
  512. var pid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
  513. var dschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
  514. var medispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
  515. if(orgpid == pid && orgdschdd == dschdd && orgmedispclnm == medispclnm){
  516. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("pid"), i, grd_unpreplist.colRef("pid"));
  517. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("hngnm"), i, grd_unpreplist.colRef("hngnm"));
  518. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdd"), i, grd_unpreplist.colRef("dschdd"));
  519. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdeptnm"), i, grd_unpreplist.colRef("dschdeptnm"));
  520. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("medispclnm"), i, grd_unpreplist.colRef("medispclnm"));
  521. }else{
  522. patcnt++;
  523. var orgpid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
  524. var orgdschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
  525. var orgmedispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
  526. startrow = i;
  527. if(color == "#ffffcc"){
  528. color = "#ffffff";
  529. }else{
  530. color = "#ffffcc";
  531. }
  532. }
  533. grd_unpreplist.rowStyle(i, "data", "background-color")= color;
  534. }
  535. model.setValue("/root/main/cond/patcnt", patcnt);
  536. model.setValue("/root/main/cond/reccnt", reccnt);
  537. model.refresh();
  538. }
  539. /**
  540. * @desc 의사별미비리스트 merge
  541. */
  542. function fDoMergeUnPrepDrClsList()
  543. {
  544. var reccnt = 0;
  545. var patcnt = 0;
  546. var icnt = 0;
  547. var color = "#ffffcc";
  548. var startrow = 1;
  549. for(var i = 1; i < grd_unpreplist.rows; i++){
  550. var unprepitemcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemcd");
  551. var result = model.getValue("/root/main/unprepiteminfo/unprepiteminfo[unprepitemcd='" + unprepitemcd + "']/unprepitemcd");
  552. if(result == ""){
  553. reccnt++;
  554. }
  555. if(i == 1){
  556. var orgpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
  557. var orgdschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
  558. var orgmedispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
  559. startrow = 1;
  560. grd_unpreplist.rowStyle(i, "data", "background-color")= color;
  561. patcnt++;
  562. continue;
  563. }
  564. var pid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
  565. var dschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
  566. var medispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
  567. if(orgpid == pid && orgdschdd == dschdd && orgmedispclnm == medispclnm){
  568. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("pid"), i, grd_unpreplist.colRef("pid"));
  569. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("hngnm"), i, grd_unpreplist.colRef("hngnm"));
  570. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdd"), i, grd_unpreplist.colRef("dschdd"));
  571. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdeptnm"), i, grd_unpreplist.colRef("dschdeptnm"));
  572. grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("medispclnm"), i, grd_unpreplist.colRef("medispclnm"));
  573. }else{
  574. patcnt++;
  575. var orgpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
  576. var orgdschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
  577. var orgmedispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
  578. startrow = i;
  579. if(color == "#ffffcc"){
  580. color = "#ffffff";
  581. }else{
  582. color = "#ffffcc";
  583. }
  584. }
  585. grd_unpreplist.rowStyle(i, "data", "background-color")= color;
  586. }
  587. model.setValue("/root/main/cond/patcnt", patcnt);
  588. model.setValue("/root/main/cond/reccnt", reccnt);
  589. model.refresh();
  590. }
  591. /**
  592. * @desc : 엑셀 저장
  593. */
  594. function fSaveExcel(){
  595. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  596. if (fileName != ""){
  597. grd_unpreplist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
  598. }
  599. }
  600. /**
  601. * @desc : 의사별미비리스트 출력
  602. */
  603. function fPrntUnPrepInfo(){
  604. // model.setValue("/root/main/cond/unprepdeptnm", cmb_deptcd.label);
  605. // model.setValue("/root/main/cond/indschflagnm", rdo_inoutflag.label);
  606. // model.setValue("/root/main/cond/dateflagnm" , cmb_inoutddflag.label);
  607. // model.setValue("/root/main/cond/formnm" , cmb_formcd.label);
  608. // model.setValue("/root/main/cond/unprepitemnm", cmb_itemcd.label);
  609. exeReportPreview("RPMRI01800", "XMLSTR");
  610. }
  611. function fFormCountofSrcForminfo()
  612. {
  613. /* 0000000680 : 입퇴원요약기록지
  614. 0000000003 : 입원초진기록
  615. 0000000004 : 경과기록
  616. 0000003169 : Brief OP Note
  617. 0000001594 : Expired Note
  618. 0000000676 : 수술기록
  619. 0000001592 : Discharge Note
  620. 0800003416 : Post Op Note*/
  621. var arrItem = new Array("0000000680", "0000000003", "0000000004", "0000003169", "0000001594", "0000000676", "0000001592", "0800003416");
  622. for( i=0; i<arrItem.length;i++ )
  623. {
  624. // var nodelist = instance1.selectNodes("/root/unpreplist");
  625. // var cnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist[srcformcd='"+arrItem[i]+"'])");
  626. // formcd 별 count 집계에서 환자당 formcd 별 count 집계로 수정 2010.02.25 성규훈
  627. var nodelist = instance1.selectNodes("root/main/unpreplist/unpreplist")
  628. var pidArray = Array(nodelist.length); //해당 form을 갖고있는 pid를 모아둘 배열
  629. var cnt = 0;
  630. for( j=0; j < nodelist.length; j++)
  631. {
  632. var itemNode = nodelist.item(j);
  633. var pid = itemNode.selectSingleNode("pid").text;
  634. var srcformcd = itemNode.selectSingleNode("srcformcd").text;
  635. if(srcformcd == arrItem[i])
  636. {
  637. pidArray[j] = pid;
  638. }
  639. }
  640. pidArray.sort(); //pidArray 정렬
  641. for(j=0; j<pidArray.length; j++)
  642. {
  643. if(pidArray[j] != pidArray[j-1] && pidArray[j] != null)
  644. {
  645. cnt++
  646. }
  647. }
  648. model.setValue("/root/main/formcnt/cnt_"+arrItem[i], cnt);
  649. }
  650. grp_formcnt.refresh();
  651. }
  652. function fFormCountofFominfo()
  653. {
  654. var cnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist)");
  655. var isFormcd="";
  656. var totFormInfo ="";
  657. var rowcnt = 1;
  658. var colcnt = 1;
  659. for (i=1; i<=cnt; i++)
  660. {
  661. var formcd = model.getValue("/root/main/unpreplist/unpreplist["+i+"]/formcd");
  662. var idx = isFormcd.indexOf(formcd);
  663. if ( idx == -1 )
  664. {
  665. var formnm = model.getValue("/root/main/unpreplist/unpreplist["+i+"]/formnm");
  666. var subcnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist[formcd='"+formcd+"'])");
  667. var formcnt = "* " + formnm + " : " + subcnt;
  668. model.setValue("/root/main/formcnt/formcnt["+rowcnt+"]/col"+colcnt, formcnt);
  669. if ( colcnt == 5 )
  670. {
  671. rowcnt++;
  672. colcnt = 0;
  673. model.makeNode("/root/main/formcnt/formcnt["+rowcnt+"]");
  674. model.copyNode("/root/main/formcnt/formcnt["+rowcnt+"]", "/root/temp/formcnt");
  675. }
  676. colcnt++;
  677. }
  678. isFormcd = isFormcd + formcd + "||";
  679. }
  680. datagrid1.rebuild();
  681. }
  682. /*
  683. function fGetEtcPatPamPrimaryKey(condparam)
  684. {
  685. var condarray = condparam.split("▦");
  686. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  687. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //수술일자
  688. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  689. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  690. model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
  691. model.makeValue("/root/send/reqdata/orddeptcd", condarray[5]); //집도과
  692. model.makeValue("/root/send/reqdata/orddrid" , condarray[6]); //집도의
  693. model.makeValue("/root/send/reqdata/patflag" , condarray[7]); //환자구분 - dao sql에서 query구분자 설정
  694. model.makeValue("/root/send/reqdata/procflag" , condarray[8]); //처리구분(F:최초 조회, R:재조회)
  695. model.makeValue("/root/send/reqdata/oprsrvno" , condarray[9]); //수술예약번호
  696. model.makeValue("/root/send/reqdata/ophistno" , condarray[10]);//수술이력번호
  697. model.makeValue("/root/send/reqdata/srchdd" , condarray[11]);//조회일자
  698. if(submit("TRMRI01808") == true)
  699. {
  700. var param = "";
  701. var PamKeyList = findNodeset(model, "/root/main/pamkeyinfo/pamprimekey");
  702. if(PamKeyList.length < 1){
  703. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  704. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //수술일자
  705. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  706. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  707. model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
  708. model.makeValue("/root/send/reqdata/orddeptcd", condarray[5]); //집도과
  709. model.makeValue("/root/send/reqdata/orddrid" , condarray[6]); //집도의
  710. model.makeValue("/root/send/reqdata/patflag" , "O"); //환자구분 - dao sql에서 query구분자 설정
  711. model.makeValue("/root/send/reqdata/procflag" , condarray[8]); //처리구분(F:최초 조회, R:재조회)
  712. model.makeValue("/root/send/reqdata/oprsrvno" , condarray[9]); //수술예약번호
  713. model.makeValue("/root/send/reqdata/ophistno" , condarray[10]);//수술이력번호
  714. model.makeValue("/root/send/reqdata/srchdd" , condarray[11]);//조회일자
  715. submit("TRMRI01808");
  716. }
  717. if(PamKeyList.length > 1){
  718. modal("SPMRI03200", "1","150", "150", "SPMRI03200", "/root/main/pamkeyinfo", "/root/main/result");
  719. if(getParameter("SPMRI03200_useyn") == "Y")
  720. {
  721. var SelectedPamKey = findNodeset(model, "/root/main/result/pamkeyinfo");
  722. for(int i = 0; i < SelectedPamKey.length; i++)
  723. {
  724. var pid = model.getValue("/root/main/result/pamkeyinfo/pid"); //등록번호
  725. var orddd = model.getValue("/root/main/result/pamkeyinfo/orddd"); //수술일자
  726. var cretno = model.getValue("/root/main/result/pamkeyinfo/cretno"); //생성번호
  727. var instcd = model.getValue("/root/main/result/pamkeyinfo/instcd"); //기관코드
  728. var ioflag = model.getValue("/root/main/result/pamkeyinfo/ioflag"); //외래입원구분
  729. if(ioflag == "I")
  730. {
  731. param = "T" + "▦" + // ioflag
  732. pid + "▦" + // pid
  733. orddd + "▦" + // opcnfmdd
  734. cretno + "▦" + // cretno
  735. instcd + "▦" + // instcd
  736. "" + "▦" + // perfdeptcd
  737. "" + "▦" + // perfdrid
  738. "I" + "▦" + // patflag
  739. "F" + "▦" + // procflag
  740. oprsrvno + "▦" + // oprsrvno
  741. "" + "▦" + // ophistno
  742. dschdd; // srchdd
  743. }
  744. }
  745. }
  746. return param;
  747. }
  748. }
  749. }
  750. */
  751. /**
  752. * @---------------------------------------------------
  753. * @creat : 20110503 => 20140311 수정
  754. * @author : 최원돈 => 이윤주
  755. * @desc : 선택환자의 관련 미비상세내역을 조회한다.
  756. * @---------------------------------------------------
  757. */
  758. function callUnprepDtPopMenu()
  759. {
  760. var iRow = grd_unpreplist.row - grd_unpreplist.fixedRows + 1;
  761. var curObj = opener.javascript.getOpenWindow("SPMRI03800"); //활성화된 미비상세 화면 object loading
  762. setParameter("SPMRI03800_pid", grd_unpreplist.valueMatrix(iRow, grd_unpreplist.colRef("pid")));
  763. setParameter("SPMRI03800_indd", grd_unpreplist.valueMatrix(iRow, grd_unpreplist.colRef("indd")));
  764. if(curObj != null) { //미비상세 화면 refresh;
  765. curObj.window.javascript.fInit();
  766. activateChild("SPMRI03800");
  767. }
  768. else {
  769. open("SPMRI03800", 1, 400, 0);
  770. }
  771. initPopupMenu(); // Reset Right Popupmenu
  772. }
  773. /**
  774. * @---------------------------------------------------
  775. * @creat : 20120518
  776. * @author : 이윤주
  777. * @desc : 미비내역을 조회.
  778. * @---------------------------------------------------
  779. */
  780. function fSearchMibi()
  781. {
  782. var indschflag = model.getValue("/root/main/cond/indschflag");
  783. grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^퇴원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
  784. if(indschflag == "I"){ //재원미비인 경우
  785. grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^재원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
  786. }else if(indschflag == "A"){ //전체미비인 경우
  787. grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^재(퇴)원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
  788. }
  789. if(indschflag == "O"){
  790. model.removeNodeset("/root/main/unpreplist/unpreplist");
  791. model.setFocus("rdo_inoutflag");
  792. model.refresh();
  793. return;
  794. }
  795. /* 응급실 미비 기능 추가로 Remark(2009.12.21 이남익)
  796. if(indschflag == "E"){
  797. model.removeNodeset("/root/main/unpreplist/unpreplist");
  798. model.setFocus("rdo_inoutflag");
  799. model.refresh();
  800. return;
  801. }
  802. */
  803. if(indschflag =="A"){
  804. var unprepdrid = model.getValue("/root/main/cond/unprepdrid");
  805. var deptcd = cmb_deptcd.value;
  806. if(unprepdrid == "" && deptcd == "-"){
  807. messageBox("미비과 또는 미비의사중 하나는 반드시 선택 또는 입력해야 합니다.","I003");
  808. if(deptcd == "-"){
  809. model.setFocus("cmb_deptcd");
  810. } else {
  811. model.setFocus("ipt_unprepdrnm");
  812. }
  813. return;
  814. }
  815. }
  816. model.setValue("/root/main/cond/orderby", "");
  817. fReqGetUnPrepDrClsList("N");
  818. }
  819. /**
  820. * @---------------------------------------------------
  821. * @creat : 20120518
  822. * @author : 이윤주
  823. * @desc : 스텝미비내역을 조회.
  824. * @---------------------------------------------------
  825. */
  826. function fStaffMibi()
  827. {
  828. var indschflag = model.getValue("/root/main/cond/indschflag");
  829. if(indschflag == "O"){
  830. model.removeNodeset("/root/main/unpreplist/unpreplist");
  831. model.setFocus("rdo_inoutflag");
  832. model.refresh();
  833. return;
  834. }
  835. if(indschflag == "E"){
  836. model.removeNodeset("/root/main/unpreplist/unpreplist");
  837. model.setFocus("rdo_inoutflag");
  838. model.refresh();
  839. return;
  840. }
  841. if(indschflag =="A"){
  842. var unprepdrid = model.getValue("/root/main/cond/unprepdrid");
  843. var deptcd = cmb_deptcd.value;
  844. if(unprepdrid == "" && deptcd == "-"){
  845. messageBox("미비과 또는 미비의사중 하나는 반드시 선택 또는 입력해야 합니다.","I003");
  846. if(deptcd == "-"){
  847. model.setFocus("cmb_deptcd");
  848. } else {
  849. model.setFocus("ipt_unprepdrnm");
  850. }
  851. return;
  852. }
  853. }
  854. model.setValue("/root/main/cond/orderby", "");
  855. fReqGetUnPrepDrClsList("Y");
  856. }
  857. /**===================================================================================
  858. @desc : 깜빡이 기능
  859. =====================================================================================*/
  860. function fviewinfomsg(){
  861. window.clearInterval(gTimerID);
  862. gTimerID = window.setInterval("fviewinfomsg()", gIntervalTime);
  863. if(gTimeCnt%2 == 0){
  864. cap_infomsg.visible = true;
  865. }else{
  866. cap_infomsg.visible = false;
  867. }
  868. cap_infomsg.refresh();
  869. gTimeCnt++;
  870. }