SPLRR91300_염색체검사의뢰서등록.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLRR91300" position="absolute 0 0 500 466" titletext="세포유전학검사 의뢰서 등록" onload="SPLRR91300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 500 432" id="group1">
  8. <Layouts>
  9. <Layout width="500" height="405">
  10. <Static text="염색체검사 의뢰서" position="absolute 0 1 152 14" id="caption5" class="tit_2" anchor="default"/>
  11. <Shape position="absolute 0 17 490 21" linetype="horizontal" id="line1" style="border:2 solid cadetblue ;" anchor="default"/>
  12. <Static text="주요증상(필수)" position="absolute 1 28 153 41" id="caption2" class="tit_2" anchor="default"/>
  13. <Static text="주요증상(기타입력)" position="absolute 5 182 157 195" id="caption3" class="tit_2" anchor="default"/>
  14. <TextArea position="absolute 0 197 490 286" id="tar_cell_inpt" anchor="default"/>
  15. <Static text="요구사항" position="absolute 0 292 152 305" id="caption1" class="tit_2" anchor="default"/>
  16. <TextArea position="absolute 0 311 490 419" id="textarea1" anchor="default"/>
  17. <Edit position="absolute 70 157 490 176" id="input1" anchor="default"/>
  18. <CheckBox position="absolute 3 159 73 174" id="checkbox2" text="가족력" anchor="default" truevalue="가족력"/>
  19. <Shape id="line00" position="absolute 0 42 490 46" style="border:2 solid cadetblue ;" anchor="default"/>
  20. <Shape id="line02" position="absolute 0 307 490 311" style="border:2 solid cadetblue ;" anchor="default"/>
  21. <Shape id="line03" position="absolute 0 196 490 200" style="border:2 solid cadetblue ;" anchor="default"/>
  22. <cp_checkboxList id="checkbox1" titletext="CheckBox List" taborder="1" text="cp_checkboxList00" scrollbars="none" position="absolute 2 47 112 66" style="background:transparent; " col="2" row="4" cellspacing="100" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible" anchor="default"/>
  23. </Layout>
  24. </Layouts>
  25. </Div>
  26. <Div position="absolute 0 428 500 455" id="group3">
  27. <Layouts>
  28. <Layout>
  29. <Shape position="absolute 0 0 490 6" linetype="vertical" id="line2" class="line_2" anchor="default"/>
  30. <Button position="absolute 434 5 490 27" id="btn_close" class="btn4" text="닫기" onclick="group3_btn_close_onclick" anchor="default"/>
  31. <Button position="absolute 375 5 431 27" id="btn_save" class="btn4" text="확인" onclick="group3_btn_save_onclick" anchor="default"/>
  32. </Layout>
  33. </Layouts>
  34. </Div>
  35. </Layout>
  36. </Layouts>
  37. <Objects>
  38. <Dataset id="ds_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  39. <ColumnInfo>
  40. <Column id="reqcnts" type="STRING" size="256"/>
  41. <Column id="inptitem01" type="STRING" size="256"/>
  42. <Column id="inptitem02" type="STRING" size="256"/>
  43. <Column id="inptitem03" type="STRING" size="256"/>
  44. <Column id="inptitem04" type="STRING" size="256"/>
  45. <Column id="etc" type="STRING" size="256"/>
  46. <Column id="claim" type="STRING" size="256"/>
  47. </ColumnInfo>
  48. <Rows>
  49. <Row>
  50. <Col id="reqcnts">일반적인 난소 나이 평가를 위해</Col>
  51. <Col id="inptitem01">있다</Col>
  52. <Col id="inptitem02"/>
  53. <Col id="inptitem03"/>
  54. <Col id="inptitem04"/>
  55. <Col id="etc"/>
  56. <Col id="claim"/>
  57. </Row>
  58. </Rows>
  59. </Dataset>
  60. <Dataset id="ds_rtnvalinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  61. <ColumnInfo>
  62. <Column id="reqno" type="STRING" size="256"/>
  63. <Column id="instcd" type="STRING" size="256"/>
  64. </ColumnInfo>
  65. </Dataset>
  66. <Dataset id="ds_hidden_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  67. <ColumnInfo>
  68. <Column id="pid" type="STRING" size="256"/>
  69. <Column id="prcpcd" type="STRING" size="256"/>
  70. <Column id="prcpnm" type="STRING" size="256"/>
  71. <Column id="opnm" type="STRING" size="256"/>
  72. <Column id="spccd" type="STRING" size="256"/>
  73. <Column id="spcnm" type="STRING" size="256"/>
  74. <Column id="reqno" type="STRING" size="256"/>
  75. <Column id="reqhistno" type="STRING" size="256"/>
  76. </ColumnInfo>
  77. <Rows>
  78. <Row>
  79. <Col id="pid"/>
  80. <Col id="prcpcd"/>
  81. <Col id="prcpnm"/>
  82. <Col id="opnm"/>
  83. <Col id="spccd"/>
  84. <Col id="spcnm"/>
  85. <Col id="reqno"/>
  86. <Col id="reqhistno"/>
  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. <Dataset id="ds_checkbox1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  92. <ColumnInfo>
  93. <Column id="value" type="STRING" size="256"/>
  94. <Column id="label" type="STRING" size="256"/>
  95. </ColumnInfo>
  96. <Rows>
  97. <Row>
  98. <Col id="value">성장지연</Col>
  99. <Col id="label">성장지연</Col>
  100. </Row>
  101. <Row>
  102. <Col id="value">발달지연</Col>
  103. <Col id="label">발달지연</Col>
  104. </Row>
  105. <Row>
  106. <Col id="value">선천성기형</Col>
  107. <Col id="label">선천성기형</Col>
  108. </Row>
  109. <Row>
  110. <Col id="value">다운증후군</Col>
  111. <Col id="label">다운증후군</Col>
  112. </Row>
  113. <Row>
  114. <Col id="value">Turner 증후군</Col>
  115. <Col id="label">Turner 증후군</Col>
  116. </Row>
  117. <Row>
  118. <Col id="value">Klinefelter 증후군</Col>
  119. <Col id="label">Klinefelter 증후군</Col>
  120. </Row>
  121. <Row>
  122. <Col id="value">골수이식력</Col>
  123. <Col id="label">골수이식력</Col>
  124. </Row>
  125. <Row>
  126. <Col id="value">공여자남</Col>
  127. <Col id="label">공여자(남)</Col>
  128. </Row>
  129. <Row>
  130. <Col id="value">공여자여</Col>
  131. <Col id="label">공여자(여)</Col>
  132. </Row>
  133. <Row>
  134. <Col id="value">기타</Col>
  135. <Col id="label">기타</Col>
  136. </Row>
  137. </Rows>
  138. </Dataset>
  139. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  140. <ColumnInfo>
  141. <Column id="pid" type="STRING" size="256"/>
  142. <Column id="stemyn" type="STRING" size="256"/>
  143. <Column id="donrsex" type="STRING" size="256"/>
  144. </ColumnInfo>
  145. <Rows>
  146. <Row/>
  147. </Rows>
  148. </Dataset>
  149. </Objects>
  150. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  151. * System Name :
  152. * Job Name :
  153. * Creator :
  154. * Make Date : 2015-06-02
  155. * Description :
  156. *---------------------------------------------------------------------------------------
  157. * Modify Date Modifier Modify Description
  158. *---------------------------------------------------------------------------------------
  159. * 2015-06-02 Live Converter TF->XP
  160. *
  161. *---------------------------------------------------------------------------------------
  162. ****************************************************************************************/
  163. include "com_commonxp::comm_main.xjs";
  164. var objDomParser;
  165. var objDOM;
  166. var arErrorCode = new HashArray();
  167. function cbf_SPLRR91300(sSvcId, nErrorCode, sErrorMsg) {
  168. if(nErrorCode < 0) return;
  169. }
  170. function cf_TRLMR00205(sSvcId, nErrorCode, sErrorMsg) {
  171. if(nErrorCode < 0) return;
  172. }
  173. function fExeInitialize()
  174. {
  175. group1.checkbox1.setBindDataset(ds_checkbox1,"value","label");
  176. objDomParser = new DomParser;
  177. objDOM = objDomParser.parseFromString("<reqfrminfo></reqfrminfo>");
  178. //----------------------------------------------------------------
  179. // 처방등록 화면에서 호출되지 않는 경우는 "저장" 기능을 비 활성화 처리
  180. if (ds_hidden_reqfrminfo.getColumn(0,"scrnno") == "10") {
  181. group3.btn_save.visible = true;
  182. } else {
  183. group3.btn_save.visible = false;
  184. }
  185. //----------------------------------------------
  186. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회한다.
  187. if(utlf_isNull(ds_hidden_reqfrminfo.getColumn(0,"reqcnts")))
  188. { //내용이 없다
  189. if (ds_hidden_reqfrminfo.getColumn(0,"reqno") != "0")
  190. { //의뢰지번호 존재시
  191. ds_send.clear();
  192. dsf_makeValue(ds_send,"instcd", "string",sysf_getUserInfo("dutplceinstcd"));
  193. dsf_makeValue(ds_send,"pid", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  194. dsf_makeValue(ds_send,"reqno", "string", ds_hidden_reqfrminfo.getColumn(0,"reqno"));
  195. var oParam = {};
  196. oParam.id = "TRLRR90201";
  197. oParam.service = "diagtestapplib.LisCommon";
  198. oParam.method = "reqGetReqFrmInfo";
  199. oParam.inds = "refData=ds_send";
  200. oParam.outds = "ds_reqfrminfo=refrslt";
  201. oParam.async = false;
  202. oParam.callback = "cbf_SPLRR91300";
  203. tranf_submit(oParam);
  204. fsetData();
  205. }
  206. else { //의뢰지 번호 없어.!
  207. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem01", "");
  208. rptf_setValueToDOM(objDOM, "/reqfrminfo/inptitem02", "");
  209. rptf_setValueToDOM(objDOM, "/reqfrminfo/reqcnts", "");
  210. ds_hidden_reqfrminfo.setColumn(0,"reqno", "0");
  211. //dsf_makeValue(ds_send,"bcno", "string", "3394982");
  212. // 이재오 default 추가 2018.2.28일
  213. dsf_makeValue(ds_send,"instcd", "string",sysf_getUserInfo("dutplceinstcd"));
  214. dsf_makeValue(ds_send,"bcno", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  215. trace(ds_send.getColumn(0,"bcno"));
  216. var oParam = {};
  217. oParam.id = "TRLMR00205";
  218. oParam.service = "rsltmngtapp.RsltMngt";
  219. oParam.method = "reqGetbonemarrowInfo";
  220. oParam.inds = "bcnoinfo=ds_send";
  221. oParam.outds = "ds_hidden=getSbgdSpcInfo";
  222. oParam.async = false;
  223. oParam.callback = "cf_TRLMR00205";
  224. tranf_submit(oParam);
  225. if (ds_hidden.getColumn(0,"stemyn") == "Y")
  226. {
  227. var findRowNum = ds_checkbox1.findRow("value", "골수이식력");
  228. trace(findRowNum);
  229. group1.checkbox1.setData(ds_checkbox1.getColumn(findRowNum,"value").split(","),null,false);
  230. }
  231. if (ds_hidden.getColumn(0,"donrsex") == "F")
  232. {
  233. var findRowNum = ds_checkbox1.findRow("value", "공여자여");
  234. trace(findRowNum);
  235. group1.checkbox1.setData(ds_checkbox1.getColumn(findRowNum,"value").split(","),null,false);
  236. }
  237. if (ds_hidden.getColumn(0,"donrsex") == "M")
  238. {
  239. var findRowNum = ds_checkbox1.findRow("value", "공여자남");
  240. trace(findRowNum);
  241. group1.checkbox1.setData(ds_checkbox1.getColumn(findRowNum,"value").split(","),null,false);
  242. }
  243. group1.checkbox2.value = "가족력";
  244. // trace("1 : " + group1.checkbox2.value);
  245. group1.input1.value = '-';
  246. }
  247. } else { //내용이 있다(ex> 특수에서 의뢰서 띄울때 처럼)
  248. var nRow = ds_reqfrminfo.addRow();
  249. ds_reqfrminfo.setColumn(nRow, "reqcnts", ds_hidden_reqfrminfo.getColumn(0, "reqcnts"));
  250. fsetData();
  251. }
  252. }
  253. function fn_cmpEvent()
  254. {
  255. ds_send.setColumn(0, "srchclamstat", String(grp_biz.swt_req.case_mngt.checkbox1.getData()).replace(",", ","));
  256. }
  257. function fsetData()
  258. {
  259. objDomParser = new DomParser;
  260. objDOM = objDomParser.parseFromString(ds_reqfrminfo.getColumn(0, "reqcnts"));
  261. var chk_value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts").split(",");
  262. group1.checkbox1.setData(chk_value, null,false);
  263. group1.checkbox2.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/famchk");
  264. group1.input1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/family");
  265. group1.tar_cell_inpt.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/etc");
  266. group1.textarea1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/claim");
  267. }
  268. function fmakeData()
  269. {
  270. rptf_setValueToDOM(objDOM,"/reqfrminfo/reqcnts",utlf_transNullToEmpty(group1.checkbox1.getData()));
  271. rptf_setValueToDOM(objDOM,"/reqfrminfo/famchk",utlf_transNullToEmpty(group1.checkbox2.value));
  272. rptf_setValueToDOM(objDOM,"/reqfrminfo/family",utlf_transNullToEmpty(group1.input1.value));
  273. rptf_setValueToDOM(objDOM,"/reqfrminfo/etc",utlf_transNullToEmpty(group1.tar_cell_inpt.value));
  274. rptf_setValueToDOM(objDOM,"/reqfrminfo/claim",utlf_transNullToEmpty(group1.textarea1.value));
  275. }
  276. // 확인버튼 클릭시 저장
  277. function fExeClinicSave()
  278. {
  279. fmakeData();
  280. //var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  281. //var node = instance1.selectSingleNode("/root/main/reqfrm/reqfrmtbl/reqfrminfo"); //xml 저장을 위해 노드로 만듬
  282. if(utlf_isNull(rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts"))){
  283. sysf_messageBox("주요증상(필수)은 필수 선택 사항입니다", "E");
  284. return;
  285. }
  286. if(utlf_isNull(rptf_getValueFromDOM(objDOM,"/reqfrminfo/famchk"))){
  287. sysf_messageBox("가족력은 필수 선택 사항입니다", "E");
  288. return;
  289. }
  290. if(utlf_isNull(rptf_getValueFromDOM(objDOM,"/reqfrminfo/family"))){
  291. sysf_messageBox("가족력(내용)은 필수 입력 사항입니다", "E");
  292. return;
  293. }
  294. // 검체 추가정보 설정
  295. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/choi", "true");
  296. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spcseqno", "001");
  297. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  298. rptf_setValueToDOM(objDOM, "/reqfrminfo/choispc/choispclist/spccd2", ds_hidden_reqfrminfo.getColumn(0,"spccd"));
  299. var objParam = new Object();
  300. objParam.xml_data_XML1 = objDOM.documentElement.source;
  301. // 검체 추가정보 설정
  302. ds_send.clear();
  303. dsf_makeValue(ds_send,"pid", "string", ds_hidden_reqfrminfo.getColumn(0,"pid"));
  304. dsf_makeValue(ds_send,"reqno", "string", ds_hidden_reqfrminfo.getColumn(0,"reqno"));
  305. dsf_makeValue(ds_send,"reqcnts", "string", objParam.xml_data_XML1.replace("<![CDATA[","").replace("]]]]><![CDATA[>",""));
  306. dsf_makeValue(ds_send,"instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  307. //------------------------
  308. var oParam = {};
  309. oParam.id = "TXLRR90201";
  310. oParam.service = "diagtestapplib.LisCommon";
  311. oParam.method = "reqExeReqFrmInfo";
  312. oParam.inds = "refData=ds_send";
  313. oParam.outds = "ds_rtnvalinfo=reflist";
  314. oParam.transaction = true;
  315. oParam.async = false;
  316. oParam.callback = "cf_TXLRR90201";
  317. tranf_submit(oParam);
  318. if (arErrorCode.pop("TXLRR90201") < 0) {
  319. sysf_messageBox("의뢰지 저장을", "E009");
  320. return false;
  321. }
  322. //------------------
  323. // 의뢰지번호 Return
  324. opener.ds_hidden_reqfrminfo.setColumn(0,"reqno", ds_rtnvalinfo.getColumn(0,"reqno"));
  325. //------------
  326. close();
  327. }
  328. function cf_TXLRR90201(sSvcId, nErrorCode, sErrorMsg) {
  329. arErrorCode.push(sSvcId, nErrorCode);
  330. }
  331. // 닫기
  332. function fSetClose(){
  333. close();
  334. }
  335. function SPLRR91300_onload(obj:Form, e:LoadEventInfo)
  336. {
  337. frmf_initForm(obj);
  338. ds_hidden_reqfrminfo.copyData(arg_ds_hidden_reqfrminfo);
  339. fExeInitialize();
  340. }
  341. function group3_btn_close_onclick(obj:Button, e:ClickEventInfo)
  342. {
  343. fSetClose();
  344. }
  345. function group3_btn_save_onclick(obj:Button, e:ClickEventInfo)
  346. {
  347. fExeClinicSave();
  348. }
  349. ]]></Script>
  350. </Form>
  351. </FDL>