SMMRD05000.xjs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[function lf_FormInit(nFlag){
  3. var nPid = "";
  4. var nHngnm = "";
  5. var nFormKind = "";
  6. stt_histinfo.text = "";
  7. stt_histinfo.visible = false;
  8. if( oOpener != null && oOpener.objects["ds_cond_cncrinfo"] != null ){
  9. nPid = oOpener.ds_cond_cncrinfo.getColumn(0, "pid");
  10. nHngnm = oOpener.ds_cond_cncrinfo.getColumn(0, "hngnm");
  11. nFormKind = oOpener.ds_cond_cncrinfo.getColumn(0, "formkind");
  12. }
  13. // 기록 신규
  14. if( nFormKind == "N" || nFlag == "Y" ){
  15. stt_histnm.text = "신규";
  16. ds_data_recinfo.clearData();
  17. ds_data_recinfo.addRow();
  18. ds_data_recinfo.setColumn(0, "status", "i");
  19. ds_data_recinfo.setColumn(0, "scrnid", lgv_scrnid);
  20. if( nFormKind == "N" && nFlag != "Y" ){
  21. ds_data_recinfo.setColumn(0, "pid", nPid);
  22. ds_data_recinfo.setColumn(0, "hngnm", nHngnm);
  23. if( !utlf_isNull(nPid) ){
  24. lf_setEnable(false);
  25. if( lgv_scrnid == "SMMRD05001" ){
  26. btn_patsrch.click();
  27. }
  28. }
  29. //lf_getSyncData();
  30. }else{
  31. lf_setEnable(true);
  32. }
  33. // 기록 조회
  34. }else if( nFormKind == "Y" ){
  35. stt_histnm.text = "수정";
  36. ds_data_recinfo.clearData();
  37. dsf_createDsRow("ds_cond_recinfo", [{col:"pid", type:"string", size:256, val:nPid}
  38. , {col:"scrnid", type:"string", size:256, val:lgv_scrnid}]);
  39. var oParam = {};
  40. oParam.id = "TRMRD05001";
  41. oParam.service = "cncrpatmngtapp.CncrRegstryMngt";
  42. oParam.method = "reqGetCncrRegstryRecInfo";
  43. oParam.inds = "req=ds_cond_recinfo";
  44. oParam.outds = "ds_data_recinfo=info";
  45. oParam.async = false;
  46. //oParam.callback = "cf_TRMRD05000";
  47. tranf_submit(oParam);
  48. ds_data_recinfo.addColumn("status", "string");
  49. ds_data_recinfo.setColumn(0, "status", "u");
  50. var fstrgstrnm = ds_data_recinfo.getColumn(0, "fstrgstrnm");
  51. var fstrgstdt = utlf_transNullToEmpty(ds_data_recinfo.getColumn(0, "fstrgstdt"));
  52. var lastupdtrnm = ds_data_recinfo.getColumn(0, "lastupdtrnm");
  53. var lastupdtdt = utlf_transNullToEmpty(ds_data_recinfo.getColumn(0, "lastupdtdt"));
  54. fstrgstdt = fstrgstdt.toDate("YYYYMMDD hh:ss");
  55. fstrgstdt = fstrgstdt.getDateFormat("YYYY-MM-DD hh:ss");
  56. lastupdtdt = lastupdtdt.toDate("YYYYMMDD hh:ss");
  57. lastupdtdt = lastupdtdt.getDateFormat("YYYY-MM-DD hh:ss");
  58. stt_histinfo.text = "작성자 : " + fstrgstrnm + " " + fstrgstdt + " , 수정자 : " + lastupdtrnm + " " + lastupdtdt;
  59. stt_histinfo.visible = true;
  60. lf_setEnable(false);
  61. }
  62. ds_temp_recinfo.copyData(ds_data_recinfo);
  63. }
  64. function lf_FormSave(nFlag){
  65. var sNm = "저장";
  66. if( !utlf_isNull(nFlag) ){
  67. ds_data_recinfo.setColumn(0, "status", "d");
  68. sNm = "삭제";
  69. }
  70. var nPid = ds_data_recinfo.getColumn(0, "pid");
  71. var nStatus = ds_data_recinfo.getColumn(0, "status");
  72. if( utlf_isNull(nPid) ){
  73. sysf_messageBox("차트번호는 필수입니다.", "E");
  74. return;
  75. }
  76. if( nStatus == "u" ){
  77. if(ds_temp_recinfo.saveXML() == ds_data_recinfo.saveXML()){
  78. sysf_messageBox("수정 사항이 없습니다.", "I");
  79. return;
  80. }
  81. }
  82. var nRtn = sysf_messageBox(sNm + " 하시겠습니까?", "Q");
  83. if( nRtn != 6 ){
  84. return false;
  85. }
  86. dsf_createDs("ds_data_cnt");
  87. var oParam = {};
  88. oParam.id = "TXMRD05001";
  89. oParam.service = "cncrpatmngtapp.CncrRegstryMngt";
  90. oParam.method = "reqExeSaveCncrRegstryRecInfo";
  91. oParam.inds = "req=ds_data_recinfo";
  92. oParam.outds = "ds_data_cnt=result";
  93. oParam.async = false;
  94. //oParam.callback = "cf_TXMRD05001";
  95. tranf_submit(oParam);
  96. if( ds_data_cnt.getColumn(0, "cnt") > 0 ){
  97. sysf_messageBox(sNm + " ", "I001");
  98. ds_cond_cncrinfo.setColumn(0, "formkind", "Y");
  99. oOpener.btn_new.click();
  100. oOpener.grp_srch.btn_search.click();
  101. }
  102. }
  103. function btn_patsrch_onclick(obj:Button, e:ClickEventInfo)
  104. {
  105. var nPid = ds_data_recinfo.getColumn(0, "pid");
  106. var nHngnm = ds_data_recinfo.getColumn(0, "hngnm");
  107. if( !utlf_isNull(nPid) ){
  108. ds_cond_patinfo.setColumn(0, "pid", nPid);
  109. ds_cond_patinfo.setColumn(0, "srchcond", "1");
  110. } else if(!utlf_isNull(nHngnm)){
  111. ds_cond_patinfo.setColumn(0, "hngnm", nHngnm);
  112. ds_cond_patinfo.setColumn(0, "srchcond", "2");
  113. }
  114. ds_cond_patinfo.setColumn(0, "autoflag","Y"); // 1건인경우 자동으로닫힘
  115. var objArg = new Object();
  116. objArg.arg_ds_send = ds_cond_patinfo;
  117. frmf_modal("SPPMC02500", "SPPMC02500", objArg, null, null, null, null, null, null, null, null, null, "M");
  118. if(!utlf_isNull(this.objects["ds_patinfolist"])) {
  119. var sPid = ds_patinfolist.getColumn(0, "pid");
  120. var sHngnm = ds_patinfolist.getColumn(0, "hngnm");
  121. var sSex = ds_patinfolist.getColumn(0, "sex");
  122. var sAge = ds_patinfolist.getColumn(0, "age");
  123. var sRrgstno1 = utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "rrgstno1"));
  124. var sRrgstno2 = utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "rrgstno2"));
  125. var sHometel = ds_patinfolist.getColumn(0, "hometel");
  126. var sMpphontel = ds_patinfolist.getColumn(0, "mpphontel");
  127. var sAddr = utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "addr"));
  128. var sDetladdr = utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "detladdr"));
  129. ds_data_recinfo.setColumn(0, "pid", sPid);
  130. ds_data_recinfo.setColumn(0, "hngnm", sHngnm);
  131. if( lgv_scrnid == "SMMRD05001" ){
  132. if( sSex == "F" ){
  133. ds_data_recinfo.setColumn(0, "c15", 1);
  134. }else if( sSex == "M" ){
  135. ds_data_recinfo.setColumn(0, "c15", 2);
  136. }
  137. ds_data_recinfo.setColumn(0, "c14", sAge);
  138. ds_data_recinfo.setColumn(0, "c20", sRrgstno1 + "-" + sRrgstno2);
  139. ds_data_recinfo.setColumn(0, "c17", sHometel);
  140. ds_data_recinfo.setColumn(0, "c18", sMpphontel);
  141. ds_data_recinfo.setColumn(0, "c16", sAddr + " " + sDetladdr);
  142. }
  143. //lf_getSyncData();
  144. }
  145. }
  146. function Edit_onkeyup(obj:Edit, e:KeyEventInfo)
  147. {
  148. if( e.keycode == 13){
  149. obj.updateToDataset();
  150. btn_patsrch.click();
  151. }
  152. }
  153. function lf_getSyncData(){
  154. var nPid = ds_data_recinfo.getColumn(0, "pid");
  155. var url = this.url;
  156. var condqry = "";
  157. if( oOpener != null ){
  158. condqry = oOpener.ds_init_forminfo.lookup("hardspec", url, "condqry");
  159. }
  160. //trace("nPid : " + nPid + " || condqry : " + condqry);
  161. if( utlf_isNull(nPid ) || utlf_isNull(condqry) ){
  162. return;
  163. }
  164. dsf_createDsRow("ds_cond_syncdata", [{col:"pid", type:"string", size:256, val:nPid}
  165. , {col:"condqry", type:"string", size:256, val:condqry}
  166. , {col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}]);
  167. dsf_createDs("ds_data_syncdata");
  168. var oParam = {};
  169. oParam.id = "TRMRD05002";
  170. oParam.service = "cncrpatmngtapp.CncrRegstryMngt";
  171. oParam.method = "reqGetDataInfo";
  172. oParam.inds = "req=ds_cond_syncdata";
  173. oParam.outds = "ds_data_syncdata=datainfo";
  174. oParam.async = false;
  175. oParam.callback = "cf_TRMRD05002";
  176. tranf_submit(oParam);
  177. }
  178. function cf_TRMRD05002(sSvcId, nErrorCode, sErrorMsg) {
  179. arErrorCode.push(sSvcId, nErrorCode);
  180. if(nErrorCode < 0) return;
  181. if( ds_data_syncdata.rowcount > 0 ){
  182. var cCnt = ds_data_syncdata.getColCount();
  183. for(var i=0; i<cCnt; i++){
  184. var cInfo = ds_data_syncdata.getColumnInfo(i);
  185. if( cInfo != null ){
  186. var cNm = cInfo.name;
  187. var sVal = ds_data_syncdata.getColumn(0, i);
  188. if( !utlf_isNull(sVal) ){
  189. var cVal = ds_data_recinfo.getColumn(0, cNm);
  190. if( !utlf_isNull(cVal) && cVal != sVal ){
  191. var oComp = lf_getBindObj(cNm);
  192. if( oComp != null ){
  193. oComp.color = "red";
  194. }
  195. }
  196. ds_data_recinfo.setColumn(0, cNm, sVal);
  197. }
  198. }
  199. }
  200. }
  201. }
  202. function lf_getBindObj(sColumnid){
  203. for(var i=0; i<this.binds.length; i++){
  204. if( this.binds[i].columnid == sColumnid ){
  205. var obj = this.components[this.binds[i].compid];
  206. if( obj != null )
  207. return obj;
  208. }
  209. }
  210. return null;
  211. }
  212. function lf_setEnable(nFlag){
  213. var oPid = lf_getBindObj("pid");
  214. if( oPid != null ){
  215. oPid.enable = nFlag;
  216. }
  217. var oHngnm = lf_getBindObj("hngnm");
  218. if( oHngnm != null ){
  219. oHngnm.enable = nFlag;
  220. }
  221. btn_patsrch.enable = nFlag;
  222. }]]></Script>