SMLLF01800_중복검사코드관리.xrw 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLF01800_중복검사코드관리.xrw
  4. * 설 명 : 검사결과코드관리
  5. * 설 계 자 : (주)에이씨케이 - 윤재한
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2007. 07. 18
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>중복검사코드관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <gettestcdlist>
  20. <tclscd/>
  21. <tclsnm/>
  22. <tclskind/>
  23. <dutlcd/>
  24. </gettestcdlist>
  25. <getdupltestlist>
  26. <dupltclscd/>
  27. <tclsnm/>
  28. <tclskind/>
  29. <dupltestfromdd/>
  30. <dupltesttodd/>
  31. </getdupltestlist>
  32. <gettestlist>
  33. <choi/>
  34. <tclscd/>
  35. <tclsnm/>
  36. <tclskind/>
  37. <lvl/>
  38. </gettestlist>
  39. </main>
  40. <send>
  41. <codeflag/>
  42. <testlrgcd/>
  43. <testmdlcd/>
  44. <tclscd/>
  45. <testcdlistdata/>
  46. <dupltestlistdata/>
  47. <userdeptflagcd/>
  48. <refflag>1</refflag>
  49. </send>
  50. <init>
  51. </init>
  52. <hidden>
  53. <ref>
  54. <testlrgcd/>
  55. <testmdl>
  56. <cd/>
  57. <nm/>
  58. </testmdl>
  59. <tlrgcd/>
  60. <tmdl>
  61. <cd/>
  62. <nm/>
  63. </tmdl>
  64. </ref>
  65. </hidden>
  66. </root>
  67. </instance>
  68. <script type="javascript" ev:event="xforms-ready">
  69. <![CDATA[
  70. fSetInit();
  71. ]]>
  72. </script>
  73. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  75. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  76. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0111"/>
  77. <submission id="TRLLF01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/gettestlist"/>
  78. <submission id="TRLLF01802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/gettestcdlist"/>
  79. <submission id="TRLLF01803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getdupltestlist"/>
  80. <submission id="TXLLF01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  81. </model>
  82. <script type="javascript">
  83. <![CDATA[
  84. //초기화
  85. function fSetInit() {
  86. model.setValue("/root/hidden/ref/testlrgcd", "00");
  87. model.setValue("/root/hidden/ref/testmdl/cd", "00");
  88. model.setValue("/root/hidden/ref/tlrgcd", "00");
  89. model.setValue("/root/hidden/ref/tmdl/cd", "00");
  90. // 초기정보 조회
  91. model.setValue("/root/send/codeflag", "0104|0102|0000|"); //0104 대분류 | 0102 중부류
  92. submit("TRLZZ00101");
  93. //검사목록 조회
  94. fTestList();
  95. model.removeNodeset("/root/main/gettestcdlist");
  96. grd_testcdlist.refresh();
  97. model.removeNodeset("/root/main/getdupltestlist");
  98. grd_dupltestlist.refresh();
  99. model.refresh();
  100. }
  101. //검사분류 초기정보 조회
  102. function fSetTestLrgCd() {
  103. var etc = model.getvalue("/root/hidden/ref/testlrgcd");
  104. if(etc == "00"){
  105. cmb_testmdlcd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  106. model.setValue("/root/hidden/ref/testmdl/cd" , "00");
  107. }
  108. else{
  109. model.setValue("/root/hidden/ref/testmdl/cd" , "00");
  110. cmb_testmdlcd.choices.itemset.attribute("nodeset") = "/root/init/LB0102[cd= '00' or etc01='"+ etc +"']";
  111. }
  112. fTestList();
  113. model.refresh();
  114. }
  115. function fSetTLrgCd() {
  116. var etc = model.getvalue("/root/hidden/ref/tlrgcd");
  117. if(etc == "00"){
  118. cmd_tmdlcd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  119. model.setValue("/root/hidden/ref/tmdl/cd" , "00");
  120. }
  121. else{
  122. model.setValue("/root/hidden/ref/tmdl/cd" , "00");
  123. cmd_tmdlcd.choices.itemset.attribute("nodeset") = "/root/init/LB0102[cd= '00' or etc01='"+ etc +"']";
  124. }
  125. model.refresh();
  126. fGetTestCdList();
  127. }
  128. //초기시 검사목록 조회
  129. function fTestList() {
  130. model.setValue("/root/send/testmdlcd", model.getValue("/root/hidden/ref/testmdl/cd"));
  131. model.setValue("/root/send/testlrgcd", model.getValue("/root/hidden/ref/testlrgcd"));
  132. model.setValue("/root/send/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  133. submit("TRLLF01801");
  134. setTree(grd_testlist, 5, 2);
  135. }
  136. //검사코드 목록 조회
  137. function fGetTestCdList() {
  138. model.setValue("/root/send/testlrgcd", model.getValue("/root/hidden/ref/tlrgcd"));
  139. model.setValue("/root/send/testmdlcd", model.getValue("/root/hidden/ref/tmdl/cd"));
  140. model.setValue("/root/send/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  141. submit("TRLLF01802");
  142. //검사목록 조회
  143. model.setValue("/root/hidden/ref/testlrgcd", model.getValue("/root/hidden/ref/tlrgcd"));
  144. model.setValue("/root/hidden/ref/testmdl/cd", model.getValue("/root/hidden/ref/tmdl/cd"));
  145. fTestList();
  146. model.refresh();
  147. }
  148. //중복검사목록 조회
  149. function fGetDuplTestList() {
  150. model.setValue("/root/send/tclscd", model.getValue("/root/main/gettestcdlist["+ grd_testcdlist.row +"]/tclscd"));
  151. model.setValue("/root/send/userdeptflagcd", model.getValue("/root/init/LB0000/nm"));
  152. submit("TRLLF01803");
  153. model.refresh();
  154. }
  155. //중복검사목록으로 올리기
  156. function fSetDuplTestList() {
  157. //선택된 항목만 걍 넘기게 수정 20100701 중복검사 이력관리 기능 구현중 승현
  158. if(model.getValue("/root/send/refflag") == "1"){
  159. messageBox("추가나 변경작업을 하실경우엔 전체자료로 조회 후 작업하세요", "I");
  160. return;
  161. }
  162. var sTclscd = model.getValue("/root/main/gettestcdlist["+ grd_testcdlist.row +"]/tclscd"); //검사코드 목록의 검사코드(메인)
  163. var sUpTclscd;
  164. var sDate = getCurrentDate();
  165. for(i=1; i< grd_testlist.rows; i++){
  166. //선택된 항목 중
  167. if(model.getValue("/root/main/gettestlist["+ i +"]/choi") == "Y") {
  168. sUpTclscd = model.getValue("/root/main/gettestlist["+ i +"]/tclscd");
  169. //이미 등록된 검사 코드 및 종료일자가 현재일보다 크거나 같은 항목은 등록 x
  170. if(model.getXPathValue('count(/root/main/getdupltestlist[dupltclscd = "' + sUpTclscd + '" and dupltesttodd >= "' + sDate + '"])') > 0){
  171. messageBox(model.getValue("/root/main/gettestlist["+ i +"]/tclsnm") + " 항목이 이미 존재 합니다", "E");
  172. }else{
  173. grd_dupltestlist.addRow(false);
  174. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/dupltclscd", sUpTclscd);
  175. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/tclsnm", model.getValue("/root/main/gettestlist["+ i +"]/tclsnm"));
  176. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/tclskind", model.getValue("/root/main/gettestlist["+ i +"]/tclskind"));
  177. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/tclscd", sTclscd);
  178. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/dupltestfromdd", sDate);
  179. model.makeValue("/root/main/getdupltestlist["+ (grd_dupltestlist.rows -1) +"]/dupltesttodd", "99991231");
  180. }
  181. }
  182. }
  183. /*
  184. var row = grd_dupltestlist.rows;
  185. var bfcheck = 0;
  186. var drow = model.getValue("/root/main/gettestcdlist["+ grd_testcdlist.row +"]/tclscd");
  187. for(i=1; i< grd_testlist.rows; i++){
  188. var fcheck = grd_testlist.findRow("Y", i, 1, false, true);
  189. if(fcheck == -1 ) {
  190. return;
  191. }
  192. i = fcheck;
  193. if(model.getValue("/root/main/gettestlist["+ fcheck +"]/lvl") == 2) {
  194. var tcd= model.getValue("/root/main/gettestlist["+ fcheck +"]/tclscd");
  195. var trow = grd_dupltestlist.findRow(tcd, 1, 1, false, false);
  196. if(trow > 0){
  197. messageBox("코드 선택이", "E006");
  198. } else {
  199. grd_testcdlist.rowStatus(grd_testcdlist.row) = 1;
  200. grd_dupltestlist.addRow(false);
  201. model.makeNode("/root/main/getdupltestlist["+row+"]");
  202. model.setValue("/root/main/getdupltestlist["+row+"]/dupltclscd", model.getValue("/root/main/gettestlist["+ fcheck +"]/tclscd"));
  203. model.setValue("/root/main/getdupltestlist["+row+"]/tclsnm", model.getValue("/root/main/gettestlist["+ fcheck +"]/tclsnm"));
  204. model.setValue("/root/main/getdupltestlist["+row+"]/tclskind", model.getValue("/root/main/gettestlist["+ fcheck +"]/tclskind"));
  205. model.setValue("/root/main/getdupltestlist["+row+"]/tclscd", drow);
  206. row++;
  207. model.refresh();
  208. }
  209. } else {
  210. for(j = fcheck; j <grd_testlist.rows; j++) {
  211. if(model.getValue("/root/main/gettestlist["+ (j + 1) +"]/lvl") == 1) {
  212. var tcd= model.getValue("/root/main/gettestlist["+ j +"]/tclscd");
  213. var trow = grd_dupltestlist.findRow(tcd, 1, 1, false, false);
  214. var drow = model.getValue("/root/main/gettestcdlist["+ grd_testcdlist.row +"]/tclscd");
  215. if(trow > 0 || drow == tcd){
  216. break;
  217. } else {
  218. grd_testcdlist.rowStatus(grd_testcdlist.row) = 1;
  219. grd_dupltestlist.addRow(false);
  220. model.makeNode("/root/main/getdupltestlist["+row+"]");
  221. model.setValue("/root/main/getdupltestlist["+row+"]/dupltclscd", model.getValue("/root/main/gettestlist["+ j +"]/tclscd"));
  222. model.setValue("/root/main/getdupltestlist["+row+"]/tclsnm", model.getValue("/root/main/gettestlist["+ j +"]/tclsnm"));
  223. model.setValue("/root/main/getdupltestlist["+row+"]/tclskind", model.getValue("/root/main/gettestlist["+ j +"]/tclskind"));
  224. model.setValue("/root/main/getdupltestlist["+row+"]/tclscd", drow);
  225. row++;
  226. return;
  227. }
  228. } else {
  229. var tcd= model.getValue("/root/main/gettestlist["+ j +"]/tclscd");
  230. var trow = grd_dupltestlist.findRow(tcd, 1, 1, false, false);
  231. if(trow < 0 && drow != tcd){
  232. grd_testcdlist.rowStatus(grd_testcdlist.row) = 1;
  233. grd_dupltestlist.addRow(false);
  234. model.makeNode("/root/main/getdupltestlist["+row+"]");
  235. model.setValue("/root/main/getdupltestlist["+row+"]/dupltclscd", model.getValue("/root/main/gettestlist["+ j +"]/tclscd"));
  236. model.setValue("/root/main/getdupltestlist["+row+"]/tclsnm", model.getValue("/root/main/gettestlist["+ j +"]/tclsnm"));
  237. model.setValue("/root/main/getdupltestlist["+row+"]/tclskind", model.getValue("/root/main/gettestlist["+ j +"]/tclskind"));
  238. model.setValue("/root/main/getdupltestlist["+row+"]/tclscd", drow);
  239. row++;
  240. }
  241. }
  242. model.refresh();
  243. }
  244. }
  245. }
  246. */
  247. }
  248. //더블클릭시 올리기
  249. function fUpTestCd() {
  250. var row = grd_dupltestlist.rows;
  251. var tcd= model.getValue("/root/main/gettestlist["+ grd_testlist.row +"]/tclscd"); //검사목록
  252. var trow = grd_dupltestlist.findRow(tcd, 1, 1, false, false);
  253. var drow = model.getValue("/root/main/gettestcdlist["+ grd_testcdlist.row +"]/tclscd"); //검사코드 목록
  254. var sDate = getCurrentDate();
  255. if(model.getXPathValue('count(/root/main/getdupltestlist[dupltclscd = "' + tcd + '" and dupltesttodd >= "' + sDate + '"])') > 0){
  256. messageBox(model.getValue("/root/main/gettestlist["+ grd_testlist.row +"]/tclsnm") + " 항목이 이미 존재 합니다", "E");
  257. }
  258. /*if(trow > 0){
  259. messageBox("코드 선택이", "E006");
  260. }*/
  261. else if(drow == tcd) {
  262. messageBox("검사명과 동일한 코드는 선택", "E001");
  263. }else {
  264. //grd_testcdlist.rowStatus(grd_testcdlist.row) = 1; //20100701 승현 막음
  265. grd_dupltestlist.addRow(false);
  266. model.makeNode("/root/main/getdupltestlist["+row+"]");
  267. model.setValue("/root/main/getdupltestlist["+row+"]/dupltclscd", model.getValue("/root/main/gettestlist["+ grd_testlist.row +"]/tclscd"));
  268. model.setValue("/root/main/getdupltestlist["+row+"]/tclsnm", model.getValue("/root/main/gettestlist["+ grd_testlist.row +"]/tclsnm"));
  269. model.setValue("/root/main/getdupltestlist["+row+"]/tclskind", model.getValue("/root/main/gettestlist["+ grd_testlist.row +"]/tclskind"));
  270. model.setValue("/root/main/getdupltestlist["+row+"]/tclscd", drow); //20100701 승현 추가
  271. model.makeValue("/root/main/getdupltestlist["+ row +"]/dupltestfromdd", getCurrentDate());
  272. model.makeValue("/root/main/getdupltestlist["+ row +"]/dupltesttodd", "99991231");
  273. model.refresh();
  274. }
  275. }
  276. //행삭제
  277. function fRowDel() {
  278. /*
  279. grd_dupltestlist.rowStatus(grd_dupltestlist.row) = 4;
  280. grd_testcdlist.rowStatus(grd_testcdlist.row) = 4;
  281. grd_dupltestlist.deleteItem(grd_dupltestlist.row);
  282. */
  283. if(grd_dupltestlist.rowStatus(grd_dupltestlist.row) == "1"){
  284. grd_dupltestlist.deleteRow(grd_dupltestlist.row);
  285. }else{
  286. grd_dupltestlist.rowStatus(grd_dupltestlist.row) = 4;
  287. }
  288. }
  289. //저장
  290. function fSaveDuplTestCd() {
  291. /*if(grd_dupltestlist.rows < 2) {
  292. alert("중복검사목록이 비었습니다.");
  293. return;
  294. }*/
  295. if(model.getValue("/root/send/refflag") == "1"){
  296. messageBox("추가나 변경작업을 하실경우엔 전체자료로 조회 후 작업하세요", "I");
  297. return;
  298. }
  299. var sTestcd, sFdd, sTdd, sCnt;
  300. for(i = 1; i <= grd_dupltestlist.rows; i++){
  301. //수정사항이 있는 행의 경우 검사, 시작, 종료일 비교
  302. if(grd_dupltestlist.rowStatus(i) != 0){
  303. sTestcd = model.getValue("/root/main/getdupltestlist[" + i + "]/dupltclscd");
  304. sFdd = model.getValue("/root/main/getdupltestlist[" + i + "]/dupltestfromdd");
  305. sTdd = model.getValue("/root/main/getdupltestlist[" + i + "]/dupltesttodd");
  306. sCnt = model.getXPathValue('count(/root/main/getdupltestlist[(dupltclscd = "' + sTestcd + '" and dupltestfromdd <= "' + sFdd + '" and dupltesttodd >= "' + sFdd + '") or (dupltclscd = "' + sTestcd + '" and dupltestfromdd <= "' + sTdd + '" and dupltesttodd >= "' + sTdd + '" ) or (dupltclscd = "' + sTestcd + '" and dupltestfromdd >= "' + sFdd + '" and dupltesttodd <= "' + sTdd + '" )])');
  307. //alert(sCnt);
  308. if(sCnt > 1){
  309. messageBox(sTestcd + " 항목의 시작, 종료일 구간이 중복됩니다.", "E");
  310. return;
  311. }
  312. //시작일 체크
  313. if(sFdd.length != 8 || sFdd == ""){
  314. messageBox(sTestcd + " 항목의 시작일 값이 유효하지 않습니다.", "E");
  315. return;
  316. }
  317. //종료일체크
  318. if(sTdd.length != 8 || sTdd == ""){
  319. messageBox(sTestcd + " 항목의 종료일 값이 유효하지 않습니다.", "E");
  320. return;
  321. }
  322. }
  323. }
  324. //model.setValue("/root/send/testcdlistdata", grd_testcdlist.getUpdateData());
  325. model.setValue("/root/send/dupltestlistdata", grd_dupltestlist.getUpdateData());
  326. submit("TXLLF01801");
  327. model.removeNodeset("/root/main/getdupltestlist");
  328. grd_dupltestlist.refresh();
  329. fGetTestCdList();
  330. }
  331. ]]>
  332. </script>
  333. </xhtml:head>
  334. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  335. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744; ">
  336. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:565px; y2:70px; "/>
  337. <caption id="caption1" class="tit_2" style="left:5px; top:55px; width:131px; height:14px; ">검사코드 목록</caption>
  338. <caption id="caption3" class="tit_2" style="left:570px; top:435px; width:110px; height:13px; ">검사목록</caption>
  339. <line id="line2" class="line_1" style="x1:570px; y1:450px; x2:1190px; y2:450px; "/>
  340. <group id="group1" style="left:0px; top:10px; width:1195px; height:35px; ">
  341. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  342. <line id="line3" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  343. <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  344. <caption>조회</caption>
  345. <script type="javascript" ev:event="onclick">
  346. <![CDATA[
  347. fGetTestCdList();
  348. ]]>
  349. </script>
  350. </button>
  351. <caption id="caption5" class="search_name" style="left:15px; top:9px; width:90px; height:17px; ">검사분류 :</caption>
  352. <select1 id="cmb_tlrgcd" ref="/root/hidden/ref/tlrgcd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:108px; top:8px; width:198px; height:19px; ">
  353. <choices>
  354. <itemset nodeset="/root/init/LB0104">
  355. <label ref="nm"/>
  356. <value ref="cd"/>
  357. </itemset>
  358. </choices>
  359. <script type="javascript" ev:event="xforms-value-changed">
  360. <![CDATA[
  361. fSetTLrgCd();
  362. ]]>
  363. </script>
  364. </select1>
  365. <select1 id="cmd_tmdlcd" ref="/root/hidden/ref/tmdl/cd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:309px; top:8px; width:198px; height:19px; ">
  366. <choices>
  367. <itemset nodeset="/root/init/LB0102">
  368. <label ref="nm"/>
  369. <value ref="cd"/>
  370. </itemset>
  371. </choices>
  372. <script type="javascript" ev:event="xforms-value-changed">
  373. <![CDATA[
  374. fGetTestCdList();
  375. ]]>
  376. </script>
  377. </select1>
  378. <caption id="capti" class="search_name" style="left:572px; top:9px; width:90px; height:17px; ">조회구분 :</caption>
  379. <select1 id="cmb_refgbn" ref="/root/send/refflag" class="combo_search" appearance="minimal" style="left:665px; top:8px; width:115px; height:19px; ">
  380. <choices>
  381. <item>
  382. <label>사용가능자료</label>
  383. <value>1</value>
  384. </item>
  385. <item>
  386. <label>전체자료</label>
  387. <value>2</value>
  388. </item>
  389. </choices>
  390. <script type="javascript" ev:event="xforms-value-changed">
  391. <![CDATA[
  392. fGetDuplTestList();
  393. ]]>
  394. </script>
  395. </select1>
  396. </group>
  397. <caption id="caption2" class="tit_2" style="left:570px; top:55px; width:110px; height:13px; ">중복검사목록</caption>
  398. <line id="line4" class="line_1" style="x1:570px; y1:70px; x2:1190px; y2:70px; "/>
  399. <button id="btn_up" class="icon_top" style="left:860px; top:398px; width:26px; height:19px; ">
  400. <caption/>
  401. <script type="javascript" ev:event="DOMActivate">
  402. <![CDATA[
  403. fSetDuplTestList();
  404. ]]>
  405. </script>
  406. </button>
  407. <select1 id="cmb_testmdlcd" ref="/root/hidden/ref/testmdl/cd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:992px; top:429px; width:198px; height:19px; ">
  408. <choices>
  409. <itemset nodeset="/root/init/LB0102">
  410. <label ref="nm"/>
  411. <value ref="cd"/>
  412. </itemset>
  413. </choices>
  414. <script type="javascript" ev:event="xforms-value-changed">
  415. <![CDATA[
  416. fTestList();
  417. ]]>
  418. </script>
  419. </select1>
  420. <caption id="caption4" class="search_name" style="left:698px; top:429px; width:90px; height:17px; ">검사분류 :</caption>
  421. <datagrid id="grd_dupltestlist" nodeset="/root/main/getdupltestlist" caption="검사코드^검사명^검사구분^시작일^종료일^tclscd" colsep="^" colwidth="82, 280, 76, 80, 80, 60" dataheight="23" explorerbar="sortshow" rowheader="update" rowheight="32" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:570px; top:75px; width:620px; height:308px; ">
  422. <col ref="dupltclscd" style="text-align:center; "/>
  423. <col ref="tclsnm"/>
  424. <col ref="tclskind" style="text-align:center; "/>
  425. <col disabled="true" ref="dupltestfromdd" type="input" format="yyyy-mm-dd" style="text-align:center; "/>
  426. <col ref="dupltesttodd" type="input" format="yyyy-mm-dd" style="text-align:center; "/>
  427. <col ref="tclscd" visibility="hidden" style="text-align:center; "/>
  428. <script type="javascript" ev:event="onaftersort">
  429. <![CDATA[
  430. grd_dupltestlist.gridToInstance();
  431. ]]>
  432. </script>
  433. <script type="javascript" ev:event="xforms-value-changed">
  434. <![CDATA[
  435. var sFdd = model.getValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltestfromdd");
  436. var sTdd = model.getValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltesttodd");
  437. if(isDataCell() && grd_dupltestlist.col == grd_dupltestlist.colRef("dupltestfromdd")){
  438. if(sFdd.length != 8){
  439. messageBox("일자 형식이 맞지 않습니다", "E");
  440. model.setValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltestfromdd", "");
  441. grd_dupltestlist.editCell();
  442. return;
  443. }else{
  444. if(sFdd > sTdd && sTdd != ""){
  445. messageBox("시작일은 종료일보다 클 수 없습니다.", "E");
  446. model.setValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltestfromdd", "");
  447. grd_dupltestlist.editCell();
  448. return;
  449. }
  450. }
  451. }else if(isDataCell() && grd_dupltestlist.col == grd_dupltestlist.colRef("dupltesttodd")){
  452. if(sTdd.length != 8){
  453. messageBox("일자 형식이 맞지 않습니다", "E");
  454. model.setValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltesttodd", "");
  455. grd_dupltestlist.editCell();
  456. return;
  457. }else{
  458. if(sFdd > sTdd && sFdd != ""){
  459. messageBox("종료일은 시작일보다 작을 수 없습니다.", "E");
  460. model.setValue("/root/main/getdupltestlist[" + grd_dupltestlist.row + "]/dupltesttodd", "");
  461. grd_dupltestlist.editCell();
  462. return;
  463. }
  464. }
  465. }
  466. ]]>
  467. </script>
  468. </datagrid>
  469. <datagrid id="grd_testlist" nodeset="/root/main/gettestlist" overflow="scroll" scroll="autovscroll" caption="^검사코드^검사명^검사구분^lvl" colsep="^" colwidth="26, 114, 368, 90, 0" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:570px; top:455px; width:620px; height:273px; ">
  470. <col checkvalue="Y,N" ref="choi" type="checkbox"/>
  471. <col ref="tclscd" style="text-align:center; "/>
  472. <col ref="tclsnm"/>
  473. <col ref="tclskind" style="text-align:center; "/>
  474. <col ref="lvl"/>
  475. <script type="javascript" ev:event="ondblclick">
  476. <![CDATA[
  477. if(grd_testlist.isCell(event.target) && grd_testlist.row >= grd_testlist.fixedRows ){
  478. if(model.getValue("/root/send/refflag") == "1"){
  479. messageBox("추가나 변경작업을 하실경우엔 전체자료로 조회 후 작업하세요", "I");
  480. return;
  481. }
  482. fUpTestCd();
  483. }
  484. ]]>
  485. </script>
  486. </datagrid>
  487. <datagrid id="grd_testcdlist" nodeset="/root/main/gettestcdlist" class="datagrid2" overflow="scroll" scroll="auto" caption="검사코드^검사명^검사구분^중복코드&#xA;갯수" colsep="^" colwidth="64, 338, 70, 62" dataheight="23" defaultrows="1" explorerbar="sortshow" rowheader="seq" rowheight="32" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:565px; height:653px; ">
  488. <col ref="tclscd" style="text-align:center; "/>
  489. <col ref="tclsnm"/>
  490. <col ref="tclskind" style="text-align:center; "/>
  491. <col ref="dutlcd"/>
  492. <script type="javascript" ev:event="onclick">
  493. <![CDATA[
  494. fGetDuplTestList();
  495. ]]>
  496. </script>
  497. <script type="javascript" ev:event="onaftersort">
  498. <![CDATA[
  499. grd_testcdlist.gridToInstance();
  500. ]]>
  501. </script>
  502. </datagrid>
  503. <button id="btn_delete" class="btn2_letter3" style="left:1135px; top:49px; width:53px; height:19px; ">
  504. <caption>행삭제</caption>
  505. <script type="javascript" ev:event="DOMActivate">
  506. <![CDATA[
  507. fRowDel();
  508. ]]>
  509. </script>
  510. </button>
  511. <select1 id="cmb_testlrgcd" ref="/root/hidden/ref/testlrgcd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:791px; top:429px; width:198px; height:19px; ">
  512. <choices>
  513. <itemset nodeset="/root/init/LB0104">
  514. <label ref="nm"/>
  515. <value ref="cd"/>
  516. </itemset>
  517. </choices>
  518. <script type="javascript" ev:event="xforms-value-changed">
  519. <![CDATA[
  520. fSetTestLrgCd();
  521. ]]>
  522. </script>
  523. </select1>
  524. </group>
  525. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  526. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  527. <caption>초기화</caption>
  528. <script type="javascript" ev:event="onclick">
  529. <![CDATA[
  530. fSetInit();
  531. ]]>
  532. </script>
  533. </button>
  534. <button id="btn_save" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  535. <caption>저장</caption>
  536. <script type="javascript" ev:event="DOMActivate">
  537. <![CDATA[
  538. fSaveDuplTestCd();
  539. ]]>
  540. </script>
  541. </button>
  542. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  543. </group>
  544. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  545. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">중복검사코드관리</caption>
  546. </group>
  547. </xhtml:body>
  548. </xhtml:html>