SMMNP00208.xjs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 수술부위 확인 점검표(SMMNP00208.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Mr.Son S.H
  7. : 2011.12.05
  8. ---------------------------------------------------------------------- */
  9. var initOprsrvno = "";
  10. /****************************************************************************************
  11. * Argument :
  12. * Description : 초기화
  13. ****************************************************************************************/
  14. function fInitialize() {
  15. // 본원. 칠곡 구분.
  16. var initPid = ""
  17. if (utlf_isNull(initOprsrvno)) {
  18. initOprsrvno = opener.frmf_getParameter("SMMNP00208_PARM_OPRSRVNO");
  19. }
  20. ds_init_paminfo.setColumn(0, "oprsrvno", initOprsrvno);
  21. if (utlf_isNull(initOprsrvno)){
  22. var node = sysf_getGlobalVariable("operation");
  23. if( !utlf_isNull(node)){
  24. dsf_createDs("ds_temp_operation");
  25. dsf_setCSVToDs("ds_temp_operation", node);
  26. var nRow = ds_temp_operation.rowposition;
  27. var sOprsrvno = ds_temp_operation.getColumn(nRow, "oprsrvno");
  28. ds_init_paminfo.setColumn(0, "oprsrvno", sOprsrvno);
  29. } else{
  30. sysf_messageBox("수술환자 탭에서 환자 조회 후 입력 가능합니다.\r\n환자 정보를 상단에 조회 후 '수술부위확인점검표' 프로그램 재 실행하십시요!", "E");
  31. this.close();
  32. }
  33. }
  34. // 저장된 데이타 확인 후 가져오기.
  35. var oParam = {};
  36. oParam.id = "TRMNP00208";
  37. oParam.service = "opanstapp.OpAnstRec";
  38. oParam.method = "reqGetOpPartChkInfo";
  39. oParam.inds = "req=ds_init_paminfo";
  40. oParam.outds = "ds_init_oppartchkinfo=oppartchkinfo";
  41. oParam.async = false;
  42. oParam.callback = "cf_TRMNP00208";
  43. tranf_submit(oParam);
  44. if( ds_init_oppartchkinfo.rowcount < 1 ){
  45. ds_init_oppartchkinfo.addRow();
  46. }
  47. // 확인내용 기본 셋팅가져오기.
  48. var oParam = {};
  49. oParam.id = "TRMNP00209";
  50. oParam.service = "opanstapp.OpAnstRec";
  51. oParam.method = "regGetOpPartChkItem";
  52. oParam.inds = "req=ds_init_paminfo";
  53. oParam.outds = "ds_temp_opchkitem=opchkitem ds_temp_timeoutcase=timeoutcase ds_temp_timeoutitem=timeoutitem";
  54. oParam.async = false;
  55. //oParam.callback = "cf_TRMNP00209";
  56. tranf_submit(oParam);
  57. var sChkinfo = ds_init_opchkitem.getColumn(0, "chkitem1");
  58. // 이미 저장된 데이타가 있는지 여부를 파악해서. 없으면 기본 셋팅값. 존재하면 기존 데이타 보이기.
  59. if (utlf_isNull(sChkinfo)){
  60. ds_init_opchkitem.copyData(ds_temp_opchkitem);
  61. ds_init_timeoutcase.copyData(ds_temp_timeoutcase);
  62. ds_init_timeoutitem.copyData(ds_temp_timeoutitem);
  63. ds_init_oppartchkinfo.addColumn("recstat", "string");
  64. ds_init_oppartchkinfo.setColumn(0, "recstat", "i"); // Insert 구분자를 지정하여 저장시 insert 되도록.
  65. }else {
  66. ds_init_oppartchkinfo.addColumn("recstat", "string");
  67. ds_init_oppartchkinfo.setColumn(0, "recstat", "u"); // Update 구분자를 지정.
  68. var nToexecdttm = utlf_transNullToEmpty(ds_init_oppartchkinfo.getColumn(0, "toexecdttm"));
  69. if( !utlf_isNull(nToexecdttm) ){
  70. var nTimeoutdt = nToexecdttm.substr(0, 8);
  71. var nTimeouttm = nToexecdttm.substr(8, 4);
  72. ds_hidden_recdttm.setColumn(0, "timeoutdt", nTimeoutdt);
  73. ds_hidden_recdttm.setColumn(0, "timeouttm", nTimeouttm);
  74. }
  75. /*
  76. var sTimeoutinfo = ds_init_tiemoutitem.getColumn(0, "chkitem1");
  77. if( utlf_isNull(sTimeoutinfo) ){
  78. alert("과거 자료입니다. 통합기록조회로 확인바랍니다.");
  79. }
  80. */
  81. }
  82. if(utlf_isNull(ds_init_oppartchkinfo.getColumn(0, "partcptyn"))){
  83. ds_init_oppartchkinfo.setColumn(0, "partcptyn","Y");
  84. }
  85. if(ds_init_oppartchkinfo.getColumn(0, "partcptyn") == "N"){
  86. chk_partcptnr1.enable = true;
  87. chk_partcptnr2.enable = true;
  88. chk_partcptnr3.enable = true;
  89. chk_partcptnr4.enable = true;
  90. }else{
  91. chk_partcptnr1.enable = false;
  92. chk_partcptnr2.enable = false;
  93. chk_partcptnr3.enable = false;
  94. chk_partcptnr4.enable = false;
  95. }
  96. if(ds_init_oppartchkinfo.getColumn(0, "partcptnr4") == "Y"){
  97. ipt_partcptnrrmk.enable = true;
  98. }else{
  99. ipt_partcptnrrmk.enable = false;
  100. }
  101. dsf_createDs("ds_temp_cond_list");
  102. appf_getPatientInfoDetails("ds_temp_cond_list"); // 환자 상세정보 조회.
  103. fUserchk() //사용자별 화면 제한.
  104. }
  105. function cf_TRMNP00208(sSvcId, nErrorCode, sErrorMsg) {
  106. if(nErrorCode < 0) return;
  107. var sOppartckspecXML = ds_init_oppartchkinfo.getColumn(0, "oppartckspec");
  108. if( !utlf_isNull(sOppartckspecXML) ){
  109. gDsPrifixNm = "ds_init_";
  110. var sParamObj = new Object();
  111. sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
  112. sParamObj.nullColumnYN = 'Y'; //xml 노드가 빈값일 경우 dataset 컬럼 생성 여부
  113. lf_convertXmlToDs(ds_init_oppartchkinfo.getColumn(0, "oppartckspec"), sParamObj);
  114. }
  115. }
  116. function cf_TRMNP00209(sSvcId, nErrorCode, sErrorMsg) {
  117. if(nErrorCode < 0) return;
  118. }
  119. /****************************************************************************************
  120. * Argument :
  121. * Description : 수술부위확인 참석자별 체크 가능하도록
  122. ****************************************************************************************/
  123. function fSaveOpCheckList(){
  124. /*
  125. var sChk = model.getValue("/root/init/oppartchkinfo/chkattend");
  126. if ( sChk == "1" ){
  127. chk_opnr.disabled = true;
  128. grd_chklist.colDisabled (3) = true;
  129. grd_chklist.colDisabled (4) = true;
  130. grd_chklist.colDisabled (2) = false;
  131. grd_chklist.fixedcellcheckbox(0,2) = true; // 컬럼에 체크박스
  132. grd_chklist.fixedcellcheckbox(0,3) = false;
  133. //chk_opdr.select(0);
  134. chk_opdryn.value = 'Y'
  135. chk_anstdryn.value = 'N';
  136. } else if ( sChk == "2"){
  137. chk_opnr.disabled = true;
  138. grd_chklist.colDisabled (2) = true;
  139. grd_chklist.colDisabled (4) = true;
  140. grd_chklist.colDisabled (3) = false;
  141. grd_chklist.fixedcellcheckbox(0,3) = true; // 컬럼에 체크박스
  142. grd_chklist.fixedcellcheckbox(0,2) = false;
  143. //chk_andr.select(0);
  144. chk_anstdryn.value = 'Y';
  145. chk_opdryn.value = 'N'
  146. }
  147. */
  148. }
  149. /****************************************************************************************
  150. * Argument : pSaveFlag - 인증, 임시저장 구분
  151. * Description : 임시저장, 인증저장
  152. ****************************************************************************************/
  153. function fSave(pSaveFlag){
  154. if(utlf_isNull(ds_init_oppartchkinfo.getColumn(0, "chkattend"))){
  155. sysf_messageBox("수술부위확인 참석자를 ", "C002"); // 선택하십시오!
  156. return;
  157. }
  158. var wRecoDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  159. var wSaveDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  160. // 기록일시
  161. if (ds_main_conditions.getColumn(0, "confirm") == "2") { // 사용자일자 지정시간 기록
  162. wRecoDate = utlf_transNullToEmpty(ds_hidden_recdttm.getColumn(0, "recdt")) + utlf_transNullToEmpty(ds_hidden_recdttm.getColumn(0, "rectm"));
  163. if(wRecoDate.replace(' ', '').length < 12){
  164. sysf_messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
  165. return;
  166. }
  167. } else{
  168. wRecoDate = wSaveDate;
  169. }
  170. ds_init_oppartchkinfo.addColumn("recdttm", "string");
  171. ds_init_oppartchkinfo.setColumn(0, "recdttm", wRecoDate);
  172. // Time Out 시행시간
  173. var nTimeOutDate = utlf_transNullToEmpty(ds_hidden_recdttm.getColumn(0, "timeoutdt")) + utlf_transNullToEmpty(ds_hidden_recdttm.getColumn(0, "timeouttm"));
  174. if(!utlf_isNull(nTimeOutDate) && nTimeOutDate.replace(' ', '').length < 12){
  175. sysf_messageBox("TimeOut 시행시간을 정확하게 입력 하시기 바랍니다.", "I000");
  176. return;
  177. }
  178. ds_init_oppartchkinfo.addColumn("toexecdttm", "string");
  179. ds_init_oppartchkinfo.setColumn(0, "toexecdttm", nTimeOutDate);
  180. dsf_createDs("ds_send_savedata");
  181. //dsf_createDs("ds_send_savedata_oppartckspec");
  182. var sUsernm = sysf_getUserInfo("usernm") ;
  183. var sUserid = sysf_getUserInfo("userid") ;
  184. var sDeptcd = sysf_getUserInfo("dutplcecd") ;
  185. var ChkValue = ds_init_oppartchkinfo.getColumn(0, "chkattend");
  186. if (ChkValue == "1"){
  187. ds_init_oppartchkinfo.setColumn(0, "opdocnm", sUsernm);
  188. ds_init_oppartchkinfo.setColumn(0, "opdocrecrid", sUserid);
  189. ds_init_oppartchkinfo.setColumn(0, "opdocrecdept", sDeptcd);
  190. }else if (ChkValue == "2"){
  191. ds_init_oppartchkinfo.setColumn(0, "anstdocnm", sUsernm);
  192. ds_init_oppartchkinfo.setColumn(0, "anstdocrecrid", sUserid);
  193. ds_init_oppartchkinfo.setColumn(0, "anstdocrecdept", sDeptcd);
  194. }else if (ChkValue == "3"){
  195. ds_init_oppartchkinfo.setColumn(0, "opnrnm", sUsernm);
  196. ds_init_oppartchkinfo.setColumn(0, "opnrrecrid", sUserid);
  197. ds_init_oppartchkinfo.setColumn(0, "opnrrecdept", sDeptcd);
  198. }
  199. // xml 데이타가 저장 될 Node 삭제 후 xml 데이타 지정.
  200. ds_init_oppartchkinfo.addColumn("oppartckspec", "string");
  201. ds_init_oppartchkinfo.setColumn(0, "oppartckspec", lf_makeXMLData());
  202. ds_send_savedata.copyData(ds_init_oppartchkinfo);
  203. if (pSaveFlag == "C"){ // 인증저장.
  204. dsf_createDsRow("ds_send_savedata_oppartchkinfo", [{col:"certflag", type:"string", size:256, val:"C"}]);
  205. ds_send_savedata.addColumn("certflag", "string");
  206. ds_send_savedata.setColumn(0, "certflag", "C");
  207. Sign.certreload = true ;
  208. if (Sign.signprocess() == true){
  209. //src="C:\CMCProject\application\webapps\emr\formmngtweb\xrw\SSMRF03800_OCR뷰어.xrw"
  210. // alert("인증성공" );
  211. // alert("1. 인증성공여부 false / true \n\n" + Sign.signedInfos[0]); // 인증성공여부 false / true
  212. // alert("2. 인증할 데이터 정보 (미기록 노드 제거전 원본 노드) \n\n" + Sign.signedInfos[3]); // 인증할 데이터 정보 (미기록 노드 제거전 원본 노드)
  213. // alert("2.--> text 데이터(없는 노드 포함된) text 형태 변형 결과 \n\n" + Sign.signedInfos[4]); // [3] 데이터(없는 노드 포함된) text 형태 변형 결과
  214. // alert("3. 인증할 데이터 정보(미기록 노드 제거된 정보) \n\n" + Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  215. // alert("3. -->text 데이터(없는 노드 제거된) text 형태 변형 결과 \n\n" + Sign.signedInfos[5]); // ★[1] 데이터(없는 노드 제거된) text 형태 변형 결과 >>> [5]
  216. // alert("3. -->text --> sign 공인인증 처리후 데이터 \n\n" + Sign.signedInfos[2]); // ★공인인증 처리후 데이터 >>> [2]
  217. dsf_createDsRow("ds_send_savedata_signinfo", [{col:"pid", type:"string", size:256, val:ds_temp_cond_list.getColumn(0, "pid")}
  218. , {col:"orddd", type:"string", size:256, val:ds_temp_cond_list.getColumn(0, "indd")} //indd
  219. , {col:"signno", type:"BIGDECIMAL", size:256, val:utlf_transNullToEmpty(ds_send_savedata.getColumn(0, "signno"))}
  220. , {col:"cretno", type:"INT", size:256, val:ds_temp_cond_list.getColumn(0, "cretno")}
  221. , {col:"recdd", type:"string", size:256, val:utlf_getCurrentDate()}
  222. , {col:"rectm", type:"string", size:256, val:utlf_getCurrentTime()}
  223. , {col:"recsaveflag", type:"string", size:256, val:"Y"}
  224. , {col:"signflag", type:"string", size:256, val:"02"}
  225. , {col:"signgenrflag", type:"string", size:256, val:ds_temp_cond_list.getColumn(0, "ioflag")}
  226. , {col:"formcd", type:"string", size:256, val:"1200012439"}
  227. , {col:"orddeptcd", type:"string", size:256, val:ds_temp_cond_list.getColumn(0, "orddeptcd")}
  228. , {col:"orddrid", type:"string", size:256, val:ds_temp_cond_list.getColumn(0, "medispclid")}
  229. , {col:"signbfcnts", type:"string", size:256, val:Sign.signedInfos[1]}
  230. , {col:"signaftcnts", type:"string", size:256, val:Sign.signedInfos[2]}
  231. ]);
  232. dsf_createDs("ds_data_prgch", [{col:"cnt", type:"string", size:256}]);
  233. var oParam = {};
  234. oParam.id = "TXMNP00208";
  235. oParam.service = "opanstapp.OpAnstRec";
  236. oParam.method = "reqExeOpPartChkInfo";
  237. oParam.inds = "req=ds_send_savedata signinfo=ds_send_savedata_signinfo";
  238. oParam.outds = "ds_data_prgch=prgch";
  239. oParam.async = false;
  240. oParam.callback = "cf_TXMNP00208";
  241. tranf_submit(oParam);
  242. if(arErrorCode.pop("TXMNP00208") > -1) {
  243. sysf_messageBox("저장이 ", "I001");
  244. }else {
  245. sysf_messageBox("저장이 실패하였습니다. ", "E");
  246. }
  247. }
  248. }
  249. if (pSaveFlag == "T"){
  250. dsf_createDsRow("ds_send_savedata_oppartchkinfo", [{col:"certflag", type:"string", size:256, val:"T"}]);
  251. }
  252. fInitialize(); // 화면 재조회.
  253. }
  254. function cf_TXMNP00208(sSvcId, nErrorCode, sErrorMsg) {
  255. arErrorCode.push(sSvcId, nErrorCode);
  256. }
  257. /****************************************************************************************
  258. * Argument :
  259. * Description : 사용자별 화면 제한(수술참여의사, 마취의사, 수술실간호사)
  260. ****************************************************************************************/
  261. function fUserchk(){
  262. var sJobkindcd = sysf_getUserInfo("jobkindcd") ; // 사용자의 직종코드.
  263. var sDutplcecd = sysf_getUserInfo("dutplcecd") ; // 사용자의 근무지 부서코드.
  264. var sUserChkInfo = "";
  265. if (ds_init_oppartchkinfo.getColumn(0, "perfdeptcd") == "2090000000" && sDutplcecd == "2090000000"){
  266. sUserChkInfo = "C";
  267. }else{
  268. dsf_createDs("ds_cond_chkinfo");
  269. dsf_createDs("ds_data_userckinfo");
  270. var oParam = {};
  271. oParam.id = "TRMNP00210";
  272. oParam.service = "opanstapp.OpAnstRec";
  273. oParam.method = "reqGetUserChkInfo";
  274. oParam.inds = "req=ds_cond_chkinfo";
  275. oParam.outds = "ds_data_userckinfo=userckinfo";
  276. oParam.async = false;
  277. oParam.callback = "cf_TRMNP00210";
  278. tranf_submit(oParam); // 직종코드, 근무지부서 코드 비교하기 위해 공통코드 조회.
  279. for(var i = 0 ; i < ds_data_userckinfo.rowcount; i++){
  280. if ( sJobkindcd == ds_data_userckinfo.getColumn(i, "cdnm")) {
  281. if (sDutplcecd == ds_data_userckinfo.getColumn(i, "gdesc")) {
  282. sUserChkInfo = ds_data_userckinfo.getColumn(i, "cdid");
  283. break;
  284. } else if("0000000000" == ds_data_userckinfo.getColumn(i, "gdesc")){
  285. sUserChkInfo = ds_data_userckinfo.getColumn(i, "cdid");
  286. break;
  287. }
  288. }
  289. }
  290. }
  291. if (sUserChkInfo == 'A' ) { // A - 수술실 간호사
  292. chk_opdr.enable = false;
  293. chk_andr.enable = false;
  294. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "opdryn"), "edittype", "none");
  295. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "anstdryn"), "edittype", "none");
  296. //grd_chklist.fixedcellcheckbox(0,4) = true; // 컬럼에 체크박스
  297. b_opnuryn.visible = true;
  298. chk_opnr.value = "3";
  299. chk_opnryn.value = "Y";
  300. lf_TimeoutEnable(true);
  301. } else if(sUserChkInfo == 'B' ){ // B - 마취의사
  302. chk_opdr.enable = false;
  303. chk_opnr.enable = false;
  304. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "opdryn"), "edittype", "none");
  305. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "opnuryn"), "edittype", "none");
  306. //grd_chklist.fixedcellcheckbox(0,3) = true; // 컬럼에 체크박스
  307. b_anstdryn.visible = true;
  308. chk_andr.value = "2";
  309. chk_anstdryn.value = "Y";
  310. lf_TimeoutEnable(false);
  311. } else if (sUserChkInfo == 'C') { // C - 수술참여의사
  312. chk_opnr.enable = false;
  313. chk_andr.enable = false;
  314. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "anstdryn"), "edittype", "none");
  315. grd_chklist.setCellProperty("body", grd_chklist.getBindCellIndex("body", "opnuryn"), "edittype", "none");
  316. //grd_chklist.fixedcellcheckbox(0,2) = true; // 컬럼에 체크박스
  317. b_opdryn.visible = true;
  318. chk_opdr.value = "1";
  319. chk_opdryn.value = "Y";
  320. lf_TimeoutEnable(false);
  321. }else{
  322. //model.setValue("/root/main", "");
  323. sysf_messageBox("기록할 권한이 없습니다.", "C000");
  324. if (frmf_checkOpener()) {
  325. this.close();
  326. }
  327. return;
  328. }
  329. }
  330. function lf_TimeoutEnable(nFlag){
  331. ipt_timeoutdt.enable = nFlag;
  332. ipt_timeouttm.enable = nFlag;
  333. btn_timeout.enable = nFlag;
  334. b2_opnuryn.visible = nFlag;
  335. b2_anstdryn.visible = nFlag;
  336. b2_opdryn.visible = nFlag;
  337. input7.enable = nFlag;
  338. input8.enable = nFlag;
  339. input9.enable = nFlag;
  340. input10.enable = nFlag;
  341. input11.enable = nFlag;
  342. input12.enable = nFlag;
  343. btn_search_opdr.enable = nFlag;
  344. btn_search_andr.enable = nFlag;
  345. btn_search_opnr.enable = nFlag;
  346. grd_timeoutlist.enable = nFlag;
  347. }
  348. function cf_TRMNP00210(sSvcId, nErrorCode, sErrorMsg) {
  349. if(nErrorCode < 0) return;
  350. }
  351. /****************************************************************************************
  352. * Function : lf_makeXMLData
  353. * Description : XML데이터 조합
  354. * retrun type : sign_data : XML 데이터
  355. * Creator :
  356. ****************************************************************************************/
  357. function lf_makeXMLData()
  358. {
  359. if(ds_init_opchkitem.rowcount == 0 || ds_init_timeoutcase.rowcount == 0)
  360. return "";
  361. var arrRows = new Array();
  362. var nRow = -1;
  363. var indx = 0;
  364. //hidedata 헤더 생성
  365. var sign_data = "<hidedata>\n";
  366. //opchkitem part 생성
  367. var ColId = "";
  368. for (var i = 0; i < ds_init_opchkitem.rowcount; i++)
  369. {
  370. sign_data += " <opchkitem>\n";
  371. for(var j = 0; j < ds_init_opchkitem.colcount; j++)
  372. {
  373. ColId = ds_init_opchkitem.getColID(j);
  374. if(utlf_isNull(ds_init_opchkitem.getColumn(i, ColId)))
  375. sign_data += " <" + ColId + "/>\n"
  376. else
  377. sign_data += " <" + ColId + ">" + ds_init_opchkitem.getColumn(i, ColId) + "</" + ColId + ">\n";
  378. //sign_data += " <" + ColId + "><![CDATA[" + ds_init_opchkitem.getColumn(0, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
  379. }
  380. sign_data += " </opchkitem>\n";
  381. }
  382. //timeoutcase part 생성
  383. sign_data += " <timeoutcase>\n";
  384. for(var i = 0; i < ds_init_timeoutcase.colcount; i++)
  385. {
  386. ColId = ds_init_timeoutcase.getColID(i);
  387. var ColVal = ds_init_timeoutcase.getColumn(0, ColId);
  388. if(utlf_isNull(ColVal)){
  389. sign_data += " <" + ColId + "/>\n"
  390. }else{
  391. if( ColVal.indexOf("&") > -1 ){
  392. ColVal = ColVal.replace("&", "&amp;");
  393. }
  394. if( ColVal.indexOf("<") > -1 ){
  395. ColVal = ColVal.replace("<", "&lt;");
  396. }
  397. if( ColVal.indexOf(">") > -1 ){
  398. ColVal = ColVal.replace(">", "&gt;");
  399. }
  400. sign_data += " <" + ColId + ">" + ColVal + "</" + ColId + ">\n";
  401. //sign_data += " <" + ColId + "><![CDATA[" + ds_init_timeoutcase.getColumn(0, ColId) + "]]]]><![CDATA[></" + ColId + ">\n"; }else{
  402. }
  403. }
  404. sign_data += " </timeoutcase>\n";
  405. //timeoutitem part 생성
  406. for (var i = 0; i < ds_init_timeoutitem.rowcount; i++)
  407. {
  408. sign_data += " <timeoutitem>\n";
  409. for(var j = 0; j < ds_init_timeoutitem.colcount; j++)
  410. {
  411. ColId = ds_init_timeoutitem.getColID(j);
  412. if(utlf_isNull(ds_init_timeoutitem.getColumn(i, ColId)))
  413. sign_data += " <" + ColId + "/>\n"
  414. else
  415. sign_data += " <" + ColId + ">" + ds_init_timeoutitem.getColumn(i, ColId) + "</" + ColId + ">\n";
  416. }
  417. sign_data += " </timeoutitem>\n";
  418. }
  419. sign_data += "</hidedata>\n";
  420. return sign_data;
  421. }
  422. function lf_SPZSU10103(sFlag){
  423. var sUserid = "";
  424. var sUsernm = "";
  425. if( sFlag == "opdr"){
  426. sUserid = ds_init_oppartchkinfo.getColumn(0, "toopdocid");
  427. sUsernm = ds_init_oppartchkinfo.getColumn(0, "toopdocnm");
  428. }else if( sFlag == "andr" ){
  429. sUserid = ds_init_oppartchkinfo.getColumn(0, "toanstdocid");
  430. sUsernm = ds_init_oppartchkinfo.getColumn(0, "toanstdocnm");
  431. }else if( sFlag == "opnr" ){
  432. sUserid = ds_init_oppartchkinfo.getColumn(0, "toopnrid");
  433. sUsernm = ds_init_oppartchkinfo.getColumn(0, "toopnrnm");
  434. }
  435. var objArg = new Object();
  436. objArg.param = "_OneS_DD";
  437. if( !utlf_isNull(sUserid) ){
  438. objArg.flag = "userid";
  439. objArg.searchitem = sUserid;
  440. }else if( !utlf_isNull(sUsernm) ){
  441. objArg.flag = "usernm";
  442. objArg.searchitem = sUsernm;
  443. }
  444. var rtnDs = frmf_modal("SPZSU10103", "SPZSU10103", objArg, null, null, null, null, null, null, null, null, null, "M");
  445. if( !utlf_isNull(rtnDs) ){
  446. var emplno = rtnDs.getColumn(0, "userid");
  447. var emplnm = rtnDs.getColumn(0, "usernm");
  448. if( sFlag == "opdr" ){
  449. ds_init_oppartchkinfo.setColumn(0, "toopdocid", emplno);
  450. ds_init_oppartchkinfo.setColumn(0, "toopdocnm", emplnm);
  451. }else if( sFlag == "andr" ){
  452. ds_init_oppartchkinfo.setColumn(0, "toanstdocid", emplno);
  453. ds_init_oppartchkinfo.setColumn(0, "toanstdocnm", emplnm);
  454. }else if( sFlag == "opnr" ){
  455. ds_init_oppartchkinfo.setColumn(0, "toopnrid", emplno);
  456. ds_init_oppartchkinfo.setColumn(0, "toopnrnm", emplnm);
  457. }
  458. }else{
  459. if( sFlag == "opdr" ){
  460. ds_init_oppartchkinfo.setColumn(0, "toopdocid", "");
  461. ds_init_oppartchkinfo.setColumn(0, "toopdocnm", "");
  462. }else if( sFlag == "andr" ){
  463. ds_init_oppartchkinfo.setColumn(0, "toanstdocid", "");
  464. ds_init_oppartchkinfo.setColumn(0, "toanstdocnm", "");
  465. }else if( sFlag == "opnr" ){
  466. ds_init_oppartchkinfo.setColumn(0, "toopnrid", "");
  467. ds_init_oppartchkinfo.setColumn(0, "toopnrnm", "");
  468. }
  469. }
  470. }
  471. ]]></Script>