SPMMR06502_제증명이력별서명.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMR06502" position="absolute 0 0 250 200" titletext="제증명 서명" onload="SPMMR06502_onload" oninit="SPMMR06502_oninit" onclose="SPMMR06502_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 0 240 100" id="datagrid1" visible="true">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="240"/>
  12. </Columns>
  13. <Rows>
  14. <Row size="24" band="head"/>
  15. <Row size="24"/>
  16. </Rows>
  17. <Band id="head">
  18. <Cell text="제 증 명 서 명"/>
  19. </Band>
  20. <Band id="body">
  21. <Cell/>
  22. </Band>
  23. </Format>
  24. </Formats>
  25. </Grid>
  26. <Button position="absolute 198 149 240 168" id="btn_del" class="btn5" text="삭제" onclick="btn_del_onclick"/>
  27. <Static text="등록자 :" position="absolute 0 154 92 172" id="caption7" class="tit_2"/>
  28. <Button position="absolute 153 149 195 168" id="button3" class="btn5" text="저장" onclick="button3_onclick"/>
  29. <Static position="absolute 80 171 235 196" id="txt_lastddwrite" style="color:#000080ff;font:Dotum,9,bold;"/>
  30. <Static position="absolute 70 148 150 173" id="txt_lastidwrite" style="color:#000080ff;font:Dotum,9,bold;"/>
  31. <Div position="absolute 0 25 240 145" id="import1" url="pam_pamcomnxp::SPPAO02102_전자서명입력_OCX.xfdl"/>
  32. <Static text="등록일자 :" position="absolute 0 177 92 195" id="caption1" class="tit_2"/>
  33. <Button position="absolute 171 2 239 24" id="button1" class="btn3" text="재서명" onclick="button1_onclick"/>
  34. </Layout>
  35. </Layouts>
  36. <Objects>
  37. <Dataset id="ds_main_memo_memo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  38. <ColumnInfo>
  39. <Column id="status" type="STRING" size="256" sumtext="처리구분"/>
  40. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  41. <Column id="profcertseq" type="STRING" size="256" sumtext="제증명이력SEQ"/>
  42. <Column id="certmemo" type="STRING" size="256" sumtext="내용"/>
  43. <Column id="certmemonm" type="STRING" size="256" sumtext="최종수정자명"/>
  44. <Column id="certmemodt" type="STRING" size="256" sumtext="최종수정자명"/>
  45. <Column id="certmemoid" type="STRING" size="256" sumtext="최종수정자명"/>
  46. <Column id="elctsignkey" type="STRING" size="256" sumtext="사인키"/>
  47. <Column id="elctsigncnts" type="STRING" size="256" sumtext="서명내용"/>
  48. <Column id="elctsignuserid" type="STRING" size="256" sumtext="서명등록자"/>
  49. <Column id="elctsignusernm" type="STRING" size="256" sumtext="서명등록자"/>
  50. <Column id="elctsigndt" type="STRING" size="256" sumtext="서명등록일자"/>
  51. </ColumnInfo>
  52. <Rows>
  53. <Row/>
  54. </Rows>
  55. </Dataset>
  56. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  57. <ColumnInfo>
  58. <Column id="status" type="STRING" size="256"/>
  59. <Column id="pid" type="STRING" size="256"/>
  60. <Column id="memocnts" type="STRING" size="256"/>
  61. <Column id="lastupdtrnm" type="STRING" size="256"/>
  62. <Column id="profcertseq" type="STRING" size="256"/>
  63. <Column id="elctflag" type="STRING" size="256"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="status"/>
  68. <Col id="pid"/>
  69. <Col id="memocnts"/>
  70. <Col id="lastupdtrnm"/>
  71. <Col id="profcertseq"/>
  72. <Col id="elctflag"/>
  73. </Row>
  74. </Rows>
  75. </Dataset>
  76. <Dataset id="ds_main_rtninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  77. <ColumnInfo>
  78. <Column id="elctsignkey" type="STRING" size="256"/>
  79. <Column id="elctsigncnts" type="STRING" size="256"/>
  80. <Column id="rtnamt" type="STRING" size="256"/>
  81. </ColumnInfo>
  82. <Rows>
  83. <Row>
  84. <Col id="elctsignkey"/>
  85. <Col id="elctsigncnts"/>
  86. <Col id="rtnamt"/>
  87. </Row>
  88. </Rows>
  89. </Dataset>
  90. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="stsflag" type="STRING" size="256"/>
  93. <Column id="viewflag" type="STRING" size="256"/>
  94. </ColumnInfo>
  95. <Rows>
  96. <Row>
  97. <Col id="stsflag"/>
  98. <Col id="viewflag"/>
  99. </Row>
  100. </Rows>
  101. </Dataset>
  102. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  103. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  104. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  105. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  106. </Objects>
  107. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  108. * System Name :
  109. * Job Name :
  110. * Creator :
  111. * Make Date : 2014-10-15
  112. * Description :
  113. *---------------------------------------------------------------------------------------
  114. * Modify Date Modifier Modify Description
  115. *---------------------------------------------------------------------------------------
  116. * 2014-10-15 Live Converter TF->XP
  117. *
  118. *---------------------------------------------------------------------------------------
  119. ****************************************************************************************/
  120. include "com_commonxp::comm_main.xjs";
  121. include "emr_prcpmngtxp::MMOCommon.xjs";
  122. include "emr_prcpmngtxp::MMO001.xjs";
  123. include "emr_prcpmngtxp::SMMMO04100.xjs";
  124. var screenid = "";
  125. var stsflag = "";
  126. var pid = "";
  127. var profcertseq = "";
  128. var arErrorCode = new HashArray();
  129. function cf_TRMMR06502(sSvcId, nErrorCode, sErrorMsg) {
  130. arErrorCode.push(sSvcId, nErrorCode);
  131. if(nErrorCode < 0) return;
  132. utlf_addLog("***** cf_TRMMR06502 *****");
  133. }
  134. function cf_TXMMR06502(sSvcId, nErrorCode, sErrorMsg) {
  135. arErrorCode.push(sSvcId, nErrorCode);
  136. if(nErrorCode < 0) return;
  137. utlf_addLog("***** cf_TXMMR06502 *****");
  138. }
  139. function SPMMR06502_oninit(obj:Form, e:InitEventInfo)
  140. {
  141. frmf_initForm(obj);
  142. }
  143. function SPMMR06502_onload(obj:Form, e:LoadEventInfo)
  144. {
  145. opener.ds_tmp.deleteColumn("elctsignkey");
  146. opener.ds_tmp.deleteColumn("elctsigncnts");
  147. //opener화면에서 등록번호를 조회
  148. if(frmf_checkOpener()){
  149. pid = opener.frmf_getParameter("SPMMR06502_pid");
  150. profcertseq = opener.frmf_getParameter("SPMMR06502_profcertseq");
  151. stsflag = opener.frmf_getParameter("SPMMR06502_status");
  152. screenid = opener.frmf_getParameter("SPMMR06502_screenid");
  153. ds_send.setColumn(0,"stsflag", stsflag);
  154. if(!utlf_isNull(stsflag)){
  155. if( stsflag == "20" || stsflag == "30" || stsflag == "40"){
  156. btn_del.enable = false ;
  157. }
  158. import1.fsignpad_init();
  159. ds_main_rtninfo.setColumn(0,"elctsignkey" , "");
  160. ds_main_rtninfo.setColumn(0,"elctsigncnts" , "");
  161. import1.fsignpad_request(ds_main_rtninfo.getColumn(0,"rtnamt"));
  162. }else{
  163. fReqGetIssProfCertMemo(pid, profcertseq);
  164. }
  165. }
  166. }
  167. /**
  168. * @desc 제증명 메모 조회
  169. */
  170. function fReqGetIssProfCertMemo(pid, profcertseq){
  171. ds_send_reqdata.clear();
  172. dsf_makeValue(ds_send_reqdata,"pid" ,"string" ,pid );
  173. dsf_makeValue(ds_send_reqdata,"profcertseq" ,"string" ,profcertseq );
  174. var oParam = {};
  175. oParam.id = "TRMMR06502";
  176. oParam.service = "medirecapp.ExtnMediRec";
  177. oParam.method = "reqGetIssProfCertHistMemo";
  178. oParam.inds = "req=ds_send_reqdata";
  179. oParam.outds = "ds_main_memo_memo=memo";
  180. oParam.async = false;
  181. oParam.callback = "cf_TRMMR06502";
  182. tranf_submit(oParam);
  183. var errCode = arErrorCode.pop("TRMMR06502");
  184. if(errCode > -1) {
  185. if(!utlf_isNull(ds_main_memo_memo.getColumn(0,"elctsigndt"))){
  186. var elctsigndate = ds_main_memo_memo.getColumn(0,"elctsigndt").substr(0,4) + "-"
  187. + ds_main_memo_memo.getColumn(0,"elctsigndt").substr(4,2) + "-"
  188. + ds_main_memo_memo.getColumn(0,"elctsigndt").substr(6,2) + " "
  189. + ds_main_memo_memo.getColumn(0,"elctsigndt").substr(8,2) + ":"
  190. + ds_main_memo_memo.getColumn(0,"elctsigndt").substr(10,2) + ":"
  191. + ds_main_memo_memo.getColumn(0,"elctsigndt").substr(12,2);
  192. txt_lastddwrite.text = elctsigndate;
  193. txt_lastidwrite.text = ds_main_memo_memo.getColumn(0,"elctsignusernm");
  194. import1.fsignpad_close();
  195. import1.fsignpad_init();
  196. ds_main_rtninfo.setColumn(0,"elctsignkey" , ds_main_memo_memo.getColumn(0,"elctsignkey"));
  197. ds_main_rtninfo.setColumn(0,"elctsigncnts" , ds_main_memo_memo.getColumn(0,"elctsigncnts"));
  198. var key = ds_main_rtninfo.getColumn(0,"elctsignkey");
  199. if(!utlf_isNull(key))
  200. {
  201. import1.fsignpad_view(ds_main_rtninfo.getColumn(0,"elctsignkey"),ds_main_rtninfo.getColumn(0,"elctsigncnts"));
  202. }
  203. }
  204. }
  205. }
  206. /**
  207. * @desc 제증명 서명 저장
  208. */
  209. function fReqExeSaveIssProfCertMemo(){
  210. ds_send_savedata.clear();
  211. dsf_makeValue(ds_send_savedata,"pid" ,"string" , pid);
  212. dsf_makeValue(ds_send_savedata,"profcertseq" ,"string" , profcertseq );
  213. dsf_makeValue(ds_send_savedata,"elctsignkey" ,"string" , ds_main_rtninfo.getColumn(0,"elctsignkey"));
  214. dsf_makeValue(ds_send_savedata,"elctsigncnts" ,"string" , ds_main_rtninfo.getColumn(0,"elctsigncnts"));
  215. dsf_makeValue(ds_send_savedata,"elctflag" ,"string" , "sign");
  216. if( ds_main_cond.getColumn(0,"status") == "d"){
  217. ds_send_savedata.setColumn(0,"elctsignkey" , "" );
  218. ds_send_savedata.setColumn(0,"elctsigncnts" , "" );
  219. }
  220. if( ds_send.getColumn(0,"stsflag") == "20" || ds_send.getColumn(0,"stsflag") == "99" ){
  221. var oParam = {};
  222. oParam.id = "TXMMR06502";
  223. oParam.service = "medirecapp.ExtnMediRec";
  224. oParam.method = "reqExeSaveIssProfCertHistMemo";
  225. oParam.inds = "req=ds_send_savedata";
  226. oParam.outds = "ds_main_memo_memo=memo";
  227. oParam.async = false;
  228. oParam.callback = "cf_TXMMR06502";
  229. tranf_submit(oParam);
  230. var errCode = arErrorCode.pop("TXMMR06502");
  231. if(errCode > -1) {
  232. sysf_messageBox("정상적으로 처리 되었습니다.", "E999");
  233. this.close();
  234. }
  235. }
  236. }
  237. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  238. {
  239. if( ds_send.getColumn(0,"stsflag") != "30" ){
  240. ds_main_cond.setColumn(0,"status", "d");
  241. fReqExeSaveIssProfCertMemo();
  242. import1.fsignpad_close();
  243. this.close();
  244. }
  245. }
  246. function button3_onclick(obj:Button, e:ClickEventInfo)
  247. {
  248. var flag = ds_main_rtninfo.getColumn(0,"elctsigncnts");
  249. if(utlf_isNull(flag) || flag == "-"){
  250. import1.fsignpad_save();
  251. ds_main_rtninfo.setColumn(0,"elctsignkey" , import1.ds_send.getColumn(0,"elctsignkey"));
  252. ds_main_rtninfo.setColumn(0,"elctsigncnts" , import1.ds_send.getColumn(0,"elctsigncnts"));
  253. }
  254. if( utlf_isNull( utlf_transNullToEmpty(ds_main_rtninfo.getColumn(0,"elctsigncnts")).getTrim() ) ){
  255. sysf_messageBox("서명하십시오", "E999");
  256. return false;
  257. }
  258. opener.ds_tmp.addColumn("elctsignkey" , "string");
  259. opener.ds_tmp.addColumn("elctsigncnts" , "string");
  260. opener.ds_tmp.setColumn(0, "elctsignkey" , ds_main_rtninfo.getColumn(0,"elctsignkey"));
  261. opener.ds_tmp.setColumn(0, "elctsigncnts" , ds_main_rtninfo.getColumn(0,"elctsigncnts"));
  262. if( !utlf_isNull(stsflag) && stsflag != "40" ){
  263. fReqExeSaveIssProfCertMemo();
  264. this.close();
  265. }else{
  266. this.close();
  267. }
  268. }
  269. function button1_onclick(obj:Button, e:ClickEventInfo)
  270. {
  271. import1.fsignpad_init();
  272. ds_main_rtninfo.setColumn(0,"elctsignkey" , "");
  273. ds_main_rtninfo.setColumn(0,"elctsigncnts" , "");
  274. import1.fsignpad_request(ds_main_rtninfo.getColumn(0,"rtnamt"));
  275. opener.fIssueElctSignPara();
  276. pid = opener.frmf_getParameter("SPMMR06502_pid");
  277. profcertseq = opener.frmf_getParameter("SPMMR06502_profcertseq");
  278. ds_send.setColumn(0,"stsflag", "99");
  279. stsflag = "99";
  280. }
  281. function SPMMR06502_onclose(obj:Form, e:CloseEventInfo)
  282. {
  283. //frmf_closeChildPop();
  284. var _childPopup = frmf_findPopup("SPPAO02104");
  285. if (!utlf_isNull(_childPopup)) {
  286. _childPopup.close();
  287. }
  288. }
  289. ]]></Script>
  290. </Form>
  291. </FDL>