SPLPJ01200_분자검사의뢰지.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLPJ01200" position="absolute 0 0 975 585" titletext="분자검사 의뢰지" onload="SPLPJ01200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="Static00" class="sta_DA_box" position="absolute 528 18 973 48"/>
  8. <Static id="Static03" class="sta_DA_box" position="absolute 0 74 522 105"/>
  9. <Static id="caption1" text="대표검체 및 처방정보" class="tit_2" position="absolute 0 0 160 17"/>
  10. <Static id="Static01" class="sta_DA_box" position="absolute 0 18 524 49"/>
  11. <Static id="caption3" text="대표검체" class="cell_1" position="absolute 1 22 81 46" style="align:center middle;"/>
  12. <Combo id="cmb_reprspccd" taborder="0" class="combo_essential" position="absolute 84 24 249 44" inputmode="lower" type="filter" innerdataset="@ds_init_reprspclist" datacolumn="spcnm" codecolumn="spccd"/>
  13. <Edit id="output1" taborder="8" readonly="true" position="absolute 333 24 522 44" class="output"/>
  14. <Static id="caption8" text="인종/민족" class="tit_2" position="absolute 0 56 146 74"/>
  15. <Static id="caption9" text="인종/민족" class="cell_1" position="absolute 1 78 81 102" style="align:center middle;"/>
  16. <Combo id="cmb_humspe" taborder="1" class="combo_essential" position="absolute 84 80 249 100" onitemchanged="cmb_humspe_onitemchanged" index="-1" value="null"/>
  17. <Edit id="ipt_humspe" taborder="9" position="absolute 252 80 517 100" enable="false"/>
  18. <Static id="caption5" text="임상정보 및 기록사항" class="tit_2" position="absolute 0 115 170 131"/>
  19. <TextArea id="textarea1" taborder="3" position="absolute 0 133 522 321" wordwrap="word"/>
  20. <Static id="caption6" class="tit_2" position="absolute 528 0 698 20" text="가족력"/>
  21. <Radio id="rdo_famyhist" taborder="2" columncount="3" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 532 24 674 44" value="1" index="1">
  22. <Dataset id="innerdataset">
  23. <ColumnInfo>
  24. <Column id="codecolumn" size="256"/>
  25. <Column id="datacolumn" size="256"/>
  26. </ColumnInfo>
  27. <Rows>
  28. <Row>
  29. <Col id="codecolumn">0</Col>
  30. <Col id="datacolumn">유</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">1</Col>
  34. <Col id="datacolumn">무</Col>
  35. </Row>
  36. <Row>
  37. <Col id="codecolumn">2</Col>
  38. <Col id="datacolumn">모름</Col>
  39. </Row>
  40. </Rows>
  41. </Dataset>
  42. </Radio>
  43. <Button id="btn_exit111" taborder="11" text="닫기" class="btn4" position="absolute 919 565 973 585" visible="true" onclick="btn_exit111_onclick" anchor="default"/>
  44. <Button id="btn_save" taborder="6" text="확인" class="btn4" position="absolute 849 565 909 585" onclick="btn_save_onclick"/>
  45. <Button id="btn_sytsrsltref" taborder="13" text="통합결과조회" class="btn3" position="absolute 0 565 108 585" onclick="btn_sytsrsltref_onclick"/>
  46. <Static id="caption02" text="주의사항" class="tit_2" position="absolute 528 56 973 76"/>
  47. <TextArea id="tar_cau" taborder="4" position="absolute 528 74 973 561" wordwrap="word" value="1. 병리과 분자병리 검사 중 인간 유전자에 대한 검사를 시행할 시에는 유전자&#13;&#10; 검사 동의서가 필요하며 유전자검사 동의서가 없이는 검사 진행이 불가&#13;&#10; 하므로 반드시 작성해서 검체와 바코드, 유전자검사 동의서를 병리과에 &#13;&#10; 접수하여 주십시요. 이미 채취되어 파라핀 포매된 검체에 대해 처방하실 &#13;&#10; 경우에도 바코드와 유전자검사 동의서를 함께 동봉하여 병리과로 접수하여&#13;&#10; 주십시요. 유전자검사 동의서는 병리과에서 복사 후 다시 의무기록실로 &#13;&#10; 우송됩니다.&#13;&#10;2. 인간유전자 이외에 대한 분자병리검사와 ATP 기반 항암제 감수성 검사는 &#13;&#10; 유전자검사 동의서를 작성하지 않습니다.&#13;&#10;3. ATP 기반 항암제 감수성 검사를 제외한 나머지 분자병리 검사는 파라핀 &#13;&#10; 포매 조직에서 검사가 가능하므로 다른 병리 처방과 마찬가지로 해당 조직&#13;&#10; 검사번호를 지정한 후 처방을 저장하시면 됩니다. 하지만 ATP 기반 항암제 &#13;&#10; 감수성 검사는 신선조직을 이용한 검사이므로 수술 시에 검사용 신선 &#13;&#10; 검체를 채취 해야 하므로 검사를 시행할 검체를 바코드 및 유전자 검사 &#13;&#10; 동의서를 동봉해 즉시 병리과에 접수시켜 주십시요.&#13;&#10;4. 조직을 이용한 Tb PCR의 경우 파라핀 포매 조직에서 시행하는 검사이므로 &#13;&#10; 반드시 PMO11005로 처방해야 합니다.&#13;&#10;5. 조직을 이용한 HPV DNA chip 검사의 경우 파라핀 포매 조직에서 시행하는 &#13;&#10; 검사이므로 반드시 PMO03004로 처방해야 합니다.&#13;&#10;6. 항암제 반응예측에 이용되는 유전자 돌연변이 염기서열검사 및 ATP 기반 &#13;&#10; 항암제 감수성 검사 및 등은 외부 위탁 과정을 거처 결과를 보고받으므로 &#13;&#10; 결과는 접수 후 10~15일 정도 소요됩니다.&#13;&#10;7. 검사를 의뢰하시기 전 문의사항이 있을 시에는 반드시 병리과 분자병리부로&#13;&#10; 전화를 주셔서 검사 내용에 관한 확인을 하시기 바랍니다." style="linespace:3;"/>
  48. <Static id="caption07" text="관련병리번호" class="tit_2" position="absolute 0 327 100 347"/>
  49. <Static id="caption4" text="처방명" class="cell_1" position="absolute 252 22 332 46" style="align:center middle;"/>
  50. <Edit id="edit_rebcno" taborder="14" position="absolute 113 326 254 345" readonly="true" class="output"/>
  51. <Grid id="grd_relaptno" taborder="15" useinputpanel="false" position="absolute 0 346 525 561" binddataset="ds_init_bfptnolist" oncellclick="grd_relaptno_oncellclick">
  52. <Formats>
  53. <Format id="default">
  54. <Columns>
  55. <Column size="125"/>
  56. <Column size="128"/>
  57. <Column size="125"/>
  58. <Column size="122"/>
  59. </Columns>
  60. <Rows>
  61. <Row size="24" band="head"/>
  62. <Row size="24"/>
  63. </Rows>
  64. <Band id="head">
  65. <Cell text="병리번호"/>
  66. <Cell col="1" text="M"/>
  67. <Cell col="2" text="T"/>
  68. <Cell col="3" text="P"/>
  69. </Band>
  70. <Band id="body">
  71. <Cell text="bind:dispptno"/>
  72. <Cell col="1" text="bind:diagcd"/>
  73. <Cell col="2" text="bind:extrpartcd"/>
  74. <Cell col="3" text="bind:extrmthdcd"/>
  75. </Band>
  76. </Format>
  77. </Formats>
  78. </Grid>
  79. </Layout>
  80. </Layouts>
  81. <Objects>
  82. <Dataset id="ds_init_bfptnolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  83. <ColumnInfo>
  84. <Column id="instcd" type="STRING" size="256"/>
  85. <Column id="pid" type="STRING" size="256"/>
  86. <Column id="ptno" type="STRING" size="256"/>
  87. <Column id="dispptno" type="STRING" size="256"/>
  88. <Column id="diagcd" type="STRING" size="256"/>
  89. <Column id="extrpartcd" type="STRING" size="256"/>
  90. <Column id="extrmthdcd" type="STRING" size="256"/>
  91. </ColumnInfo>
  92. <Rows>
  93. <Row/>
  94. </Rows>
  95. </Dataset>
  96. <Dataset id="ds_init_reprspclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  97. <ColumnInfo>
  98. <Column id="spcnm" type="STRING" size="256"/>
  99. <Column id="spccd" type="STRING" size="256"/>
  100. </ColumnInfo>
  101. <Rows>
  102. <Row/>
  103. </Rows>
  104. </Dataset>
  105. <Dataset id="ds_hidden_reqfrminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  106. <Dataset id="ds_hidden_reqfrminfo_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  107. </Objects>
  108. <Bind>
  109. <BindItem id="item0" compid="output1" propid="value" datasetid="ds_hidden_reqfrminfo" columnid="prcpnm"/>
  110. <BindItem id="item1" compid="cmb_reprspccd" propid="value" datasetid="ds_hidden_reqfrminfo" columnid="spccd"/>
  111. </Bind>
  112. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  113. * System Name :
  114. * Job Name :
  115. * Creator :
  116. * Make Date : 2015-04-24
  117. * Description :
  118. *---------------------------------------------------------------------------------------
  119. * Modify Date Modifier Modify Description
  120. *---------------------------------------------------------------------------------------
  121. * 2015-04-24 Live Converter TF->XP
  122. *
  123. *---------------------------------------------------------------------------------------
  124. ****************************************************************************************/
  125. //=======================================================================================
  126. // Lib Include
  127. //---------------------------------------------------------------------------------------
  128. include "com_commonxp::comm_main.xjs";
  129. include "lis_commonxp::LPZ001.xjs";
  130. include "lis_commonxp::LZZ003.xjs";
  131. var arErrorCode = new HashArray();
  132. var objDomParser;
  133. var objDOM;
  134. function fExeInitialize()
  135. {
  136. objDomParser = new DomParser;
  137. objDOM = objDomParser.parseFromString("<reqfrminfo></reqfrminfo>");
  138. fgetCommonExpn(cmb_humspe, "ds_init_resncdlist", "resncd", "resncnts", "HS", "cbf_SPLPJ01200");
  139. ds_init_resncdlist.setColumn(ds_init_resncdlist.rowcount-1, "resncd", "EXTR");
  140. ds_init_resncdlist.setColumn(ds_init_resncdlist.rowcount-1, "resncnts", "기타");
  141. if (ds_init_resncdlist.rowcount > 0) {
  142. cmb_humspe.value = "1003"; // 아시안 인종
  143. }
  144. var sInDsName = dsf_createDsRow("ds_send", [{col: "instcd" , val: sysf_getUserInfo("dutplceinstcd")}
  145. , {col: "testcd" , val: ds_hidden_reqfrminfo.getColumn(0,"prcpcd")}
  146. , {col: "reprspccd", val: ds_hidden_reqfrminfo.getColumn(0,"spccd")}
  147. , {col: "spcflagcd", val: "0"}]);
  148. var oParam = {};
  149. oParam.id = "TRLPJ01501";
  150. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  151. oParam.method = "reqGetTestInfoList";
  152. oParam.inds = "refData="+sInDsName;
  153. oParam.outds = "ds_init_reprspclist=refrslt";
  154. oParam.async = false;
  155. oParam.callback = "cbf_SPLPJ01200";
  156. tranf_submit(oParam);
  157. // 의뢰지내용 및 대표검체 조회
  158. var sInDsName = dsf_createDsRow("ds_send", [{col: "instcd" , val: sysf_getUserInfo("dutplceinstcd")}
  159. ,{col: "pid" , val: ds_hidden_reqfrminfo.getColumn(0,"pid")}
  160. ]);
  161. var oParam = {};
  162. oParam.id = "TRLPZ00108";
  163. oParam.service = "plgycomnusemngtapp.BaseInfoCode";
  164. oParam.method = "reqGetBfPtNoList";
  165. oParam.inds = "refdata="+sInDsName;
  166. oParam.outds = "ds_init_bfptnolist=rsltlist";
  167. oParam.async = false;
  168. oParam.callback = "cbf_SPLPJ01200";
  169. tranf_submit(oParam); // 이전 병리번호 목록 조회
  170. //----------------------------------------------------------
  171. var sReqFrmNo = ds_hidden_reqfrminfo.getColumn(0,"reqno");
  172. sReqFrmNo = sReqFrmNo.getLeftPad(1, "0");
  173. dsf_createDs("ds_rslt_reqfrminfo"); //의뢰내용
  174. if(!utlf_isNull(sReqFrmNo) || sReqFrmNo!="0"){
  175. //의뢰지내용조회
  176. var sInDsName = dsf_createDsRow("ds_send", [{col: "instcd" , val: sysf_getUserInfo("dutplceinstcd")}
  177. , {col: "pid" , val: ds_hidden_reqfrminfo.getColumn(0,"pid")}
  178. , {col: "reqno" , val: ds_hidden_reqfrminfo.getColumn(0,"reqno")}]);
  179. var oParam = {};
  180. oParam.id = "TRLPJ01502";
  181. oParam.service = "plgyrelapplib.PlgyAcptLib";
  182. oParam.method = "reqGetReqFrmInfo";
  183. oParam.inds = "refData="+sInDsName;
  184. oParam.outds = "ds_rslt_reqfrminfo=refrslt";
  185. oParam.async = false;
  186. oParam.callback = "cbf_SPLPJ01200";
  187. tranf_submit(oParam);
  188. output1.value = ds_hidden_reqfrminfo.getColumn(0,"prcpnm");
  189. if(ds_rslt_reqfrminfo.rowcount>0){
  190. var ChkNullTag = ds_rslt_reqfrminfo.getColumn(0, "reqcnts");
  191. var parser = new DomParser;
  192. objDOM = objDomParser.parseFromString(ds_rslt_reqfrminfo.getColumn(0, "reqcnts"));
  193. if(!utlf_isNull(rptf_getValueFromDOM(objDOM,"/reqfrminfo/prcpdd"))){
  194. ds_hidden_reqfrminfo.setColumn(0,"reqno", "0");
  195. rdo_famyhist.value = "0";
  196. textarea1.value = "";
  197. edit_rebcno.value = "";
  198. }
  199. else {
  200. edit_rebcno.value = utlf_transNullToEmpty(rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem01"));
  201. rdo_famyhist.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/inptitem02");
  202. textarea1.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/reqcnts");
  203. cmb_reprspccd.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/choispc/choispclist/spccd");
  204. ds_hidden_reqfrminfo.setColumn(0,"spcnm", rptf_getValueFromDOM(objDOM,"/reqfrminfo/choispc/choispclist/spcnm"));
  205. cmb_humspe.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/humspeccd");
  206. if(cmb_humspe.value == "EXTR") {
  207. ipt_humspe.value = rptf_getValueFromDOM(objDOM,"/reqfrminfo/humspecnm");
  208. }
  209. fChkHumenSpeText();
  210. }
  211. }
  212. } else {
  213. rdo_famyhist.value = "0";
  214. textarea1.value = "";
  215. edit_rebcno.value = "";
  216. }
  217. //---------------------------------------------
  218. // 대표검체코드가 처방화면에서 넘어온 경우 처리
  219. if (!utlf_isNull(cmb_reprspccd.value) && cmb_reprspccd.value != "-") {
  220. if (sReqFrmNo != "0") {
  221. // Continue
  222. } else {
  223. rptf_setValueToDOM(objDOM,"/reqfrminfo/choispc/choispclist[1]/choi", "true");
  224. rptf_setValueToDOM(objDOM,"/reqfrminfo/choispc/choispclist[1]/spcseqno", "001");
  225. rptf_setValueToDOM(objDOM,"/reqfrminfo/choispc/choispclist[1]/spccd", cmb_reprspccd.value);
  226. rptf_setValueToDOM(objDOM,"/reqfrminfo/choispc/choispclist[1]/spcnm", ds_hidden_reqfrminfo.getColumn(0,"spcnm"));
  227. rptf_setValueToDOM(objDOM,"/reqfrminfo/choispc/choispclist[1]/existyn", "N");
  228. }
  229. } else {
  230. cmb_reprspccd.enable = true;
  231. }
  232. // 처방상태코드가 인계접수완료(420)보다 적은 경우만 검체수정 가능 /
  233. if(Number(ds_hidden_reqfrminfo.getColumn(0,"prcpstatcd")) >= 400) {
  234. btn_save.enable = false;
  235. }else{
  236. btn_save.enable = true;
  237. }
  238. sysf_trace(ds_init_resncdlist.rowcount);
  239. if (ds_init_resncdlist.rowcount > 0) {
  240. cmb_humspe.value = "1003"; // 아시안 인종
  241. }
  242. }
  243. /**********************************************************************************
  244. * Name : fChkHumenSpeText
  245. * Description : 인종 입력박스 활성화 여부 체크
  246. * Argument : Null
  247. * return Type : Null
  248. * Author : Autumn
  249. ************************************************************************************/
  250. function fChkHumenSpeText(){
  251. if(cmb_humspe.value=="EXTR"){
  252. ipt_humspe.enable = true;
  253. } else {
  254. ipt_humspe.value = "";
  255. ipt_humspe.enable = false;
  256. }
  257. }
  258. /**********************************************************************************
  259. * Name : cbf_SPLPJ01200
  260. * Description : 분자검사의뢰지 콜백함수.
  261. * Argument : string:strSvcID, string:nErrorCode, string:strErrorMag
  262. * return Type : Null
  263. * Author : Autumn
  264. ************************************************************************************/
  265. function cbf_SPLPJ01200(strSvcID, nErrorCode, strErrorMag){
  266. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  267. }
  268. /**********************************************************************************
  269. * Name : cbf_TXLPJ01501
  270. * Description : 분자검사의뢰지 저장 콜백함수.
  271. * Argument : string:strSvcID, string:nErrorCode, string:strErrorMag
  272. * return Type : Null
  273. * Author : Autumn
  274. ************************************************************************************/
  275. function cbf_TXLPJ01501(strSvcID, nErrorCode, strErrorMag){
  276. if(nErrorCode != 0){
  277. sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  278. } else {
  279. sysf_messageBox("", "I001");
  280. var objRetVal = new Object();
  281. if(ds_rslt_rtnvalinfo.rowcount>0){
  282. objRetVal.reqno = ds_rslt_rtnvalinfo.getColumn(0, "lstreqno")
  283. } else {
  284. objRetVal.reqno = "";
  285. }
  286. objRetVal.spccd = cmb_reprspccd.value;
  287. objRetVal.spcnm = cmb_reprspccd.text;
  288. this.close(objRetVal);
  289. }
  290. }
  291. //=======================================================================================
  292. // Event
  293. //---------------------------------------------------------------------------------------
  294. /****************************************************************************************
  295. * Components :
  296. * Components ID : SPJLP01200
  297. * Event : onload
  298. * Argument : 01.obj : Object Event has occurred
  299. * : 02.e : Event Object
  300. * Description : 화면로드
  301. ****************************************************************************************/
  302. function SPLPJ01200_onload(obj:Form, e:LoadEventInfo)
  303. {
  304. frmf_initForm(obj);
  305. ds_hidden_reqfrminfo.copyData(arg_ds_hidden_reqfrminfo);
  306. try
  307. {
  308. ds_hidden_reqfrminfo_prcplist.copyData(arg_ds_hidden_reqfrminfo_prcplist);
  309. }
  310. catch(e)
  311. {
  312. trace(e);
  313. }
  314. fExeInitialize();
  315. }
  316. /****************************************************************************************
  317. * Components :
  318. * Components ID : btn_exit
  319. * Event : onclick
  320. * Argument : 01.obj : Object Event has occurred
  321. * : 02.e : Event Object
  322. * Description : 화면닫기
  323. ****************************************************************************************/
  324. function btn_exit_onclick(obj:Button, e:ClickEventInfo)
  325. {
  326. this.close();
  327. }
  328. /****************************************************************************************
  329. * Components :
  330. * Components ID : btn_exit111
  331. * Event : onclick
  332. * Argument : 01.obj : Object Event has occurred
  333. * : 02.e : Event Object
  334. * Description : 화면닫기
  335. ****************************************************************************************/
  336. function btn_exit111_onclick(obj:Button, e:ClickEventInfo)
  337. {
  338. this.close();
  339. }
  340. /****************************************************************************************
  341. * Components :
  342. * Components ID : btn_sytsrsltref
  343. * Event : onclick
  344. * Argument : 01.obj : Object Event has occurred
  345. * : 02.e : Event Object
  346. * Description : 통합검사결과조회 팝업
  347. ****************************************************************************************/
  348. function btn_sytsrsltref_onclick(obj:Button, e:ClickEventInfo)
  349. {
  350. var objArg = new Object();
  351. objArg.pid = plgv_sPid;
  352. frmf_modal("SMAER00800", "SMAER00800", objArg, "", "", application.mainframe.position.left+xpos, application.mainframe.position.top+ypos, "M", -1, null, null, null, "M");
  353. }
  354. /****************************************************************************************
  355. * Components :
  356. * Components ID : cmb_humspe
  357. * Event : onitemchanged
  358. * Argument : 01.obj : Object Event has occurred
  359. * : 02.e : Event Object
  360. * Description : 인종정보기타사항활성화
  361. ****************************************************************************************/
  362. function cmb_humspe_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  363. {
  364. fChkHumenSpeText();
  365. }
  366. /****************************************************************************************
  367. * Components :
  368. * Components ID : btn_save
  369. * Event : onclick
  370. * Argument : 01.obj : Object Event has occurred
  371. * : 02.e : Event Object
  372. * Description : 인종정보기타사항활성화
  373. ****************************************************************************************/
  374. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  375. {
  376. var sHumSpe = cmb_humspe.value;
  377. var sHumSpeNm = "";
  378. if(sHumSpe == "EXTR") {
  379. sHumSpeNm = ipt_humspe.value ;
  380. } else {
  381. for(var iNo = 0 ; iNo < ds_init_resncdlist.rowcount; iNo++) {
  382. if(ds_init_resncdlist.getColumn(iNo,"resncd") == sHumSpe) {
  383. sHumSpeNm = ds_init_resncdlist.getColumn(iNo,"resncnts");
  384. }
  385. }
  386. }
  387. if (cmb_reprspccd.value=="-" || utlf_isNull(cmb_reprspccd.value)) {
  388. sysf_messageBox("대표검체는 필수입력사항입니다.", "I");
  389. cmb_reprspccd.setFocus();
  390. return false;
  391. }
  392. if (cmb_humspe.value=="-" || utlf_isNull(cmb_humspe.value)) {
  393. sysf_messageBox("인종/민족은 필수입력사항입니다.", "I");
  394. cmb_humspe.setFocus();
  395. return false;
  396. }
  397. var sReqcntsXmlText = "<reqfrminfo>";
  398. sReqcntsXmlText = sReqcntsXmlText + "<inptitem01>" + utlf_transNullToEmpty(edit_rebcno.value) + "</inptitem01>";
  399. sReqcntsXmlText = sReqcntsXmlText + "<inptitem02>" + rdo_famyhist.value+"</inptitem02>";
  400. sReqcntsXmlText = sReqcntsXmlText + "<reqcnts><![CDATA[" + utlf_transNullToEmpty(textarea1.value) +"]]]]><![CDATA[></reqcnts>";
  401. sReqcntsXmlText = sReqcntsXmlText + "<humspeccd>" + cmb_humspe.text +"</humspeccd>";
  402. sReqcntsXmlText = sReqcntsXmlText + "<humspecnm>" + sHumSpeNm +"</humspecnm>";
  403. sReqcntsXmlText = sReqcntsXmlText + "<choispc>";
  404. sReqcntsXmlText = sReqcntsXmlText + "<choispclist>";
  405. sReqcntsXmlText = sReqcntsXmlText + "<choi>true</choi>";
  406. sReqcntsXmlText = sReqcntsXmlText + "<spcseqno>001</spcseqno>";
  407. sReqcntsXmlText = sReqcntsXmlText + "<spccd>" + cmb_reprspccd.value + "</spccd>";
  408. sReqcntsXmlText = sReqcntsXmlText + "<spcnm><![CDATA[" + cmb_reprspccd.text + "]]]]><![CDATA[></spcnm>";
  409. sReqcntsXmlText = sReqcntsXmlText + "<existyn>N</existyn>";
  410. sReqcntsXmlText = sReqcntsXmlText + "<slidno>0</slidno>";
  411. sReqcntsXmlText = sReqcntsXmlText + "</choispclist>";
  412. sReqcntsXmlText = sReqcntsXmlText + "</choispc>";
  413. sReqcntsXmlText = sReqcntsXmlText + "</reqfrminfo>";
  414. dsf_createDs("ds_rslt_rtnvalinfo");
  415. var sInDsName = dsf_createDsRow("ds_send", [{
  416. col : "pid",
  417. val : ds_hidden_reqfrminfo.getColumn(0,"pid")
  418. }, {
  419. col : "reqno",
  420. val : utlf_lPad(ds_hidden_reqfrminfo.getColumn(0,"reqno").toString(), 1, "0")
  421. }, {
  422. col : "reqcnts",
  423. val : sReqcntsXmlText
  424. }, {
  425. col : "imgcnts",
  426. val : ""
  427. }, {
  428. col : "instcd",
  429. val : sysf_getUserInfo("dutplceinstcd")
  430. }, {
  431. col : "scrno",
  432. val : "40"
  433. }, {
  434. col : "prcpdd",
  435. val : ds_hidden_reqfrminfo.getColumn(0,"prcpdd")
  436. }, {
  437. col : "execprcpuniqno",
  438. val : ds_hidden_reqfrminfo.getColumn(0,"execprcpuniqno")
  439. }
  440. ]);
  441. var oParam = {};
  442. oParam.id = "TXLPJ01501";
  443. oParam.service = "plgyrelapplib.PlgyAcptLib";
  444. oParam.method = "reqExeReqFrmInfo";
  445. oParam.inds = "refData="+sInDsName;
  446. oParam.outds = "ds_rslt_rtnvalinfo=reflist";
  447. oParam.transaction = true;
  448. oParam.async = false;
  449. oParam.callback = "cf_TXLPJ01501";
  450. tranf_submit(oParam);
  451. sysf_trace(ds_rslt_rtnvalinfo.saveXML());
  452. if (arErrorCode.pop("TXLPJ01501") < 0) {
  453. sysf_messageBox("의뢰지 저장을", "E009");
  454. return false;
  455. }
  456. opener.ds_hidden_reqfrminfo.setColumn(0,"reqno",ds_rslt_rtnvalinfo.getColumn(0,"lstreqno")); //ds_rslt_rtnvalinfo.getColumn(0,"reqno") 수정
  457. opener.ds_hidden_reqfrminfo.setColumn(0,"spccd",cmb_reprspccd.value);
  458. opener.ds_hidden_reqfrminfo.setColumn(0,"spcnm",cmb_reprspccd.text);
  459. this.close();
  460. }
  461. function cf_TXLPJ01501(sSvcId, nErrorCode, sErrorMsg) {
  462. arErrorCode.push(sSvcId, nErrorCode);
  463. }
  464. function grd_relaptno_oncellclick(obj:Grid, e:GridClickEventInfo)
  465. {
  466. edit_rebcno.value = ds_init_bfptnolist.getColumn(ds_init_bfptnolist.rowposition,"ptno");
  467. }
  468. ]]></Script>
  469. </Form>
  470. </FDL>