SMLQF10600_핵의학QC물질관리.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQF10600" position="absolute 0 0 1201 762" titletext="New Form" oninit="SMLQF10600_oninit" onload="SMLQF10600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="Standard 및 Control 관리" class="tit_1" position="absolute 0 0 264 23"/>
  8. <Shape id="line2" class="line_2" position="absolute 0 23 1194 29" anchor="left top right"/>
  9. <Button id="btn_save" taborder="1" text="저장" class="btn4" position="absolute 1068 28 1124 50" anchor="top right" onclick="btn_save_onclick"/>
  10. <Button id="btn_init" taborder="2" text="초기화" class="btn4" position="absolute 1127 28 1195 50" anchor="top right" onclick="btn_init_onclick"/>
  11. <Shape id="line1" class="line_10" position="absolute 0 110 1194 116" anchor="left top right"/>
  12. <Static id="caption1" text="Control 목록" class="tit_2" position="absolute 0 94 172 116"/>
  13. <Div id="group2" taborder="3" class="div_SA" position="absolute 0 51 1195 86" anchor="left top right">
  14. <Layouts>
  15. <Layout>
  16. <Static id="caption5" text="조회구분 :" class="search_name" position="absolute 15 9 101 26"/>
  17. <Button id="btn_ref" taborder="1" text="조회" class="btn1" position="absolute 1123 7 1180 29" anchor="top right"/>
  18. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1105 6 1111 28" anchor="top right"/>
  19. <Combo id="cmb_refflag" taborder="2" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_s_essential" position="absolute 106 8 226 27" onitemchanged="group2_cmb_refflag_onitemchanged">
  20. <Dataset id="innerdataset">
  21. <ColumnInfo>
  22. <Column id="codecolumn"/>
  23. <Column id="datacolumn"/>
  24. </ColumnInfo>
  25. <Rows>
  26. <Row>
  27. <Col id="codecolumn">1</Col>
  28. <Col id="datacolumn">사용자료</Col>
  29. </Row>
  30. <Row>
  31. <Col id="codecolumn">2</Col>
  32. <Col id="datacolumn">전체자료</Col>
  33. </Row>
  34. </Rows>
  35. </Dataset>
  36. </Combo>
  37. <Edit id="ipt_searchtext" taborder="3" class="input_s_button" position="absolute 973 9 1093 28" autoselect="true" autoskip="true" inputmode="upper" onkeyup="group2_ipt_searchtext_onkeyup"/>
  38. <Static id="caption7" text="검색구분 :" class="search_name" position="absolute 760 10 846 27"/>
  39. <Combo id="cmb_searchflag" taborder="4" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_search" position="absolute 850 9 970 28">
  40. <Dataset id="innerdataset">
  41. <ColumnInfo>
  42. <Column id="codecolumn"/>
  43. <Column id="datacolumn"/>
  44. </ColumnInfo>
  45. <Rows>
  46. <Row>
  47. <Col id="codecolumn">1</Col>
  48. <Col id="datacolumn">Control 코드</Col>
  49. </Row>
  50. <Row>
  51. <Col id="codecolumn">2</Col>
  52. <Col id="datacolumn">Control 명</Col>
  53. </Row>
  54. </Rows>
  55. </Dataset>
  56. </Combo>
  57. </Layout>
  58. </Layouts>
  59. </Div>
  60. <Grid id="grd_matlist" taborder="4" binddataset="ds_main_getmatlist" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 115 1194 759" anchor="all">
  61. <Formats>
  62. <Format id="default">
  63. <Columns>
  64. <Column size="21"/>
  65. <Column size="150"/>
  66. <Column size="141"/>
  67. <Column size="100"/>
  68. <Column size="100"/>
  69. <Column size="200"/>
  70. <Column size="100"/>
  71. <Column size="100"/>
  72. <Column size="0"/>
  73. <Column size="100"/>
  74. <Column size="100"/>
  75. <Column size="0"/>
  76. <Column size="0"/>
  77. </Columns>
  78. <Rows>
  79. <Row size="24" band="head"/>
  80. <Row size="24"/>
  81. </Rows>
  82. <Band id="head">
  83. <Cell/>
  84. <Cell col="1" text="Control 코드"/>
  85. <Cell col="2" text="Standard 및 Control수"/>
  86. <Cell col="3" text=" 사용시작일자"/>
  87. <Cell col="4" text="사용종료일자"/>
  88. <Cell col="5" text="Control 명"/>
  89. <Cell col="6" text="입고일자"/>
  90. <Cell col="7" text="Lot번호"/>
  91. <Cell col="8" text="OnCall Lot번호"/>
  92. <Cell col="9" text="제조회사"/>
  93. <Cell col="10" text="제조일자"/>
  94. <Cell col="11" text="라벨명"/>
  95. <Cell col="12" text="IF연동코드"/>
  96. </Band>
  97. <Band id="body">
  98. <Cell celltype="head" expr="currow+1"/>
  99. <Cell col="1" displaytype="text" edittype="text" style="align:left middle;" text="bind:matrcd"/>
  100. <Cell col="2" displaytype="combo" edittype="combo" style="align:left middle;" text="bind:levlcd" combodataset="ds_init_lb0501" combocodecol="cd" combodatacol="nm"/>
  101. <Cell col="3" displaytype="date" edittype="date" style="align:left middle;" text="bind:matrfromdd" calendardisplaynulltype="nulltext"/>
  102. <Cell col="4" displaytype="date" style="align:left middle;" text="bind:matrtodd" calendardisplaynulltype="nulltext"/>
  103. <Cell col="5" displaytype="text" edittype="text" style="align:left middle;" text="bind:matrnm"/>
  104. <Cell col="6" displaytype="date" edittype="date" style="align:left middle;" text="bind:windt" calendardisplaynulltype="nulltext"/>
  105. <Cell col="7" displaytype="text" edittype="text" style="align:left middle;" text="bind:lotno"/>
  106. <Cell col="8" displaytype="text" edittype="text" style="align:left middle;" text="bind:oclotno"/>
  107. <Cell col="9" displaytype="text" edittype="text" style="align:left middle;" text="bind:prodcmpy"/>
  108. <Cell col="10" displaytype="date" edittype="date" style="align:left middle;" text="bind:proddt" calendardisplaynulltype="nulltext"/>
  109. <Cell col="11" displaytype="text" edittype="text" text="bind:levlnm"/>
  110. <Cell col="12" displaytype="text" edittype="text" text="bind:matrifcd"/>
  111. </Band>
  112. </Format>
  113. </Formats>
  114. </Grid>
  115. <Button id="btn_addrow" taborder="5" text="행추가" class="btn2" position="absolute 1141 91 1194 110" anchor="top right" onclick="btn_addrow_onclick"/>
  116. <Button id="btn_end" taborder="6" text="종료" class="btn2" position="absolute 1096 91 1138 110" anchor="top right" onclick="btn_end_onclick"/>
  117. <Button id="button1" taborder="7" text="Control변경" class="btn2" visible="false" position="absolute 987 91 1073 110" anchor="top right" onclick="button1_onclick"/>
  118. </Layout>
  119. </Layouts>
  120. <Objects>
  121. <Dataset id="ds_main_getmatlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  122. <ColumnInfo>
  123. <Column id="matrcd" type="STRING"/>
  124. <Column id="levlcd" type="STRING"/>
  125. <Column id="matrfromdd" type="STRING"/>
  126. <Column id="matrtodd" type="STRING"/>
  127. <Column id="matrnm" type="STRING"/>
  128. <Column id="windt" type="STRING"/>
  129. <Column id="lotno" type="STRING"/>
  130. <Column id="oclotno" type="STRING"/>
  131. <Column id="prodcmpy" type="STRING"/>
  132. <Column id="proddt" type="STRING"/>
  133. <Column id="levlnm" type="STRING"/>
  134. <Column id="matrifcd" type="STRING"/>
  135. </ColumnInfo>
  136. </Dataset>
  137. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  138. <ColumnInfo>
  139. <Column id="userdeptcd" type="STRING" size="256"/>
  140. <Column id="searchtext" type="STRING" size="256"/>
  141. <Column id="searchflag" type="STRING" size="256"/>
  142. <Column id="refflag" type="STRING" size="256"/>
  143. </ColumnInfo>
  144. <Rows>
  145. <Row/>
  146. </Rows>
  147. </Dataset>
  148. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  149. <ColumnInfo>
  150. <Column id="cd" type="STRING" size="256"/>
  151. <Column id="nm" type="STRING" size="256"/>
  152. </ColumnInfo>
  153. </Dataset>
  154. <Dataset id="ds_init_lb0501" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  155. <ColumnInfo>
  156. <Column id="cd" type="STRING" size="256"/>
  157. <Column id="nm" type="STRING" size="256"/>
  158. </ColumnInfo>
  159. </Dataset>
  160. <Dataset id="ds_hidden_temp_getmatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  161. <ColumnInfo>
  162. <Column id="matrcd" type="STRING"/>
  163. <Column id="levlcd" type="STRING"/>
  164. <Column id="matrfromdd" type="STRING"/>
  165. <Column id="matrtodd" type="STRING"/>
  166. <Column id="matrnm" type="STRING"/>
  167. <Column id="windt" type="STRING"/>
  168. <Column id="lotno" type="STRING"/>
  169. <Column id="oclotno" type="STRING"/>
  170. <Column id="prodcmpy" type="STRING"/>
  171. <Column id="proddt" type="STRING"/>
  172. <Column id="levlnm" type="STRING"/>
  173. <Column id="matrifcd" type="STRING"/>
  174. </ColumnInfo>
  175. <Rows>
  176. <Row/>
  177. </Rows>
  178. </Dataset>
  179. <Dataset id="ds_tmp_addcontrol" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  180. <ColumnInfo>
  181. <Column id="levlcd" type="STRING" size="256"/>
  182. <Column id="matrcd" type="STRING" size="256"/>
  183. </ColumnInfo>
  184. </Dataset>
  185. </Objects>
  186. <Bind>
  187. <BindItem id="item0" compid="group2.cmb_refflag" propid="value" datasetid="ds_hidden" columnid="refflag"/>
  188. <BindItem id="item1" compid="group2.cmb_searchflag" propid="value" datasetid="ds_hidden" columnid="searchflag"/>
  189. <BindItem id="item2" compid="group2.ipt_searchtext" propid="value" datasetid="ds_hidden" columnid="searchtext"/>
  190. </Bind>
  191. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  192. * System Name :
  193. * Job Name :
  194. * Creator :
  195. * Make Date : 2015-11-13
  196. * Description :
  197. *---------------------------------------------------------------------------------------
  198. * Modify Date Modifier Modify Description
  199. *---------------------------------------------------------------------------------------
  200. * 2015-11-13 Live Converter TF->XP
  201. *
  202. *---------------------------------------------------------------------------------------
  203. ****************************************************************************************/
  204. include "com_commonxp::comm_main.xjs";
  205. include "lis_commonxp::LLZ001.xjs";
  206. function SMLQF10600_oninit(obj:Form, e:InitEventInfo)
  207. {
  208. frmf_initForm(obj);
  209. }
  210. function SMLQF10600_onload(obj:Form, e:LoadEventInfo)
  211. {
  212. grdf_initGrid(grd_matlist);
  213. fSetInit();
  214. }
  215. function fSetInit()
  216. {
  217. lf_getDbDeptcd("0000|", "")
  218. dsf_createDsRow("ds_send", [{col:"basecdid", type:"STRING", size:256 , val : ds_init_lb0000.getColumn(0, "nm")}
  219. , {col:"codeflag", type:"STRING", size:256 , val : "0501|"}]);
  220. var oParam = {};
  221. oParam.id = "TRLZZ00101";
  222. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  223. oParam.method = "reqGetInitCodeInfo";
  224. oParam.inds = "cond=ds_send";
  225. oParam.outds = "ds_init_lb0501=0501";
  226. oParam.async = false;
  227. //oParam.callback = "cf_TRLZZ00101";
  228. tranf_submit(oParam);
  229. ds_hidden.setColumn(0, "refflag", "1");
  230. ds_hidden.setColumn(0, "searchflag", "1");
  231. ds_hidden.setColumn(0, "searchtext", "");
  232. grd_matlist.setFormatColProperty(4, "size", 0)
  233. ds_main_getmatlist.clearData();
  234. fGetMatList();
  235. }
  236. function fGetMatList()
  237. {
  238. ds_hidden.setColumn(0, "userdeptcd", ds_init_lb0000.getColumn(0, "nm"));
  239. var oParam = {};
  240. oParam.id = "TRLQF00601";
  241. oParam.service = "grademngtbasemngtapp.QCMaterialMngt";
  242. oParam.method = "reqGetMat";
  243. oParam.inds = "cond=ds_hidden";
  244. oParam.outds = "ds_main_getmatlist=getMat";
  245. oParam.async = false;
  246. //oParam.callback = "cf_TRLQF00601";
  247. tranf_submit(oParam);
  248. }
  249. function group2_cmb_refflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  250. {
  251. if(obj.value == "2")
  252. {
  253. grd_matlist.setFormatColProperty(4, "size", 100);
  254. }
  255. else
  256. {
  257. grd_matlist.setFormatColProperty(4, "size", 0);
  258. }
  259. }
  260. function group2_ipt_searchtext_onkeyup(obj:Edit, e:KeyEventInfo)
  261. {
  262. if(e.keycode == 13)
  263. {
  264. obj.updateToDataset();
  265. fKeyEvent();
  266. }
  267. }
  268. function fKeyEvent()
  269. {
  270. fGetMatList();
  271. }
  272. function button1_onclick(obj:Button, e:ClickEventInfo)
  273. {
  274. fAddRow2();
  275. }
  276. function btn_end_onclick(obj:Button, e:ClickEventInfo)
  277. {
  278. fEndMat();
  279. }
  280. function btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  281. {
  282. fAddRow();
  283. }
  284. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  285. {
  286. fInsMat();
  287. }
  288. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  289. {
  290. this.reload();
  291. }
  292. function fAddRow2()
  293. {
  294. ds_hidden_temp_getmatlist.copyRow(0, ds_main_getmatlist, ds_main_getmatlist.rowposition);
  295. fEndMat();
  296. var addRow = ds_main_getmatlist.addRow();
  297. ds_main_getmatlist.setColumn(addRow, "matrcd", ds_hidden_temp_getmatlist.getColumn(0, "matrcd"));
  298. ds_main_getmatlist.setColumn(addRow, "levlcd", ds_hidden_temp_getmatlist.getColumn(0, "levlcd"));
  299. ds_main_getmatlist.setColumn(addRow, "matrnm", ds_hidden_temp_getmatlist.getColumn(0, "matrnm"));
  300. var fromdate = utlf_getCurrentDate().toDate("YYYYMMDD").getAddDate(1);
  301. ds_main_getmatlist.setColumn(addRow, "matrfromdd", fromdate.getDateFormat("YYYYMMDD"));
  302. ds_main_getmatlist.setColumn(addRow, "matrtodd", "99991231");
  303. ds_main_getmatlist.setColumn(addRow, "windt", utlf_getCurrentDate());
  304. ds_main_getmatlist.setColumn(addRow, "lotno", "-");
  305. ds_main_getmatlist.setColumn(addRow, "prodcmpy", "-");
  306. ds_main_getmatlist.setColumn(addRow, "proddt", "19000101");
  307. ds_main_getmatlist.setColumn(addRow, "matrifcd", "-");
  308. }
  309. function fEndMat()
  310. {
  311. ds_main_getmatlist.updatecontrol = false;
  312. ds_main_getmatlist.setRowType(ds_main_getmatlist.rowposition, "d");
  313. ds_main_getmatlist.updatecontrol = true;
  314. ds_hidden.setColumn(0, "userdeptcd", ds_init_lb0000.getColumn(0, "nm"));
  315. var oParam = {};
  316. oParam.id = "TXLQF00602";
  317. oParam.service = "grademngtbasemngtapp.QCMaterialMngt";
  318. oParam.method = "reqExeMat";
  319. oParam.inds = "grid=ds_main_getmatlist:u cond=ds_hidden";
  320. oParam.async = false;
  321. //oParam.callback = "cf_TXLQF00602";
  322. tranf_submit(oParam);
  323. fGetMatList();
  324. }
  325. function fAddRow()
  326. {
  327. frmf_modal("SPLQF10100", "SPLQF10100", "", "", "", "", "", "", "", "", "", "", "M");
  328. var levlcd = ds_tmp_addcontrol.getColumn(0, "levlcd");
  329. var matrcd = ds_tmp_addcontrol.getColumn(0, "matrcd");
  330. var levlcdsplit = levlcd.split("@");
  331. var levlcdcount = levlcdsplit.length;
  332. if(levlcdcount > 0)
  333. {
  334. for(var i = 0 ; i < levlcdcount-1 ; i++)
  335. {
  336. var row = ds_main_getmatlist.addRow();
  337. ds_main_getmatlist.setColumn(row, "matrfromdd", utlf_getCurrentDate());
  338. ds_main_getmatlist.setColumn(row, "matrtodd", "99991231");
  339. ds_main_getmatlist.setColumn(row, "windt", utlf_getCurrentDate());
  340. ds_main_getmatlist.setColumn(row, "lotno", "-");
  341. ds_main_getmatlist.setColumn(row, "prodcmpy", "-");
  342. ds_main_getmatlist.setColumn(row, "proddt", "19000101");
  343. ds_main_getmatlist.setColumn(row, "matrifcd", "-");
  344. ds_main_getmatlist.setColumn(row, "levlcd", levlcdsplit[i]);
  345. ds_main_getmatlist.setColumn(row, "matrcd", matrcd);
  346. }
  347. }
  348. }
  349. function fInsMat()
  350. {
  351. var row = ds_main_getmatlist.rowcount;
  352. for(var i = 0; i < row; i++)
  353. {
  354. if(ds_main_getmatlist.getRowType(i) == 2)
  355. {
  356. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "matrcd")))
  357. {
  358. sysf_messageBox("QC물질 코드는", "I003");
  359. return;
  360. }
  361. else if(utlf_isNull(ds_main_getmatlist.getColumn(i, "levlcd")))
  362. {
  363. sysf_messageBox("레벨코드는", "I003");
  364. return;
  365. }
  366. else if(utlf_isNull(ds_main_getmatlist.getColumn(i, "matrfromdd")))
  367. {
  368. sysf_messageBox("사용시작일자는", "I003");
  369. return;
  370. }
  371. else if(utlf_isNull(ds_main_getmatlist.getColumn(i, "matrnm")))
  372. {
  373. sysf_messageBox("QC물질명은", "I003");
  374. return;
  375. }
  376. else if(utlf_isNull(ds_main_getmatlist.getColumn(i, "matrtodd")))
  377. {
  378. if(ds_hidden.getColumn(0, "refflag") == "2")
  379. {
  380. sysf_messageBox("사용종료일자는", "I003");
  381. return;
  382. }
  383. else
  384. {
  385. ds_main_getmatlist.setColumn(i, "matrtodd", "99991231");
  386. }
  387. }
  388. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "windt")))
  389. {
  390. ds_main_getmatlist.setColumn(i, "windt", utlf_getCurrentDate());
  391. }
  392. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "lotno")))
  393. {
  394. ds_main_getmatlist.setColumn(i, "lotno", "-");
  395. }
  396. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "oclotno")))
  397. {
  398. ds_main_getmatlist.setColumn(i, "oclotno", "-");
  399. }
  400. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "prodcmpy")))
  401. {
  402. ds_main_getmatlist.setColumn(i, "prodcmpy", "-");
  403. }
  404. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "proddt")))
  405. {
  406. ds_main_getmatlist.setColumn(i, "proddt", "19000101");
  407. }
  408. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "matrifcd")))
  409. {
  410. ds_main_getmatlist.setColumn(i, "matrifcd", "-");
  411. }
  412. if(utlf_isNull(ds_main_getmatlist.getColumn(i, "levlnm")))
  413. {
  414. var cd = ds_main_getmatlist.getColumn(i, "levlcd")
  415. ds_main_getmatlist.setColumn(i, "levlnm", ds_init_lb0501.lookup("cd", cd, "etc01"));
  416. }
  417. }
  418. }
  419. ds_hidden.setColumn(0, "userdeptcd", ds_init_lb0000.getColumn(0, "nm"));
  420. var oParam = {};
  421. oParam.id = "TXLQF00601";
  422. oParam.service = "grademngtbasemngtapp.QCMaterialMngt";
  423. oParam.method = "reqInsMat";
  424. oParam.inds = "grid=ds_main_getmatlist:U cond=ds_hidden";
  425. oParam.async = false;
  426. //oParam.callback = "cf_TXLQF00601";
  427. tranf_submit(oParam);
  428. fGetMatList();
  429. }]]></Script>
  430. </Form>
  431. </FDL>