SPLRR90200_분자생물학부의뢰서등록.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLRR90200" position="absolute 0 0 510 372" titletext="분자생물학부의뢰서등록" onload="SPLRR90200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="div1" position="absolute 0 11 510 371" anchor="default" positiontype="position">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption21" class="tit_1" position="absolute 12 3 128 28" anchor="default" text="임상적 적응증" positiontype="position"/>
  11. <TextArea id="tar_effect" position="absolute 12 31 498 171" anchor="default" oneditclick="group1_textarea1_oneditclick" positiontype="position"/>
  12. <Shape id="line1" class="line_1" position="absolute 0 26 490 26" anchor="default" linetype="horizontal" positiontype="position"/>
  13. <Static id="caption1" class="tit_2" position="absolute 12 231 63 251" anchor="default" text="인종" positiontype="position"/>
  14. <Shape id="line2" class="line_1" position="absolute 0 268 490 268" anchor="default" linetype="horizontal" positiontype="position"/>
  15. <Shape id="line4" class="line_6" position="absolute 0 294 490 294" anchor="default" linetype="horizontal" positiontype="position"/>
  16. <Button id="btn_save" class="btn4" position="absolute 376 330 434 350" anchor="default" text="확인" onclick="div1_btn_save_onclick" positiontype="position"/>
  17. <Static id="caption5" class="tit_2" position="absolute 12 181 88 201" anchor="default" text="검사목적" positiontype="position"/>
  18. <Shape id="line6" class="line_1" position="absolute 0 220 490 220" anchor="default" linetype="horizontal" positiontype="position"/>
  19. <Edit id="edt_purpose" position="absolute 13 201 498 221" anchor="default" positiontype="position"/>
  20. <Button id="btn_close" taborder="1" text="닫기" onclick="btn_close_onclick" class="btn4" position="absolute 437 330 493 350"/>
  21. </Layout>
  22. </Layouts>
  23. </Div>
  24. <Static id="Static02" position="absolute 12 262 498 338" class="sta_DA_box"/>
  25. <Static id="caption2" text="인종" class="cell_1" position="absolute 13 263 113 287"/>
  26. <Combo id="cmb_Injong" taborder="2" class="combo_default" position="absolute 116 265 233 285" codecolumn="codecolumn" datacolumn="datacolumn">
  27. <Dataset id="innerdataset">
  28. <ColumnInfo>
  29. <Column id="codecolumn" size="256"/>
  30. <Column id="datacolumn" size="256"/>
  31. </ColumnInfo>
  32. <Rows>
  33. <Row>
  34. <Col id="codecolumn">1</Col>
  35. <Col id="datacolumn">한국인</Col>
  36. </Row>
  37. <Row>
  38. <Col id="codecolumn">2</Col>
  39. <Col id="datacolumn">아시안</Col>
  40. </Row>
  41. <Row>
  42. <Col id="codecolumn">4</Col>
  43. <Col id="datacolumn">남미</Col>
  44. </Row>
  45. <Row>
  46. <Col id="codecolumn">5</Col>
  47. <Col id="datacolumn">북미</Col>
  48. </Row>
  49. <Row>
  50. <Col id="codecolumn">6</Col>
  51. <Col id="datacolumn">유대인</Col>
  52. </Row>
  53. <Row>
  54. <Col id="codecolumn">7</Col>
  55. <Col id="datacolumn">유럽인</Col>
  56. </Row>
  57. <Row>
  58. <Col id="codecolumn">3</Col>
  59. <Col id="datacolumn">Other</Col>
  60. </Row>
  61. </Rows>
  62. </Dataset>
  63. </Combo>
  64. <Edit id="edt_peopledetl" taborder="3" class="input_default" position="absolute 236 265 494 285"/>
  65. <Edit id="edt_family" taborder="4" position="absolute 116 290 494 310"/>
  66. <Static id="caption3" text="가족력" class="cell_1" position="absolute 13 288 113 312"/>
  67. <Static id="caption4" text="진단명" class="cell_1" position="absolute 13 313 113 337"/>
  68. <Edit id="edt_diagnosis" taborder="5" position="absolute 116 315 494 335"/>
  69. </Layout>
  70. </Layouts>
  71. <Objects>
  72. <Dataset id="ds_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  73. <ColumnInfo>
  74. <Column id="reqno" type="STRING"/>
  75. <Column id="instcd" type="STRING"/>
  76. </ColumnInfo>
  77. </Dataset>
  78. <Dataset id="ds_reqfrmtbl" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  79. <ColumnInfo>
  80. <Column id="reqcnts" type="STRING"/>
  81. </ColumnInfo>
  82. </Dataset>
  83. <Dataset id="ds_hidden_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  84. <ColumnInfo>
  85. <Column id="pid" type="STRING" size="256"/>
  86. <Column id="prcpcd" type="STRING" size="256"/>
  87. <Column id="prcpnm" type="STRING" size="256"/>
  88. <Column id="opnm" type="STRING" size="256"/>
  89. <Column id="spccd" type="STRING" size="256"/>
  90. <Column id="spcnm" type="STRING" size="256"/>
  91. <Column id="reqno" type="STRING" size="256"/>
  92. <Column id="reqhistno" type="STRING" size="256"/>
  93. <Column id="scrnno" type="STRING" size="256"/>
  94. </ColumnInfo>
  95. <Rows>
  96. <Row>
  97. <Col id="pid"/>
  98. <Col id="prcpcd"/>
  99. <Col id="prcpnm"/>
  100. <Col id="opnm"/>
  101. <Col id="spccd"/>
  102. <Col id="spcnm"/>
  103. <Col id="reqno"/>
  104. <Col id="reqhistno"/>
  105. </Row>
  106. </Rows>
  107. </Dataset>
  108. <Dataset id="ds_rtnvalinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="reqno" type="STRING" size="256"/>
  111. <Column id="instcd" type="STRING" size="256"/>
  112. </ColumnInfo>
  113. </Dataset>
  114. </Objects>
  115. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  116. * System Name :
  117. * Job Name :
  118. * Creator :
  119. * Make Date : 2015-05-27
  120. * Description :
  121. *---------------------------------------------------------------------------------------
  122. * Modify Date Modifier Modify Description
  123. *---------------------------------------------------------------------------------------
  124. * 2015-05-27 Live Converter TF->XP
  125. *
  126. *---------------------------------------------------------------------------------------
  127. ****************************************************************************************/
  128. include "com_commonxp::comm_main.xjs";
  129. var objDomParser;
  130. var objDOM;
  131. var arErrorCode = new HashArray();
  132. //콜백함수
  133. function cbf_SPLRR90200(strSvcID, nErrorCode, strErrorMag){
  134. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  135. }
  136. function fExeInitialize(){
  137. // 처방등록 화면에서 호출되지 않는 경우는 "저장" 기능을 비 활성화 처리
  138. if(ds_hidden_reqfrminfo.getColumn(0, "scrnno") == "10"){
  139. div1.btn_save.visible = true;
  140. }else{
  141. div1.btn_save.visible = false;
  142. }
  143. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회
  144. if(utlf_isNull(ds_hidden_reqfrminfo.getColumn(0, "reqcnts"))){ //의뢰지 내용이 존재하지 않을때
  145. if(ds_hidden_reqfrminfo.getColumn(0, "reqno") != "0"){ //의뢰지 번호 존재할때
  146. //의뢰지 번호로 의뢰지 내용 조회
  147. var sInDsName = dsf_createDsRow("ds_send"
  148. , [{col: "instcd", val: sysf_getUserInfo("dutplceinstcd")}
  149. , {col: "pid", val: ds_hidden_reqfrminfo.getColumn(0, "pid")}
  150. , {col: "reqno", val: ds_hidden_reqfrminfo.getColumn(0, "reqno")}]);
  151. var oParam = {};
  152. oParam.id = "TRLRR90201";
  153. oParam.service = "diagtestapplib.LisCommon";
  154. oParam.method = "reqGetReqFrmInfo";
  155. oParam.inds = "refData="+sInDsName;
  156. oParam.outds = "ds_reqfrmtbl=refrslt";
  157. oParam.async = false;
  158. oParam.callback = "cbf_SPLRR90200";
  159. tranf_submit(oParam);
  160. lf_setData();
  161. }else{ //의뢰지 번호 존재하지 않을때
  162. objDomParser = new DomParser;
  163. objDOM = objDomParser.parseFromString("<reqfrminfo></reqfrminfo>");
  164. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", "1");
  165. cmb_Injong.value = 1;
  166. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", "");
  167. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", "");
  168. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqno", "0");
  169. }
  170. }else{ //의뢰지 내용이 존재 할때
  171. var nRow = ds_reqfrmtbl.addRow();
  172. ds_reqfrmtbl.setColumn(nRow, "reqcnts", ds_hidden_reqfrminfo.getColumn(0, "reqcnts"));
  173. lf_setData();
  174. }
  175. }
  176. function lf_setData(){
  177. objDomParser = new DomParser;
  178. objDOM = objDomParser.parseFromString(ds_reqfrmtbl.getColumn(ds_reqfrmtbl.rowposition, "reqcnts"));
  179. div1.tar_effect.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts");
  180. div1.edt_purpose.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem05");
  181. cmb_Injong.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem01");
  182. edt_peopledetl.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem02");
  183. edt_family.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem03");
  184. edt_diagnosis.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem04");
  185. }
  186. function lf_exeClinicSave(){
  187. //data 만들기
  188. lf_makeData();
  189. //검체추가정보 설정
  190. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/choi", "true");
  191. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spcseqno", "001");
  192. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  193. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd2", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  194. //model.removeNodeset("/root/send");
  195. var objParam = new Object();
  196. objParam.xml_data_XML1 = objDOM.documentElement.source;
  197. var sInDsName = dsf_createDsRow("ds_send"
  198. , [{col: "pid", val: ds_hidden_reqfrminfo.getColumn(0,"pid")}
  199. , {col: "reqno", val: ds_hidden_reqfrminfo.getColumn(0, "reqno")}
  200. , {col: "reqcnts", val: objParam.xml_data_XML1.replace("<![CDATA[","").replace("]]]]><![CDATA[>","")}
  201. , {col: "instcd", val: sysf_getUserInfo("dutplceinstcd")}
  202. ]);
  203. //------------------------
  204. var oParam = {};
  205. oParam.id = "TXLRR90201";
  206. oParam.service = "diagtestapplib.LisCommon";
  207. oParam.method = "reqExeReqFrmInfo";
  208. oParam.inds = "refData=" + sInDsName ;
  209. oParam.outds = "ds_rtnvalinfo=reflist";
  210. oParam.transaction = true;
  211. oParam.async = false;
  212. oParam.callback = "cf_TXLRR90201";
  213. tranf_submit(oParam);
  214. if (arErrorCode.pop("TXLRR90201") < 0) {
  215. sysf_messageBox("의뢰지 저장을", "E009");
  216. return false;
  217. }
  218. //------------------
  219. // 의뢰지번호 Return
  220. opener.ds_hidden_reqfrminfo.setColumn(0,"reqno", ds_rtnvalinfo.getColumn(0,"reqno"));
  221. //------------
  222. close();
  223. }
  224. function cf_TXLRR90201(sSvcId, nErrorCode, sErrorMsg) {
  225. arErrorCode.push(sSvcId, nErrorCode);
  226. }
  227. function lf_makeData(){
  228. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", utlf_transNullToEmpty(div1.tar_effect.value));
  229. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem05", utlf_transNullToEmpty(div1.edt_purpose.value));
  230. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", utlf_transNullToEmpty(cmb_Injong.value));
  231. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", utlf_transNullToEmpty(edt_peopledetl.value));
  232. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem03", utlf_transNullToEmpty(edt_family.value));
  233. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem04", utlf_transNullToEmpty(edt_diagnosis.value));
  234. }
  235. function SPLRR90200_onload(obj:Form, e:LoadEventInfo){
  236. //폼 초기화 함수
  237. frmf_initForm(obj);
  238. ds_hidden_reqfrminfo.copyData(arg_ds_hidden_reqfrminfo);
  239. fExeInitialize();
  240. }
  241. function div1_btn_save_onclick(obj:Button, e:ClickEventInfo){
  242. lf_exeClinicSave();
  243. }
  244. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  245. {
  246. close();
  247. }
  248. ]]></Script>
  249. </Form>
  250. </FDL>