SPLRR90400_세포유전학검사의뢰서등록.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLRR90400" position="absolute 0 0 520 499" titletext="세포유전학검사 의뢰서 등록" onload="SPLRR90400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static01" class="sta_DA_box" position="absolute 6 114 511 311"/>
  8. <Static id="Static00" position="absolute 5 35 510 87" class="sta_DA_box"/>
  9. <Button id="btn_save" taborder="2" text="확인" class="btn4" position="absolute 393 454 449 474" onclick="btn_save_onclick"/>
  10. <Button id="btn_close" taborder="3" text="닫기" class="btn4" position="absolute 453 454 509 474" onclick="btn_close_onclick"/>
  11. <Static id="caption5" text="양수 세포유전검사 의뢰서" class="tit_1" position="absolute 12 8 250 33"/>
  12. <Static id="caption13" text="임신주수" class="cell_1" position="absolute 12 36 111 60" style="align:center middle;"/>
  13. <Edit id="edt_week" taborder="4" class="input_default" position="absolute 114 38 164 58" style="align:right middle;" oneditclick="input5_oneditclick"/>
  14. <Static id="caption12" text="주" position="absolute 167 38 183 58"/>
  15. <Edit id="edt_day" taborder="5" class="input_default" position="absolute 186 38 236 58" style="align:right middle;" inputfilter="digit"/>
  16. <Static id="caption14" text="일" position="absolute 239 38 259 58"/>
  17. <Static id="caption4" text="(" position="absolute 262 38 272 58"/>
  18. <CheckBox id="chk_lmp" taborder="6" text="LMP" truevalue="LMP" position="absolute 275 38 321 58"/>
  19. <CheckBox id="chk_usd" taborder="7" text="USD" truevalue="USD" position="absolute 324 38 370 58"/>
  20. <Static id="caption00" text=")" position="absolute 373 38 383 58"/>
  21. <Static id="caption1" text="양수 양" class="cell_1" position="absolute 12 61 111 85" style="align:center middle;"/>
  22. <Edit id="edt_quantity" taborder="8" class="input_default" position="absolute 114 63 227 83" style="align:right middle;"/>
  23. <Static id="caption7" text="mL" position="absolute 230 63 250 83"/>
  24. <Static id="caption2" text="검사의뢰 내용" class="tit_2" position="absolute 12 95 116 115"/>
  25. <CheckBox id="chk_advance" taborder="9" text="Advanced Maternal Age" truevalue="Advanced Maternal Age" position="absolute 12 115 174 135" columncount="1"/>
  26. <CheckBox id="chk_family" taborder="10" text="Family History" truevalue="Family History" position="absolute 11 140 117 160" columncount="1"/>
  27. <CheckBox id="chk_habitual" taborder="11" text="Habitual Abortion" truevalue="Habitual Abortion" position="absolute 11 165 133 185" columncount="1"/>
  28. <CheckBox id="chk_down" taborder="12" text="High Risk for Down Syndrome" truevalue="High Risk for Down Syndrome" position="absolute 11 190 205 210" columncount="1"/>
  29. <CheckBox id="chk_edward" taborder="13" text="High Risk for Edward Syndrome" truevalue="High Risk for Edward Syndrome" position="absolute 11 215 213 235" columncount="1"/>
  30. <CheckBox id="chk_ntd" taborder="14" text="High Risk for NTD" truevalue="High Risk for NTD" position="absolute 11 240 133 260" columncount="1"/>
  31. <CheckBox id="chk_abnomal" taborder="15" text="Abnormal Sonographic Findings" truevalue="Abnormal Sonographic Findings" position="absolute 11 265 213 285"/>
  32. <CheckBox id="chk_other" taborder="16" text="other" truevalue="other" position="absolute 11 290 213 310"/>
  33. <Edit id="edt_abnomal" taborder="17" class="input_default" position="absolute 214 264 505 285" style="align:right middle;"/>
  34. <Edit id="edt_other" taborder="18" class="input_default" position="absolute 214 289 505 310" style="align:right middle;"/>
  35. <Static id="caption3" text="주의사항" class="tit_2" position="absolute 12 320 84 340"/>
  36. <Static id="caption11" text="&#13;&#10;* 검체는 무균상태로 채취하여 양수전용 용기(15ml conical tube)에&#13;&#10; 담아 환자의 이름 기입후 검사의뢰서와 유전자검사 동의서를&#13;&#10; 동봉하여 보내주십시요&#13;&#10; &#13;&#10;* 가능한 신속히(24시간 이내) 검사실로 우송하여 주십시오&#13;&#10;&#13;&#10;* 검체운송 시 검체가 손상되지 않도록 주의하여 주십시오.&#13;&#10;&#13;&#10;&#13;&#10;" position="absolute 12 333 512 450" style="align:left middle;" onclick="caption11_onclick" class="sta_DG_box"/>
  37. </Layout>
  38. </Layouts>
  39. <Objects>
  40. <Dataset id="ds_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  41. <ColumnInfo>
  42. <Column id="reqno" type="STRING"/>
  43. <Column id="instcd" type="STRING"/>
  44. </ColumnInfo>
  45. </Dataset>
  46. <Dataset id="ds_reqfrmtbl" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  47. <ColumnInfo>
  48. <Column id="reqcnts" type="STRING"/>
  49. </ColumnInfo>
  50. </Dataset>
  51. <Dataset id="ds_hidden_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  52. <ColumnInfo>
  53. <Column id="pid" type="STRING" size="256"/>
  54. <Column id="prcpcd" type="STRING" size="256"/>
  55. <Column id="prcpnm" type="STRING" size="256"/>
  56. <Column id="opnm" type="STRING" size="256"/>
  57. <Column id="spccd" type="STRING" size="256"/>
  58. <Column id="spcnm" type="STRING" size="256"/>
  59. <Column id="reqno" type="STRING" size="256"/>
  60. <Column id="reqhistno" type="STRING" size="256"/>
  61. <Column id="scrnno" type="STRING" size="256"/>
  62. </ColumnInfo>
  63. <Rows>
  64. <Row>
  65. <Col id="pid"/>
  66. <Col id="prcpcd"/>
  67. <Col id="prcpnm"/>
  68. <Col id="opnm"/>
  69. <Col id="spccd"/>
  70. <Col id="spcnm"/>
  71. <Col id="reqno"/>
  72. <Col id="reqhistno"/>
  73. </Row>
  74. </Rows>
  75. </Dataset>
  76. <Dataset id="ds_rtnvalinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  77. <ColumnInfo>
  78. <Column id="reqno" type="STRING" size="256"/>
  79. <Column id="instcd" type="STRING" size="256"/>
  80. </ColumnInfo>
  81. </Dataset>
  82. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  83. </Objects>
  84. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  85. * System Name :
  86. * Job Name :
  87. * Creator :
  88. * Make Date : 2015-05-27
  89. * Description :
  90. *---------------------------------------------------------------------------------------
  91. * Modify Date Modifier Modify Description
  92. *---------------------------------------------------------------------------------------
  93. * 2015-05-27 Live Converter TF->XP
  94. *
  95. *---------------------------------------------------------------------------------------
  96. ****************************************************************************************/
  97. include "com_commonxp::comm_main.xjs";
  98. var objDomParser;
  99. var objDOM;
  100. var oFlag;
  101. var arErrorCode = new HashArray();
  102. //콜백함수
  103. function cbf_SPLRR90400(strSvcID, nErrorCode, strErrorMag){
  104. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  105. }
  106. function fExeInitialize(){
  107. // 처방등록 화면에서 호출되지 않는 경우는 "저장" 기능을 비 활성화 처리
  108. if(ds_hidden_reqfrminfo.getColumn(0, "scrnno") == "10"){
  109. btn_save.visible = true;
  110. }else{
  111. btn_save.visible = false;
  112. }
  113. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회
  114. if(utlf_isNull(ds_hidden_reqfrminfo.getColumn(0, "reqcnts"))){ //의뢰지 내용이 존재하지 않을때
  115. if(ds_hidden_reqfrminfo.getColumn(0, "reqno") != "0"){ //의뢰지 번호 존재할때
  116. //의뢰지 번호로 의뢰지 내용 조회
  117. dsf_deleteDs("ds_send");
  118. dsf_createDsRow("ds_send"
  119. , [{col: "instcd", val: sysf_getUserInfo("dutplceinstcd")}
  120. , {col: "pid", val: ds_hidden_reqfrminfo.getColumn(0, "pid")}
  121. , {col: "reqno", val: ds_hidden_reqfrminfo.getColumn(0, "reqno")}]);
  122. var oParam = {};
  123. oParam.id = "TRLRR90201";
  124. oParam.service = "diagtestapplib.LisCommon";
  125. oParam.method = "reqGetReqFrmInfo";
  126. oParam.inds = "refData=ds_send";
  127. oParam.outds = "ds_reqfrmtbl=refrslt";
  128. oParam.async = false;
  129. oParam.callback = "cbf_SPLRR90400";
  130. tranf_submit(oParam);
  131. lf_setData();
  132. }else{ //의뢰지 번호 존재하지 않을때
  133. // var nRow = ds_reqfrmtbl.addRow();
  134. // ds_reqfrmtbl.setColumn(nRow, "reqcnts", ds_hidden_reqfrminfo.getColumn(0, "reqcnts"));
  135. // lf_setData();
  136. objDomParser = new DomParser;
  137. objDOM = objDomParser.parseFromString("<reqfrminfo></reqfrminfo>");
  138. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", "");
  139. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", "");
  140. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem03", "");
  141. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", "");
  142. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqno", "0");
  143. }
  144. }else{ //의뢰지 내용이 존재 할때
  145. var nRow = ds_reqfrmtbl.addRow();
  146. ds_reqfrmtbl.setColumn(nRow, "reqcnts", ds_hidden_reqfrminfo.getColumn(0, "reqcnts"));
  147. lf_setData();
  148. }
  149. }
  150. function lf_setData(){
  151. // "<></>"의 내용을 dom으로 변환
  152. objDomParser = new DomParser;
  153. objDOM = objDomParser.parseFromString(ds_reqfrmtbl.getColumn(ds_reqfrmtbl.rowposition, "reqcnts"));
  154. edt_week.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem01");
  155. edt_day.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem02");
  156. chk_lmp.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/lmp");
  157. chk_usd.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/usd");
  158. edt_quantity.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem03");
  159. chk_abnomal.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/abnormalchk");
  160. chk_other.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/otherchk");
  161. edt_abnomal.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/abnormal");
  162. edt_other.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/other");
  163. var chk_value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts").split(",");
  164. for(i = 0; i < chk_value.length; i++){
  165. switch (chk_value[i]){
  166. case chk_advance.text : {
  167. chk_advance.value = chk_value[i];
  168. break;
  169. }
  170. case chk_family.text : {
  171. chk_family.value = chk_value[i];
  172. break;
  173. }
  174. case chk_habitual.text : {
  175. chk_habitual.value = chk_value[i];
  176. break;
  177. }
  178. case chk_down.text : {
  179. chk_down.value = chk_value[i];
  180. break;
  181. }
  182. case chk_edward.text : {
  183. chk_edward.value = chk_value[i];
  184. break;
  185. }
  186. case chk_ntd.text : {
  187. chk_ntd.value = chk_value[i];
  188. break;
  189. }
  190. }
  191. }
  192. }
  193. function lf_exeClinicSave(){
  194. //data 만들기
  195. lf_makeData();
  196. //검체추가정보 설정
  197. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/choi", "true");
  198. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spcseqno", "001");
  199. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  200. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd2", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  201. //model.removeNodeset("/root/send");
  202. var objParam = new Object();
  203. objParam.xml_data_XML1 = objDOM.documentElement.source;
  204. ds_send.clear();
  205. dsf_makeValue(ds_send,"pid", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  206. dsf_makeValue(ds_send,"reqno", "string", ds_hidden_reqfrminfo.getColumn(0,"reqno"));
  207. dsf_makeValue(ds_send,"reqcnts", "string", objParam.xml_data_XML1.replace("<![CDATA[","").replace("]]]]><![CDATA[>",""));
  208. dsf_makeValue(ds_send,"instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  209. //------------------------
  210. var oParam = {};
  211. oParam.id = "TXLRR90201";
  212. oParam.service = "diagtestapplib.LisCommon";
  213. oParam.method = "reqExeReqFrmInfo";
  214. oParam.inds = "refData=ds_send";
  215. oParam.outds = "ds_rtnvalinfo=reflist";
  216. oParam.transaction = true;
  217. oParam.async = false;
  218. oParam.callback = "cf_TXLRR90201";
  219. tranf_submit(oParam);
  220. if (arErrorCode.pop("TXLRR90201") < 0) {
  221. sysf_messageBox("의뢰지 저장을", "E009");
  222. return false;
  223. }
  224. //------------------
  225. // 의뢰지번호 Return
  226. opener.ds_hidden_reqfrminfo.setColumn(0,"reqno", ds_rtnvalinfo.getColumn(0,"reqno"));
  227. //------------
  228. close();
  229. }
  230. function cf_TXLRR90201(sSvcId, nErrorCode, sErrorMsg) {
  231. arErrorCode.push(sSvcId, nErrorCode);
  232. }
  233. function lf_setClose(){
  234. this.close();
  235. }
  236. function lf_makeData(){
  237. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", utlf_transNullToEmpty(edt_week.value));
  238. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", utlf_transNullToEmpty(edt_day.value));
  239. rptf_setValueToDOM(objDOM, "/reqfrminfo/lmp", chk_lmp.value);
  240. rptf_setValueToDOM(objDOM, "/reqfrminfo/usd", chk_usd.value);
  241. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem03", utlf_transNullToEmpty(edt_quantity.value));
  242. rptf_setValueToDOM(objDOM, "/reqfrminfo/abnormalchk", chk_abnomal.value);
  243. rptf_setValueToDOM(objDOM, "/reqfrminfo/otherchk", chk_other.value);
  244. rptf_setValueToDOM(objDOM, "/reqfrminfo/abnormal", utlf_transNullToEmpty(edt_abnomal.value));
  245. rptf_setValueToDOM(objDOM, "/reqfrminfo/other", utlf_transNullToEmpty(edt_other.value));
  246. //처음 reqcnts 초기화
  247. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", "");
  248. var chk_value = new Array();
  249. chk_value[0] = chk_advance;
  250. chk_value[1] = chk_family;
  251. chk_value[2] = chk_habitual;
  252. chk_value[3] = chk_down;
  253. chk_value[4] = chk_edward;
  254. chk_value[5] = chk_ntd;
  255. for(i = 0; i < 6; i++){
  256. switch (chk_value[i].value){
  257. case chk_advance.text : {
  258. lf_makeReqcnts("Advanced Maternal Age");
  259. break;
  260. }
  261. case chk_family.text : {
  262. lf_makeReqcnts("Family History");
  263. break;
  264. }
  265. case chk_habitual.text :{
  266. lf_makeReqcnts("High Risk for Down Syndrome");
  267. break;
  268. }
  269. case chk_down.text :{
  270. lf_makeReqcnts("Habitual Abortion");
  271. break;
  272. }
  273. case chk_edward.text :{
  274. lf_makeReqcnts("High Risk for Edward Syndrome");
  275. break;
  276. }
  277. case chk_ntd.text :{
  278. lf_makeReqcnts("High Risk for NTD");
  279. break;
  280. }
  281. }
  282. }
  283. }
  284. function lf_makeReqcnts(Str){
  285. if(utlf_isNull(rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts"))){
  286. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", Str)
  287. }else{
  288. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts") + "," + Str)
  289. }
  290. }
  291. function SPLRR90400_onload(obj:Form, e:LoadEventInfo){
  292. //폼 초기화 함수
  293. frmf_initForm(obj);
  294. ds_hidden_reqfrminfo.copyData(arg_ds_hidden_reqfrminfo);
  295. fExeInitialize();
  296. }
  297. function btn_close_onclick(obj:Button, e:ClickEventInfo){
  298. lf_setClose();
  299. }
  300. function btn_exit_onclick(obj:Button, e:ClickEventInfo){
  301. lf_setClose();
  302. }
  303. function btn_save_onclick(obj:Button, e:ClickEventInfo){
  304. lf_exeClinicSave();
  305. }
  306. ]]></Script>
  307. </Form>
  308. </FDL>