SPLLJ90100_부적합검체등록.xfdl 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPLLJ90100" position="absolute 0 0 313 453" titletext="부적합검체등록" oninit="SPLLJ90100_oninit" onload="SPLLJ90100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="※ 피통보자 이름만 입력하셔도 등록가능합니다." position="absolute 15 428 307 448" id="caption13" style="color:#0000ffff;font:bold,9,bold;"/>
  8. <Static id="caption1" text="부적합검체내역" class="tit_2" position="absolute 1 11 118 28"/>
  9. <Shape id="line1" class="line_1" position="absolute 0 27 309 33" style="strokepen:3 solid #33bbbbff;"/>
  10. <Static id="caption10" text="조치사항" class="cell_1" position="absolute 0 307 100 389"/>
  11. <Shape id="line2" class="line_2" position="absolute 0 123 309 129"/>
  12. <Shape id="line3" class="line_2" position="absolute 0 147 309 153"/>
  13. <Shape id="line4" class="line_2" position="absolute 0 99 309 105"/>
  14. <Shape id="line5" class="line_2" position="absolute 0 171 309 177"/>
  15. <Shape id="line6" class="line_2" position="absolute 0 195 309 201"/>
  16. <Shape id="line7" class="line_2" position="absolute 0 219 309 225"/>
  17. <Shape id="line9" class="line_2" position="absolute 0 218 310 224"/>
  18. <Shape id="line10" class="line_2" position="absolute 103 243 309 249"/>
  19. <Shape id="line11" class="line_2" position="absolute 104 326 308 332"/>
  20. <Shape id="line8" class="line_3" position="absolute 0 386 309 392" style="strokepen:2 solid #33bbbbff;"/>
  21. <Shape id="line12" class="line_2" position="absolute 0 75 309 81"/>
  22. <Shape id="line13" linetype="vertical" class="line_2" position="absolute 103 267 309 273"/>
  23. <Static id="caption2" text="환자명" class="cell_1" position="absolute 0 104 100 127"/>
  24. <Static id="caption11" text="취소구분" class="cell_1" position="absolute 0 31 100 54"/>
  25. <Static id="caption3" text="검체번호" class="cell_1" position="absolute 0 80 100 103"/>
  26. <Static id="caption4" text="등록번호" class="cell_1" position="absolute 0 128 100 151"/>
  27. <Static id="caption5" text="진료과" class="cell_1" position="absolute 0 152 100 175"/>
  28. <Static id="caption6" text="병실" class="cell_1" position="absolute 0 176 100 199"/>
  29. <Static id="caption8" text="통보시간" class="cell_1" position="absolute 0 200 100 223"/>
  30. <Static id="caption9" text="검체상태" class="cell_1" position="absolute 0 224 100 306"/>
  31. <Edit id="ipt_bcno" taborder="1" class="input_button" position="absolute 103 81 309 100" onkeydown="ipt_bcno_onkeydown" autoselect="true" inputtype="numberandenglish" inputmode="upper" imemode="alpha" useime="none"/>
  32. <Combo id="cmb_cancel" taborder="2" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_essential" position="absolute 103 32 309 51">
  33. <Dataset id="innerdataset">
  34. <ColumnInfo>
  35. <Column id="codecolumn"/>
  36. <Column id="datacolumn"/>
  37. </ColumnInfo>
  38. <Rows>
  39. <Row>
  40. <Col id="codecolumn">0</Col>
  41. <Col id="datacolumn">-</Col>
  42. </Row>
  43. <Row>
  44. <Col id="codecolumn">2</Col>
  45. <Col id="datacolumn">접수취소</Col>
  46. </Row>
  47. <Row>
  48. <Col id="codecolumn">1</Col>
  49. <Col id="datacolumn">채혈취소</Col>
  50. </Row>
  51. </Rows>
  52. </Dataset>
  53. </Combo>
  54. <Edit id="opt_patnm" taborder="3" readonly="true" position="absolute 103 105 309 124"/>
  55. <Edit id="opt_pid" taborder="4" readonly="true" position="absolute 103 129 309 148"/>
  56. <Edit id="opt_orddept" taborder="5" readonly="true" position="absolute 103 153 309 172"/>
  57. <Edit id="opt_wardroom" taborder="6" readonly="true" position="absolute 103 177 309 196"/>
  58. <MaskEdit id="opt_notidt" taborder="7" readonly="true" mask="####-##-## ##:##" position="absolute 103 201 309 220" type="string" style="align:left middle;"/>
  59. <TextArea id="tar_spcstat" taborder="8" class="text_essential" position="absolute 103 249 309 303"/>
  60. <TextArea id="tar_measfact" taborder="9" class="text_essential" position="absolute 103 329 309 387"/>
  61. <Edit id="output1" taborder="10" readonly="true" visible="false" position="absolute 155 5 185 24"/>
  62. <Edit id="output2" taborder="11" readonly="true" visible="false" position="absolute 190 5 220 24"/>
  63. <Edit id="output3" taborder="12" readonly="true" visible="false" position="absolute 225 5 255 24"/>
  64. <Combo id="cmb_spcstat" taborder="13" innerdataset="ds_init_cmb_spcstat" codecolumn="cd" datacolumn="nm" position="absolute 103 225 309 244" onitemchanged="cmb_spcstat_onitemchanged" style="itemheight:16;"/>
  65. <Combo id="cmb_measfact" taborder="14" innerdataset="ds_init_cmb_measfact" codecolumn="cd" datacolumn="nm" position="absolute 103 308 309 327" onitemchanged="cmb_measfact_onitemchanged"/>
  66. <Static id="caption14" text="취소사유" class="cell_1" position="absolute 0 55 100 78"/>
  67. <Combo id="cmb_cancelstat" taborder="15" innerdataset="ds_init_cmb_cancelstat" codecolumn="cd" datacolumn="nm" position="absolute 103 56 309 75"/>
  68. <Shape id="line14" class="line_6" position="absolute 0 400 310 406"/>
  69. <Button id="btn_cnfm" taborder="16" text="확인" class="btn4" position="absolute 195 405 251 427" onclick="btn_cnfm_onclick"/>
  70. <Button id="btn_cancel" taborder="17" text="취소" class="btn4" position="absolute 254 405 310 427" onclick="btn_cancel_onclick"/>
  71. <Button id="button1" taborder="18" text="SMS" class="btn1" enable="false" visible="false" position="absolute 0 405 56 427"/>
  72. <Button id="button2" taborder="19" text="MSG" class="btn1" enable="false" visible="false" position="absolute 59 405 115 427"/>
  73. </Layout>
  74. </Layouts>
  75. <Objects>
  76. <Dataset id="ds_init_cmb_spcstat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  77. <ColumnInfo>
  78. <Column id="nm" type="STRING"/>
  79. <Column id="cd" type="STRING"/>
  80. </ColumnInfo>
  81. </Dataset>
  82. <Dataset id="ds_init_cmb_measfact" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  83. <ColumnInfo>
  84. <Column id="nm" type="STRING"/>
  85. <Column id="cd" type="STRING"/>
  86. </ColumnInfo>
  87. </Dataset>
  88. <Dataset id="ds_init_cmb_cancelstat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  89. <ColumnInfo>
  90. <Column id="nm" type="STRING"/>
  91. <Column id="cd" type="STRING"/>
  92. </ColumnInfo>
  93. </Dataset>
  94. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  95. <ColumnInfo>
  96. <Column id="Data1" type="STRING" size="256"/>
  97. <Column id="Data2" type="STRING" size="256"/>
  98. <Column id="Data3" type="STRING" size="256"/>
  99. <Column id="Data4" type="STRING" size="256"/>
  100. <Column id="Data5" type="STRING" size="256"/>
  101. <Column id="Data6" type="STRING" size="256"/>
  102. <Column id="Data7" type="STRING" size="256"/>
  103. <Column id="Data8" type="STRING" size="256"/>
  104. <Column id="Data9" type="STRING" size="256"/>
  105. <Column id="Data10" type="STRING" size="256"/>
  106. <Column id="pid" type="STRING" size="256"/>
  107. <Column id="spccd" type="STRING" size="256"/>
  108. <Column id="codeflag" type="STRING" size="256"/>
  109. <Column id="rtnid" type="STRING" size="256"/>
  110. <Column id="notipsn" type="STRING" size="256"/>
  111. <Column id="smsbcno" type="STRING" size="256"/>
  112. <Column id="smsuserid" type="STRING" size="256"/>
  113. <Column id="smsmsg" type="STRING" size="256"/>
  114. <Column id="sender" type="STRING" size="256"/>
  115. <Column id="smsgbn" type="STRING" size="256"/>
  116. <Column id="bcno" type="STRING" size="256"/>
  117. <Column id="cnclflag" type="STRING" size="256"/>
  118. <Column id="spcflag" type="STRING" size="256"/>
  119. <Column id="resncd" type="STRING" size="256"/>
  120. <Column id="spcflagdetl" type="STRING" size="256"/>
  121. <Column id="measflag" type="STRING" size="256"/>
  122. <Column id="measfact" type="STRING" size="256"/>
  123. <Column id="spcseq" type="STRING" size="256"/>
  124. <Column id="rsltstat" type="STRING" size="256"/>
  125. <Column id="measflag" type="STRING" size="256"/>
  126. </ColumnInfo>
  127. <Rows>
  128. <Row>
  129. <Col id="Data1"/>
  130. <Col id="Data2"/>
  131. <Col id="Data3"/>
  132. <Col id="Data4"/>
  133. <Col id="Data5"/>
  134. <Col id="Data6"/>
  135. <Col id="Data7"/>
  136. <Col id="Data8"/>
  137. <Col id="Data9"/>
  138. <Col id="Data10"/>
  139. <Col id="pid"/>
  140. <Col id="spccd"/>
  141. <Col id="codeflag"/>
  142. <Col id="rtnid"/>
  143. <Col id="notipsn"/>
  144. <Col id="smsbcno"/>
  145. <Col id="smsuserid"/>
  146. <Col id="smsmsg"/>
  147. <Col id="sender"/>
  148. <Col id="smsgbn"/>
  149. </Row>
  150. </Rows>
  151. </Dataset>
  152. <Dataset id="ds_init_0101" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  153. <ColumnInfo>
  154. <Column id="cd" type="STRING" size="256"/>
  155. <Column id="nm" type="STRING" size="256"/>
  156. </ColumnInfo>
  157. </Dataset>
  158. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  159. <ColumnInfo>
  160. <Column id="cnclflag" type="STRING" size="256"/>
  161. <Column id="bcno" type="STRING" size="256"/>
  162. <Column id="notipsn" type="STRING" size="256"/>
  163. <Column id="spcflag" type="STRING" size="256"/>
  164. <Column id="spcflagdetl" type="STRING" size="256"/>
  165. <Column id="measfact" type="STRING" size="256"/>
  166. <Column id="notidetstat" type="STRING" size="256"/>
  167. <Column id="spcresncd" type="STRING" size="256"/>
  168. <Column id="meafactcd" type="STRING" size="256"/>
  169. <Column id="temp" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. <Rows>
  172. <Row>
  173. <Col id="cnclflag"/>
  174. <Col id="bcno"/>
  175. <Col id="notipsn"/>
  176. <Col id="spcflag"/>
  177. <Col id="spcflagdetl"/>
  178. <Col id="measfact"/>
  179. <Col id="notidetstat"/>
  180. <Col id="spcresncd"/>
  181. <Col id="meafactcd"/>
  182. <Col id="temp"/>
  183. </Row>
  184. </Rows>
  185. </Dataset>
  186. <Dataset id="ds_badspclist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  187. <ColumnInfo>
  188. <Column id="cnclflag" type="STRING" size="256" sumtext="취소구분"/>
  189. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  190. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  191. <Column id="orddept" type="STRING" size="256" sumtext="진료과"/>
  192. <Column id="wardroom" type="STRING" size="256" sumtext="병실"/>
  193. <Column id="notipsn" type="STRING" size="256" sumtext="피통보자"/>
  194. <Column id="notidt" type="STRING" size="256" sumtext="통보시간"/>
  195. <Column id="spcflag" type="STRING" size="256" sumtext="검체상태구분"/>
  196. <Column id="resncd" type="STRING" size="256" sumtext="검체상태구분"/>
  197. <Column id="spcflagdetl" type="STRING" size="256" sumtext="검체상태상세"/>
  198. <Column id="measflag" type="STRING" size="256" sumtext="조치사항"/>
  199. <Column id="measfact" type="STRING" size="256" sumtext="조치사항"/>
  200. <Column id="spcseq" type="STRING" size="256" sumtext="검체순번"/>
  201. <Column id="rsltstat" type="STRING" size="256" sumtext="결과상태"/>
  202. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  203. <Column id="spcstat" type="STRING" size="256" sumtext="검체상태"/>
  204. <Column id="bc" type="STRING" size="256" sumtext="부적합등록여부"/>
  205. <Column id="orddeptnm" type="STRING" size="256"/>
  206. </ColumnInfo>
  207. <Rows>
  208. <Row/>
  209. </Rows>
  210. </Dataset>
  211. <Dataset id="Dataset00" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  212. <ColumnInfo>
  213. <Column id="cnclflag" type="STRING" size="256" sumtext="취소구분"/>
  214. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  215. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  216. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  217. <Column id="wardroom" type="STRING" size="256" sumtext="병실"/>
  218. <Column id="notipsn" type="STRING" size="256" sumtext="피통보자"/>
  219. <Column id="notidt" type="STRING" size="256" sumtext="통보시간"/>
  220. <Column id="spcflag" type="STRING" size="256" sumtext="검체상태구분"/>
  221. <Column id="resncd" type="STRING" size="256" sumtext="검체상태구분"/>
  222. <Column id="spcstatdetl" type="STRING" size="256" sumtext="검체상태상세"/>
  223. <Column id="measflag" type="STRING" size="256" sumtext="조치사항"/>
  224. <Column id="measfact" type="STRING" size="256" sumtext="조치사항"/>
  225. <Column id="Msg" type="STRING" size="256" sumtext="메세지"/>
  226. </ColumnInfo>
  227. </Dataset>
  228. </Objects>
  229. <Bind>
  230. <BindItem id="item0" compid="cmb_cancel" propid="value" datasetid="ds_badspclist" columnid="cnclflag"/>
  231. <BindItem id="item1" compid="cmb_cancelstat" propid="value" datasetid="ds_badspclist" columnid="spcflag"/>
  232. <BindItem id="item2" compid="ipt_bcno" propid="value" datasetid="ds_hidden" columnid="bcno"/>
  233. <BindItem id="item3" compid="opt_patnm" propid="value" datasetid="ds_badspclist" columnid="patnm"/>
  234. <BindItem id="item4" compid="opt_pid" propid="value" datasetid="ds_badspclist" columnid="pid"/>
  235. <BindItem id="item5" compid="opt_orddept" propid="value" datasetid="ds_badspclist" columnid="orddeptnm"/>
  236. <BindItem id="item6" compid="opt_wardroom" propid="value" datasetid="ds_badspclist" columnid="wardroom"/>
  237. <BindItem id="item7" compid="opt_notidt" propid="value" datasetid="ds_badspclist" columnid="notidt"/>
  238. <BindItem id="item8" compid="cmb_spcstat" propid="value" datasetid="ds_badspclist" columnid="resncd"/>
  239. <BindItem id="item9" compid="tar_spcstat" propid="value" datasetid="ds_badspclist" columnid="spcflagdetl"/>
  240. <BindItem id="item10" compid="cmb_measfact" propid="value" datasetid="ds_badspclist" columnid="measflag"/>
  241. <BindItem id="item11" compid="tar_measfact" propid="value" datasetid="ds_badspclist" columnid="measfact"/>
  242. </Bind>
  243. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  244. * System Name :
  245. * Job Name :
  246. * Creator :
  247. * Make Date : 2015-11-09
  248. * Description :
  249. *---------------------------------------------------------------------------------------
  250. * Modify Date Modifier Modify Description
  251. *---------------------------------------------------------------------------------------
  252. * 2015-11-09 Live Converter TF->XP
  253. *
  254. *---------------------------------------------------------------------------------------
  255. ****************************************************************************************/
  256. include "com_commonxp::comm_main.xjs";
  257. function SPLLJ90100_oninit(obj:Form, e:InitEventInfo)
  258. {
  259. frmf_initForm(obj);
  260. }
  261. function SPLLJ90100_onload(obj:Form, e:LoadEventInfo)
  262. {
  263. // Opener에서 받은 Param Pasing
  264. try{
  265. ds_hidden.copyData(arg_ds_hidden);
  266. }catch(e){}
  267. fgetbadspc();
  268. // 부적합취소사유목록 초기정보조회
  269. fGetBadSpcResn();
  270. }
  271. // 부적합 검체 조회
  272. function fgetbadspc()
  273. {
  274. var sendbcno = utlf_transNullToEmpty(ds_hidden.getColumn(0, "bcno"));
  275. // 검체번호 있으면 바로 조회
  276. if( !utlf_isNull(sendbcno))
  277. {
  278. cmb_cancel.enable = true;
  279. if(sendbcno.substr(0,1)=="M")
  280. {
  281. ds_hidden.setColumn(0, "cnclflag", "0");
  282. cmb_cancel.enable = false;
  283. }
  284. //ds_send.setColumn(0, "Data1", sendbcno);
  285. dsf_createDsRow("ds_temp_search", [{col : "bcno", val : sendbcno}]);
  286. var oParam = {};
  287. oParam.id = "TRLLJ90101";
  288. oParam.service = "acptmngtapp.AcptMngt";
  289. oParam.method = "reqGetBadSpc";
  290. oParam.inds = "cond=ds_temp_search";
  291. oParam.outds = "ds_badspclist=getbadspclist";
  292. oParam.async = false;
  293. //oParam.callback = "cf_TRLLJ90101";
  294. tranf_submit(oParam);
  295. //return true;
  296. if(ds_badspclist.rowcount <= 0)
  297. {
  298. sysf_messageBox("검체번호가 잘못 입력되었습니다. 검체내역을 조회 할 수", "E001");
  299. return;
  300. }
  301. ds_badspclist.setColumn(0, "notidt", utlf_getCurrentDate() + utlf_getCurrentTime());
  302. }
  303. if(ds_badspclist.getColumn(0, "bc") != "-")
  304. {
  305. var cnt = ds_init_cmb_measfact.rowcount;
  306. for(i=0; i < parseInt(cnt); i++)
  307. {
  308. if(ds_badspclist.getColumn(0, "measfact").indexOf(cmb_measfact.value) == 0)
  309. {
  310. ds_badspclist.setColumn(0, "measflag", cmb_measfact.value);
  311. }
  312. }
  313. if(ds_badspclist.getColumn(0, "cnclflag") == "1" || ds_badspclist.getColumn(0, "cnclflag") == "2")
  314. {
  315. if(ds_badspclist.getColumn(0, "cnclflag") == "1") // 채혈취소 사유
  316. {
  317. ds_init_0101.filter("etc01 == '01'");
  318. cnt = ds_init_0101.rowcount;
  319. }
  320. else if(ds_badspclist.getColumn(0, "cnclflag") == "2") // 접수취소 사유
  321. {
  322. ds_init_0101.filter("etc01 == '02'");
  323. cnt = ds_init_0101.rowcount;
  324. }
  325. for(i=0; i<parseInt(cnt); i++)
  326. {
  327. if(ds_badspclist.getColumn(0, "measfact").indexOf(cmb_measfact.value) == 0)
  328. {
  329. ds_badspclist.setColumn(0, "measflag", cmb_cancelstat.value);
  330. }
  331. }
  332. }
  333. }
  334. if (sendbcno.length> 0 && (sendbcno.substr(0,1)=="G" || sendbcno.substr(0,1)=="M") )
  335. {
  336. ds_badspclist.setColumn(0, "cnclflag", "0");
  337. }
  338. else if(ds_badspclist.getColumn(0, "spcstat") == "2")
  339. {
  340. ds_badspclist.setColumn(0, "cnclflag", "1");
  341. }
  342. else if(ds_badspclist.getColumn(0, "spcstat") == "3")
  343. {
  344. ds_badspclist.setColumn(0, "cnclflag", "2");
  345. }
  346. else if((ds_badspclist.getColumn(0, "spcstat") == "4") && (ds_badspclist.getColumn(0, "rsltstat") == "-"))
  347. {
  348. ds_badspclist.setColumn(0, "cnclflag", "2");
  349. }
  350. else
  351. {
  352. ds_badspclist.setColumn(0, "cnclflag", "0");
  353. }
  354. if( !utlf_isNull(ds_badspclist.getColumn(0, "bc")))
  355. {
  356. if(ds_badspclist.getColumn(0, "bc") == "-") // 부적합등록안됨
  357. {
  358. btn_cnfm.enable = true;
  359. if( !utlf_isNull(ds_badspclist.getColumn(0, "rsltstat")))
  360. {
  361. if(ds_badspclist.getColumn(0, "rsltstat") != "-")
  362. {
  363. sysf_messageBox("검사결과가 등록되어있습니다. 접수,채혈취소 ", "E001"); // 할 수 없습니다.
  364. ds_badspclist.setColumn(0, "cnclflag", "0");
  365. cmb_cancel.enable = false;
  366. }
  367. }
  368. }
  369. else //부적합등록됨
  370. {
  371. sysf_messageBox("이미 부적합검체로 등록되어있습니다. 부적합검체 등록 ", "E001"); // 할 수 없습니다.
  372. btn_cnfm.enable = false;
  373. return;
  374. }
  375. }
  376. }
  377. // 부적합취소사유목록 초기정보조회
  378. function fGetBadSpcResn()
  379. {
  380. dsf_createDsRow("ds_temp_search", [{col : "codeflag", val : "0101|"}]);
  381. var oParam = {};
  382. oParam.id = "TRLZZ00101";
  383. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  384. oParam.method = "reqGetInitCodeInfo";
  385. oParam.inds = "cond=ds_temp_search";
  386. oParam.outds = "ds_init_0101=0101";
  387. oParam.async = false;
  388. //oParam.callback = "cf_TRLZZ00101";
  389. tranf_submit(oParam);
  390. ds_init_cmb_spcstat.copyData(ds_init_0101);
  391. ds_init_cmb_spcstat.filterstr = "etc01 == '06'";
  392. ds_init_cmb_measfact.copyData(ds_init_0101);
  393. ds_init_cmb_measfact.filterstr = "etc01 == '11'";
  394. ds_init_cmb_cancelstat.copyData(ds_init_0101);
  395. ds_init_cmb_cancelstat.filterstr = "etc01 == '01'";
  396. }
  397. function btn_cnfm_onclick(obj:Button, e:ClickEventInfo)
  398. {
  399. fInsBadSpc();
  400. }
  401. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  402. {
  403. this.close();
  404. }
  405. // 부적합 검체 등록
  406. function fInsBadSpc()
  407. {
  408. if(ds_badspclist.getColumn(0, "bc") != "-")
  409. {
  410. sysf_messageBox("이미 부적합검체로 등록되어있습니다. 부적합검체 등록 ", "E001"); // 할 수 없습니다.
  411. return;
  412. }
  413. if(ds_badspclist.getColumn(0, "cnclflag") == "2") //접수취소 콤보 선택시
  414. {
  415. if(ds_badspclist.getColumn(0, "spcstat") == "4" || ds_badspclist.getColumn(0, "spcstat") == "3") // 접수상태인데
  416. {
  417. if(ds_badspclist.getColumn(0, "rsltstat") != "-") // 결과 있으면
  418. {
  419. sysf_messageBox("결과등록된 상태입니다. 접수취소 ", "E001"); // 할 수 없습니다.
  420. return;
  421. }
  422. }
  423. else
  424. {
  425. sysf_messageBox("접수 상태가 아닙니다. 접수취소 ", "E001"); // 할 수 없습니다.
  426. return;
  427. }
  428. if( utlf_isNull(ds_badspclist.getColumn(0, "spcflag"))) // 접수취소 사유 없는 경우
  429. {
  430. sysf_messageBox("취소 사유를 넣어 주십시요. 진행", "E001");
  431. return;
  432. }
  433. }
  434. else if(ds_badspclist.getColumn(0, "cnclflag") == "1") // 채혈취소 콤보 선택시
  435. {
  436. if(ds_badspclist.getColumn(0, "spcstat") == "4")
  437. {
  438. sysf_messageBox("접수된 검체입니다. 채혈취소 ", "E001"); // 할 수 없습니다.
  439. return;
  440. }
  441. if(utlf_isNull(ds_badspclist.getColumn(0, "spcflag"))) // 채혈취소 사유 없는 경우
  442. {
  443. sysf_messageBox("취소 사유를 넣어 주십시요. 진행", "E001");
  444. return;
  445. }
  446. }
  447. if(ds_badspclist.getColumn(0, "resncd") == "06000" || utlf_isNull(ds_badspclist.getColumn(0, "resncd")))
  448. {
  449. sysf_messageBox("부적격 사유를 선택하세요", "E");
  450. return;
  451. }
  452. if(ds_badspclist.getColumn(0, "measflag") == "11000" || utlf_isNull(ds_badspclist.getColumn(0, "measflag")))
  453. {
  454. sysf_messageBox("부적격 조치 사유를 선택하세요", "E");
  455. return;
  456. }
  457. if( utlf_isNull(ds_badspclist.getColumn(0, "resncd"))
  458. || utlf_isNull(ds_badspclist.getColumn(0, "spcflagdetl"))
  459. || utlf_isNull(ds_badspclist.getColumn(0, "measfact")))
  460. {
  461. sysf_messageBox("모든 입력을 해주십시오 진행", "E001");
  462. return;
  463. }
  464. // ds_send.setColumn(0, "Data1", ds_hidden.getColumn(0, "bcno"));
  465. // ds_send.setColumn(0, "Data2", ds_badspclist.getColumn(0, "cnclflag"));
  466. // ds_send.setColumn(0, "Data3", "-");
  467. // ds_send.setColumn(0, "Data4", ds_badspclist.getColumn(0, "spcflag"));
  468. // ds_send.setColumn(0, "Data5", ds_badspclist.getColumn(0, "resncd"));
  469. // ds_send.setColumn(0, "Data6", ds_badspclist.getColumn(0, "spcflagdetl"));
  470. // ds_send.setColumn(0, "Data7", ds_badspclist.getColumn(0, "measflag"));
  471. // ds_send.setColumn(0, "Data8", ds_badspclist.getColumn(0, "measfact"));
  472. // ds_send.setColumn(0, "Data9", ds_badspclist.getColumn(0, "spcseq"));
  473. // ds_send.setColumn(0, "Data10", ds_badspclist.getColumn(0, "rsltstat"));
  474. // ds_send.setColumn(0, "pid", ds_badspclist.getColumn(0, "pid"));
  475. // ds_send.setColumn(0, "spccd", ds_badspclist.getColumn(0, "spccd"));
  476. // ds_send.setColumn(0, "rtnid", ds_badspclist.getColumn(0, "notipsn"));
  477. // ds_send.setColumn(0, "notipsn", "-");
  478. ds_send.setColumn(0, "bcno", ds_hidden.getColumn(0, "bcno"));
  479. ds_send.setColumn(0, "cnclflag", ds_badspclist.getColumn(0, "cnclflag"));
  480. //ds_send.setColumn(0, "Data3", "-");
  481. ds_send.setColumn(0, "spcflag", ds_badspclist.getColumn(0, "spcflag"));
  482. ds_send.setColumn(0, "resncd", ds_badspclist.getColumn(0, "resncd"));
  483. ds_send.setColumn(0, "spcflagdetl", ds_badspclist.getColumn(0, "spcflagdetl"));
  484. ds_send.setColumn(0, "measflag", ds_badspclist.getColumn(0, "measflag"));
  485. ds_send.setColumn(0, "measfact", ds_badspclist.getColumn(0, "measfact"));
  486. ds_send.setColumn(0, "spcseq", ds_badspclist.getColumn(0, "spcseq"));
  487. ds_send.setColumn(0, "rsltstat", ds_badspclist.getColumn(0, "rsltstat"));
  488. ds_send.setColumn(0, "pid", ds_badspclist.getColumn(0, "pid"));
  489. ds_send.setColumn(0, "spccd", ds_badspclist.getColumn(0, "spccd"));
  490. ds_send.setColumn(0, "rtnid", ds_badspclist.getColumn(0, "notipsn"));
  491. ds_send.setColumn(0, "notipsn", "-");
  492. if( utlf_isNull(ds_badspclist.getColumn(0, "notipsn")))
  493. {
  494. ds_send.setColumn(0, "rtnid", "-");
  495. }
  496. var oParam = {};
  497. oParam.id = "TXLLJ90101";
  498. oParam.service = "acptmngtapp.AcptMngt";
  499. oParam.method = "reqInsBadSpc";
  500. oParam.inds = "cond=ds_send";
  501. oParam.outds = "ds_badspclist=getbadspclistref";
  502. oParam.async = false;
  503. oParam.callback = "cf_TXLLJ90101";
  504. tranf_submit(oParam);
  505. }
  506. function cf_TXLLJ90101(sSvcId, nErrorCode, sErrorMsg) {
  507. if(nErrorCode < 0) return;
  508. this.close();
  509. }
  510. function ipt_bcno_onkeyup(obj:Edit, e:KeyEventInfo)
  511. {
  512. if(e.keycode == 13)
  513. {
  514. ds_hidden.setColumn(0, "bcno", (ipt_bcno.text).toUpperCase());
  515. if(ds_hidden.getColumn(0, "bcno").substr(0, 1) == "O" )
  516. {
  517. alert("외래바코드 입니다. 검체취소시 주의요망!");
  518. }
  519. fgetbadspc();
  520. }
  521. }
  522. function cmb_spcstat_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  523. {
  524. var nm = cmb_spcstat.text;
  525. ds_badspclist.setColumn(0,"spcflagdetl", nm);
  526. }
  527. function cmb_measfact_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  528. {
  529. var nm = cmb_measfact.text;
  530. ds_badspclist.setColumn(0,"measfact", nm);
  531. }
  532. function ipt_bcno_onkeydown(obj:Edit, e:KeyEventInfo)
  533. {
  534. if(e.keycode == 13)
  535. {
  536. ds_hidden.setColumn(0, "bcno", (ipt_bcno.text).toUpperCase());
  537. if(ds_hidden.getColumn(0, "bcno").substr(0, 1) == "O" )
  538. {
  539. alert("외래바코드 입니다. 검체취소시 주의요망!");
  540. }
  541. fgetbadspc();
  542. }
  543. }
  544. ]]></Script>
  545. </Form>
  546. </FDL>