SPASI01600_간염표본감시결과신고.xfdl 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPASI01600" position="absolute 0 0 775 306" titletext="간염표본감시결과신고" onload="SPASI01600_onload" onbeforeclose="SPASI01600_onbeforeclose">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static07" class="sta_DA_box" position="absolute 0 25 775 274"/>
  8. <Shape id="line4" class="line_2" position="absolute -9 28 746 28" linetype="horizontal" positiontype="position"/>
  9. <Shape id="line56" class="line_3" position="absolute -9 158 746 158" linetype="horizontal" positiontype="position"/>
  10. <Button id="btn_init" taborder="23" text="초기화" onlbuttonup="btn_init_onlbuttonup" class="btn4" position="absolute 707 279 775 301" positiontype="position" onclick="btn_init_onclick"/>
  11. <Button id="btn_cncl" taborder="24" text="삭제" onlbuttonup="btn_cncl_onlbuttonup" class="btn4" position="absolute 648 279 704 301" positiontype="position" onclick="btn_cncl_onclick"/>
  12. <Button id="btn_save" taborder="25" text="저장" onlbuttonup="btn_save_onlbuttonup" class="btn4" position="absolute 590 279 646 301" positiontype="position" onclick="btn_save_onclick"/>
  13. <Shape id="line3" class="line_2" position="absolute -9 61 746 61" linetype="horizontal" positiontype="position"/>
  14. <Static id="caption00" text="&#13;&#10; ③ 그 외 만성 B형 간염 : 신고 대상 아님" onclick="caption30_onclick" class="cell_1" position="absolute 1 176 774 210" style="color:red;align:left top;"/>
  15. <Static id="caption30" text="&#13;&#10; &#13;&#10; ① 주산기 B형 간염 : 만성간염 또는 병원체보균자인 생후 24개월 이내의 영유아&#13;&#10;&#13;&#10; ② 산모 B형 간염 : 만성 B형 간염 또는 병원체보균자인 산모" class="cell_1" position="absolute 1 176 774 274" style="align:left top;font:돋움,9,bold;" onclick="caption30_onclick" positiontype="position"/>
  16. <Static id="caption24" text="비고" class="tit_2" position="absolute 13 180 73 200" positiontype="position"/>
  17. <Div id="grp_main" taborder="34" position="absolute 1 27 774 177">
  18. <Layouts>
  19. <Layout>
  20. <Static id="caption8" text="예방접종내력(A형/B형)" class="cell_1" position="absolute 0 76 95 148" style="align:center middle;" anchor="default"/>
  21. <Static id="cap_diagdd" text="진단일" class="cell_1" position="absolute 409 26 464 50" style="align:center middle;" anchor="default"/>
  22. <Radio id="rdo_vacnhist" taborder="7" columncount="4" rowcount="0" position="absolute 99 81 524 100" anchor="default"/>
  23. <Calendar id="ipt_diagdd" taborder="8" class="input_essential" position="absolute 467 26 577 46" anchor="default"/>
  24. <Edit id="opt_rgstno2" taborder="9" readonly="true" position="absolute 215 26 315 46" anchor="default"/>
  25. <Edit id="opt_rgstno1" taborder="10" readonly="true" position="absolute 98 27 198 47" anchor="default"/>
  26. <Static id="caption7" text="전염병명" class="cell_1" position="absolute 0 51 95 75" style="align:center middle;" anchor="default"/>
  27. <Static id="caption3" text="작성요령 1. A형 간염 - 완전접종 : 2회 접종시, 불완전접종 : 1회 접종시 &#13;&#10; 2. B형 간염 - 완전접종 : 3회 접종시, 불완전접종 : 1~2회 접종시" position="absolute 98 110 756 150" style="align:left;" anchor="default"/>
  28. <Static id="caption1" text="주민등록번호" class="cell_1" position="absolute 0 26 95 50" style="align:center middle;" anchor="default"/>
  29. <Static id="caption13" text="-" class="search_no_b" position="absolute 187 24 199 41" anchor="default"/>
  30. <Static id="caption4" text="세" position="absolute 750 3 767 23" style="align:center middle;" anchor="default"/>
  31. <Edit id="opt_age" taborder="14" readonly="true" position="absolute 650 2 747 22" anchor="default"/>
  32. <Static id="caption11" text="나이" class="cell_1" position="absolute 580 1 647 25" style="align:center middle;" anchor="default"/>
  33. <Edit id="opt_sex" taborder="15" readonly="true" position="absolute 467 2 577 22" anchor="default"/>
  34. <Static id="caption10" text="성별" class="cell_1" position="absolute 409 1 464 25" style="align:center middle;" anchor="default"/>
  35. <Edit id="opt_nm" taborder="16" readonly="true" position="absolute 98 2 406 22" anchor="default"/>
  36. <Static id="caption2" text="성명" class="cell_1" position="absolute 0 1 95 25" style="align:center middle;" anchor="default"/>
  37. <Radio id="rdo_lglydiscd3" taborder="17" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 426 52 496 71" anchor="default">
  38. <Dataset id="innerdataset">
  39. <ColumnInfo>
  40. <Column id="codecolumn" size="256"/>
  41. <Column id="datacolumn" size="256"/>
  42. </ColumnInfo>
  43. <Rows>
  44. <Row>
  45. <Col id="codecolumn">116</Col>
  46. <Col id="datacolumn">A형간염</Col>
  47. </Row>
  48. </Rows>
  49. </Dataset>
  50. </Radio>
  51. <Radio id="rdo_lglydiscd1" taborder="18" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" enable="true" position="absolute 98 52 198 71" style="align:center middle;" anchor="default">
  52. <Dataset id="innerdataset">
  53. <ColumnInfo>
  54. <Column id="codecolumn" size="256"/>
  55. <Column id="datacolumn" size="256"/>
  56. </ColumnInfo>
  57. <Rows>
  58. <Row>
  59. <Col id="codecolumn">291</Col>
  60. <Col id="datacolumn">급성B형간염</Col>
  61. </Row>
  62. </Rows>
  63. </Dataset>
  64. </Radio>
  65. <Radio id="rdo_lglydiscd5" taborder="19" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" position="absolute 206 52 306 71" anchor="default">
  66. <Dataset id="innerdataset">
  67. <ColumnInfo>
  68. <Column id="codecolumn" size="256"/>
  69. <Column id="datacolumn" size="256"/>
  70. </ColumnInfo>
  71. <Rows>
  72. <Row>
  73. <Col id="codecolumn">292</Col>
  74. <Col id="datacolumn">산모B형간염</Col>
  75. </Row>
  76. </Rows>
  77. </Dataset>
  78. </Radio>
  79. <Radio id="rdo_lglydiscd4" taborder="20" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 501 52 571 71" anchor="default">
  80. <Dataset id="innerdataset">
  81. <ColumnInfo>
  82. <Column id="codecolumn" size="256"/>
  83. <Column id="datacolumn" size="256"/>
  84. </ColumnInfo>
  85. <Rows>
  86. <Row>
  87. <Col id="codecolumn">510</Col>
  88. <Col id="datacolumn">C형간염</Col>
  89. </Row>
  90. </Rows>
  91. </Dataset>
  92. </Radio>
  93. <Radio id="rdo_lglydiscd6" taborder="21" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 576 52 761 71" style="color:black;font:Dotum,9,bold;" anchor="default">
  94. <Dataset id="innerdataset">
  95. <ColumnInfo>
  96. <Column id="codecolumn" size="256"/>
  97. <Column id="datacolumn" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row>
  101. <Col id="codecolumn">6</Col>
  102. <Col id="datacolumn">해당없음(좌측 5개 전염병)</Col>
  103. </Row>
  104. </Rows>
  105. </Dataset>
  106. </Radio>
  107. <Radio id="rdo_lglydiscd2" taborder="22" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" position="absolute 311 52 421 71" anchor="default">
  108. <Dataset id="innerdataset">
  109. <ColumnInfo>
  110. <Column id="codecolumn" size="256"/>
  111. <Column id="datacolumn" size="256"/>
  112. </ColumnInfo>
  113. <Rows>
  114. <Row>
  115. <Col id="codecolumn">293</Col>
  116. <Col id="datacolumn">주산기B형간염</Col>
  117. </Row>
  118. </Rows>
  119. </Dataset>
  120. </Radio>
  121. </Layout>
  122. </Layouts>
  123. </Div>
  124. <Static id="caption6" text="간염표본감시결과" class="tit_1" position="absolute 0 0 144 25"/>
  125. <Static id="Static00" text="③ 그 외 만성 B형 간염 : 신고 대상 아님" position="absolute 15 245 354 268" style="color:red;font:돋움,9,bold;"/>
  126. </Layout>
  127. </Layouts>
  128. <Objects>
  129. <Dataset id="ds_data_infcsmmrslt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  130. <Column id="state" type="STRING" size="256"/>
  131. <Column id="reptflag" type="STRING" size="256"/>
  132. <Column id="psnflag" type="STRING" size="256"/>
  133. <Column id="patnm" type="STRING" size="256"/>
  134. <Column id="sexflag" type="STRING" size="256"/>
  135. <Column id="age" type="STRING" size="256"/>
  136. <Column id="rgstno" type="STRING" size="256"/>
  137. <Column id="rgstno2" type="STRING" size="256"/>
  138. <Column id="diagdd" type="STRING" size="256"/>
  139. <Column id="lglydiscd" type="STRING" size="256"/>
  140. <Column id="preinochstflag" type="STRING" size="256"/>
  141. <Column id="pid" type="STRING" size="256"/>
  142. <Column id="wrtedt" type="STRING" size="256"/>
  143. <Column id="instcd" type="STRING" size="256"/>
  144. <Column id="seqno" type="STRING" size="256"/>
  145. <Column id="cretno" type="STRING" size="256"/>
  146. <Column id="orddd" type="STRING" size="256"/>
  147. <Column id="indd" type="STRING" size="256"/>
  148. <Column id="orddeptcd" type="STRING" size="256"/>
  149. <Column id="lasthistyn" type="STRING" size="256"/>
  150. </Dataset>
  151. <Dataset id="ds_data_infcsmmrslt_org" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  152. <Dataset id="ds_data_paminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  153. <ColumnInfo>
  154. <Column id="pid" type="STRING" size="256"/>
  155. <Column id="indd" type="STRING" size="256"/>
  156. <Column id="cretno" type="STRING" size="256"/>
  157. <Column id="wrtedt" type="STRING" size="256"/>
  158. <Column id="seqno" type="STRING" size="256"/>
  159. <Column id="psnflag" type="STRING" size="256"/>
  160. <Column id="reptflag" type="STRING" size="256"/>
  161. <Column id="lglydiscd" type="STRING" size="256"/>
  162. <Column id="wrtedt" type="STRING" size="256"/>
  163. <Column id="prcplglydis" type="STRING" size="256"/>
  164. <Column id="orddeptcd" type="STRING" size="256"/>
  165. <Column id="orddd" type="STRING" size="256"/>
  166. </ColumnInfo>
  167. </Dataset>
  168. <Dataset id="ds_data_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  169. <ColumnInfo>
  170. <Column id="templist" type="STRING" size="256"/>
  171. <Column id="tmpinfo" type="STRING" size="256"/>
  172. <Column id="lglydiscd" type="STRING" size="256"/>
  173. <Column id="wrtedt" type="STRING" size="256"/>
  174. <Column id="seqno" type="STRING" size="256"/>
  175. </ColumnInfo>
  176. </Dataset>
  177. <Dataset id="ds_data_getreptdtinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  178. <ColumnInfo>
  179. <Column id="reptdt" type="STRING" size="256"/>
  180. <Column id="reptyn" type="STRING" size="256"/>
  181. <Column id="chgyn" type="STRING" size="256"/>
  182. <Column id="prt_reptdt" type="STRING" size="256"/>
  183. </ColumnInfo>
  184. </Dataset>
  185. <Dataset id="ds_paminfocsv" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  186. </Objects>
  187. <Bind>
  188. <BindItem id="item0" compid="grp_main.opt_nm" propid="value" datasetid="ds_data_infcsmmrslt" columnid="patnm"/>
  189. <BindItem id="item1" compid="grp_main.opt_sex" propid="value" datasetid="ds_data_infcsmmrslt" columnid="sexflag"/>
  190. <BindItem id="item2" compid="grp_main.opt_age" propid="value" datasetid="ds_data_infcsmmrslt" columnid="age"/>
  191. <BindItem id="item3" compid="grp_main.opt_rgstno1" propid="value" datasetid="ds_data_infcsmmrslt" columnid="rgstno"/>
  192. <BindItem id="item4" compid="grp_main.opt_rgstno2" propid="value" datasetid="ds_data_infcsmmrslt" columnid="rgstno2"/>
  193. <BindItem id="item5" compid="grp_main.rdo_lglydiscd1" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  194. <BindItem id="item6" compid="grp_main.rdo_lglydiscd5" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  195. <BindItem id="item7" compid="grp_main.rdo_lglydiscd2" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  196. <BindItem id="item8" compid="grp_main.rdo_lglydiscd3" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  197. <BindItem id="item9" compid="grp_main.rdo_lglydiscd4" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  198. <BindItem id="item10" compid="grp_main.rdo_lglydiscd6" propid="value" datasetid="ds_data_infcsmmrslt" columnid="lglydiscd"/>
  199. <BindItem id="item11" compid="grp_main.ipt_diagdd" propid="value" datasetid="ds_data_infcsmmrslt" columnid="diagdd"/>
  200. <BindItem id="item12" compid="grp_main.rdo_vacnhist" propid="value" datasetid="ds_data_infcsmmrslt" columnid="preinochstflag"/>
  201. </Bind>
  202. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  203. * System Name : Himed
  204. * Job Name :
  205. * File Name : SPASI01600_간염표본감시결과신고.xfdl
  206. * Creator :
  207. * Make Date : 2014-05-16
  208. *
  209. * Description :
  210. *---------------------------------------------------------------------------------------
  211. * Modify Date Modifier Modify Description
  212. *---------------------------------------------------------------------------------------
  213. * 2014-05-16 HIT Converting Program(TF->XP)
  214. *
  215. *---------------------------------------------------------------------------------------
  216. ****************************************************************************************/
  217. // 연계화면
  218. // SMASI01200_법정전염병신고조회
  219. // SMASI01300_법정전염병신고대상자조회
  220. //=======================================================================================
  221. // xjs Include
  222. //---------------------------------------------------------------------------------------
  223. include "com_commonxp::comm_main.xjs";
  224. include "com_commodulexp::SSZFM00401.xjs"; // Dataset 뷰어용
  225. include "com_commodulexp::SMZFS00501.xjs"; // 기준자료 조회 함수
  226. //=======================================================================================
  227. // 파라미터
  228. // LEGALINFECT_menuparam : 감염관리팀 - 없음 / 감염관리팀 외 - "ordcall" ====> 저장될 때 감염관리팀 - 무조건 insert / 감염관리팀 외 - update or insert
  229. // LEGALINFECT_LglyDeptChk : 감염관리팀 - "N" / 감염관리팀 외 - 없음 ====> 삭제버튼 감염관리팀 - 비활성화 / 감염관리팀 외 - 활성화
  230. // LEGALINFECT_DisabledChk : 신고 - "Y" / 미신고 - 없음 ====> 신고 - 모든 버튼, 입력란 비활성화 / 미신고 - 모든 버튼, 입력 활성화
  231. //---------------------------------------------------------------------------------------
  232. //=======================================================================================
  233. // 전역변수
  234. //---------------------------------------------------------------------------------------
  235. var result = 1;
  236. var pid = "";
  237. var strRegtdt = "";
  238. var iDate = new Date();
  239. var strYearCal = "";
  240. var ioflag = "";
  241. var orddd = "";
  242. var cretno = "";
  243. var Curstate = "";
  244. var wrtedt = ""
  245. var lgv_close = false; // 화면 닫기 가능 여부 (신규 : 저장 후 닫기 가능 / 신규 아닐 경우 : 닫기 가능, 단 작성이력이 있으나 새로 입력할 때 저장 후 닫을 수 있음)
  246. //=======================================================================================
  247. // Function
  248. //---------------------------------------------------------------------------------------
  249. /********************************************************************************
  250. * 설 명 : 기준자료 조회
  251. * argument :
  252. ********************************************************************************/
  253. function lf_fInitialize(){
  254. appf_getCodeList([{dsNm: "ds_Z_A0133", cdGrpId: "A0133"}
  255. ,{dsNm: "ds_Z_A0134", cdGrpId: "A0134"}
  256. ], true);
  257. // 예방접종내력
  258. grp_main.rdo_vacnhist.innerdataset = "ds_Z_A0134";
  259. grp_main.rdo_vacnhist.codecolumn = "cdid";
  260. grp_main.rdo_vacnhist.datacolumn = "cdnm";
  261. }
  262. function cbf_TRASI01501(strSvcID, nErrorCode, strErrorMsg){
  263. //에러 처리
  264. if(nErrorCode != 0){
  265. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  266. }else{
  267. ds_data_infcsmmrslt.copyData(ds_data_infcsmmrslt_org);
  268. ds_data_infcsmmrslt.addColumn("state", "string");
  269. ds_data_infcsmmrslt.addColumn("reptdt", "string");
  270. ds_data_infcsmmrslt.addColumn("orddeptcd", "string");
  271. if(ds_data_infcsmmrslt.rowcount < 1 ){
  272. ds_data_infcsmmrslt.addRow();
  273. }
  274. if(!utlf_isNull(this.getOwnerFrame().PrcpLglyDis)){ // 파라미터 명 확인
  275. //처방에서 호출한 경우 상병체크하여 초기화
  276. lf_fInit();
  277. result=6;
  278. }
  279. }
  280. }
  281. function cbf_TRASI01502(strSvcID, nErrorCode, strErrorMsg){
  282. //에러 처리
  283. if(nErrorCode != 0){
  284. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  285. }else{
  286. strRegtdt = "";
  287. strRegtdt = ds_data_getreptdtinfo.getColumn(0, "reptdt");
  288. if(!utlf_isNull(ds_data_getreptdtinfo.getColumn(0, "reptyn"))){
  289. var lglydiscd = ds_data_infcsmmrslt.getColumn(0, "lglydiscd"); // 신고서
  290. var lglydisnm = "";
  291. if(lglydiscd=="291"){
  292. lglydisnm="급성B형간염";
  293. }else if(lglydiscd=="701"){
  294. lglydisnm="산모B형간염";
  295. }else if(lglydiscd=="293"){
  296. lglydisnm="주산기B형간염";
  297. }else if(lglydiscd=="116"){
  298. lglydisnm="A형간염";
  299. }else if(lglydiscd=="510"){
  300. lglydisnm="C형간염";
  301. }else if(lglydiscd=="6"){
  302. lglydisnm="해당없음(좌측 5개 전염병)";
  303. }
  304. //C형감염으로 이미 신고되어있는 경우
  305. if(lglydiscd == "510"){
  306. result = sysf_messageBox(strRegtdt.substring(0,4)+"년 "+strRegtdt.substring(4,6)+"월 "+strRegtdt.substring(6,8)+"일 "
  307. + lglydisnm +"(으)로 전염병이 신고되어 있습니다, \n해당 상병은 추가 신고가 불필요합니다. \n다른 상병 신고로", "Q003");
  308. }else{
  309. result = sysf_messageBox(strRegtdt.substring(0,4)+"년 "+strRegtdt.substring(4,6)+"월 "+strRegtdt.substring(6,8)+"일 "
  310. + lglydisnm +"(으)로 전염병이 신고되어 있어 \n 신규 입력이 아니면 자료가 중복됩니다. \n 그래도", "Q003");
  311. }
  312. }
  313. }
  314. }
  315. /********************************************************************************
  316. * 설 명 : 초기화
  317. * argument :
  318. ********************************************************************************/
  319. function lf_fInit() {
  320. ds_data_infcsmmrslt.copyData(ds_data_infcsmmrslt_org);
  321. ds_data_infcsmmrslt.addColumn("state", "string");
  322. ds_data_infcsmmrslt.addColumn("reptdt", "string");
  323. ds_data_infcsmmrslt.addColumn("orddeptcd", "string");
  324. }
  325. /********************************************************************************
  326. * 설 명 : 신고대상자조회화면에서 state="S" 일 때, 입력가능여부 처리
  327. * argument :
  328. ********************************************************************************/
  329. function lf_fChgReptDisable(result){
  330. if(frmf_isPopup()){
  331. var strState = this.getOwnerFrame().LEGALINFECT_state;
  332. var menuParam = this.getOwnerFrame().LEGALINFECT_menuparam;
  333. }else{
  334. var strState = "I";
  335. }
  336. //(start) 수정 상태 셋팅 추가, 수정 및 삭제를 가능하도록 하기 위함 (2009.11.03 JJE)
  337. var chkWrtedt = ds_data_getreptdtinfo.getColumn(0, "reptdt");
  338. var chkReptdt = ds_data_getreptdtinfo.getColumn(0, "prt_reptdt");
  339. if(!utlf_isNull(chkWrtedt)) chkWrtedt = chkWrtedt.substring(0, 8);
  340. if(!utlf_isNull(chkReptdt)) chkReptdt = chkReptdt.substring(0, 8);
  341. if(!utlf_isNull(chkWrtedt) && chkWrtedt != "99991231" && !utlf_isNull(chkReptdt) && chkReptdt == "99991231" && utlf_isNull(strState)){
  342. var strState = "U"; //작성은 됐고, 출력(신고)는 안한 상태
  343. }
  344. //(end) 수정 상태 셋팅 끝
  345. if(frmf_isPopup()){
  346. if(strState == "U" ){
  347. if(result == "6"){
  348. btn_cncl.enable = false;
  349. grp_main.enable = true;
  350. btn_save.enable = true;
  351. btn_init.enable = true;
  352. lf_fInit();
  353. }else{
  354. btn_cncl.enable = true;
  355. grp_main.enable = false;
  356. btn_save.enable = false;
  357. btn_init.enable = false;
  358. ds_data_getreptdtinfo.setColumn(0, "prt_reptdt", "99991231");
  359. }
  360. return;
  361. }else if(strState == "S" ){
  362. if(!utlf_isNull(menuParam)){
  363. //진료메뉴에서 호출시.
  364. ds_data_temp.clearData();
  365. ds_data_temp.addRow();
  366. ds_data_temp.setColumn(0, "lglydiscd", ds_data_infcsmmrslt.getColumn(0, "lglydiscd"));
  367. ds_data_temp.setColumn(0, "wrtedt", ds_data_infcsmmrslt.getColumn(0, "wrtedt"));
  368. ds_data_temp.setColumn(0, "seqno", ds_data_infcsmmrslt.getColumn(0, "seqno"));
  369. if(this.getOwnerFrame().LEGALINFECT_DisabledChk =="Y"){
  370. grp_main.enable = false;
  371. btn_save.enable = false;
  372. btn_init.enable = false;
  373. btn_cncl.enable = false;
  374. }else{
  375. grp_main.enable = true;
  376. btn_save.enable = true;
  377. btn_init.enable = true;
  378. btn_cncl.enable = true;
  379. }
  380. if(ds_data_infcsmmrslt.getColumn(0, "lglydiscd") == "4"){
  381. grp_main.rdo_vacnhist.enable = false;
  382. }else{
  383. grp_main.rdo_vacnhist.enable = true;
  384. }
  385. }else{
  386. //진료와 감염관리실 이외의 사용자일 경우 삭제버튼 불활성화 않음.
  387. if(this.getOwnerFrame().LEGALINFECT_LglyDeptChk =="N"){
  388. btn_cncl.enable=false;
  389. }else{
  390. btn_cncl.enable=true;
  391. }
  392. grp_main.enable = true; //수정가능 2012.09.04
  393. //grp_btn.disabled = true;
  394. btn_save.enable = true; //추가(수정기능 개발 완료 시 false로 변경) @@ 2009.11.13 JJE
  395. btn_init.enable = false; //추가 2009.11.13 JJE
  396. }
  397. return;
  398. }
  399. }else {
  400. btn_save.enable = true; //추가 2009.11.13 JJE
  401. btn_init.enable = true; //추가 2009.11.13 JJE
  402. return;
  403. }
  404. if( utlf_isNull(ds_data_infcsmmrslt.getColumn(0, "pid"))){
  405. grp_main.enable = false;
  406. btn_save.enable = false;
  407. btn_cncl.enable = false;
  408. btn_init.enable = false;
  409. }
  410. }
  411. /********************************************************************************
  412. * 설 명 : 저장, 삭제
  413. * argument :
  414. ********************************************************************************/
  415. function lf_fSave(){
  416. Curstate = ds_data_infcsmmrslt.getColumn(0, "state");
  417. var objParam = new Object();
  418. objParam.id = "TXASI01601";
  419. objParam.service = "infcmngtapp.LglyDisMngt";
  420. objParam.method = "reqExeInfcSmMRsltReptList";
  421. objParam.inds = "req=ds_data_infcsmmrslt";
  422. objParam.outds ="ds_data_infcsmmrslt_org=info";
  423. objParam.callback = "cbf_TXASI01601";
  424. tranf_submit(objParam);
  425. }
  426. function cbf_TXASI01601(strSvcID, nErrorCode, strErrorMsg){
  427. if(nErrorCode != 0){
  428. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  429. }else{
  430. if(Curstate == "I"){
  431. sysf_messageBox("저장되었습니다","I");
  432. }else if(Curstate == "U"){
  433. sysf_messageBox("수정되었습니다.","I");
  434. }else if(Curstate == "D"){
  435. dsf_createDsRow("ds_temp_req",
  436. [{col:"pid", val:ds_data_infcsmmrslt_org.getColumn(0, "pid")}
  437. ,{col:"reptflag", val:ds_data_infcsmmrslt_org.getColumn(0, "reptflag")}]);
  438. var objParam = new Object();
  439. objParam.id = "TRASI01502";
  440. objParam.service = "infcmngtapp.LglyDisMngt";
  441. objParam.method = "reqGetReptdtInfo";
  442. objParam.inds = "req=ds_temp_req";
  443. objParam.outds ="ds_data_getreptdtinfo=reptdtinfo";
  444. tranf_submit(objParam);
  445. var objDs = this.removeChild("ds_temp_req");
  446. delete objDs;
  447. objDs = null;
  448. if(utlf_isNull(ds_data_getreptdtinfo.getColumn(0, "reptdt"))){
  449. sysf_messageBox("삭제","I001");
  450. }
  451. }
  452. lgv_close = true;
  453. close();
  454. }
  455. }
  456. //=======================================================================================
  457. // Event
  458. //---------------------------------------------------------------------------------------
  459. /****************************************************************************************
  460. * Components :
  461. * Components ID : SPASI01600
  462. * Event : onload
  463. * Argument : 01.obj : Object Event has occurred
  464. * : 02.e : Event Object
  465. * Description :
  466. ****************************************************************************************/
  467. function SPASI01600_onload(obj:Form, e:LoadEventInfo)
  468. {
  469. frmf_initForm(obj); // 화면공통
  470. lf_commoduleDataSetShow(); //DataSet 조회;
  471. lf_fInitialize(); // 기준자료 조회
  472. var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  473. ds_data_paminfo.addRow();
  474. ds_data_paminfo.setColumn(0, "reptflag", "03");
  475. var indd = "";
  476. if(!utlf_isNull(this.getOwnerFrame().LEGALINFECT_pid)){ // opener에서 넘겨주는 파라미터가 있는 경우
  477. pid = this.getOwnerFrame().LEGALINFECT_pid;
  478. indd = this.getOwnerFrame().LEGALINFECT_indd;
  479. ioflag = this.getOwnerFrame().LEGALINFECT_psnflag;
  480. wrtedt = this.getOwnerFrame().LEGALINFECT_wrtedt;
  481. }else if(!utlf_isNull(pamInfoCvs)){ // opener에서 넘겨주는 파라미터가 없고 상단정보가 있는 경우
  482. ds_paminfocsv.loadCSV(pamInfoCvs, true);
  483. ioflag = ds_paminfocsv.getColumn(0, "ioflag");
  484. if(ioflag == "I" || ioflag == "E"){
  485. pid = ds_paminfocsv.getColumn(0, "pid");
  486. indd = ds_paminfocsv.getColumn(0, "indd");
  487. cretno = ds_paminfocsv.getColumn(0, "cretno");
  488. }else if(ioflag == "O"){
  489. pid = ds_paminfocsv.getColumn(0, "pid");
  490. indd = ds_paminfocsv.getColumn(0, "orddd");
  491. cretno = ds_paminfocsv.getColumn(0, "cretno");
  492. }
  493. }
  494. ds_data_paminfo.setColumn(0, "pid", pid);
  495. ds_data_paminfo.setColumn(0, "indd", indd);
  496. ds_data_paminfo.setColumn(0, "cretno", cretno);
  497. ds_data_paminfo.setColumn(0, "psnflag", ioflag);
  498. ds_data_paminfo.setColumn(0, "wrtedt", wrtedt);
  499. if( !utlf_isNull(pid)) { // 상단에 환자가 있는 경우
  500. var objParam = new Object();
  501. objParam.id = "TRASI01501";
  502. objParam.service = "infcmngtapp.LglyDisMngt";
  503. objParam.method = "reqGetLglyDisPatInfo";
  504. objParam.inds = "req=ds_data_paminfo";
  505. objParam.outds ="ds_data_infcsmmrslt_org=info";
  506. objParam.callback = "cbf_TRASI01501";
  507. tranf_submit(objParam);
  508. if(ds_data_infcsmmrslt_org.rowcount > 0){ // 작성이력이 있을 때
  509. lgv_close = true;
  510. }else{
  511. lgv_close = false;
  512. }
  513. // 콜백에서 ds_data_infcsmmrslt_org 를 ds_data_infcsmmrslt 로 복사
  514. var statePup = this.getOwnerFrame().LEGALINFECT_state;
  515. if(frmf_isPopup()){
  516. //trace("statePup ="+ statePup);
  517. if(statePup == "U" || statePup == "S"){
  518. ds_data_infcsmmrslt.setColumn(0, "state", this.getOwnerFrame().LEGALINFECT_state);
  519. ds_data_infcsmmrslt.setColumn(0, "wrtedt", this.getOwnerFrame().LEGALINFECT_wrtedt);
  520. ds_data_infcsmmrslt.setColumn(0, "seqno", this.getOwnerFrame().LEGALINFECT_seqno);
  521. if( !utlf_isNull(this.getOwnerFrame().PrcpLglyDis) ){
  522. ds_data_infcsmmrslt.setColumn(0, "lglydiscd", this.getOwnerFrame().PrcpLglyDisCd2);
  523. }
  524. // status != u && != s 일때는 TRASI01502에서 조회
  525. // 이 경우에는 부모창 파라미터로 설정
  526. if(ds_data_getreptdtinfo.rowcount < 1) ds_data_getreptdtinfo.addRow();
  527. ds_data_getreptdtinfo.setColumn(0, "reptdt", this.getOwnerFrame().LEGALINFECT_reptdt);
  528. ds_data_getreptdtinfo.setColumn(0, "reptyn", this.getOwnerFrame().LEGALINFECT_reptyn);
  529. ds_data_getreptdtinfo.setColumn(0, "chgyn", this.getOwnerFrame().LEGALINFECT_chgyn);
  530. ds_data_getreptdtinfo.setColumn(0, "prt_reptdt", this.getOwnerFrame().LEGALINFECT_prt_reptdt);
  531. }else{
  532. ds_data_infcsmmrslt.setColumn(0, "state", this.getOwnerFrame().LEGALINFECT_state);
  533. strRegtdt = "";
  534. dsf_createDsRow("ds_temp_req",
  535. [{col:"pid", val:pid}
  536. ,{col:"reptflag", val:ds_data_infcsmmrslt.getColumn(0, "reptflag")}]);
  537. var objParam = new Object();
  538. objParam.id = "TRASI01502";
  539. objParam.service = "infcmngtapp.LglyDisMngt";
  540. objParam.method = "reqGetReptdtInfo";
  541. objParam.inds = "req=ds_temp_req";
  542. objParam.outds ="ds_data_getreptdtinfo=reptdtinfo";
  543. objParam.callback = "cbf_TRASI01502";
  544. tranf_submit(objParam);
  545. var objDs = this.removeChild("ds_temp_req");
  546. delete objDs;
  547. objDs = null;
  548. }
  549. }
  550. lf_fChgReptDisable(result); // 입력가능여부 처리
  551. }else{ // 상단에 환자가 없는 경우
  552. btn_save.enable = false;
  553. btn_cncl.enable = false;
  554. btn_init.enable = false;
  555. }
  556. //kimsj 091125 나이가 만2세 초과 시 주산기 B형간염 비활성화 / 성별 M인경우 산모B형간염 비활성화
  557. var vAge = ds_data_infcsmmrslt.getColumn(0, "age");
  558. var vSexflag = ds_data_infcsmmrslt.getColumn(0, "sexflag");
  559. if( vAge > 2) grp_main.rdo_lglydiscd2.enable = false;
  560. if( vSexflag == "M") grp_main.rdo_lglydiscd5.enable = false;
  561. }
  562. /****************************************************************************************
  563. * Components :
  564. * Components ID : btn_save
  565. * Event : onclick
  566. * Argument : 01.obj : Object Event has occurred
  567. * : 02.e : Event Object
  568. * Description : 저장
  569. ****************************************************************************************/
  570. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  571. {
  572. // 입력된 값이 하나도 없다면 경고메세지 출력
  573. if(ds_data_infcsmmrslt.getColumn(0, "lglydiscd") != "6"){
  574. if(utlf_isNull(ds_data_infcsmmrslt.getColumn(0, "diagdd")) ){
  575. sysf_messageBox("진단일은","I003");
  576. return;
  577. }
  578. if(utlf_isNull(ds_data_infcsmmrslt.getColumn(0, "lglydiscd")) ){
  579. sysf_messageBox("전염병명은","I003");
  580. return;
  581. }
  582. //C형간염의 경우 예방접종내력 필수사항이 아님
  583. if(ds_data_infcsmmrslt.getColumn(0, "lglydiscd") != "4" && ds_data_infcsmmrslt.getColumn(0, "preinochstflag") ==""){
  584. sysf_messageBox("예방접종내력은","I003");
  585. return;
  586. }
  587. // 해당 전염병코드의 신고여부 체크(신고일자, 일련번호 조회)
  588. ds_data_infcsmmrslt.setColumn(0, "reptflag", "03");
  589. //kimsj 091201 opener에 따라 메세지 적용
  590. var opnscrnid = opener.frmf_getScreenID();
  591. var menuParam = this.getOwnerFrame().LEGALINFECT_menuparam;
  592. // 사용 안하는 듯. "/root/temp/tmpinfo/tmpinfo/wrtedt" 를 가져오는 서브밋이 주석처리됨. 삭제예정. 양혜림
  593. /*
  594. if( opnscrnid != "SMZUM00300" && model.getValue("/root/temp/tmpinfo/tmpinfo/wrtedt") != "") {
  595. if(menuParam != "" && !isNull(menuParam)){
  596. }else{
  597. model.alert("해당 전염병으로 신고가 존재합니다. \n\n 재신고를 원할경우 상단메뉴를 이용해 주시기 바랍니다.");
  598. return;
  599. }
  600. }else if( opnscrnid == "SMZUM00300" && model.getValue("/root/temp/tmpinfo/tmpinfo/wrtedt") != "") {
  601. if ( "7" == messageBox ( "해당 전염병으로 신고가 존재하여 \n신규입력이 아니면 자료가 중복됩니다. \n그래도 ", "Q003" )) return;
  602. }
  603. */
  604. }
  605. if(utlf_isNull(menuParam)){
  606. //수정불가하도록 조치 (현재 신고서 종류에 따라서 신고일자 가지고 오는데 수정 후 질병코드마다 가지고 와야 하기 때문에 혼동 있을 수 있음)
  607. ds_data_infcsmmrslt.setColumn(0, "reptflag", "03");
  608. ds_data_infcsmmrslt.setColumn(0, "state", "I");
  609. ds_data_infcsmmrslt.setColumn(0, "wrtedt", utlf_getCurrentDate() +""+ utlf_getCurrentTime());
  610. ds_data_infcsmmrslt.setColumn(0, "reptdt", utlf_getCurrentDate() +""+ utlf_getCurrentTime());
  611. }else{
  612. if(utlf_isNull(ds_data_infcsmmrslt.getColumn(0, "wrtedt"))){
  613. var prelglydiscd = ds_data_temp.getColumn(0, "lglydiscd");
  614. var curlglydiscd = ds_data_infcsmmrslt.getColumn(0, "lglydiscd");
  615. if (prelglydiscd != curlglydiscd && !utlf_isNull(prelglydiscd) ){//진료에서 전염병명 변경시 수정으로 업데이트.
  616. ds_data_infcsmmrslt.setColumn(0, "state", "U");
  617. ds_data_infcsmmrslt.setColumn(0, "wrtedt", ds_data_temp.getColumn(0, "wrtedt"));
  618. ds_data_infcsmmrslt.setColumn(0, "seqno", ds_data_temp.getColumn(0, "seqno"));
  619. }else{
  620. ds_data_infcsmmrslt.setColumn(0, "state", "I");
  621. ds_data_infcsmmrslt.setColumn(0, "wrtedt", utlf_getCurrentDate() +""+ utlf_getCurrentTime());
  622. }
  623. } else {
  624. //C형감염이 신고된 경우
  625. ds_data_infcsmmrslt.setColumn(0, "state", "U");
  626. }
  627. }
  628. ds_data_infcsmmrslt.setColumn(0, "reptflag", "03");
  629. ds_data_infcsmmrslt.setColumn(0, "orddeptcd", ds_paminfocsv.getColumn(0, "orddeptcd"));
  630. lf_fSave();
  631. }
  632. /****************************************************************************************
  633. * Components :
  634. * Components ID : btn_init
  635. * Event : onclick
  636. * Argument : 01.obj : Object Event has occurred
  637. * : 02.e : Event Object
  638. * Description : 초기화
  639. ****************************************************************************************/
  640. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  641. {
  642. lf_fInit();
  643. }
  644. /****************************************************************************************
  645. * Components :
  646. * Components ID : btn_cncl
  647. * Event : onclick
  648. * Argument : 01.obj : Object Event has occurred
  649. * : 02.e : Event Object
  650. * Description :
  651. ****************************************************************************************/
  652. function btn_cncl_onclick(obj:Button, e:ClickEventInfo)
  653. {
  654. if(ds_data_getreptdtinfo.getColumn(0, "prt_reptdt").substring(0, 8) != "99991231"){ //작성일자가 아닌 신고일자로 체크하도록 수정 (2009.11.13 JJE)
  655. sysf_messageBox(" 이미 신고된 건은 삭제 " ,"E001");
  656. return;
  657. }
  658. var rtn = sysf_messageBox("","Q001"); //삭제하시겠습니까?
  659. if (rtn == "7"){
  660. sysf_messageBox("삭제가 취소되었습니다","I");
  661. return;
  662. }else if (rtn == "6"){
  663. ds_data_infcsmmrslt.setColumn(0, "state", "D");
  664. // 필요 없는 로직
  665. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/reptdt", opener.javascript.getParameter("reptdt")); //추가 (2009.11.13 JJE)
  666. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/reptyn", opener.javascript.getParameter("reptyn")); //추가 (2009.11.13 JJE)
  667. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/chgyn", opener.javascript.getParameter("chgyn")); //추가 (2009.11.13 JJE)
  668. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/prt_reptdt", opener.javascript.getParameter("prt_reptdt")); //추가 (2009.11.13 JJE)
  669. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/wrtedt", opener.javascript.getParameter("wrtedt"));
  670. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/reptflag", opener.javascript.getParameter("reptflag"));
  671. // model.makeValue("/root/main/getreptdtinfo/reptdtinfo/seqno", opener.javascript.getParameter("seqno"));
  672. //
  673. ds_data_infcsmmrslt.setColumn(0, "reptflag", "03");
  674. ds_data_infcsmmrslt.setColumn(0, "state", "D");
  675. lf_fSave(); // 저장
  676. }
  677. }
  678. /********************************************************************************
  679. * 설 명 : 닫기
  680. * argument :
  681. ********************************************************************************/
  682. function Button00_onclick(obj:Button, e:ClickEventInfo)
  683. {
  684. close();
  685. }
  686. function SPASI01600_onbeforeclose(obj:Form, e:CloseEventInfo)
  687. {
  688. if(!utlf_isNull(ds_data_paminfo.getColumn(0, "pid")) && lgv_close == false){ // 환자정보가 있는 경우, 신규 신청서 일 경우 저장 후 닫을 수 있도록 수정 2014-11-26 yhr
  689. sysf_messageBox("저장 후 신청서를 닫을 수","I010");
  690. return false;
  691. }else{
  692. return true;
  693. }
  694. }
  695. ]]></Script>
  696. </Form>
  697. </FDL>