SMMND01300.xjs 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var coduitrecinfoRow = "";
  3. var hdmatnpatRow = "";
  4. var XmlInstNm = "hmdlspipeinfolist" + " " // 혈액투석 도관관리 정보
  5. + "avfinfolist" + " " // 동정맥루 정보
  6. + "oprtinfolist" ; // 시술과 중재 정보
  7. /****************************************************************************************
  8. * Argument :
  9. * Description : 혈액투석 유지환자 리스트 조회
  10. * : 이아영
  11. ****************************************************************************************/
  12. function fSrchHDMatnPatList()
  13. {
  14. dsf_deleteDs("ds_send_reqdata");
  15. dsf_createDsRow("ds_send_reqdata", [{col:"pid", type:"STRING", size:256 , val : ds_main_condition.getColumn(0, "pid")}
  16. , {col:"dialflag", type:"STRING", size:256 , val : "H"}
  17. , {col:"mypid", type:"STRING", size:256 , val : ds_main_condition.getColumn(0, "mypid")}
  18. , {col:"wardcd", type:"STRING", size:256 , val : ds_main_condition.getColumn(0, "wardcd")}]);
  19. ds_main_hdmatnpatlist_hdmatnpatinfo.clearData();
  20. var oParam = {};
  21. oParam.id = "TRMND01301";
  22. oParam.service = "dialapp.DialRec";
  23. oParam.method = "reqGetMatnPatInfo";
  24. oParam.inds = "req=ds_send_reqdata";
  25. oParam.outds = "ds_main_hdmatnpatlist_hdmatnpatinfo=matnpatinfo";
  26. oParam.async = false;
  27. //oParam.callback = "cf_TRMND01301";
  28. tranf_submit(oParam);
  29. ds_main_hdmatnpatlist_hdmatnpatinfo.rowposition = -1;
  30. }
  31. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  32. function fDone(){
  33. //**그리드 초기화**//
  34. ds_main_hdmatnpatlist_hdmatnpatinfo.clearData(); // 혈액투석 유지환자 리스트
  35. ds_main_coduitreclist_coduitrecinfo.clearData(); // 혈액투석 도관기록 리스트
  36. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.clearData(); // 혈액투석 도관관리
  37. ds_main_reclist_recinfo_avfinfolist_avfinfo.clearData(); // 동정맥루 관리
  38. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.clearData(); // 시술과 중재
  39. ds_main_reclist_recinfo_bvipinfolist_bvipinfo.clearData(); // 혈관내압측정비 20120330 by kya
  40. //model.refresh();
  41. //**공통코드 가져오기**//
  42. var arrParam = [
  43. {dsNm: "ds_init_M0133list_M0133" ,cdGrpId: "M0133" }, // 도관관리 부위
  44. {dsNm: "ds_init_M0134list_M0134" ,cdGrpId: "M0134" }, // 도관관리 종류1
  45. {dsNm: "ds_init_M0135list_M0135" ,cdGrpId: "M0135" }, // 도관관리 종류2
  46. {dsNm: "ds_init_M0136list_M0136" ,cdGrpId: "M0136" }, // 혈액투석도관 제거이유
  47. {dsNm: "ds_init_M0137list_M0137" ,cdGrpId: "M0137" }, // 도관관리 종류1
  48. {dsNm: "ds_init_M0138list_M0138" ,cdGrpId: "M0138" }, // 도관관리 종류2
  49. {dsNm: "ds_init_M0139list_M0139" ,cdGrpId: "M0139" }, // 혈액투석도관 제거이유
  50. {dsNm: "ds_init_M0141list_M0141" ,cdGrpId: "M0141" }, // 시술종류
  51. {dsNm: "ds_init_M0140list_M0140" ,cdGrpId: "M0140" }, // 시술원인
  52. {dsNm: "ds_init_M0999list_M0133" ,cdGrpId: "M0133" }, // 부위방향임의로 설정-20091022-kys
  53. {dsNm: "ds_init_M0628list_M0628" ,cdGrpId: "M0628" }, // 발적, 멍, 혈종 -20120327 kya
  54. {dsNm: "ds_init_M0629list_M0629" ,cdGrpId: "M0629" }, // 고정 (Fix suture) -20120327 kya
  55. {dsNm: "ds_init_M0630list_M0630" ,cdGrpId: "M0630" }, // Locking Heparin -20120327 kya
  56. {dsNm: "ds_init_M0758list_M0758" ,cdGrpId: "M0758" }, // 청진소견1 -20150818 kya
  57. {dsNm: "ds_init_M0759list_M0759" ,cdGrpId: "M0759" } // 청진소견2 -20150818 kya
  58. ];
  59. appf_getCodeList(arrParam);
  60. //셀병합하지 않는다
  61. /*
  62. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(0) = false;
  63. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(1) = true;
  64. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(2) = true;
  65. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(3) = true;
  66. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(4) = false;
  67. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(5) = false;
  68. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(6) = false;
  69. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(7) = false;
  70. group3.grp_hdpipeinfo.grd_hmdlspipeinfo.mergeCol(8) = false;
  71. */
  72. //20091022 부위방향에 기타 추가-kys,
  73. //addComboInstance("ds_init_M0999list_M0133", "cdid^cdnm", "03^기타", "M0133", "I"); //부위방향 콤보 기타추가
  74. dsf_addDsItem( ds_init_M0999list_M0133, "cdid", "cdnm", "기타", "03", "under");
  75. // 20150818 kya 막음 addComboInstance("ds_init_M0138list", "cdid^cdnm", "03^기타", "M0138[3]", "D"); //부위 콤보 기타삭제
  76. //** 상단환자 화면설정 **//
  77. var node = sysf_getGlobalVariable("paminfo");
  78. dsf_setCSVToDs("ds_temp_paminfo_list", node);
  79. if(utlf_isNull(ds_temp_paminfo_list.getColumnInfo("maintepatrgstdd"))) {
  80. ds_temp_paminfo_list.addColumn("maintepatrgstdd", "string");
  81. }
  82. if(!utlf_isNull(ds_temp_paminfo_list.getColumn(0, "pid")) ) {
  83. var sSelPid = ds_temp_paminfo_list.getColumn(0, "pid"); // 등록번호
  84. var sMaintePatRgstDD = ds_temp_paminfo_list.getColumn(0, "maintepatrgstdd"); // 유지환자등록일자
  85. hdmatnpatRow = 1;
  86. ds_main_condition.setColumn( 0, "pid", sSelPid);
  87. fSrchHDPatList(); // 혈액투석 유지환자 리스트 조회
  88. fSetHDPipeInfo(0); // 혈액투석 유지환자리스트에서 환자 선택 시 도관기록 리스트 및 누적조회, 환자정보를 설정
  89. }else{
  90. fSrchHDPatList(); // 혈액투석 유지환자 리스트 조회
  91. }
  92. }
  93. /**
  94. * _group :
  95. * _ver : 2007.06.12
  96. * _by : 김진아
  97. * _---------------------------------------------------
  98. * _type : function
  99. * _access : public
  100. * _desc : 혈액투석 유지환자 리스트 조회
  101. * _param :
  102. * _return :
  103. * _---------------------------------------------------
  104. */
  105. function fSrchHDMatnPatList(){
  106. ds_send_reqdata.clearData();
  107. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_condition.getColumn(0, "pid"));
  108. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H" ); // 투석구분 (H:혈액)
  109. //20090109 dhkim
  110. //내환자 추가
  111. dsf_makeValue( ds_send_reqdata, "mypid", "string", ds_main_condition.getColumn(0, "mypid"));
  112. //20130520 kya
  113. //혈액적성성평가 wardcd
  114. dsf_makeValue( ds_send_reqdata, "wardcd", "string", ds_main_condition.getColumn(0, "wardcd"));
  115. ds_main_hdmatnpatlist_hdmatnpatinfo.clearData();
  116. // 20130603 수정 TRMND01301 -> TRMN01305 로 변경함
  117. // 대상자를 혈액투석유지환자에서 당일 접수환자로 변경, 인증저장을 위해서
  118. //submit("TRMND01301");
  119. var oParam = {};
  120. oParam.id = "TRMND01301";
  121. oParam.service = "dialapp.DialRec";
  122. oParam.method = "reqGetMatnPatInfo";
  123. oParam.inds = "req=ds_send_reqdata";
  124. oParam.outds = "ds_main_hdmatnpatlist_hdmatnpatinfo=matnpatinfo";
  125. oParam.async = false;
  126. tranf_submit(oParam);
  127. //2008-08-19 양천덕 삭제 처리
  128. // if(ds_main_condition.getColumn(0, "pid") != "") {
  129. // group3.grd_hdmatnpatinfo.cellstyle("background-color", 1, 1, 1, 3) = "#ffd9ff"; // 혈액투석 유지환자리스트 셀 색상 지정
  130. // for(var i=1; i<=group3.grd_coduitrecinfo.rows; i++) {
  131. // group3.grd_coduitrecinfo.cellstyle("background-color", i, 1, i, 3) = "white"; //fSaveHDPipeInfo 환자별 도관기록 리스트 셀 색상 초기화 (white)
  132. // }
  133. // fGetPatInfo(ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(1, "pid"), ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(1, "maintepatrgstdd")); // 혈액투석 유지환자 정보 설정
  134. // fSrchCoduitrecList(); // 환자별 도관기록 리스트 조회
  135. //}
  136. //
  137. //model.refresh();
  138. }
  139. /**
  140. * _group :
  141. * _ver : 2013.06.02
  142. * _by : 권영애
  143. * _---------------------------------------------------
  144. * _type : function
  145. * _access : public
  146. * _desc : 혈액투석 당일 스케줄 환자 조회
  147. * _param :
  148. * _return :
  149. * _---------------------------------------------------
  150. */
  151. function fSrchHDPatList(){
  152. ds_send_reqdata.clearData();
  153. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_condition.getColumn(0, "pid"));
  154. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H" ); // 투석구분 (H:혈액)
  155. //20131007 kya 예약일자 추가
  156. dsf_makeValue( ds_send_reqdata, "rsrvdd", "string", ds_main_condition.getColumn(0, "rsrvdd"));
  157. //20090109 dhkim
  158. //내환자 추가
  159. dsf_makeValue( ds_send_reqdata, "mypid", "string", ds_main_condition.getColumn(0, "mypid"));
  160. //20130520 kya
  161. //혈액적성성평가 wardcd
  162. dsf_makeValue( ds_send_reqdata, "wardcd", "string", ds_main_condition.getColumn(0, "wardcd"));
  163. ds_main_hdmatnpatlist.clearData();
  164. // 20130603 수정 TRMND01301 -> TRMN01305 로 변경함
  165. // 대상자를 혈액투석유지환자에서 당일 접수환자로 변경, 인증저장을 위해서
  166. // submit("TRMND01305");
  167. var oParam = {};
  168. oParam.id = "TRMND01305";
  169. oParam.service = "dialapp.DialRec";
  170. oParam.method = "reqGetHDPatInfo";
  171. oParam.inds = "req=ds_send_reqdata";
  172. oParam.outds = "ds_main_hdmatnpatlist_hdmatnpatinfo=matnpatinfo";
  173. oParam.async = false;
  174. tranf_submit(oParam);
  175. var pid = ds_temp_paminfo_list.getColumn(0, "pid")
  176. var findRow = ds_main_hdmatnpatlist_hdmatnpatinfo.findRow("pid", pid);
  177. if(findRow > -1)
  178. {
  179. dsf_makeValue( ds_main_hdmatnpatlist_hdmatnpatinfo, "selBg", "string", "#ffd9ff");
  180. }
  181. }
  182. /**
  183. * _group :
  184. * _ver : 2007.06.12
  185. * _by : 김진아
  186. * _---------------------------------------------------
  187. * _type : function
  188. * _access : public
  189. * _desc : 혈액투석 유지환자 정보 설정
  190. * (혈액투석 유지환자 리스트 더블 클릭 시)
  191. * _param :
  192. * _return :
  193. * _---------------------------------------------------
  194. */
  195. function fGetPatInfo(sSelPid, sMaintePatRgstDD) {
  196. // 초기화
  197. ds_main_reclist_recinfolists.clearData(); // 혈액투석도관기록
  198. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.clearData(); // 혈액투석 도관관리
  199. ds_main_reclist_recinfo_avfinfolist_avfinfo.clearData(); // 동정맥루 관리
  200. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.clearData(); // 시술과 중재
  201. //기록자 정보 설정
  202. dsf_makeValue( ds_main_reclist_recinfolists, "recid", "string", sysf_getUserId()); // 현재 로그인한 사용자 ID
  203. dsf_makeValue( ds_main_reclist_recinfolists, "recnm", "string", sysf_getUserName()); // 현재 로그인한 사용자명
  204. // 기록일시 설정
  205. dsf_makeValue( ds_main_reclist_recinfolists, "recdd", "string", utlf_getCurrentDate()); // 기록일자
  206. dsf_makeValue( ds_main_reclist_recinfolists, "rectm", "string", utlf_getCurrentTime().substr(0,4)); // 기록시간
  207. // 환자 정보 설정
  208. dsf_makeValue( ds_main_reclist_recinfolists, "pid", "string", sSelPid);
  209. dsf_makeValue( ds_main_reclist_recinfolists, "maintepatrgstdd", "string", sMaintePatRgstDD);
  210. if(utlf_isNull(ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumnInfo("status"))) {
  211. ds_main_reclist_recinfo_avfinfolist_avfinfo.addColumn("status", "string");
  212. }
  213. if(utlf_isNull(ds_main_reclist_recinfo_oprtinfolist_oprtinfo.getColumnInfo("status"))) {
  214. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.addColumn("status", "string");
  215. }
  216. }
  217. /**
  218. * _group :
  219. * _ver : 2007.06.12
  220. * _by : 김진아
  221. * _---------------------------------------------------
  222. * _type : function
  223. * _access : public
  224. * _desc : 혈액투석도관정보 저장
  225. * _param : pFlag (T:임시저장, C:인증저장)
  226. * _return :
  227. * _---------------------------------------------------
  228. */
  229. function fSaveHDPipeInfo(pFlag){
  230. var sRecDD = ds_main_reclist_recinfolists.getColumn(0, "recdd"); // recdd
  231. var sRecTM = ds_main_reclist_recinfolists.getColumn(0, "rectm"); // rectm
  232. /*****start
  233. for(var i=1; i<group3.grp_hdpipeinfo.grd_hmdlspipeinfo.rows; i++) {
  234. ds_main_reclist_recinfo_hmdlspipeinfolist.setColumn( i , "recdd", sRecDD);
  235. ds_main_reclist_recinfo_hmdlspipeinfolist.setColumn( i , "rectm", sRecTM);
  236. }
  237. for(var i=1; i<group3.grp_hdpipeinfo.grd_bvipinfo.rows; i++) {
  238. ds_main_reclist_recinfo_bvipinfolist.setColumn( i , "recdd", sRecDD);
  239. ds_main_reclist_recinfo_bvipinfolist.setColumn( i , "rectm", sRecTM);
  240. }
  241. for(var i=1; i<group3.grp_hdpipeinfo.grd_avfinfo.rows; i++) {
  242. ds_main_reclist_recinfo_avfinfolist.setColumn( i , "recdd", sRecDD);
  243. ds_main_reclist_recinfo_avfinfolist.setColumn( i , "rectm", sRecTM);
  244. }
  245. for(var i=1; i<group3.grp_hdpipeinfo.grd_oprtinfo.rows; i++) {
  246. ds_main_reclist_recinfo_oprtinfolist.setColumn( i , "recdd", sRecDD);
  247. ds_main_reclist_recinfo_oprtinfolist.setColumn( i , "rectm", sRecTM);
  248. }
  249. end *******/
  250. //** 저장 데이터 없을 경우 **//
  251. if( ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount == 0
  252. && ds_main_reclist_recinfo_avfinfolist_avfinfo.rowcount == 0
  253. && ds_main_reclist_recinfo_oprtinfolist_oprtinfo.rowcoun == 0
  254. && ds_main_reclist_recinfo_bvipinfolist_bvipinfo.rowcount == 0) {
  255. sysf_messageBox("저장할 데이터가 ", "I004", "");
  256. return;
  257. }
  258. // 기록일시
  259. if(ds_main_reclist_recinfolists.getColumn(0, "recdd")=="") {
  260. sysf_messageBox("기록일자는", "I003", "");
  261. ipt_recdd.setFocus();
  262. return;
  263. }
  264. if(ds_main_reclist_recinfolists.getColumn(0, "rectm")=="") {
  265. sysf_messageBox("기록시간는", "I003", "");
  266. ipt_rectm.setFocus();
  267. return;
  268. }
  269. // 혈액투석 도관관리
  270. for(var i = 0; i < ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount; i++) {
  271. var sPart = ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.getColumn(i, "partflag" ); // 부위
  272. var sKind1 = ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.getColumn(i, "kindflag1"); // 종류1
  273. var sKind2 = ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.getColumn(i, "kindflag2"); // 종류2
  274. if(sPart == "" || sKind1 == "" || sKind2 == ""){
  275. sysf_messageBox("혈액투석 도관관리의 부위, 종류1, 종류2는", "I003", "");
  276. return;
  277. }
  278. }
  279. // 동정맥루 관리
  280. for(var i = 0; i < ds_main_reclist_recinfo_avfinfolist_avfinfo.rowcount; i++) {
  281. var sPart = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "partflag"); // 부위
  282. var sPartdirection = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "partdirection"); //기존null인 데이터로인해블럭킹 불가.
  283. var sKind = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "kindflag"); // 종류
  284. if(sPart == "" || sKind == ""){
  285. sysf_messageBox("동정맥루 관리 부위, 종류는", "I003", "");
  286. return;
  287. }
  288. if(sPartdirection == "01" || sPartdirection == "02"){ //부위방향이 기타인경우에만 부위에 text가 입력되도록..-20091023-kys
  289. if(sPart != "01" && sPart != "02"){
  290. sysf_messageBox("부위방향이 기타가 아닌경우에는 arm 혹은 leg를 선택 하셔야 합니다.", "I", "");
  291. return;
  292. }
  293. }
  294. /* if(sPartdirection == "03"){ //부위방향이 기타인경우 부위의 값을 비우고 remark로 저장한다-20091023-kys
  295. ds_main_reclist_recinfo_avfinfolist_avfinfo.setColumn( i, "remark", sPart); // remark
  296. ds_main_reclist_recinfo_avfinfolist_avfinfo.setColumn( i, "partflag", ""); // partflag
  297. }*/
  298. }
  299. // 시술과 중재
  300. for(var i = 0; i < ds_main_reclist_recinfo_oprtinfolist_oprtinfo.rowcount; i++) {
  301. var sPart = ds_main_reclist_recinfo_oprtinfolist_oprtinfo.getColumn( i, "oprtkindflag" ); // 시술종류
  302. if(sPart == ""){
  303. sysf_messageBox("시술과 중재의 시술종류는", "I003", "");
  304. return;
  305. }
  306. }
  307. //동정맥루 관리-부위(기타일경우처리)
  308. for(var i = 0; i < ds_main_reclist_recinfo_avfinfolist_avfinfo.rowcount; i++) {
  309. var sPart = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "partflag"); // 부위
  310. var sPartdirection = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "partdirection"); //부위방향.
  311. if(sPartdirection == "03"){ //부위방향이 기타인경우 부위의 값을 비우고 remark로 저장한다-20091023-kys
  312. ds_main_reclist_recinfo_avfinfolist_avfinfo.setColumn( i, "remark", sPart); // remark
  313. ds_main_reclist_recinfo_avfinfolist_avfinfo.setColumn( i, "partflag", ""); // partflag
  314. }
  315. }
  316. /* 처음부터 막힘
  317. // 신규등록일 경우 동일기록일자 도관기록 존재 확인 //
  318. alert("신규 ==="+ ds_main_chklist_chkinfo.getColumn(0, "cretfalg");
  319. if(ds_main_chklist_chkinfo.getColumn(0, "cretfalg") == "Y") {
  320. ds_send.clearData();
  321. dsf_makeValue( ds, "send", "string", "" );
  322. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid") );
  323. dsf_makeValue( ds_send_reqdata, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "recdd"));
  324. dsf_makeValue( ds_send_reqdata, "rectm", "string", ds_main_reclist_recinfolists.getColumn(0, "rectm"));
  325. ds_main_chklist.clearData();
  326. //submit("TRMND01404");
  327. var oParam = {};
  328. oParam.id = "TRMND01404";
  329. oParam.service = "dialapp.DialRec";
  330. oParam.method = "reqGetPDBtdgInfo";
  331. oParam.inds = "req=ds_";
  332. oParam.outds = "ds_=peritcoduitinfo";
  333. oParam.async = false;
  334. oParam.callback = "cf_TRMND01404";
  335. tranf_submit(oParam);
  336. function cf_TRMND01404(sSvcId, nErrorCode, sErrorMsg) {
  337. if(nErrorCode < 0) return;
  338. }
  339. function cf_TRMND01404(sSvcId, nErrorCode, sErrorMsg) {
  340. arErrorCode.push(sSvcId, nErrorCode);
  341. }
  342. arErrorCode.pop("TRMND01404") > -1
  343. arErrorCode.pop("TRMND01404") < 0
  344. // 동일기록일자에 도관기록 존재 할 경우
  345. if(ds_main_chklist_chkinfo.getColumn(0, "pid") != "") {
  346. sysf_messageBox("동일일자에 도관기록이 존재합니다.", "E");
  347. // 기록일시 설정
  348. dsf_makeValue( ds_main_reclist_recinfolists, "recdd", "string", utlf_getCurrentDate()); // 기록일자
  349. dsf_makeValue( ds_main_reclist_recinfolists, "rectm", "string", utlf_getCurrentTime().substr(0,4)); // 기록시간
  350. //model.refresh();
  351. return;
  352. }
  353. }
  354. */
  355. //** 저장실행 **//
  356. dsf_makeValue( ds_send_savedata_baseinfo, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid"));
  357. //시작
  358. //20131022 kya 기록일자를 수진일자로 대체하도록 수정함. 과거일자 등록을 위해
  359. // dsf_makeValue( ds_send_savedata_baseinfo, "recdd", "string", utlf_getCurrentDate());
  360. dsf_makeValue( ds_send_savedata_baseinfo, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "orddd"));
  361. //종료
  362. dsf_makeValue( ds_send_savedata_baseinfo, "rectm", "string", utlf_getCurrentTime().substr(0,4));
  363. dsf_makeValue( ds_send_savedata_baseinfo, "maintepatrgstdd", "string", ds_main_reclist_recinfolists.getColumn(0, "maintepatrgstdd"));
  364. dsf_makeValue( ds_send_savedata_baseinfo, "recid", "string", sysf_getUserId());
  365. dsf_makeValue( ds_send_savedata_baseinfo, "recnm", "string", sysf_getUserName());
  366. dsf_makeValue( ds_send_savedata_baseinfo, "dialflag", "string", "H");
  367. dsf_makeValue( ds_send_savedata_baseinfo, "certflag", "string", pFlag); // 인증여부( T : 임시저장, C : 인증저장)
  368. doReplaceLtGt(ds_main_reclist_recinfo_avfinfolist_avfinfo); // 특수문자 변환
  369. /*** 20130612 수정전
  370. dsf_makeValue( ds_send_savedata, "hmdlspipeinfo", "string", group3.grp_hdpipeinfo.grd_hmdlspipeinfo.getupdatedataAll("i") );
  371. dsf_makeValue( ds_send_savedata, "avfinfo", "string", group3.grp_hdpipeinfo.grd_avfinfo.getupdatedataAll("i") );
  372. dsf_makeValue( ds_send_savedata, "oprtinfo", "string", group3.grp_hdpipeinfo.grd_oprtinfo.getupdatedataAll("i") );
  373. //20120330 by kya
  374. //dsf_makeValue( ds_send_savedata, "bvipinfo", "string", group3.grp_hdpipeinfo.grd_bvipinfo.getupdatedataAll("i") );
  375. ****/
  376. /** 20130612 추가 : 인증전에 "d"인 데이타 삭제 **/
  377. // ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.updateControl = false;
  378. // for(var i = 0; i < ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount ; i++) {
  379. // var sStatusflag = ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.getColumn(i, "status");
  380. // if ( sStatusflag == "d") {
  381. // ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.setRowType(i, Dataset.ROWTYPE_DELETE);
  382. // }
  383. // }
  384. // ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.updateControl = true;
  385. //
  386. //
  387. // ds_main_reclist_recinfo_bvipinfolist_bvipinfo.updateControl = false;
  388. // for(var i = 0; i < ds_main_reclist_recinfo_bvipinfolist_bvipinfo.rowcount ; i++) {
  389. // var sStatusflag = ds_main_reclist_recinfo_bvipinfolist_bvipinfo.getColumn(i, "status");
  390. // if ( sStatusflag == "d") {
  391. // ds_main_reclist_recinfo_bvipinfolist_bvipinfo.setRowType(i, Dataset.ROWTYPE_DELETE);
  392. // }
  393. // }
  394. // ds_main_reclist_recinfo_bvipinfolist_bvipinfo.updateControl = true;
  395. //
  396. // ds_main_reclist_recinfo_avfinfolist_avfinfo.updateControl = false;
  397. // for(var i = 0; i < ds_main_reclist_recinfo_avfinfolist_avfinfo.rowcount ; i++) {
  398. // var sStatusflag = ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumn(i, "status");
  399. // if ( sStatusflag == "d") {
  400. // ds_main_reclist_recinfo_avfinfolist_avfinfo.setRowType(i, Dataset.ROWTYPE_DELETE);
  401. // }
  402. // }
  403. // ds_main_reclist_recinfo_avfinfolist_avfinfo.updateControl = true;
  404. //
  405. // ds_main_reclist_recinfo_oprtinfolist_oprtinfo.updateControl = false;
  406. // for(var i = 0; i < ds_main_reclist_recinfo_oprtinfolist_oprtinfo.rowcount ; i++) {
  407. // var sStatusflag = ds_main_reclist_recinfo_oprtinfolist_oprtinfo.getColumn(i, "status");
  408. // if ( sStatusflag == "d") {
  409. // ds_main_reclist_recinfo_oprtinfolist_oprtinfo.setRowType(i, Dataset.ROWTYPE_DELETE);
  410. // }
  411. // }
  412. // ds_main_reclist_recinfo_oprtinfolist_oprtinfo.updateControl = true;
  413. //
  414. /**** 20130612 수정후 kya ***/
  415. //dsf_makeValue( ds_send_savedata, "hmdlspipeinfo", "string", getGridUpdateData(group3.grp_hdpipeinfo.grd_hmdlspipeinfo) );
  416. //dsf_copyDs(ds_send_savedata_hmdlspipeinfo, grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_hmdlspipeinfo),"replace");
  417. ds_send_savedata_hmdlspipeinfo.clearData();
  418. var updateDs1 = grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_hmdlspipeinfo, "all");
  419. grdf_setStatusColumn(updateDs1, "status");
  420. ds_send_savedata_hmdlspipeinfo.copyData(updateDs1, true);
  421. //dsf_makeValue( ds_send_savedata, "avfinfo", "string", getGridUpdateData(group3.grp_hdpipeinfo.grd_avfinfo) );
  422. //dsf_copyDs(ds_send_savedata_avfinfo, grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_avfinfo),"replace");
  423. ds_send_savedata_avfinfo.clearData();
  424. var updateDs2 = grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_avfinfo, "all");
  425. grdf_setStatusColumn(updateDs2, "status");
  426. ds_send_savedata_avfinfo.copyData(updateDs2, true);
  427. //dsf_makeValue( ds_send_savedata, "oprtinfo", "string", getGridUpdateData(group3.grp_hdpipeinfo.grd_oprtinfo) );
  428. //dsf_copyDs(ds_send_savedata_oprtinfo, grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_oprtinfo),"replace");
  429. ds_send_savedata_oprtinfo.clearData();
  430. var updateDs3 = grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_oprtinfo, "all");
  431. grdf_setStatusColumn(updateDs3, "status");
  432. ds_send_savedata_oprtinfo.copyData(updateDs3, true);
  433. //dsf_makeValue( ds_send_savedata, "bvipinfo", "string", getGridUpdateData(group3.grp_hdpipeinfo.grd_bvipinfo) );
  434. //dsf_copyDs(ds_send_savedata_bvipinfo, grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_bvipinfo),"replace");
  435. ds_send_savedata_bvipinfo.clearData();
  436. var updateDs4 = grdf_getGridUpdateData(group3.grp_hdpipeinfo.grd_bvipinfo, "all");
  437. grdf_setStatusColumn(updateDs4, "status");
  438. ds_send_savedata_bvipinfo.copyData(updateDs4, true);
  439. // 인증저장일 경우
  440. if(pFlag == "C"){
  441. // 인증 로직 호출
  442. if(Sign.signprocess() == true){
  443. ds_send_savedata_signinfo.clearData();
  444. dsf_makeValue( ds_send_savedata_signinfo, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid") ); // 등록번호
  445. dsf_makeValue( ds_send_savedata_signinfo, "orddd", "string", ds_main_reclist_recinfolists.getColumn(0, "orddd") ); // 진료일자
  446. dsf_makeValue( ds_send_savedata_signinfo, "signno", "string", ds_main_reclist_recinfolists.getColumn(0, "signno") ); // 서명번호
  447. dsf_makeValue( ds_send_savedata_signinfo, "cretno", "string", ds_main_reclist_recinfolists.getColumn(0, "cretno") ); // 생성번호
  448. dsf_makeValue( ds_send_savedata_signinfo, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "recdd") ); //기록일자
  449. dsf_makeValue( ds_send_savedata_signinfo, "rectm", "string", utlf_getCurrentTime().substr(0,4) ); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
  450. dsf_makeValue( ds_send_savedata_signinfo, "recsaveflag", "string", "Y" ); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우: Y, 그외: N)
  451. dsf_makeValue( ds_send_savedata_signinfo, "signflag", "string", "02"); // 서명자료구분(01 : 진료, 02 : 간호)
  452. dsf_makeValue( ds_send_savedata_signinfo, "signgenrflag", "string", ds_main_reclist_recinfolists.getColumn(0, "histstat")); // 서명발생구분 (코드정의서 M0010 참조)
  453. dsf_makeValue( ds_send_savedata_signinfo, "formcd", "string", "0000002497"); // 각 기록지별 서식코드
  454. dsf_makeValue( ds_send_savedata_signinfo, "orddeptcd", "string", ds_main_reclist_recinfolists.getColumn(0, "orddeptcd")); // 진료부서코드
  455. dsf_makeValue( ds_send_savedata_signinfo, "orddrid", "string", ds_main_reclist_recinfolists.getColumn(0, "orddrid") ); // 진료의사ID
  456. dsf_makeValue( ds_send_savedata_signinfo, "signbfcnts", "string", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  457. dsf_makeValue( ds_send_savedata_signinfo, "signaftcnts", "string", Sign.signedInfos[2]); // 공인인증 처리후 데이터
  458. }else{
  459. sysf_messageBox("인증저장이 완료되지", "I001", "");
  460. return;
  461. // return false;
  462. }
  463. }
  464. //submit("TXMND01301");
  465. var oParam = {};
  466. oParam.id = "TXMND01301";
  467. oParam.service = "dialapp.DialRec";
  468. oParam.method = "reqExeSaveHDPipeInfo";
  469. oParam.inds = "baseinfo=ds_send_savedata_baseinfo " +
  470. "hmdlspipeinfo=ds_send_savedata_hmdlspipeinfo " +
  471. "avfinfo=ds_send_savedata_avfinfo " +
  472. "oprtinfo=ds_send_savedata_oprtinfo " +
  473. "bvipinfo=ds_send_savedata_bvipinfo " +
  474. "signinfo=ds_send_savedata_signinfo";
  475. oParam.outds = "";
  476. oParam.async = false;
  477. tranf_submit(oParam);
  478. fSrchCoduitrecList(hdmatnpatRow); // 환자별 도관기록 리스트 조회
  479. //fSrchHDPipeInfo("X"); // 혈액투석 도관기록 조회
  480. fSrchHDPipeInfo(); // 혈액투석 도관기록 조회
  481. }
  482. function fSetSignData() {
  483. ds_sign_hmdlspipeinfolist_hmdlspipeinfo.clearData();
  484. ds_sign_hmdlspipeinfolist_hmdlspipeinfo.copyData(ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo);
  485. var xHmdlsPipePath = ds_sign_hmdlspipeinfolist_hmdlspipeinfo; //Sign.XPATH_SIGNINFO + "_recinfo_recinfolists";
  486. // 인스턴스 copy 후에 콤보나 체크박스 같은 경우 코드값은 명칭으로 변경
  487. /*var xRecinfoPath = Sign.XPATH_SIGNINFO+"_recinfo";*/
  488. //** 혈액투석 도관관리 **//
  489. //var xHmdlsPipePath = xRecinfoPath + "_hmdlspipeinfolist_hmdlspipeinfo";
  490. for(var i = 0;i < xHmdlsPipePath.rowcount ;i++){
  491. // 부위
  492. var sPartFlag = xHmdlsPipePath.getColumn(i, "partflag");
  493. if(sPartFlag != ""){
  494. xHmdlsPipePath.setColumn( i, "partflag", ds_init_M0133list_M0133.lookupExpr("cdid == '" + sPartFlag + "'", "cdnm"));
  495. }
  496. // 종류1
  497. var sKindFlag1 = xHmdlsPipePath.getColumn(i, "kindflag1");
  498. if(sKindFlag1 != ""){
  499. xHmdlsPipePath.setColumn( i, "kindflag1", ds_init_M0134list_M0134.lookupExpr("cdid == '" + sKindFlag1 + "'", "cdnm"));
  500. }
  501. // 종류2
  502. var sKindFlag2 = xHmdlsPipePath.getColumn(i, "kindflag2");
  503. if(sKindFlag2 != ""){
  504. xHmdlsPipePath.setColumn( i, "kindflag2", ds_init_M0135list_M0135.lookupExpr("cdid == '" + sKindFlag2 + "'", "cdnm"));
  505. }
  506. // 발적 20120403 by kya
  507. var sRedness= xHmdlsPipePath.getColumn(i, "redness");
  508. if(sRedness != ""){
  509. xHmdlsPipePath.setColumn( i, "redness", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sRedness + "'", "cdnm"));
  510. }
  511. // 멍 20120403 by kya
  512. var sBruise= xHmdlsPipePath.getColumn(i, "bruise");
  513. if(sBruise != ""){
  514. xHmdlsPipePath.setColumn( i, "bruise", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sBruise + "'", "cdnm"));
  515. }
  516. // 고정 20120403 by kya
  517. var sFixsuture= xHmdlsPipePath.getColumn(i, "fixsuture");
  518. if(sFixsuture != ""){
  519. xHmdlsPipePath.setColumn( i, "fixsuture", ds_init_M0629list_M0629.lookupExpr("cdid == '" + sFixsuture + "'", "cdnm"));
  520. }
  521. // 혈종 20120403 by kya
  522. var sHematoma= xHmdlsPipePath.getColumn(i, "hematoma");
  523. if(sHematoma != ""){
  524. xHmdlsPipePath.setColumn( i, "hematoma", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sHematoma + "'", "cdnm"));
  525. }
  526. // A Locking Heparin 20120403 by kya
  527. var sALH= xHmdlsPipePath.getColumn(i, "alh");
  528. if(sALH != ""){
  529. xHmdlsPipePath.setColumn( i, "alh", ds_init_M0630list_M0630.lookupExpr("cdid == '" + sALH + "'", "cdnm"));
  530. }
  531. // V Locking Heparin 20120403 by kya
  532. var sVLH= xHmdlsPipePath.getColumn(i, "vlh");
  533. if(sVLH != ""){
  534. xHmdlsPipePath.setColumn( i, "vlh", ds_init_M0630list_M0630.lookupExpr("cdid == '" + sVLH + "'", "cdnm"));
  535. }
  536. // 상태
  537. var sStatusflag = xHmdlsPipePath.getColumn(i, "statusflag");
  538. if(sStatusflag == "1"){
  539. xHmdlsPipePath.setColumn( i, "statusflag", "삽입");
  540. }else if(sStatusflag == "2"){
  541. xHmdlsPipePath.setColumn( i, "statusflag", "제거");
  542. }else if(sStatusflag == "3"){
  543. xHmdlsPipePath.setColumn( i, "statusflag", "유지");
  544. }
  545. // 제거이유
  546. var sElmnResnFlag = xHmdlsPipePath.getColumn(i, "elmnresnflag");
  547. if(sElmnResnFlag != ""){
  548. xHmdlsPipePath.setColumn( i, "elmnresnflag", ds_init_M0136list_M0136.lookupExpr("cdid == '" + sElmnResnFlag + "'", "cdnm"));
  549. }
  550. }
  551. ds_sign_avfinfolist_avfinfo.clearData();
  552. ds_sign_avfinfolist_avfinfo.copyData(ds_main_reclist_recinfo_avfinfolist_avfinfo);
  553. //** 동정맥루 관리 **//
  554. var xAvfInfoPath = ds_sign_avfinfolist_avfinfo; //Sign.XPATH_SIGNINFO + "_avfinfolist_avfinfo";
  555. for(var i = 0; i < ds_sign_avfinfolist_avfinfo.rowcount ;i++){
  556. // 부위
  557. var sPartFlag = xAvfInfoPath.getColumn(i, "partflag");
  558. if(sPartFlag != ""){
  559. xAvfInfoPath.setColumn( i, "partflag", ds_init_M0138list_M0138.lookupExpr("cdid == '" + sPartFlag + "'", "cdnm"));
  560. }
  561. // 방향-20091016-kys
  562. var sPartDirection = xAvfInfoPath.getColumn(i, "partdirection");
  563. if(sPartDirection != ""){
  564. xAvfInfoPath.setColumn( i, "partdirection", ds_init_M0999list_M0133.lookupExpr("cdid == '" + sPartDirection + "'", "cdnm"));
  565. }
  566. // 종류
  567. var sKindFlag = xAvfInfoPath.getColumn(i, "kindflag");
  568. if(sKindFlag != ""){
  569. xAvfInfoPath.setColumn( i, "kindflag", ds_init_M0137list_M0137.lookupExpr("cdid == '" + sKindFlag + "'", "cdnm"));
  570. }
  571. // 사용혈관
  572. var sUseveslFlag = xAvfInfoPath.getColumn(i, "useveslflag");
  573. if(sUseveslFlag != ""){
  574. xAvfInfoPath.setColumn( i, "useveslflag", ds_init_M0139list_M0139.lookupExpr("cdid == '" + sUseveslFlag + "'", "cdnm"));
  575. }
  576. // 발적 20150820 by kya
  577. var sRedness = xAvfInfoPath.getColumn(i, "redness");
  578. if(sRedness != ""){
  579. xAvfInfoPath.setColumn( i, "redness", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sRedness + "'", "cdnm"));
  580. }
  581. // 멍 20150820 by kya
  582. var sBruise= xAvfInfoPath.getColumn(i, "bruise");
  583. if(sBruise != ""){
  584. xAvfInfoPath.setColumn( i, "bruise", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sBruise + "'", "cdnm"));
  585. }
  586. // 떨림 20150820 by kya
  587. var sThrill= xAvfInfoPath.getColumn(i, "thrill");
  588. if(sThrill != ""){
  589. xAvfInfoPath.setColumn( i, "thrill", ds_init_M0628list_M0628.lookupExpr("cdid == '" + sThrill + "'", "cdnm"));
  590. }
  591. // 청진소견1 20150820 by kya
  592. var sBruit1= xAvfInfoPath.getColumn(i, "bruit1");
  593. if(sBruit1 != ""){
  594. xAvfInfoPath.setColumn( i, "bruit1", ds_init_M0758list_M0758.lookupExpr("cdid == '" + sBruit1 + "'", "cdnm"));
  595. }
  596. // 청진소견2 20150820 by kya
  597. var sBruit2= xAvfInfoPath.getColumn(i, "bruit2");
  598. if(sBruit2 != ""){
  599. xAvfInfoPath.setColumn( i, "bruit2", ds_init_M0759list_M0759.lookupExpr("cdid == '" + sBruit2 + "'", "cdnm"));
  600. }
  601. }
  602. ds_sign_oprtinfolist_oprtinfo.clearData();
  603. ds_sign_oprtinfolist_oprtinfo.copyData(ds_main_reclist_recinfo_oprtinfolist_oprtinfo);
  604. //** 시술과 중재 **//
  605. var xOprtInfoPath = ds_sign_oprtinfolist_oprtinfo; //Sign.XPATH_SIGNINFO +"_oprtinfolist_oprtinfo";
  606. for(var i = 0; i < ds_sign_oprtinfolist_oprtinfo.rowcount ;i++){
  607. // 시술종류
  608. var sOprtKindFlag = xOprtInfoPath.getColumn(i, "oprtkindflag");
  609. if(sOprtKindFlag != ""){
  610. xOprtInfoPath.setColumn( i, "oprtkindflag", ds_init_M0140list_M0140.lookupExpr("cdid == '" + sOprtKindFlag + "'", "cdnm"));
  611. }
  612. // 시술원인
  613. var sOprtCasFlag = xOprtInfoPath.getColumn(i, "oprtcasflag");
  614. if(sOprtCasFlag != ""){
  615. xOprtInfoPath.setColumn( i, "oprtcasflag", ds_init_M0141list_M0141.lookupExpr("cdid == '" + sOprtCasFlag + "'", "cdnm"));
  616. }
  617. }
  618. ds_sign_bvipinfolist_bvipinfo.clearData();
  619. ds_sign_bvipinfolist_bvipinfo.copyData(ds_main_reclist_recinfo_bvipinfolist_bvipinfo);
  620. }
  621. /* ------------------------------------------------- */
  622. /* desc : 인증데이터 만들기 */
  623. /* param : pModel - Model */
  624. /* tNode - Target Node */
  625. /* sNode - Source Node */
  626. /* return : */
  627. /* -------------------------------------------------- */
  628. function fMake_SignData(){
  629. var arrSignPath = new Array();
  630. var arrSignDs = new Array();
  631. fSetSignData();
  632. arrSignPath[0] = "/recinfo/";
  633. arrSignPath[1] = "/recinfo/hmdlspipeinfolist/hmdlspipeinfo";
  634. arrSignPath[2] = "/recinfo/avfinfolist/avfinfo";
  635. arrSignPath[3] = "/recinfo/oprtinfolist/oprtinfo";
  636. arrSignPath[4] = "/recinfo/bvipinfolist/bvipinfo";
  637. arrSignDs[0] = "";
  638. arrSignDs[1] = ds_sign_hmdlspipeinfolist_hmdlspipeinfo.saveXML();
  639. arrSignDs[2] = ds_sign_avfinfolist_avfinfo.saveXML();
  640. arrSignDs[3] = ds_sign_oprtinfolist_oprtinfo.saveXML();
  641. arrSignDs[4] = ds_sign_bvipinfolist_bvipinfo.saveXML();
  642. Sign.addnodeset(arrSignPath, arrSignDs, true);
  643. //Sign.addnode("ds_main_reclist_recinfo"); //기록 관련 인스턴스 전체를 copy
  644. }
  645. /**
  646. * _group :
  647. * _ver : 2007.06.12
  648. * _by : 김진아
  649. * _---------------------------------------------------
  650. * _type : function
  651. * _access : public
  652. * _desc : 환자별 도관기록 리스트 조회
  653. * (혈액투석 유지환자 리스트 더블 클릭 시)
  654. * _param :
  655. * _return :
  656. * _---------------------------------------------------
  657. */
  658. function fSrchCoduitrecList(iRow){
  659. // 환자별 도관기록 리스트 셀 색상 초기화 (white)
  660. for(var i = 0 ; i < group3.grd_coduitrecinfo.getFormatColCount(); i++) {
  661. group3.grd_coduitrecinfo.setCellProperty("body", i, "backgroundColor", "white");
  662. }
  663. if(iRow==""){
  664. iRow = 0;
  665. }
  666. //model.removenode ("ds_send");
  667. //dsf_makeValue( ds, "send", "string", "" );
  668. ds_send_reqdata.clearData();
  669. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "pid"));
  670. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H"); // 투석구분 ( "H":혈액투석 )
  671. dsf_makeValue( ds_send_reqdata, "orddd", "string", ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "orddd")); //20180531 수진일자
  672. ds_main_coduitreclist_coduitrecinfo.clearData();
  673. // 20130603 막음
  674. // ds_main_signinfo.clearData();
  675. //submit("TRMND01302");
  676. var oParam = {};
  677. oParam.id = "TRMND01302";
  678. oParam.service = "dialapp.DialRec";
  679. oParam.method = "reqGetCoduitrecList";
  680. oParam.inds = "req=ds_send_reqdata";
  681. oParam.outds = "ds_main_coduitreclist_coduitrecinfo=coduitrecinfo ds_sign_singinfo=signinfo";
  682. oParam.async = false;
  683. tranf_submit(oParam);
  684. // 인증저장 정보 설정
  685. /*
  686. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn( iRow, "orddd", ds_main_signinfo.getColumn(0, "orddd"));
  687. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn( iRow, "cretno", ds_main_signinfo.getColumn(0, "cretno"));
  688. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn( iRow, "histstat", ds_main_signinfo.getColumn(0, "histstat"));
  689. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn( iRow, "orddeptcd", ds_main_signinfo.getColumn(0, "orddeptcd"));
  690. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn( iRow, "orddrid", ds_main_signinfo.getColumn(0, "orddrid"));
  691. group3.grd_hdmatnpatinfo.refresh();
  692. */
  693. }
  694. /**
  695. * _group :
  696. * _ver : 2007.08.23
  697. * _by : 김진아
  698. * _---------------------------------------------------
  699. * _type : function
  700. * _access : public
  701. * _desc : 혈액투석 도관기록 조회
  702. * (환자별 도관기록 리스트 더블 클릭 시 또는 누적조회 시)
  703. * _param :
  704. * _return :
  705. * _---------------------------------------------------
  706. */
  707. function fSrchHDPipeInfo(srchFlag){
  708. // 신규등록 Flag
  709. dsf_makeValue( ds_main_chklist_chkinfo, "cretfalg", "string", "N");
  710. group3.grp_hdpipeinfo.enable = true; // 혈액투석도관관리 그룹 활성화
  711. if(srchFlag == "X"){ // 전체 내역 조회
  712. coduitrecinfoRow = -1;
  713. // group3.grp_hdpipeinfo.enable = false; // 혈액투석도관관리 그룹 비활성화
  714. // 버튼 비활성화
  715. group3.grp_hdpipeinfo.btn_tempsavehdpipeinfo.enable = false;
  716. group3.grp_hdpipeinfo.btn_certsavehdpipeinfo.enable = false;
  717. group3.grp_hdpipeinfo.btn_addhmdlspipeinfo.enable = false;
  718. group3.grp_hdpipeinfo.btn_delhmdlspipeinfo.enable = false;
  719. group3.grp_hdpipeinfo.btn_addavfinfo.enable = false;
  720. group3.grp_hdpipeinfo.btn_delavfinfo.enable = false;
  721. group3.grp_hdpipeinfo.btn_addoprtinfo.enable = false;
  722. group3.grp_hdpipeinfo.btn_deloprtinfo.enable = false;
  723. } else {
  724. coduitrecinfoRow = ds_main_coduitreclist_coduitrecinfo.rowposition; //group3.grd_coduitrecinfo.row;
  725. }
  726. //start
  727. // 인증저장 된 기록인지 체크
  728. if(ds_main_coduitreclist_coduitrecinfo.getColumn(coduitrecinfoRow, "signno")!= ""){
  729. group3.grp_hdpipeinfo.btn_tempsavehdpipeinfo.enable = false;
  730. }
  731. var sRecDD = ds_main_coduitreclist_coduitrecinfo.getColumn(coduitrecinfoRow, "recdd"); // 기록일자
  732. var sRecTM = ds_main_coduitreclist_coduitrecinfo.getColumn(coduitrecinfoRow, "rectm"); // 기록시간
  733. var sRecNM = ds_main_coduitreclist_coduitrecinfo.getColumn(coduitrecinfoRow, "recnm"); // 기록자명
  734. var sMaintepatrgstdd = ds_main_coduitreclist_coduitrecinfo.getColumn(coduitrecinfoRow, "maintepatrgstdd");
  735. //end
  736. // 혈액투석 도관기록 리스트 셀 색상 초기화 (white)
  737. for(var i = 0; i < group3.grd_coduitrecinfo.getFormatColCount(); i++) {
  738. //group3.grd_coduitrecinfo.cellstyle("background-color", i, 1, i, 3) = "white";
  739. group3.grd_coduitrecinfo.setCellProperty("body", i, "backgroundColor", "white");
  740. }
  741. ds_main_coduitreclist_coduitrecinfo.rowposition = coduitrecinfoRow;
  742. dsf_createDs("ds_send_reqdata1",[]);
  743. dsf_makeValue( ds_send_reqdata1, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid"));
  744. dsf_makeValue( ds_send_reqdata1, "recdd", "string", "");
  745. dsf_makeValue( ds_send_reqdata1, "rectm", "string", "");
  746. dsf_makeValue( ds_send_reqdata1, "recnm", "string", "");
  747. dsf_makeValue( ds_send_reqdata1, "maintepatrgstdd", "string", ds_main_reclist_recinfolists.getColumn(0, "maintepatrgstdd"));
  748. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.clearData();
  749. ds_main_reclist_recinfo_avfinfolist_avfinfo.clearData(); //model.removeNodeset("ds_main_reclist_recinfo_avfinfolist" );
  750. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.clearData(); //model.removeNodeset("ds_main_reclist_recinfo_oprtinfolist" );
  751. ds_main_reclist_recinfo_bvipinfolist_bvipinfo.clearData(); //model.removeNodeset("ds_main_reclist_recinfo_bvipinfolist" );
  752. var oParam = {};
  753. oParam.id = "TRMND01303";
  754. oParam.service = "dialapp.DialRec";
  755. oParam.method = "reqGetHDPipeInfo";
  756. oParam.inds = "req=ds_send_reqdata1";
  757. oParam.outds = "ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo=hmdlspipeinfo " +
  758. "ds_main_reclist_recinfo_avfinfolist_avfinfo=avfinfo " +
  759. "ds_main_reclist_recinfo_oprtinfolist_oprtinfo=oprtinfo " +
  760. "ds_main_reclist_recinfo_bvipinfolist_bvipinfo=bvipinfo";
  761. oParam.async = false;
  762. tranf_submit(oParam);
  763. if(utlf_isNull(ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumnInfo("status"))) {
  764. ds_main_reclist_recinfo_avfinfolist_avfinfo.addColumn("status", "string");
  765. }
  766. if(utlf_isNull(ds_main_reclist_recinfo_oprtinfolist_oprtinfo.getColumnInfo("status"))) {
  767. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.addColumn("status", "string");
  768. }
  769. if(utlf_isNull(ds_main_reclist_recinfo_bvipinfolist_bvipinfo.getColumnInfo("status"))) {
  770. ds_main_reclist_recinfo_bvipinfolist_bvipinfo.addColumn("status", "string");
  771. }
  772. if(utlf_isNull(ds_main_reclist_recinfo_bvipinfolist_bvipinfo.getColumnInfo("recid"))) {
  773. ds_main_reclist_recinfo_bvipinfolist_bvipinfo.addColumn("recid", "string");
  774. }
  775. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.updatecontrol = false;
  776. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.enableevent = false;
  777. if(utlf_isNull(ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.getColumnInfo("status")))
  778. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.addColumn("status", "string");
  779. for(var i = 0; i < ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount; i++) {
  780. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.setColumn(i, "status", "");
  781. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.setRowType(i, Dataset.ROWTYPE_NORMAL);
  782. }
  783. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.updatecontrol = true;
  784. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.enableevent = true;
  785. if (ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount > 0 ) {
  786. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowposition = ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount - 1; // 젤 마지막row
  787. }
  788. }
  789. /**
  790. * _group :
  791. * _ver : 2007.06.22
  792. * _by : 김진아
  793. * _---------------------------------------------------
  794. * _type : function
  795. * _access : public
  796. * _desc : 신규등록버튼 클릭 시
  797. * _param :
  798. * _return :
  799. * _---------------------------------------------------
  800. */
  801. function fSetNewRecInfo(){
  802. if(ds_main_reclist_recinfolists.getColumn(0, "pid") == "") {
  803. sysf_messageBox("혈액투석 유지환자를 선택한 후", "I", "신규등록을 할 수 있습니다.");
  804. return;
  805. }
  806. group3.grp_hdpipeinfo.enable = true; // 혈액투석 도관관리 그룹 활성화
  807. // 기록일시 설정
  808. dsf_makeValue( ds_main_reclist_recinfolists, "recdd", "string", utlf_getCurrentDate()); // 기록일자
  809. dsf_makeValue( ds_main_reclist_recinfolists, "rectm", "string", utlf_getCurrentTime().substr(0,4)); // 기록시간
  810. //model.refresh();
  811. // 환자별 도관기록 리스트 행 추가
  812. group3.grd_coduitrecinfo.addItem(); // 행 추가
  813. var _insertRow = ds_main_coduitreclist_coduitrecinfo.addRow()
  814. ds_main_coduitreclist_coduitrecinfo.setColumn( _insertRow, "recdd", ds_main_reclist_recinfolists.getColumn(0, "recdd") );
  815. ds_main_coduitreclist_coduitrecinfo.setColumn( _insertRow, "rectm", ds_main_reclist_recinfolists.getColumn(0, "rectm") );
  816. ds_main_coduitreclist_coduitrecinfo.setColumn( _insertRow, "recnm", ds_main_reclist_recinfolists.getColumn(0, "recnm") );
  817. ds_main_coduitreclist_coduitrecinfo.setColumn( _insertRow, "pid", ds_main_reclist_recinfolists.getColumn(0, "pid") );
  818. ds_main_coduitreclist_coduitrecinfo.setColumn( _insertRow, "maintepatrgstdd", ds_main_reclist_recinfolists.getColumn(0, "maintepatrgstdd") );
  819. // 초기화
  820. for(var i = 0; i < group3.grd_coduitrecinfo.getFormatColCount; i++) {
  821. //group3.grd_coduitrecinfo.cellstyle("background-color", i, 1, i, 3) = "white"; // 환자별 도관기록 리스트 셀 색상 초기화 (white)
  822. group3.grd_coduitrecinfo.setCellProperty("body", i, "backgroundColor", "white"); // 환자별 도관기록 리스트 셀 색상 초기화 (white)
  823. }
  824. ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.clearData(); // 혈액투석 도관관리
  825. ds_main_reclist_recinfo_avfinfolist_avfinfo.clearData(); // 동정맥루 관리
  826. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.clearData(); // 시술과 중재
  827. // 신규등록 flag
  828. dsf_makeValue( ds_main_chklist_chkinfo, "cretfalg", "string", "Y");
  829. if(utlf_isNull(ds_main_reclist_recinfo_avfinfolist_avfinfo.getColumnInfo("status"))) {
  830. ds_main_reclist_recinfo_avfinfolist_avfinfo.addColumn("status", "string");
  831. }
  832. if(utlf_isNull(ds_main_reclist_recinfo_oprtinfolist_oprtinfo.getColumnInfo("status"))) {
  833. ds_main_reclist_recinfo_oprtinfolist_oprtinfo.addColumn("status", "string");
  834. }
  835. //model.refresh();
  836. }
  837. /**
  838. * _group :
  839. * _ver : 2007.07.18
  840. * _by : 김진아
  841. * _---------------------------------------------------
  842. * _type : function
  843. * _access : public
  844. * _desc : 투석도관기록 마스터정보 삭제
  845. * _param :
  846. * _return :
  847. * _---------------------------------------------------
  848. */
  849. function fDelPipeMasterInfo(){
  850. //** 데이터 모두 삭제 되어 해당일시에 기록정보 없을 경우 **//
  851. if( ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo.rowcount == 0
  852. && ds_main_reclist_recinfo_avfinfolist_avfinfo.rowcount == 0
  853. && ds_main_reclist_recinfo_oprtinfolist_oprtinfo.rowcount == 0) {
  854. sysf_messageBox("해당일시에 데이터가 존재하지 않습니다", "I", "마스터 정보를 삭제합니다.");
  855. ds_send_savedata.clearData();
  856. dsf_makeValue( ds_send_savedata, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid"));
  857. dsf_makeValue( ds_send_savedata, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "recdd"));
  858. dsf_makeValue( ds_send_savedata, "rectm", "string", ds_main_reclist_recinfolists.getColumn(0, "rectm"));
  859. dsf_makeValue( ds_send_savedata, "maintepatrgstdd", "string", ds_main_reclist_recinfolists.getColumn(0, "maintepatrgstdd"));
  860. dsf_makeValue( ds_send_savedata, "dialflag", "string", "H");
  861. //submit("TXMND01302");
  862. var oParam = {};
  863. oParam.id = "TXMND01302";
  864. oParam.service = "dialapp.DialRec";
  865. oParam.method = "reqDelHDPipeInfoMaster";
  866. oParam.inds = "req=ds_send_savedata";
  867. oParam.outds = "";
  868. oParam.async = false;
  869. tranf_submit(oParam);
  870. fSrchCoduitrecList(); // 환자별 도관기록 리스트 조회
  871. }
  872. }
  873. /**
  874. * _group :
  875. * _ver : 2008.05.16
  876. * _by : 김진아
  877. * _---------------------------------------------------
  878. * _type : function
  879. * _access : public
  880. * _desc : 혈액투석 유지환자리스트에서 환자 선택 시
  881. 도관기록 리스트 및 누적조회, 환자정보를 설정.
  882. * _param :
  883. * _return :
  884. * _---------------------------------------------------
  885. */
  886. function fSetHDPipeInfo(iRow){
  887. // hdmatnpatRow = group3.grd_hdmatnpatinfo.row;
  888. var sSelPid = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "pid"); // 선택환자 등록번호
  889. var sMaintePatRgstDD = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "maintepatrgstdd"); // 선택환자 유지환자등록일자
  890. var sOrddd = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "orddd");
  891. var sCretno = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "cretno");
  892. var sHiststat = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "histstat");
  893. var sOrddeptcd = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "orddeptcd");
  894. var sOrddrid = ds_main_hdmatnpatlist_hdmatnpatinfo.getColumn(iRow, "orddrid");
  895. dsf_makeValue( ds_main_reclist_recinfolists, "pid", "string", sSelPid);
  896. dsf_makeValue( ds_main_reclist_recinfolists, "maintepatrgstdd", "string", sMaintePatRgstDD);
  897. dsf_makeValue( ds_main_reclist_recinfolists, "orddd", "string", sOrddd);
  898. dsf_makeValue( ds_main_reclist_recinfolists, "cretno", "string", sCretno);
  899. dsf_makeValue( ds_main_reclist_recinfolists, "histstat", "string", sHiststat);
  900. dsf_makeValue( ds_main_reclist_recinfolists, "orddeptcd", "string", sOrddeptcd);
  901. dsf_makeValue( ds_main_reclist_recinfolists, "orddrid", "string", sOrddrid);
  902. dsf_makeValue( ds_main_hdmatnpatlist_hdmatnpatinfo, "selBg", "string", "");
  903. var findRow = ds_main_hdmatnpatlist_hdmatnpatinfo.findRowExpr("selBg == '#ffd9ff'")
  904. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn(findRow, "selBg", "");
  905. ds_main_hdmatnpatlist_hdmatnpatinfo.setColumn(iRow, "selBg", "#ffd9ff");
  906. ds_main_hdmatnpatlist_hdmatnpatinfo.rowposition = iRow;
  907. fSrchCoduitrecList(iRow); // 당일 혈관 접근로 리스트 조회
  908. fSrchHDPipeInfo(); // 혈액투석 도관기록 조회
  909. var sSignn = "";
  910. if(ds_main_coduitreclist_coduitrecinfo.rowcount > 0) {
  911. sSignno = ds_main_coduitreclist_coduitrecinfo.getColumn(0, "signno")
  912. dsf_makeValue( ds_main_reclist_recinfolists, "signno", "string", sSignno);
  913. }
  914. dsf_makeValue( ds_main_reclist_recinfolists, "recid", "string", sysf_getUserId()); // 현재 로그인한 사용자 ID
  915. dsf_makeValue( ds_main_reclist_recinfolists, "recnm", "string", sysf_getUserName()); // 현재 로그인한 사용자명
  916. dsf_makeValue( ds_main_reclist_recinfolists, "recdd", "string", sOrddd);
  917. dsf_makeValue( ds_main_reclist_recinfolists, "rectm", "string", utlf_getCurrentTime().substr(0,4)); // 기록시간
  918. }
  919. /* ------------------------------------------------- */
  920. /* desc : Instance NodeCopy 하기 (SMMNP007.js 참조) */
  921. /* param : pModel - Model */
  922. /* tNode - Target Node */
  923. /* sNode - Source Node */
  924. /* return : */
  925. /* -------------------------------------------------- */
  926. function InstanceNodeCopy(pModel, tNode, sNode) {
  927. pModel.copyNode(tNode, sNode );
  928. }
  929. /* ------------------------------------------------- */
  930. /* desc : Instance NodeCopy 하기(SMMNP007.js 참조) */
  931. /* param : pModel - Model */
  932. /* tNode - Target Node */
  933. /* sNode - Source Node */
  934. /* return : */
  935. /* -------------------------------------------------- */
  936. function XmlDataCheck(XmlInstNm) {
  937. // XmlInstNm = XmlInstNm.split(" ");
  938. // var tNode = "";
  939. // var sNode = "";
  940. //
  941. // for (var i=0; i < XmlInstNm.length; i++){
  942. // tNode = "ds_main_reclist_recinfo/" + XmlInstNm[i];
  943. // if (instance1.selectSingleNode(tNode).childNodes.length < 1) {
  944. // sNode = "ds_main_xmlformatlist/" + XmlInstNm[i];
  945. // InstanceNodeCopy(model, tNode, sNode);
  946. // }
  947. // }
  948. }
  949. /* ------------------------------------------------- */
  950. /* desc : 해당 경로의 >,< 문자 를 &lt;,&gt;로 변환 */
  951. /* param : path - 대상경로 */
  952. /* return : */
  953. /* -------------------------------------------------- */
  954. function doReplaceLtGt(path)
  955. {
  956. var nodelist = utlf_transNullToEmpty(path.getColumn( 0, "shapeimgedata"));
  957. var shape = "";
  958. //for (var i=0; i < nodelist.length; i++){
  959. shape = nodelist.replace("<", "&lt;");
  960. nodelist = shape.replace(">", "&gt;");
  961. path.setColumn(0, "shapeimgedata", nodelist);
  962. //}
  963. }
  964. /**
  965. * creat : 20090108
  966. * author : dhkim
  967. * desc : 내환자세팅된 간호사 load
  968. */
  969. function fLoadMyPatSetting(){
  970. ds_send.clearData();
  971. dsf_makeValue( ds_send, "wardcd", "string", sysf_getUserInfo('dutplcecd'));
  972. //submit 호출
  973. //if(!submit('TRMND03402')){
  974. var oParam = {};
  975. oParam.id = "TRMND03402";
  976. oParam.service = "dialapp.DialPatMngt";
  977. oParam.method = "reqGetWMInitData";
  978. oParam.inds = "reqcond=ds_send";
  979. oParam.outds = "ds_init_settingrn_settingrnlist=settingrnlist";
  980. oParam.async = false;
  981. oParam.callback = "cf_TRMND03402";
  982. tranf_submit(oParam);
  983. if(arErrorCode.pop("TRMND03402") < 0) {
  984. sysf_messageBox('조회를 실패하였습니다.', 'E999');
  985. return;
  986. }
  987. if(ds_init_settingrn_settingrnlist.rowcount > 0) {
  988. group3.group2.combo2.index = 0;
  989. }
  990. else {
  991. group3.group2.combo2.index = -1;
  992. }
  993. }
  994. function cf_TRMND03402(sSvcId, nErrorCode, sErrorMsg) {
  995. arErrorCode.push(sSvcId, nErrorCode);
  996. }
  997. function fAddRowSpcfFact(vGrdObj){
  998. if (vGrdObj == null) return;
  999. var iRow = 0;
  1000. if (vGrdObj.rowcount == 0){
  1001. //vGrdObj.addItem();
  1002. iRow = ds_main_reclist_recinfo_bvipinfolist_bvipinfo.addRow();
  1003. }else{
  1004. //vGrdObj.insertItem(1);
  1005. iRow = ds_main_reclist_recinfo_bvipinfolist_bvipinfo.insertRow(0);
  1006. }
  1007. var sCurrentDate = utlf_getCurrentDate();
  1008. var xPath = ds_main_reclist_recinfo_bvipinfolist_bvipinfo;
  1009. var itemflag = "09"; //혈관내압측정비
  1010. var sSelPid = ds_main_reclist_recinfolists.getColumn(0, "pid"); // 등록번호
  1011. var sRecId = ds_main_reclist_recinfolists.getColumn(0, "recid"); // 기록자 아이디
  1012. var sBvipvalue = ds_main_condition.getColumn(0, "bvipvalue"); // Access Flow(ml_min) OR SIAPR
  1013. //vGrdObj.cellStyle("background-image", + vGrdObj.row, vGrdObj.colRef("stu")) = "../../.._com_commonweb_images_icon_i.gif"; //insert 상태값이미지-방향추가로 10->11로 변경-20091016-kys
  1014. //model.makeValue( xPath +"[" + iRow + "]_pid" , sSelPid);
  1015. xPath.setColumn(iRow, "pid", sSelPid);
  1016. //model.makeValue( xPath +"[" + iRow + "]_recid", sRecId );
  1017. xPath.setColumn(iRow, "recid", sRecId);
  1018. if(iRow == 0){
  1019. //model.makeValue(xPath + "[" + iRow + "]_seqno", 1);
  1020. xPath.setColumn(iRow, "seqno", 1);
  1021. } else{
  1022. xPath.setColumn(iRow, "seqno", Number(xPath.getColumn(iRow - 1, "seqno")) + 1);
  1023. }
  1024. // alert(" iRow = " + iRow);
  1025. xPath.setColumn(iRow, "recdd" , utlf_getCurrentDate() ); // 기록일자 지정(현재일자)
  1026. xPath.setColumn(iRow, "rectm" , utlf_getCurrentTime().substr(0,4)); // 기록시간 지정(현재시간)
  1027. xPath.setColumn(iRow, "status", "i" ); // 상태값 지정 (i)
  1028. //model.makeValue(xPath +"[" + iRow + "]_itemflag", itemflag );
  1029. xPath.setColumn(iRow, "itemflag", itemflag); // 상태값 지정 (i)
  1030. //model.makeValue(xPath +"[" + iRow + "]_spcffact", sBvipvalue );
  1031. xPath.setColumn(iRow, "spcffact", sBvipvalue); // 특이사항 (i)
  1032. }
  1033. /**
  1034. * @desc : 그리드 콤보박스 input으로변환
  1035. * @
  1036. * @param :20091022에 추가-kys
  1037. * @event :
  1038. * @return :
  1039. * @---------------------------------------------------
  1040. */
  1041. function fCellchgnged()
  1042. {
  1043. // if(grd_avfinfo.row >= grd_avfinfo.fixedRows){
  1044. // var combopath = "";
  1045. // if(grd_avfinfo.col == 2){ //종류
  1046. // combopath = "/root/init/M0137list/M0137";
  1047. // }else if(grd_avfinfo.col == 1){ //부위(팔,다리)
  1048. // combopath = "/root/init/M0138list/M0138";
  1049. // }else if(grd_avfinfo.col == 3){ //동정맥루 사용혈관
  1050. // combopath = "/root/init/M0139list/M0139";
  1051. // }else if(grd_avfinfo.col == 0){ //부위방향(왼쪽,오른쪽,기타)
  1052. // combopath = "/root/init/M0999list/M0133";
  1053. // }
  1054. // var idx = grd_avfinfo.valueMatrix(grd_avfinfo.row,0);
  1055. //
  1056. // if ( idx == "03" && grd_avfinfo.col == 1){ //부위방향(왼쪽,오른쪽)이 기타이고 부위(팔,다리)컬럼이면
  1057. // grd_avfinfo.combo.button.visible = false;
  1058. // grd_avfinfo.combo.input.attribute("width") = grd_avfinfo.colWidth(grd_avfinfo.col);
  1059. // }else{
  1060. // grd_avfinfo.combo.button.visible = true;
  1061. // grd_avfinfo.combo.input.attribute("width") = grd_avfinfo.colWidth(grd_avfinfo.col) - 20;
  1062. // grd_avfinfo.cellComboNodeset(grd_avfinfo.row, grd_avfinfo.col) = combopath;
  1063. // }
  1064. // }
  1065. }
  1066. /*
  1067. * 20180524 투석도관기록 삭제
  1068. */
  1069. function fDelHDPipeInfo(pFlag)
  1070. {
  1071. // var xPath = "/root/main/reclist/recinfo/recinfolists/";
  1072. var recid = utlf_transNullToEmpty(ds_main_reclist_recinfolists.getColumn(0, "recid"));
  1073. var recnm = utlf_transNullToEmpty(ds_main_reclist_recinfolists.getColumn(0, "recnm"));
  1074. var recdd = utlf_transNullToEmpty(ds_main_reclist_recinfolists.getColumn(0, "recdd"));
  1075. if(recid != sysf_getUserId())
  1076. {
  1077. sysf_messageBox('기록을 입력한 등록자( ' + recnm + ' )만 해당 기록내역을 삭제하실 수 있습니다.' , 'E');
  1078. return ;
  1079. }
  1080. else
  1081. {
  1082. var msg = sysf_messageBox(recdd.substr(4,2) + "월 " + recdd.substr(6,2) + "일 기록정보를 삭제하시겠습니까?", "S");
  1083. if(msg == 6)
  1084. {
  1085. //XmlDataCheck(XmlInstNm);
  1086. dsf_makeValue(ds_send_savedata_baseinfo, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid"));
  1087. dsf_makeValue(ds_send_savedata_baseinfo, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "recdd"));
  1088. dsf_makeValue(ds_send_savedata_baseinfo, "rectm", "string", ds_main_reclist_recinfolists.getColumn(0, "rectm"));
  1089. dsf_makeValue( ds_send_savedata_baseinfo, "maintepatrgstdd", "string", ds_main_reclist_recinfolists.getColumn(0, "maintepatrgstdd"));
  1090. dsf_makeValue( ds_send_savedata_baseinfo, "recid", "string", ds_main_reclist_recinfolists.getColumn(0, "recid"));
  1091. dsf_makeValue( ds_send_savedata_baseinfo, "recnm", "string", ds_main_reclist_recinfolists.getColumn(0, "recnm"));
  1092. dsf_makeValue( ds_send_savedata_baseinfo, "dialflag", "string", "H");
  1093. dsf_makeValue(ds_send_savedata_baseinfo, "status", "string", "d");
  1094. dsf_makeValue(ds_send_savedata_baseinfo, "certflag", "string", pFlag);
  1095. if(Sign.signprocess() == true)
  1096. {
  1097. ds_send_savedata_signinfo.clearData();
  1098. dsf_makeValue( ds_send_savedata_signinfo, "pid", "string", ds_main_reclist_recinfolists.getColumn(0, "pid") ); // 등록번호
  1099. dsf_makeValue( ds_send_savedata_signinfo, "orddd", "string", ds_main_reclist_recinfolists.getColumn(0, "orddd") ); // 진료일자
  1100. dsf_makeValue( ds_send_savedata_signinfo, "signno", "string", ds_main_reclist_recinfolists.getColumn(0, "signno") ); // 서명번호
  1101. dsf_makeValue( ds_send_savedata_signinfo, "cretno", "string", ds_main_reclist_recinfolists.getColumn(0, "cretno") ); // 생성번호
  1102. dsf_makeValue( ds_send_savedata_signinfo, "recdd", "string", ds_main_reclist_recinfolists.getColumn(0, "recdd") ); //기록일자
  1103. dsf_makeValue( ds_send_savedata_signinfo, "rectm", "string", utlf_getCurrentTime().substr(0,4) ); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
  1104. dsf_makeValue( ds_send_savedata_signinfo, "recsaveflag", "string", "Y" ); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우: Y, 그외: N)
  1105. dsf_makeValue( ds_send_savedata_signinfo, "signflag", "string", "02"); // 서명자료구분(01 : 진료, 02 : 간호)
  1106. dsf_makeValue( ds_send_savedata_signinfo, "signgenrflag", "string", ds_main_reclist_recinfolists.getColumn(0, "histstat")); // 서명발생구분 (코드정의서 M0010 참조)
  1107. dsf_makeValue( ds_send_savedata_signinfo, "formcd", "string", "0000002497"); // 각 기록지별 서식코드
  1108. dsf_makeValue( ds_send_savedata_signinfo, "orddeptcd", "string", ds_main_reclist_recinfolists.getColumn(0, "orddeptcd")); // 진료부서코드
  1109. dsf_makeValue( ds_send_savedata_signinfo, "orddrid", "string", ds_main_reclist_recinfolists.getColumn(0, "orddrid") ); // 진료의사ID
  1110. dsf_makeValue( ds_send_savedata_signinfo, "signbfcnts", "string", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  1111. dsf_makeValue( ds_send_savedata_signinfo, "signaftcnts", "string", Sign.signedInfos[2]); // 공인인증 처리후 데이터
  1112. }
  1113. else
  1114. {
  1115. return false;
  1116. }
  1117. dsf_createDs("ds_send_savedata_hmdlspipeinfo");
  1118. //ds_send_savedata_hmdlspipeinfo.copyData(ds_main_reclist_recinfo_hmdlspipeinfolist_hmdlspipeinfo);
  1119. sParamObjArr = [{ds: "ds_send_savedata_hmdlspipeinfo", path:"/recinfo/hmdlspipeinfolist/hmdlspipeinfo", filter: ""}];
  1120. DataSet_XMLChangeName = lf_convertDsToXml(sParamObjArr,"<recinfo><hmdlspipeinfolist><hmdlspipeinfo><partflag/><kindflag1/><kindflag2/><statusflag/><srgopdd/><btdgnm/><btdgdd/><btdgseq/><pid/><maintepatrgstdd/><redness/><bruise/><fixsuture/><hematoma/><ap/><vp/><alh/><vlh/><remark/><bfr/><elmnresnflag/><lstbtdgrecdt/><seq/><status/></hmdlspipeinfo></hmdlspipeinfolist></recinfo>");
  1121. trace("DataSet_XMLChangeName =" + DataSet_XMLChangeName);
  1122. dsf_makeValue(ds_send_savedata_hmdlspipeinfo, "hmdlspipeinfo", "string", DataSet_XMLChangeName);
  1123. dsf_createDs("ds_send_savedata_avfinfo");
  1124. //ds_send_savedata_avfinfo.copyData(ds_main_reclist_recinfo_avfinfolist_avfinfo);
  1125. sParamObjArr = [{ds: "ds_send_savedata_avfinfo", path:"/recinfo/avfinfolist/avfinfo", filter: ""}];
  1126. DataSet_XMLChangeName = lf_convertDsToXml(sParamObjArr,"<recinfo><avfinfolist><avfinfo><partflag/><kindflag/><useveslflag/><shapeval/><shapeimgedata/><opdd/><fstusedd/><lastusedd/><avfrecnm/><avfrecdd/><pid/><maintepatrgstdd/><rownum/><lstwvrmrecdt/><partdirection/><remark/><redness/><bruise/><thrill/><bruit1/><bruit2/><cd/><ap/><vp/><ndgage/><status/></avfinfo></avfinfolist></recinfo>");
  1127. dsf_makeValue(ds_send_savedata_avfinfo, "avfinfo", "string", DataSet_XMLChangeName);
  1128. dsf_createDs("ds_send_savedata_oprtinfo");
  1129. //ds_send_savedata_oprtinfo.copyData(ds_main_reclist_recinfo_oprtinfolist_oprtinfo);
  1130. sParamObjArr = [{ds: "ds_send_savedata_oprtinfo", path:"/recinfo/oprtinfolist/oprtinfo", filter: ""}];
  1131. DataSet_XMLChangeName = lf_convertDsToXml(sParamObjArr,"<recinfo><oprtinfolist><oprtinfo><oprtkindflag/><oprtcasflag/><oprthospnm/><oprtdd/><oprtrecnm/><oprtrecdd/><pid/><maintepatrgstdd/><rownum/><lstoprtrecdt/><remark/><status/></oprtinfo></oprtinfolist></recinfo>");
  1132. dsf_makeValue(ds_send_savedata_oprtinfo, "oprtinfo", "string", DataSet_XMLChangeName);
  1133. dsf_createDs("ds_send_savedata_bvipinfo");
  1134. //ds_send_savedata_bvipinfo.copyData(ds_main_reclist_recinfo_bvipinfolist_bvipinfo);
  1135. sParamObjArr = [{ds: "ds_send_savedata_bvipinfo", path:"/recinfo/bvipinfolist/bvipinfo", filter: ""}];
  1136. DataSet_XMLChangeName = lf_convertDsToXml(sParamObjArr,"<recinfo><bvipinfolist><bvipinfo><pid/><recdd/><rectm/><spcffact/><seqno/><itemflag/><status/><recid/></bvipinfo></bvipinfolist></recinfo>");
  1137. dsf_makeValue(ds_send_savedata_bvipinfo, "bvipinfo", "string", DataSet_XMLChangeName);
  1138. var oParam = {};
  1139. oParam.id = "TXMND01301";
  1140. oParam.service = "dialapp.DialRec";
  1141. oParam.method = "reqExeSaveHDPipeInfo";
  1142. oParam.inds = "baseinfo=ds_send_savedata_baseinfo " +
  1143. "hmdlspipeinfo=ds_send_savedata_hmdlspipeinfo " +
  1144. "avfinfo=ds_send_savedata_avfinfo " +
  1145. "oprtinfo=ds_send_savedata_oprtinfo " +
  1146. "bvipinfo=ds_send_savedata_bvipinfo " +
  1147. "signinfo=ds_send_savedata_signinfo";
  1148. oParam.outds = "";
  1149. oParam.async = false;
  1150. tranf_submit(oParam);
  1151. }
  1152. else
  1153. {
  1154. return;
  1155. }
  1156. }
  1157. }]]></Script>