SMMNP00210.xjs 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 환자 시술전 처치 및 간호상태 확인 사항
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Created By 이윤주
  7. : 2015.03.18
  8. ---------------------------------------------------------------------- */
  9. var xPath_curenurgstatspec = ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList; // 환자 수술전 처치 및 간호상태 확인 사항
  10. var xPath_famyinfo = ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList; //가족사항
  11. var xPath_spcinfo = ds_main_ssminfo_ssmlist_spcinfo_spclists; //검체사항
  12. var xPath_Fmt_curenurgstatspec = ds_init_cureiteminfo_ItemCheckList; // 환자 수술전 처치 및 간호상태 확인 사항
  13. var xPath_MnpmcssrList = ds_main_ssminfo_ssmlist; // 환자 수술전 처치 및 간호상태 확인 사항 정보
  14. function fInit() {
  15. var spid = "";
  16. var sorddd = "";
  17. var scretno = "";
  18. node = sysf_getGlobalVariable("paminfo");
  19. dsf_setCSVToDs("ds_main_paminfo_list", node);
  20. if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("orddd")) ){
  21. ds_main_paminfo_list.addColumn("orddd", "string");
  22. }
  23. if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("ordtype")) ){
  24. ds_main_paminfo_list.addColumn("ordtype", "string");
  25. }
  26. if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("orddrid")) ){
  27. ds_main_paminfo_list.addColumn("orddrid", "string");
  28. }
  29. var spid = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "pid"));
  30. var orddd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "orddd"));
  31. var indd = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "indd"));
  32. var hngnm = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "hngnm"));
  33. if( utlf_isNull(spid) ){
  34. sysf_messageBox("상단에 환자정보가 없습니다", "I");
  35. this.close();
  36. return;
  37. }
  38. ds_init.setColumn(0, "patinfo", hngnm+"("+spid+") 진료(입원)일:"+orddd+indd);
  39. fGetNursHardCdInfo("'S04'", utlf_getCurrentDate()); //ds_codelist
  40. fAddSSList();
  41. ds_init.setColumn(0, "ssbfcureseqno", ds_init_ssinfo_sslist.getColumn(0, "ssbfcureseqno"));
  42. var ssbfcureseqno = ds_init.getColumn(0, "ssbfcureseqno");
  43. if( utlf_isNull(ssbfcureseqno) ){
  44. //fNew();
  45. this.setTimer(0, 100);
  46. } else {
  47. //fGetData();
  48. this.setTimer(1, 100);
  49. }
  50. // 20190430 김현석, 캡션 수정
  51. grp_main.caption7.text = "전달사항 (간호단위 -> 시술실)";
  52. grp_main.caption26.text = "전달사항 (시술실 -> 간호단위)";
  53. // 20191028 김현석, 본원에서만 주차장 발급
  54. if (sysf_getUserInfo("dutplceinstcd") == "031")
  55. {
  56. grp_main.btnParkingTicket.visible = true;
  57. }
  58. else
  59. {
  60. grp_main.btnParkingTicket.visible = false;
  61. }
  62. // 20191028 김현석, 주차증 발급 Div 안 보이게 하기
  63. grp_main.group5.visible = false;
  64. grp_main.group5.ipt_carno.value = "";
  65. }
  66. function fAddSSList() {
  67. var spid = ds_main_paminfo_list.getColumn(0, "pid");
  68. var sorddd = ds_main_paminfo_list.getColumn(0, "orddd");
  69. var sindd = ds_main_paminfo_list.getColumn(0, "indd");
  70. var scretno = ds_main_paminfo_list.getColumn(0, "cretno");
  71. var sordtype = ds_main_paminfo_list.getColumn(0, "ordtype");
  72. var sinstcd = sysf_getUserInfo("dutplceinstcd");
  73. if( !(sordtype == "S" || sordtype == "O") ){
  74. sorddd = sindd;
  75. }
  76. ds_send.setColumn(0, "pid",spid);
  77. ds_send.setColumn(0, "orddd",sorddd);
  78. ds_send.setColumn(0, "cretno",scretno);
  79. ds_send.setColumn(0, "instcd", sinstcd);
  80. ds_send.setColumn(0, "flag" , 1);
  81. var oParam = {};
  82. oParam.id = "TRMNP00213";
  83. oParam.service = "opanstapp.OpAnstPatMngt";
  84. oParam.method = "reqGetSSInfo";
  85. oParam.inds = "req=ds_send";
  86. oParam.outds = "ds_init_ssinfo_sslist=sslist";
  87. oParam.async = false;
  88. //oParam.callback = "cf_TRMNP00213";
  89. tranf_submit(oParam);
  90. }
  91. function fGetData() {
  92. ds_send.setColumn(0, "ssbfcureseqno", grp_main.cmb_sslist.value);
  93. var oParam = {};
  94. oParam.id = "TRMNP00214";
  95. oParam.service = "opanstapp.OpAnstPatMngt";
  96. oParam.method = "reqGetSSMInfo";
  97. oParam.inds = "req=ds_send";
  98. oParam.outds = "ds_main_ssminfo_ssmlist=ssmlist";
  99. oParam.async = false;
  100. //oParam.callback = "cf_TRMNP00214";
  101. tranf_submit(oParam);
  102. if( utlf_isNull(ds_main_ssminfo_ssmlist.getColumnInfo("indd")) ){
  103. ds_main_ssminfo_ssmlist.addColumn("indd", "string");
  104. }
  105. if( utlf_isNull(ds_main_ssminfo_ssmlist.getColumnInfo("orddrid")) ){
  106. ds_main_ssminfo_ssmlist.addColumn("orddrid", "string");
  107. }
  108. if( utlf_isNull(ds_main_ssminfo_ssmlist.getColumnInfo("medispclid")) ){
  109. ds_main_ssminfo_ssmlist.addColumn("medispclid", "string");
  110. }
  111. var sParamObj = new Object();
  112. sParamObj.pathYN = 'N';
  113. if( !utlf_isNull(this.objects["ds_data_ItemCheckList"]) ){
  114. ds_data_ItemCheckList.clearData();
  115. }
  116. if( !utlf_isNull(this.objects["ds_data_spclists"]) ){
  117. ds_data_spclists.clearData();
  118. }
  119. if( !utlf_isNull(this.objects["ds_data_MnwmpfifList"]) ){
  120. ds_data_MnwmpfifList.clearData();
  121. }
  122. if( !utlf_isNull(ds_main_ssminfo_ssmlist.getColumn(0, "curenurgstatspec")) ){
  123. lf_convertXmlToDs(ds_main_ssminfo_ssmlist.getColumn(0, "curenurgstatspec"), sParamObj); //ds_data_ItemCheckList
  124. }
  125. if( !utlf_isNull(ds_main_ssminfo_ssmlist.getColumn(0, "spcinfo")) ){
  126. lf_convertXmlToDs(ds_main_ssminfo_ssmlist.getColumn(0, "spcinfo"), sParamObj); //ds_data_spclists
  127. }
  128. if( !utlf_isNull(ds_main_ssminfo_ssmlist.getColumn(0, "famyinfo")) ){
  129. lf_convertXmlToDs(ds_main_ssminfo_ssmlist.getColumn(0, "famyinfo"), sParamObj); //ds_data_MnwmpfifList
  130. }
  131. xPath_curenurgstatspec.clearData();
  132. ds_main_ssminfo_ssmlist_spcinfo_spclists.clearData();
  133. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.clearData();
  134. if( !utlf_isNull(this.objects["ds_data_ItemCheckList"]) ){
  135. xPath_curenurgstatspec.copyData(ds_data_ItemCheckList);
  136. }
  137. if( !utlf_isNull(this.objects["ds_data_spclists"]) ){
  138. ds_main_ssminfo_ssmlist_spcinfo_spclists.copyData(ds_data_spclists);
  139. }
  140. if( !utlf_isNull(this.objects["ds_data_MnwmpfifList"]) ){
  141. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.copyData(ds_data_MnwmpfifList);
  142. }
  143. ds_main_ssminfo_ssmlist_spcinfo_spclists.rowposition = -1;
  144. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.rowposition = -1;
  145. xPath_curenurgstatspec.enableevent = false;
  146. xPath_curenurgstatspec.updatecontrol = false;
  147. for( var i=0 ; i<xPath_curenurgstatspec.rowcount ; i++ ){
  148. if( xPath_curenurgstatspec.getColumn(i, "pyes") == "true" ){
  149. xPath_curenurgstatspec.setColumn(i, "pyes", "1");
  150. }else{
  151. xPath_curenurgstatspec.setColumn(i, "pyes", "0");
  152. }
  153. if( xPath_curenurgstatspec.getColumn(i, "pno") == "true" ){
  154. xPath_curenurgstatspec.setColumn(i, "pno", "1");
  155. }else{
  156. xPath_curenurgstatspec.setColumn(i, "pno", "0");
  157. }
  158. if( xPath_curenurgstatspec.getColumn(i, "pna") == "true" ){
  159. xPath_curenurgstatspec.setColumn(i, "pna", "1");
  160. }else{
  161. xPath_curenurgstatspec.setColumn(i, "pna", "0");
  162. }
  163. if( xPath_curenurgstatspec.getColumn(i, "syes") == "true" ){
  164. xPath_curenurgstatspec.setColumn(i, "syes", "1");
  165. }else{
  166. xPath_curenurgstatspec.setColumn(i, "syes", "0");
  167. }
  168. if( xPath_curenurgstatspec.getColumn(i, "sno") == "true" ){
  169. xPath_curenurgstatspec.setColumn(i, "sno", "1");
  170. }else{
  171. xPath_curenurgstatspec.setColumn(i, "sno", "0");
  172. }
  173. if( xPath_curenurgstatspec.getColumn(i, "sna") == "true" ){
  174. xPath_curenurgstatspec.setColumn(i, "sna", "1");
  175. }else{
  176. xPath_curenurgstatspec.setColumn(i, "sna", "0");
  177. }
  178. }
  179. xPath_curenurgstatspec.updatecontrol = true;
  180. xPath_curenurgstatspec.enableevent = true;
  181. for( var i=0 ; i<ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.rowcount ; i++ ){
  182. if( ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.getColumn(i, "chkyn") == "Y" ){
  183. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "1");
  184. }else{
  185. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "0");
  186. }
  187. }
  188. if( xPath_curenurgstatspec.rowcount == 0 ){
  189. fGetBaseCheckList();
  190. }
  191. xPath_curenurgstatspec.rowposition = -1;
  192. fSetBtn();
  193. }
  194. function fNew() {
  195. ds_init.setColumn(0, "ssbfcureseqno", "");
  196. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.clearData();
  197. ds_main_ssminfo_ssmlist_spcinfo_spclists.clearData();
  198. xPath_curenurgstatspec.clearData();
  199. ds_main_ssminfo_ssmlist.clearData();
  200. ds_main_ssminfo_ssmlist.addRow();
  201. xPath_MnpmcssrList.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
  202. xPath_MnpmcssrList.setColumn(0, "orddd", ds_main_paminfo_list.getColumn(0, "orddd"));
  203. xPath_MnpmcssrList.setColumn(0, "cretno", ds_main_paminfo_list.getColumn(0, "cretno"));
  204. xPath_MnpmcssrList.setColumn(0, "indd", ds_main_paminfo_list.getColumn(0, "indd"));
  205. xPath_MnpmcssrList.setColumn(0, "orddeptcd", ds_main_paminfo_list.getColumn(0, "orddeptcd"));
  206. xPath_MnpmcssrList.setColumn(0, "ordtype", ds_main_paminfo_list.getColumn(0, "ioflag"));
  207. xPath_MnpmcssrList.setColumn(0, "orddrid", ds_main_paminfo_list.getColumn(0, "orddrid"));
  208. xPath_MnpmcssrList.setColumn(0, "medispclid", ds_main_paminfo_list.getColumn(0, "medispclid"));
  209. fGetBaseCheckList();
  210. // 20191028 김현석, 주차증 발급 Div 안 보이게 하기
  211. grp_main.group5.visible = false;
  212. grp_main.group5.ipt_carno.value = "";
  213. }
  214. function fGridCheckConfirm() {
  215. var BoolCheck = false;
  216. var GridNm = grp_main.grd_ItemCheckList;
  217. var opchkyn ="";
  218. var cnt = 0;
  219. for( var iRow=0 ; iRow<GridNm.rowcount ; iRow++ ){
  220. opchkyn = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "opchkyn");
  221. if( grp_main.chk_stay.value == "1" ){
  222. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Syes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Syes"))) &&
  223. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Sno") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Sno"))) &&
  224. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Snothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Snothing"))) ){
  225. BoolCheck = true;
  226. break;
  227. }
  228. } else if( grp_main.chk_stay.value == "2" ){
  229. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Oyes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Oyes"))) &&
  230. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Ono") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Ono"))) &&
  231. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Onothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Onothing"))) &&
  232. (opchkyn == "Y" || utlf_isNull(opchkyn)) ){
  233. BoolCheck = true;
  234. break;
  235. }
  236. } else {
  237. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pyes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pyes"))) &&
  238. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pno") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pno"))) &&
  239. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pnothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pnothing"))) ){
  240. BoolCheck = true;
  241. break;
  242. }
  243. }
  244. }
  245. return BoolCheck;
  246. }
  247. function fSave(pFlag){
  248. var pid = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "pid" )); // 환자번호
  249. var instcd = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "instcd" )); // 원무외래/입원등록정보 PK
  250. var ordtype = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ordtype" )); // 외래입원구분
  251. var orddd = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddd" )); // 진료일자
  252. var indd = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "indd" )); // 입원일자
  253. var orddrid = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddrid" )); // 진료의사
  254. var medispclid = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "medispclid" )); // 주치교수
  255. var cretno = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "cretno" )); // 원무생성번호
  256. var orddeptcd = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddeptcd" )); // 진료부서
  257. var ssdd = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ssdd" )); // 시술일
  258. var ssplace = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ssplace" )); // 시술장소
  259. var ssnm = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ssnm" )); // 시술명
  260. var ssnmetc = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ssnmetc" )); // 시술명
  261. var nrecnm = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "nrecnm" )); // 간호단위기록자
  262. var nrecdt = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "nrecdt" )); // 간호단위기록일시
  263. var nrecdept = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "nrecdept" )); // 간호단위기록 부서코드
  264. var srecnm = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "srecnm" )); // 시술실 기록자
  265. var srecdt = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "srecdt" )); // 시술실 기록일시
  266. var srecdept = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "srecdept" )); // 시술실기록 부서코드
  267. if( utlf_isNull(ssdd) ){
  268. sysf_messageBox("시술일이 입력되지 않았습니다","I");
  269. return;
  270. }
  271. if( utlf_transNullToEmpty(ssdd).length != 8 ){
  272. sysf_messageBox("시술일이 정확히 입력되지 않았습니다","I");
  273. return;
  274. }
  275. if( utlf_isNull(ssplace) ){
  276. sysf_messageBox("시술장소가 입력되지 않았습니다","I");
  277. return;
  278. }
  279. if( utlf_isNull(nrecdept) ){
  280. sysf_messageBox("간호단위 기록부서가 입력되지 않았습니다","I");
  281. return;
  282. }
  283. if( utlf_isNull(nrecnm) ){
  284. sysf_messageBox("간호단위 기록자가 입력되지 않았습니다","I");
  285. return;
  286. }
  287. if( utlf_isNull(nrecdt) ){
  288. sysf_messageBox("간호단위 기록일시가 입력되지 않았습니다","I");
  289. return;
  290. }
  291. // if (srecdept == "" || isNull(srecdept)) {
  292. // messageBox("시술단위 기록부서가 입력되지 않았습니다","I");
  293. // return;
  294. // }
  295. //
  296. // if (srecnm == "" || isNull(srecnm)) {
  297. // messageBox("시술단위 기록자가 입력되지 않았습니다","I");
  298. // return;
  299. // }
  300. //
  301. // if (srecdt == "" || isNull(srecdt)) {
  302. // messageBox("시술단위 기록일시가 입력되지 않았습니다","I");
  303. // return;
  304. // }
  305. if( !(ordtype == "S" || ordtype =="O") ){
  306. orddd = indd;
  307. orddrid = medispclid;
  308. }
  309. // if (fGridCheckConfirm()) {
  310. // messageBox("확인사항을 Check 하지 않은 항목이 있습니다. ","I000");
  311. // return;
  312. // }
  313. var curenurgstatspec = "";
  314. var famyinfo = "";
  315. var spcinfo = "";
  316. var curenurgstatspec = "";
  317. var famyinfo = "";
  318. var spcinfo = "";
  319. xPath_curenurgstatspec.enableevent = false;
  320. xPath_curenurgstatspec.updatecontrol = false;
  321. for( var i=0 ; i<xPath_curenurgstatspec.rowcount ; i++ ){
  322. if( xPath_curenurgstatspec.getColumn(i, "pyes") == "1" ){
  323. xPath_curenurgstatspec.setColumn(i, "pyes", "true");
  324. }else{
  325. xPath_curenurgstatspec.setColumn(i, "pyes", "false");
  326. }
  327. if( xPath_curenurgstatspec.getColumn(i, "pno") == "1" ){
  328. xPath_curenurgstatspec.setColumn(i, "pno", "true");
  329. }else{
  330. xPath_curenurgstatspec.setColumn(i, "pno", "false");
  331. }
  332. if( xPath_curenurgstatspec.getColumn(i, "pna") == "1" ){
  333. xPath_curenurgstatspec.setColumn(i, "pna", "true");
  334. }else{
  335. xPath_curenurgstatspec.setColumn(i, "pna", "false");
  336. }
  337. if( xPath_curenurgstatspec.getColumn(i, "syes") == "1" ){
  338. xPath_curenurgstatspec.setColumn(i, "syes", "true");
  339. }else{
  340. xPath_curenurgstatspec.setColumn(i, "syes", "false");
  341. }
  342. if( xPath_curenurgstatspec.getColumn(i, "sno") == "1" ){
  343. xPath_curenurgstatspec.setColumn(i, "sno", "true");
  344. }else{
  345. xPath_curenurgstatspec.setColumn(i, "sno", "false");
  346. }
  347. if( xPath_curenurgstatspec.getColumn(i, "sna") == "1" ){
  348. xPath_curenurgstatspec.setColumn(i, "sna", "true");
  349. }else{
  350. xPath_curenurgstatspec.setColumn(i, "sna", "false");
  351. }
  352. }
  353. xPath_curenurgstatspec.updatecontrol = true;
  354. xPath_curenurgstatspec.enableevent = true;
  355. for( var i=0 ; i<ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.rowcount ; i++ ){
  356. if( ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.getColumn(i, "chkyn") == "1" ){
  357. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "Y");
  358. }else{
  359. ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "");
  360. }
  361. }
  362. var pParam = new Object();
  363. pParam.cDataYN = "N";
  364. if( xPath_curenurgstatspec.rowcount > 0 ){
  365. var ds_ItemCheckLists_XML = "<ItemCheckLists><ItemCheckList><iteminfobk/><iteminfo/><pyes/><pno/><pna/><syes/><sno/><sna/><itemcode/></ItemCheckList></ItemCheckLists>";
  366. var sParamObjArr = [{ds: "ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList", path:"ItemCheckLists/ItemCheckList", filter: ""}];
  367. curenurgstatspec = lf_convertDsToXml(sParamObjArr,ds_ItemCheckLists_XML,pParam);
  368. ds_main_ssminfo_ssmlist.setColumn(0, "curenurgstatspec", curenurgstatspec);
  369. }
  370. xPath_curenurgstatspec.enableevent = false;
  371. xPath_curenurgstatspec.updatecontrol = false;
  372. for( var i=0 ; i<xPath_curenurgstatspec.rowcount ; i++ ){
  373. if( xPath_curenurgstatspec.getColumn(i, "pyes") == "true" ){
  374. xPath_curenurgstatspec.setColumn(i, "pyes", "1");
  375. }else{
  376. xPath_curenurgstatspec.setColumn(i, "pyes", "0");
  377. }
  378. if( xPath_curenurgstatspec.getColumn(i, "pno") == "true" ){
  379. xPath_curenurgstatspec.setColumn(i, "pno", "1");
  380. }else{
  381. xPath_curenurgstatspec.setColumn(i, "pno", "0");
  382. }
  383. if( xPath_curenurgstatspec.getColumn(i, "pna") == "true" ){
  384. xPath_curenurgstatspec.setColumn(i, "pna", "1");
  385. }else{
  386. xPath_curenurgstatspec.setColumn(i, "pna", "0");
  387. }
  388. if( xPath_curenurgstatspec.getColumn(i, "syes") == "true" ){
  389. xPath_curenurgstatspec.setColumn(i, "syes", "1");
  390. }else{
  391. xPath_curenurgstatspec.setColumn(i, "syes", "0");
  392. }
  393. if( xPath_curenurgstatspec.getColumn(i, "sno") == "true" ){
  394. xPath_curenurgstatspec.setColumn(i, "sno", "1");
  395. }else{
  396. xPath_curenurgstatspec.setColumn(i, "sno", "0");
  397. }
  398. if( xPath_curenurgstatspec.getColumn(i, "sna") == "true" ){
  399. xPath_curenurgstatspec.setColumn(i, "sna", "1");
  400. }else{
  401. xPath_curenurgstatspec.setColumn(i, "sna", "0");
  402. }
  403. }
  404. xPath_curenurgstatspec.updatecontrol = true;
  405. xPath_curenurgstatspec.enableevent = true;
  406. if( xPath_famyinfo.rowcount > 0 ){
  407. var ds_famylist_XML = "<famylist><MnwmpfifList><chkyn/><cdnm/><tel/><mpphone/><addr/><detladdr/></MnwmpfifList></famylist>";
  408. var sParamObjArr = [{ds: "ds_main_ssminfo_ssmlist_famyinfo_famylist_MnwmpfifList", path:"famylist/MnwmpfifList", filter: ""}];
  409. famyinfo = lf_convertDsToXml(sParamObjArr,ds_famylist_XML,pParam);
  410. ds_main_ssminfo_ssmlist.setColumn(0, "famyinfo", famyinfo);
  411. }
  412. if( xPath_spcinfo.rowcount > 0 ){
  413. for( var i=(xPath_spcinfo.rowcount-1) ; i>=1 ; i-- ){
  414. xPath_spcinfo.deleteRow(i);
  415. }
  416. // 20190424 김현석, 검체 입력 항목 변경
  417. /*var ds_spclists_XML = "<spclists><specimencd/><qty/><barqty/><sender/><sendarea/><senddd/><sendtm/><receiver/></spclists>";*/
  418. var ds_spclists_XML = "<spclists><specimencd/><qty/><barqty/><sender/><sendarea/><senddd/><sendtm/><receiver/><receivearea/><receivedd/><receivetm/></spclists>";
  419. var sParamObjArr = [{ds: "ds_main_ssminfo_ssmlist_spcinfo_spclists", path:"spclists", filter: ""}];
  420. spcinfo = lf_convertDsToXml(sParamObjArr,ds_spclists_XML,pParam);
  421. ds_main_ssminfo_ssmlist.setColumn(0, "spcinfo", spcinfo);
  422. }
  423. var nmemo = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "nmemo" )); // 간호단위메모
  424. var smemo = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "smemo" )); // 수술,대기 단위메모
  425. var signno = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "signno" )); // 인증번호
  426. var ssbfcureseqno = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ssbfcureseqno" )); // 의뢰번호(년도(4) + 일련번호(6))
  427. var stat = "";
  428. if( utlf_isNull(ssbfcureseqno) ){
  429. stat = "I";
  430. }else {
  431. stat = "U";
  432. }
  433. if( pFlag == "D" ){
  434. stat = "D";
  435. }
  436. var wUserId = sysf_getUserInfo("userid" ); // 사용자
  437. var wUserNm = sysf_getUserInfo("usernm" ); // 사용자 명
  438. var wDeptCd = sysf_getUserInfo("dutplcecd"); // 사용자 부서코드
  439. var wDeptNm = sysf_getUserInfo("dutplcenm"); // 사용자 부서명
  440. var wRecoDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  441. var wSaveDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  442. // Title Set
  443. var sMnpmcssrData = "pid" + "▦" // 환자번호
  444. + "instcd" + "▦" // 원무외래/입원등록정보 PK
  445. + "ordtype" + "▦" // 외래입원구분
  446. + "orddd" + "▦" // 진료일자
  447. + "cretno" + "▦" // 원무생성번호
  448. + "orddeptcd" + "▦" // 진료부서
  449. + "orddrid" + "▦" // 진료의사
  450. + "curenurgstatspec" + "▦" // 처치및간호상태정보
  451. + "certflag" + "▦" //
  452. + "ssdd" + "▦" //
  453. + "ssplace" + "▦" //
  454. + "ssnm" + "▦" //
  455. + "ssnmetc" + "▦" //
  456. + "nrecnm" + "▦" // 간호단위기록자
  457. + "nrecdt" + "▦" // 간호단위기록일시
  458. + "nrecdept" + "▦" // 간호단위기록부서
  459. + "srecnm" + "▦" // 시술실 기록자ID
  460. + "srecdt" + "▦" // 시술실 기록일시
  461. + "srecdept" + "▦" // 시술실 기록부서
  462. + "nmemo" + "▦" // 간호단위메모
  463. + "smemo" + "▦" // 수술,대기 단위메모
  464. + "signno" + "▦" // 인증번호
  465. + "ssbfcureseqno" + "▦" // 시술에대한의뢰번호(년도(4) + 일련번호(6))
  466. + "stat" + "▦" // 진행상태
  467. + "spcinfo" + "▦" // 검체정보
  468. + "famyinfo" + "▩"; // 가족정보
  469. // Title Set
  470. sMnpmcssrData += pid + "▦" // 환자번호
  471. + instcd + "▦" // 원무외래/입원등록정보 PK
  472. + ordtype + "▦" // 외래입원구분
  473. + orddd + "▦" // 진료일자
  474. + cretno + "▦" // 원무생성번호
  475. + orddeptcd + "▦" // 진료부서
  476. + orddrid + "▦" // 진료의사
  477. + curenurgstatspec + "▦" // 처치및간호상태정보
  478. + pFlag + "▦" // 인증저장구분
  479. + ssdd + "▦" // 시술일
  480. + ssplace + "▦" // 시술장소
  481. + ssnm + "▦" // 시술명
  482. + ssnmetc + "▦" // 시술명
  483. + nrecnm + "▦" // 간호단위기록자
  484. + nrecdt + "▦" // 간호단위기록일시
  485. + nrecdept + "▦" // 간호단위기록부서
  486. + srecnm + "▦" // 시술실 기록자
  487. + srecdt + "▦" // 시술실 기록일시
  488. + srecdept + "▦" // 시술실 기록부서
  489. + nmemo + "▦" // 간호단위메모
  490. + smemo + "▦" // 수술,대기 단위메모
  491. + signno + "▦" // 인증번호
  492. + ssbfcureseqno + "▦" // 수술에대한의뢰번호(년도(4) + 일련번호(6))
  493. + stat + "▦" // 진행상태
  494. + spcinfo + "▦" // 검체정보
  495. + famyinfo + "▩"; // 가족정보
  496. dsf_setCSVToDs("ds_send_MnpmcssrList", sMnpmcssrData);
  497. if(pFlag == 'C') {
  498. var CertFlag = true;
  499. CertFlag = fSignProcessSet();
  500. if( CertFlag == false ){
  501. //2008-10-01 오전 5:54:13 taebum 인증저 취소시 통합기록 조회관련 요구사항 처리로 인한 오류발생 .
  502. //화면 close 시킴.
  503. //this.close();
  504. return; // 인증실패
  505. }
  506. }
  507. var oParam = {};
  508. oParam.id = "TXMNP00213";
  509. oParam.service = "opanstapp.OpAnstPatMngt";
  510. oParam.method = "reqExeMnpmcssrInfo";
  511. oParam.inds = "MnpmcssrList=ds_send_MnpmcssrList signinfo=ds_send_signinfo";
  512. oParam.outds = "ds_temp_retdata=retdata";
  513. oParam.async = false;
  514. oParam.callback = "cf_TXMNP00213";
  515. tranf_submit(oParam);
  516. if( arErrorCode.pop("TXMNP00213") > -1 ){
  517. fAddSSList();
  518. if( stat == 'I' || stat == 'U' ){
  519. if( !utlf_isNull(ssbfcureseqno) ){
  520. //alert("ssbfcureseqno_1 : " + ssbfcureseqno);
  521. ds_init.setColumn(0, "ssbfcureseqno", ssbfcureseqno);
  522. grp_main_cmb_sslist_onitemchanged();
  523. } else {
  524. var ssbfcureseqno_new = ds_temp_retdata.getColumn(0, "ssbfcureseqno");
  525. //alert("ssbfcureseqno_2 : " + ssbfcureseqno_new);
  526. ds_init.setColumn(0, "ssbfcureseqno", ssbfcureseqno_new);
  527. grp_main_cmb_sslist_onitemchanged();
  528. }
  529. }
  530. if( pFlag =="D" ){
  531. fNew();
  532. }
  533. }
  534. }
  535. function cf_TXMNP00213(sSvcId, nErrorCode, sErrorMsg) {
  536. arErrorCode.push(sSvcId, nErrorCode);
  537. }
  538. // ※ 전자서명 호출
  539. function fSignProcessSet() {
  540. //2009-02-25 YCD 인증서 호출 설정 주석 처리
  541. //Sign.certreload = true;
  542. var ordtype = utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ordtype" )); // 07 외래입원구분
  543. if( Sign.signprocess() == true ){ // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
  544. var wSigninfo = "pid" +"▦" // 등록번호
  545. + "orddd" +"▦" // 입원일자(입원,응급)/진료일자(외래)
  546. + "cretno" +"▦" // 생성번호
  547. + "signno" +"▦" // 서명번호(인증번호)
  548. + "recdd" +"▦" // 실제 기록이 이루어진 기록일자
  549. + "rectm" +"▦" // 실제 기록이 이루어진 기록시간
  550. + "recsaveflag" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  551. + "signflag" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  552. + "signgenrflag" +"▦" // 외래/입원구분(코드정의서 M0010 참조)
  553. + "formcd" +"▦" // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  554. + "orddeptcd" +"▦" // 진료부서코드
  555. + "orddrid" +"▦" // 진료의사ID (집도의)
  556. + "signbfcnts" +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  557. + "signaftcnts" +"▩" // ▶ 공인인증 처리후 데이터
  558. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "pid" ))+"▦" // 등록번호
  559. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "indd" )) + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddd" ))+"▦" // 진료일자(입원,응급)/진료일자(외래)
  560. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "cretno" ))+"▦" // 생성번호
  561. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "signno" ))+"▦" // 서명번호(인증번호)
  562. + utlf_getCurrentDate() +"▦" // 실제 기록이 이루어진 기록일자
  563. + utlf_getCurrentTime() +"▦" // 실제 기록이 이루어진 기록시간
  564. + "N" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  565. + "02" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  566. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "ordtype" ))+"▦" // 외래/입원구분(코드정의서 M0010 참조)
  567. + "1500016488" +"▦" // 시술전 준비확인
  568. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddeptcd"))+"▦" // 진료부서코드
  569. + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "medispclid" )) + utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddrid" ))+"▦" // 진료의사ID (주치교수)
  570. + Sign.signedInfos[1] +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  571. + Sign.signedInfos[2] +"▩"; // ▶ 공인인증 처리후 데이터
  572. dsf_setCSVToDs("ds_send_signinfo", wSigninfo);
  573. // model.makeValue("/root/send/signinfo/pid" , model.getValue(xPath_MnpmcssrList+"/pid" )); // 등록번호
  574. // model.makeValue("/root/send/signinfo/orddd" , model.getValue(xPath_MnpmcssrList+"/orddd" )); // 입원일자(입원,응급)/진료일자(외래)
  575. // model.makeValue("/root/send/signinfo/cretno" , model.getValue(xPath_MnpmcssrList+"/cretno" )); // 생성번호
  576. // model.makeValue("/root/send/signinfo/signno" , model.getValue(xPath_MnpmcssrList+"/certno" )); // 서명번호(인증번호)
  577. // model.makeValue("/root/send/signinfo/recdd" , getCurrentDate() ); // 실제 기록이 이루어진 기록일자
  578. // model.makeValue("/root/send/signinfo/rectm" , getCurrentTime() ); // 실제 기록이 이루어진 기록시간
  579. // model.makeValue("/root/send/signinfo/recsaveflag" , "N" ); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  580. // model.makeValue("/root/send/signinfo/signflag" , "02" ); // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  581. // model.makeValue("/root/send/signinfo/signgenrflag", model.getValue(xPath_MnpmcssrList+"/inoutflag" )); // 외래/입원구분(코드정의서 M0010 참조)
  582. // model.makeValue("/root/send/signinfo/formcd" , "0000002431" ); // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  583. // model.makeValue("/root/send/signinfo/orddeptcd" , model.getValue(xPath_MnpmcssrList+"/orddeptcd" )); // 진료부서코드
  584. // model.makeValue("/root/send/signinfo/orddrid" , model.getValue(xPath_MnpmcssrList+"/perfdrid" )); // 진료의사ID (집도의)
  585. // model.makeValue("/root/send/signinfo/signbfcnts" , Sign.signedInfos[1]); // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  586. // model.makeValue("/root/send/signinfo/signaftcnts" , Sign.signedInfos[2]); // ▶ 공인인증 처리후 데이터
  587. }else{
  588. return false;
  589. }
  590. }
  591. function fMake_SignData(){
  592. // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
  593. Sign.addnode("/ssmlist",xPath_MnpmcssrList.saveXML(), false);
  594. }
  595. function fGetBaseCheckList() {
  596. ds_send.setColumn(0, "cdgrupid", 'S03');
  597. ds_send.setColumn(0, "currentdate", utlf_getCurrentDate());
  598. trace(ds_init_cureiteminfo_ItemCheckList.saveXML());
  599. var oParam = {};
  600. oParam.id = "TRMNP00215";
  601. oParam.service = "opanstapp.OpAnstPatMngt";
  602. oParam.method = "reqGetCureItemInfo";
  603. oParam.inds = "req=ds_send";
  604. oParam.outds = "ds_init_cureiteminfo_ItemCheckList=ItemCheckList";
  605. oParam.async = false;
  606. //oParam.callback = "cf_TRMNP00215";
  607. tranf_submit(oParam);
  608. trace(ds_init_cureiteminfo_ItemCheckList.saveXML());
  609. if( utlf_isNull(ds_init_cureiteminfo_ItemCheckList.getColumnInfo("pna")) ){
  610. ds_init_cureiteminfo_ItemCheckList.addColumn("pna", "string");
  611. }
  612. if( utlf_isNull(ds_init_cureiteminfo_ItemCheckList.getColumnInfo("sna")) ){
  613. ds_init_cureiteminfo_ItemCheckList.addColumn("sna", "string");
  614. }
  615. xPath_curenurgstatspec.copyData(xPath_Fmt_curenurgstatspec); // 환자 수술전 처치 및 간호상태 확인 사항
  616. xPath_curenurgstatspec.enableevent = false;
  617. xPath_curenurgstatspec.updatecontrol = false;
  618. for( var i=0 ; i<xPath_curenurgstatspec.rowcount ; i++ ){
  619. if( xPath_curenurgstatspec.getColumn(i, "pyes") == "true" ){
  620. xPath_curenurgstatspec.setColumn(i, "pyes", "1");
  621. }else{
  622. xPath_curenurgstatspec.setColumn(i, "pyes", "0");
  623. }
  624. if( xPath_curenurgstatspec.getColumn(i, "pno") == "true" ){
  625. xPath_curenurgstatspec.setColumn(i, "pno", "1");
  626. }else{
  627. xPath_curenurgstatspec.setColumn(i, "pno", "0");
  628. }
  629. if( xPath_curenurgstatspec.getColumn(i, "pna") == "true" ){
  630. xPath_curenurgstatspec.setColumn(i, "pna", "1");
  631. }else{
  632. xPath_curenurgstatspec.setColumn(i, "pna", "0");
  633. }
  634. if( xPath_curenurgstatspec.getColumn(i, "syes") == "true" ){
  635. xPath_curenurgstatspec.setColumn(i, "syes", "1");
  636. }else{
  637. xPath_curenurgstatspec.setColumn(i, "syes", "0");
  638. }
  639. if( xPath_curenurgstatspec.getColumn(i, "sno") == "true" ){
  640. xPath_curenurgstatspec.setColumn(i, "sno", "1");
  641. }else{
  642. xPath_curenurgstatspec.setColumn(i, "sno", "0");
  643. }
  644. if( xPath_curenurgstatspec.getColumn(i, "sna") == "true" ){
  645. xPath_curenurgstatspec.setColumn(i, "sna", "1");
  646. }else{
  647. xPath_curenurgstatspec.setColumn(i, "sna", "0");
  648. }
  649. }
  650. xPath_curenurgstatspec.updatecontrol = true;
  651. xPath_curenurgstatspec.enableevent = true;
  652. xPath_curenurgstatspec.rowposition = -1;
  653. fSetBtn();
  654. }
  655. /* --------------------------------------------------*/
  656. /* type : function */
  657. /* access : public */
  658. /* desc : GRID CheckBox 값변경 */
  659. /* param : pGridNm : DataGrid Name */
  660. /* pRow : DataGrid Row */
  661. /* pCol : DataGrid Col */
  662. /* pTrueFase : 논리값 */
  663. /* return : */
  664. /* --------------------------------------------------*/
  665. function fCheckBox(pGridNm,pRow,pCol,pTrueFase){
  666. var objDsGrid = eval(pGridNm.binddataset);
  667. objDsGrid.setColumn(pRow, pCol, pTrueFase);
  668. }
  669. /* ------------------------------------------------- */
  670. /* type : function */
  671. /* access : public */
  672. /* desc : GRID CheckBox 값변경 */
  673. /* param : pGridNm : DataGrid Name */
  674. /* return : */
  675. /* -------------------------------------------------*/
  676. function fGridValueChangedCheckBox(pGridNm, columnid){
  677. var wTrueFase;
  678. GridNm = eval(pGridNm);
  679. DsNm = eval(GridNm.binddataset);
  680. if( GridNm.currentcol > 4 ){
  681. wTrueFase = DsNm.getColumn(GridNm.currentrow, columnid);
  682. if( wTrueFase == "1" ){
  683. switch( GridNm.currentcol ){
  684. case 5 : //pyes
  685. // if( GridNm.row == "1" ) { // 전체 '예' 체크 시
  686. // fCheckBox(GridNm, ITM002 ,GridNm.colRef("pyes"),"false");
  687. // fCheckBox(GridNm, ITM022 ,GridNm.colRef("pyes"),"false");
  688. // }
  689. fCheckBox(GridNm, GridNm.currentrow, "pno", "0");
  690. fCheckBox(GridNm, GridNm.currentrow, "pna", "0");
  691. break;
  692. case 7 : //pno
  693. fCheckBox(GridNm, GridNm.currentrow, "pyes", "0");
  694. fCheckBox(GridNm, GridNm.currentrow, "pna", "0");
  695. break;
  696. case 8 : //pna
  697. fCheckBox(GridNm, GridNm.currentrow, "pyes", "0");
  698. fCheckBox(GridNm, GridNm.currentrow, "pno", "0");
  699. break;
  700. case 9 : //syes
  701. // if( GridNm.row == "1" ) { // 전체 '예' 체크 시
  702. // fCheckBox(GridNm, ITM002 ,GridNm.colRef("syes"),"false");
  703. // fCheckBox(GridNm, ITM022 ,GridNm.colRef("syes"),"false");
  704. // }
  705. fCheckBox(GridNm, GridNm.currentrow, "sno", "0");
  706. fCheckBox(GridNm, GridNm.currentrow, "sna", "0");
  707. break;
  708. case 11 : //sno
  709. fCheckBox(GridNm, GridNm.currentrow, "syes", "0");
  710. fCheckBox(GridNm, GridNm.currentrow, "sna", "0");
  711. break;
  712. case 12 : //sna
  713. fCheckBox(GridNm, GridNm.currentrow, "syes", "0");
  714. fCheckBox(GridNm, GridNm.currentrow, "sno", "0");
  715. break;
  716. }
  717. }
  718. }
  719. }
  720. function fSetBtn() {
  721. var sinstcd = sysf_getUserInfo("dutplceinstcd");
  722. if (sinstcd == "031") {
  723. // 20190423 김현석, 팝업 항목 추가(감염, 알러지) * 요청번호:20190319030 _S
  724. var sExprImage1 = "EXPR(itemcode == '02' || itemcode == '03' || itemcode == '09' || itemcode == '10' || itemcode == '18' ? "+'"'+"URL(IMG::mis/icon_startend.png) center middle"+'"'+" : '')";
  725. var sExprImage2 = "EXPR(itemcode == '04' || itemcode == '05' ? "+'"'+"URL(IMG::lis/icon_list.png) center middle"+'"'+" : '')";
  726. grp_main.grd_ItemCheckList.setCellProperty("Body", 2, "text", sExprImage1);
  727. grp_main.grd_ItemCheckList.setCellProperty("Body", 4, "text", sExprImage2);
  728. // 20190423 김현석, 팝업 항목 추가(감염, 알러지) * 요청번호:20190319030 _S
  729. var sExprCursor1 = "EXPR(itemcode == '02' || itemcode == '03' || itemcode == '09' || itemcode == '10' || itemcode == '18' ? 'hand' : '')";
  730. var sExprCursor2 = "EXPR(itemcode == '04' || itemcode == '05' ? 'hand' : '')";
  731. grp_main.grd_ItemCheckList.setCellProperty("Body", 2, "cursor", sExprCursor1);
  732. grp_main.grd_ItemCheckList.setCellProperty("Body", 4, "cursor", sExprCursor2);
  733. } else {
  734. //190709_AYS_칠곡 인증평가 대비_시술부위 및 타임아웃 참고 link 항목 제거
  735. var sExprImage1 = "EXPR(itemcode == '02' || itemcode == '03' || itemcode == '09' || itemcode == '10' || itemcode == '18' ? "+'"'+"URL(IMG::mis/icon_startend.png) center middle"+'"'+" : '')";
  736. grp_main.grd_ItemCheckList.setCellProperty("Body", 2, "text", sExprImage1);
  737. var sExprCursor1 = "EXPR(itemcode == '02' || itemcode == '03' || itemcode == '09' || itemcode == '10' || itemcode == '18' ? 'hand' : '')";
  738. grp_main.grd_ItemCheckList.setCellProperty("Body", 2, "cursor", sExprCursor1);
  739. }
  740. // 20190424 김현석, 체크박스 세팅(간호단위에서는 타임아웃 시행함은 선택 못하도록) _S
  741. var sExpredittype = "EXPR(itemcode == '05' ? 'none' : 'checkbox')";
  742. var sExprBackgournd = "EXPR(itemcode == '05' ? 'silver' : '')";
  743. for (var i = 5; i <= 7; i++)
  744. {
  745. grp_main.grd_ItemCheckList.setCellProperty("Body", i, "displaytype", sExpredittype);
  746. grp_main.grd_ItemCheckList.setCellProperty("Body", i, "edittype", sExpredittype);
  747. grp_main.grd_ItemCheckList.setCellProperty("Body", i, "background", sExprBackgournd);
  748. grp_main.grd_ItemCheckList.setCellProperty("Body", i, "background2", sExprBackgournd);
  749. grp_main.grd_ItemCheckList.setCellProperty("Body", i, "selectbackground", sExprBackgournd);
  750. }
  751. // 20190424 김현석, 체크박스 세팅(간호단위에서는 타임아웃 시행함은 선택 못하도록) _E
  752. // 20190424 김현석, 검체 항목에 보낸자/보낸곳 버튼 추가 _S
  753. //grp_main.grd_spclist.setCellProperty("Body",
  754. // 20190424 김현석, 검체 항목에 보낸자/보낸곳 버튼 추가 _E
  755. }
  756. function fSearchDetlInfo() {
  757. var nRowPos = ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.rowposition;
  758. //시술 및 수술동의서
  759. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "02" && grp_main.grd_ItemCheckList.currentcol == 2 ){
  760. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  761. ds_send.setColumn(0, "pid", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "pid")));
  762. ds_send.setColumn(0, "cretno", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "cretno")));
  763. ds_send.setColumn(0, "orddd", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "indd"))+utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddd")));
  764. ds_send.setColumn(0, "itemindxseq", "132184");
  765. ds_send.setColumn(0, "sortkind", "D");
  766. ds_send.setColumn(0, "pagingyn", "N");
  767. ds_send.setColumn(0, "keyfromdd", "");
  768. ds_send.setColumn(0, "keytodd", "");
  769. ds_send.setColumn(0, "keys", "");
  770. ds_send.setColumn(0, "reckind", "EMR");
  771. var oParam = {};
  772. oParam.id = "TRMRI03009";
  773. oParam.service = "recmngtapp.IntegrityRec";
  774. oParam.method = "reqGetKeys";
  775. oParam.inds = "req=ds_send";
  776. oParam.outds = "ds_tmp_keys=item";
  777. oParam.async = false;
  778. //oParam.callback = "cf_TRMRI03009";
  779. tranf_submit(oParam);
  780. var Prtrecinfo = "";
  781. for( var i=0 ; i<ds_tmp_keys.rowcount ; i++ ){
  782. Prtrecinfo += utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "kind"))
  783. + "▦" + utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "signno"))
  784. + "▦" + utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "formcd"))
  785. + "▩";
  786. }
  787. frmf_setParameter("SPMRI02400_prtrecinfo", Prtrecinfo);
  788. frmf_setParameter("SPMRI02400_prtyn", "N");
  789. frmf_setParameter("SPMRI02400_NurProg", "Y");
  790. frmf_modal("SPMRI02400","SPMRI02400",null,"","","","","","","","","","M");
  791. }
  792. //ADR
  793. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "09" && grp_main.grd_ItemCheckList.currentcol == 2 ){
  794. frmf_open("SPMMD03300", "SPMMD03300", null, false, null, null, null, null, null, null, null, null, "M");
  795. }
  796. //진정동의서
  797. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "03" && grp_main.grd_ItemCheckList.currentcol == 2 ){
  798. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  799. ds_send.setColumn(0, "pid", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "pid")));
  800. ds_send.setColumn(0, "cretno", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "cretno")));
  801. ds_send.setColumn(0, "orddd", utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "indd"))+utlf_transNullToEmpty(xPath_MnpmcssrList.getColumn(0, "orddd")));
  802. ds_send.setColumn(0, "itemindxseq", "132185");
  803. ds_send.setColumn(0, "sortkind", "D");
  804. ds_send.setColumn(0, "pagingyn", "N");
  805. ds_send.setColumn(0, "keyfromdd", "");
  806. ds_send.setColumn(0, "keytodd", "");
  807. ds_send.setColumn(0, "keys", "");
  808. ds_send.setColumn(0, "reckind", "EMR");
  809. var oParam = {};
  810. oParam.id = "TRMRI03009";
  811. oParam.service = "recmngtapp.IntegrityRec";
  812. oParam.method = "reqGetKeys";
  813. oParam.inds = "req=ds_send";
  814. oParam.outds = "ds_tmp_keys=item";
  815. oParam.async = false;
  816. //oParam.callback = "cf_TRMRI03009";
  817. tranf_submit(oParam);
  818. var Prtrecinfo = "";
  819. for( var i=0 ; i<ds_tmp_keys.rowcount ; i++ ){
  820. if( ds_tmp_keys.getColumn(i, "formcd") == "1100010977" ){
  821. Prtrecinfo += utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "kind"))
  822. + "▦" + utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "signno"))
  823. + "▦" + utlf_transNullToEmpty(ds_tmp_keys.getColumn(i, "formcd"))
  824. + "▩";
  825. }
  826. }
  827. frmf_setParameter("SPMRI02400_prtrecinfo", Prtrecinfo);
  828. frmf_setParameter("SPMRI02400_prtyn", "N");
  829. frmf_setParameter("SPMRI02400_NurProg", "Y");
  830. frmf_modal("SPMRI02400","SPMRI02400",null,"","","","","","","","","","M");
  831. }
  832. //20190423 김현석, 팝업 항목 추가 * 요청번호: 20190319030 _S
  833. //// 상단 감염 정보
  834. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "10" && grp_main.grd_ItemCheckList.currentcol == 2 ){
  835. frmf_modal("SMASB01100","SMASB01100","","","","","","","","","","","M");
  836. }
  837. //// 혈액불출관리 화면
  838. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "18" && grp_main.grd_ItemCheckList.currentcol == 2 ){
  839. frmf_modal("SMMNR01000","SMMNR01000",null,"",1,1,1,"","","","","","M"); // 수혈간호기록 오픈
  840. }
  841. //20190423 김현석, 팝업 항목 추가 * 요청번호: 20190319030 _E
  842. //190709_AYS_칠곡 인증평가 대비_시술부위 및 타임아웃 참고 link 항목 제거
  843. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "04" && grp_main.grd_ItemCheckList.currentcol == 4 && sysf_getUserInfo("dutplceinstcd") == "031" ){
  844. var parammsg = "B@시술부위표시@HPCD2";
  845. frmf_setParameter("SPMQR06000_param", parammsg); // 파라미터 설정
  846. frmf_modal("SPMQR06000","SPMQR06000",null,"","","","","","","","","","M"); // 병원코드 팝업
  847. }
  848. if( ds_main_ssminfo_ssmlist_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(nRowPos, "itemcode") == "05" && grp_main.grd_ItemCheckList.currentcol == 4 && sysf_getUserInfo("dutplceinstcd") == "031"){
  849. var parammsg = "B@시술전 TimeOut@HPCD3";
  850. frmf_setParameter("SPMQR06000_param", parammsg); // 파라미터 설정
  851. frmf_modal("SPMQR06000","SPMQR06000",null,"","","","","","","","","","M"); // 병원코드 팝업
  852. }
  853. }
  854. /**
  855. * @desc : 20191028, 김현석, 시술환자 보호자 주차장 발급
  856. * @
  857. * @param :
  858. * @author :
  859. * @---------------------------------------------------
  860. */
  861. function fParkTicketPrint(ssdd, carno){
  862. ds_send_report_print.clearData();
  863. ds_send_report_print.addRow();
  864. ds_send_report_print.setColumn(0, "ssdd" , ssdd ) ; // utlf_transNullToEmpty(ds_main_ssminfo_ssmlist.getColumn(0, "ssdd")));
  865. ds_send_report_print.setColumn(0, "carno" , carno);
  866. ds_send_report_print.setColumn(0, "deptnm" , utlf_transNullToEmpty(ds_main_ssminfo_ssmlist.getColumn(0, "orddeptnm")));
  867. ds_send_report_print.setColumn(0, "hngnm" , utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "hngnm")));
  868. ds_send_report_print.setColumn(0, "pid" , utlf_transNullToEmpty(ds_main_ssminfo_ssmlist.getColumn(0, "pid")));
  869. ds_send_report_print.setColumn(0, "pid" , utlf_transNullToEmpty(ds_main_ssminfo_ssmlist.getColumn(0, "pid")));
  870. ds_send_report_print.setColumn(0, "nursenm", utlf_transNullToEmpty(sysf_getUserInfo("usernm")));
  871. var objDOM = rptf_createDOM(); // DOM 객체 설정
  872. rptf_setNodeListToDOM(objDOM, "/root/send/report/print", ds_send_report_print); // 데이터셋
  873. var objParam = new Object();
  874. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  875. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  876. rptf_exeReportPreview30(["RPMNP09001"],[objParam], option);
  877. }]]></Script>