SMLQJ10100_핵의학QC접수관리.xrw 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>QC접수관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <qcacptlist>
  11. <acptdt/>
  12. <eqmtnm/>
  13. <eqmtcd/>
  14. </qcacptlist>
  15. <tclscdlist>
  16. <bcchk/>
  17. <chk/>
  18. <bcno/>
  19. <levlnm/>
  20. <matrnm/>
  21. <testnm/>
  22. <matrcd/>
  23. <levlcd/>
  24. <testcd/>
  25. <matrfromdd/>
  26. <acptbcflag/>
  27. <rsltstat/>
  28. <lotno/>
  29. </tclscdlist>
  30. <bcnoinfo/>
  31. <barcdprntsetup>
  32. <prntsetupinfo>
  33. <setupinfo/>
  34. </prntsetupinfo>
  35. </barcdprntsetup>
  36. </main>
  37. <send>
  38. <codeflag/>
  39. <deptflag/>
  40. <basecdid/>
  41. <eqmtcd/>
  42. <acptflag/>
  43. <acptdt/>
  44. <tclscdlist/>
  45. <scrnid/>
  46. <acptfromdd/>
  47. <acpttodd/>
  48. <matrcd/>
  49. <bcno/>
  50. <testnm/>
  51. <testnm2/>
  52. <testcd/>
  53. <testcd2/>
  54. <levlcd/>
  55. <divgrupcd/>
  56. </send>
  57. <init/>
  58. <hidden>
  59. <ref>
  60. <testlist>
  61. <testnm/>
  62. <testcd/>
  63. <testcd2/>
  64. <testnm2/>
  65. </testlist>
  66. <levllist>
  67. <levlnm/>
  68. <levlcd/>
  69. <levlcd2/>
  70. </levllist>
  71. <eqmtcd>00</eqmtcd>
  72. <acptdt/>
  73. <acptfromdd/>
  74. <acpttodd/>
  75. <divgrupcd>00</divgrupcd>
  76. </ref>
  77. <acptdt/>
  78. <execdept>00</execdept>
  79. <eqmt>00</eqmt>
  80. <acptflag>0</acptflag>
  81. <acptfromdd/>
  82. <acpttodd/>
  83. <bcno/>
  84. </hidden>
  85. </root>
  86. </instance>
  87. <script type="javascript" ev:event="xforms-ready">
  88. <![CDATA[
  89. fSetInit();
  90. grd_tclsCdList.fixedcellcheckbox(0, 2) = true;
  91. grd_tclsCdList.fixedcellischeck(0, 2) = true;
  92. ]]>
  93. </script>
  94. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  95. <script type="javascript" src="../../../lis/commonweb/js/LQZ001.js"/>
  96. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  99. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0111"/>
  100. <submission id="TRLQJ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/tclscdlist"/>
  101. <submission id="TXLQJ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/bcnoinfo"/>
  102. <submission id="TRLLC90101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdprntsetup"/>
  103. <submission id="TRLQJ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/qcacptlist"/>
  104. <submission id="TRLQJ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/tclscdlist"/>
  105. <submission id="TXLQJ00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  106. <submission id="TRLNP00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/divgrupnmlist"/>
  107. </model>
  108. <script type="javascript">
  109. <![CDATA[
  110. function fSetTestCd2() {
  111. model.removeNodeset("/root/main/testdetlinfo/testdetlinfo");
  112. model.removeNodeset("/root/hidden/divgrupnmlist");
  113. model.setValue("/root/hidden/ref/divgrupcd", "00");
  114. model.refresh();
  115. }
  116. function fSelectDivGrup(){
  117. model.removenodeset("/root/main/divgrupnmlist");
  118. model.refresh();
  119. model.setValue("/root/send/testcd", "");
  120. model.setValue("/root/send/divgrupcd", combo2.value);
  121. //model.setValue("/root/send/divgrupcd", "TFT");
  122. submit("TRLNP00102" ,false);
  123. // if(model.getValue("/root/hidden/ref/divgrupcd") == "00"){
  124. // checkbox5.visible = false;
  125. // }
  126. // else{
  127. // checkbox5.visible = true;
  128. // }
  129. //model.setValue("/root/send/allcheck", "");
  130. model.refresh();
  131. }
  132. //#################################### 접수, 미접수 공통 #########################################################
  133. //초기화 버튼
  134. function fSetInit(){
  135. model.setValue("/root/send/scrnid", getScreenID()); //바코드프린터 설정 관련 화면아이디조회?
  136. submit("TRLLC90101");
  137. //lzzfMakeBrcdPrntObj("CommAX"); //바코드출력 위해
  138. lzzfMakeBrcdPrntObjHanDo("CommAX"); //한도에서 제공한 OCX로 변경 20080701
  139. //그리드 초기화
  140. model.removeNodeset("/root/main/qcacptlist");
  141. grd_qcAcptList.rebuild();
  142. model.removeNodeset("/root/main/tclscdlist");
  143. grd_tclsCdList.rebuild();
  144. model.removeNodeset("/root/init");
  145. //조회구분 날짜 설정
  146. model.setValue("/root/hidden/ref/acptdt", getCurrentDate());
  147. model.setValue("/root/hidden/ref/acptfromdd", getCurrentDate());
  148. model.setValue("/root/hidden/ref/acpttodd", getCurrentDate());
  149. //미접수탭 선택
  150. fBcnoVisible("F");
  151. model.toggle("case1");
  152. model.setValue("/root/send/codeflag","0000|0111|0701|0116|"); //0000:사용자부서코드, 0111:시행부서계 0707: 장비코드
  153. submit("TRLZZ00101");
  154. model.setValue("/root/send/codeflag","0501|0704|"); //0704: 접수구분
  155. model.setValue("/root/send/basecdid", model.getValue("/root/init/LB0000/nm"));
  156. submit("TRLZZ00101");
  157. //model.makeValue("/root/send/codeflag","0000|0111|0701|0116|"); //0000:사용자부서코드, 0111:시행부서계 0707: 장비코드
  158. //submit("TRLZZ00101", false);
  159. //model.setValue("/root/send/codeflag", "0501|0704|"); //사용자 부서별로 레벨코드를 조회하기 위해 사용자부서 코드를 가져온 다음 다시 레벨코드 조회
  160. //submit("TRLZZ00101");
  161. model.refresh();
  162. fGetTestList();
  163. }
  164. //키입력이벤트
  165. function fKeyEvent(){
  166. if(event.keyCode == "13"){
  167. if(event.target == "ipt_bcno"){
  168. model.setValue("/root/hidden/bcno", (ipt_bcno.currentText).toUpperCase());
  169. fGetAcptList();
  170. }
  171. }
  172. }
  173. //장비코드설정
  174. function fSetEqmtCd(){
  175. model.removeNodeset("/root/main/tclscdlist");
  176. grd_tclsCdList.rebuild();
  177. model.removeNodeset("/root/init/LB0701");
  178. var execdept = model.getValue("/root/hidden/execdept");
  179. model.setValue("/root/send/basecdid", execdept); //검사실구분 코드(장비코드앞자리)
  180. model.setValue("/root/send/codeflag","0701|");
  181. model.setValue("/root/hidden/eqmt", '00');
  182. submit("TRLZZ00101");
  183. }
  184. //검사항목리스트 바코드 컬럼 보이기
  185. function fBcnoVisible(ref){
  186. model.resetInstanceNode("/root/send");
  187. model.removeNodeset("/root/main/qcacptlist");
  188. grd_qcAcptList.rebuild();
  189. model.removeNodeset("/root/main/tclscdlist");
  190. grd_tclsCdList.rebuild();
  191. if(ref == "T"){ //접수탭 선택
  192. grd_tclsCdList.colHidden(3) = false; //바코드번호 안보이기
  193. grd_tclsCdList.colHidden(15) = false; //결과상태 안보이기
  194. btn_acpt.attribute("visibility") = "hidden"; //접수버튼 사라지기
  195. btn_reiss.attribute("visibility") = "visible"; //재발행 버튼 보이게
  196. btn_acptcan.attribute("visibility") = "visible"; //접수취소버튼 보이게
  197. //model.setValue("/root/hidden/acptflag", "00"); //접수구분 -전체- 로 셋팅
  198. }
  199. else { //미접수탭 선택
  200. grd_tclsCdList.colHidden(3) = true;
  201. grd_tclsCdList.colHidden(15) = true;
  202. btn_acpt.attribute("visibility") = "visible";
  203. btn_reiss.attribute("visibility") = "hidden";
  204. btn_acptcan.attribute("visibility") = "hidden";
  205. //model.setValue("/root/hidden/acptflag", "0"); //접수구분 QC로 셋팅
  206. }
  207. model.refresh();
  208. }
  209. //바코드 구분 이미지 표시
  210. function fSetBcnoImg(){
  211. for(i=1; i<=grd_tclsCdList.rows-1; i++){
  212. if(model.getValue("/root/main/tclscdlist[" +i+"]/bcflag")=="0"){ //bcflag = 바코드구분하기 위한 값이 있다면 바코드 구분됨 0 or 1(미접수탭은 0, 접수탭은 1)
  213. grd_tclsCdList.cellstyle("background-image", i, 1) = "../../../lis/commonweb/images/chkBC0.gif"; //바코드체크이미지 설정
  214. grd_tclsCdList.cellstyle("background-position", i, 1) = "center";
  215. }else if(model.getValue("/root/main/tclscdlist[" +i+"]/bcflag")=="1"){ //bcflag = 바코드구분하기 위한 값
  216. grd_tclsCdList.cellstyle("background-image", i, 1) = "../../../lis/commonweb/images/chkBC1.gif"; //바코드체크이미지 설정
  217. grd_tclsCdList.cellstyle("background-position", i, 1) = "center";
  218. }
  219. }
  220. grd_tclsCdList.refresh();
  221. }
  222. //검사항목 리스트 바코드 구분 선택(바코드이미지 선택했을때 체크박스 자동 선택 해제기능)
  223. function fSetGrdChoi(){
  224. var row = grd_tclsCdList.row;
  225. var col = grd_tclsCdList.col;
  226. if(grd_tclsCdList.isCell(event.target) && grd_tclsCdList.row >= grd_tclsCdList.fixedRows){
  227. if(col == 1){ //바코드 구분을 선택하였을때
  228. if(model.getValue("/root/main/tclscdlist[" + row + "]/bcflag") == "1"){ //바코드 구분이 선택되어있으면
  229. model.setValue("/root/main/tclscdlist[" + row + "]/bcflag", "0"); //바코드 선택을 해제하고
  230. model.setValue("/root/main/tclscdlist[" + row + "]/chk", "0"); //선택된 체크값도 해제한다
  231. grd_tclsCdList.cellstyle("background-image", row, 1) = "../../../lis/commonweb/images/chkBC0.gif"; //바코드 구분 이미지를 체크해제 이미지로 변경한다
  232. if(row+1 <= grd_tclsCdList.rows-1){
  233. for(iRow=row+1; ;iRow++){
  234. if(model.getValue("/root/main/tclscdlist[" + iRow + "]/bcflag") == "1" ||model.getValue("/root/main/tclscdlist[" + iRow + "]/bcflag") == "0" || iRow>grd_tclsCdList.rows-1 ){
  235. break; //다음 바코드구분을 만나거나 마지막이라면 끝~
  236. }
  237. model.setValue("/root/main/tclscdlist[" + iRow + "]/chk", "0"); //선택값 체크해제
  238. }
  239. }
  240. }else if(model.getValue("/root/main/tclscdlist[" + row + "]/bcflag") == "0"){ //바코드 구분이 선택되어있지 않다면(해제상태)
  241. model.setValue("/root/main/tclscdlist[" + row + "]/bcflag", "1"); //바코드 선택하고
  242. model.setValue("/root/main/tclscdlist[" + row + "]/chk", "1"); //해제된 체크값도 선택한다
  243. grd_tclsCdList.cellstyle("background-image", row, 1) = "../../../lis/commonweb/images/chkBC1.gif"; //바코드 구분 이미지를 체크 이미지로 변경한다
  244. if(row+1 <= grd_tclsCdList.rows-1){
  245. for(iRow=row+1; ;iRow++){
  246. if(model.getValue("/root/main/tclscdlist[" + iRow + "]/bcflag") == "1" || model.getValue("/root/main/tclscdlist[" + iRow + "]/bcflag") == "0" || iRow>grd_tclsCdList.rows-1){
  247. break; //다음 바코드구분을 만나거나 마지막이라면 끝~
  248. }
  249. model.setValue("/root/main/tclscdlist[" + iRow + "]/chk", "1"); //선택값 체크해제
  250. }
  251. }
  252. }
  253. }
  254. }
  255. }
  256. //접수, 접수취소된 리스트 항목에서 사라진다~ removenodeset으로.. (사용안함)
  257. function fDelAcptList(){
  258. var kRows = grd_tclsCdList.rows;
  259. var i;
  260. for(i = 1 ; i < kRows ; i ++){
  261. if(model.getValue("/root/main/tclscdlist["+i+"]/chk") == "1"){
  262. model.removenodeset("/root/main/tclscdlist["+i+"]");
  263. i = i -1;
  264. kRows = kRows -1 ;
  265. }
  266. }
  267. model.refresh();
  268. }
  269. //접수, 접수취소된 항목 화면에서 사라지게~~ deleteRow방식 (사용안함.. 바코드 이미지 재설정하는 기능과 합침)
  270. function fSetDelSelect(){
  271. var maxRow = grd_tclsCdList.rows;
  272. for(i=0; i<=maxRow; i++){
  273. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  274. grd_tclsCdList.deleteRow(i, "false")
  275. i = i-1;
  276. maxRow = maxRow -1
  277. }
  278. }
  279. }
  280. //선택된 항목 화면에서 지우고 바코드 이미지 다시 설정
  281. function fSetBcImg(){
  282. //접수된 항목 화면에서 사라지게~~ deleteRow방식
  283. var maxRow = grd_tclsCdList.rows;
  284. for(i=0; i<=maxRow; i++){
  285. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  286. grd_tclsCdList.deleteRow(i, "false")
  287. i = i-1;
  288. maxRow = maxRow -1
  289. }
  290. }
  291. //바코드 구분 비교하여 바코드 이미지 셋팅
  292. for(i=1; i<maxRow; i++){
  293. var j = i-1; //이전 바코드구분값과 비교하기 위한 값 -_-
  294. if(i == 1){ //접수된 항목이 지워지고 난 후 첫번째 항목에 바코드이미지 셋팅
  295. grd_tclsCdList.cellstyle("background-image", i, 1) = "../../../lis/commonweb/images/chkBC0.gif";
  296. grd_tclsCdList.cellstyle("background-position", i, 1) = "center";
  297. model.setValue("/root/main/tclscdlist[" + i + "]/bcflag", "0");
  298. }else if(model.getValue("/root/main/tclscdlist[" + j +"]/acptbcflag") != model.getValue("/root/main/tclscdlist[" +i+"]/acptbcflag")){ //두번째부터는 이전 바코드 구분과 비교하여 다르다면 바코드 이미지 셋팅
  299. grd_tclsCdList.cellstyle("background-image", i, 1) = "../../../lis/commonweb/images/chkBC0.gif";
  300. grd_tclsCdList.cellstyle("background-position", i, 1) = "center";
  301. model.setValue("/root/main/tclscdlist[" + i + "]/bcflag", "0");
  302. }
  303. }
  304. grd_tclsCdList.refresh();
  305. }
  306. //###################################################### 미접수탭 ######################################################
  307. //미접수탭 검사항목리스트 조회
  308. function fGetTestList(){
  309. model.removeNodeset("/root/main/tclscdlist");
  310. grd_tclsCdList.rebuild();
  311. model.setValue("/root/send/eqmtcd", model.getValue("/root/hidden/ref/eqmtcd")); //장비코드
  312. model.setValue("/root/send/testcd", model.getValue("/root/hidden/ref/testlist/testcd"));
  313. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
  314. model.setValue("/root/send/levlcd" , model.getValue("/root/hidden/ref/levllist/levlcd"));
  315. submit("TRLQJ00101");
  316. //바코드 구분별로 바코드 이미지 셋팅
  317. fSetBcnoImg();
  318. for(i=1; i<grd_tclsCdList.rows;i++){
  319. model.setValue("/root/main/tclscdlist["+i+"]/chk", "1");
  320. grd_tclsCdList.cellstyle("background-image", i, 1) = "../../../lis/commonweb/images/chkBC1.gif"; //바코드체크이미지 설정
  321. grd_tclsCdList.cellstyle("background-position", i, 1) = "center";
  322. }
  323. }
  324. //접수 버튼
  325. function fInstAcpt(){
  326. //model.removeNodeset("/root/send/tclscdlist");
  327. if(model.getValue("/root/hidden/ref/acptdt") != getCurrentDate()){
  328. var rtn = messageBox("선택하신 날짜가 현재일과 일치하지 않습니다. \n접수를", "Q003");
  329. if(rtn == "7"){
  330. return;
  331. }
  332. }
  333. if(model.getValue("/root/hidden/acptflag") == "00"){
  334. alert("접수구분을 선택하세요");
  335. return;
  336. }
  337. for(i=1; i<=grd_tclsCdList.rows; i++){
  338. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  339. grd_tclsCdList.addStatus(i, "insert"); //status 를 insert로 변경
  340. }else{
  341. grd_tclsCdList.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  342. }
  343. }
  344. model.setValue("/root/send/tclscdlist", grd_tclsCdList.getUpdateData());
  345. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm")); //사용자부서코드
  346. model.setValue("/root/send/acptdt", model.getValue("/root/hidden/ref/acptdt")); //접수일자
  347. model.setValue("/root/send/acptflag", model.getValue("/root/hidden/acptflag")); //접수구분
  348. model.setValue("/root/send/eqmtcd", model.getValue("/root/hidden/ref/eqmtcd")); //장비코드
  349. model.setValue("/root/send/basecdid", model.getValue("/root/hidden/execdept")); //검사실
  350. //선택항목 접수 및 바코드 정보 조회
  351. submit("TXLQJ00101");
  352. fLisQCBarcodePrint_NewOCX("/root/main/bcnoinfo"); //바코드출력
  353. fSetBcImg(); //체크된 항목 지우고 바코드 이미지 다시 셋팅
  354. }
  355. //########################################### 접수탭 #####################################################
  356. //접수취소 버튼
  357. function fSetAcptCancel(){
  358. for(i=1; i<=grd_tclsCdList.rows; i++){
  359. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  360. if(model.getValue("/root/main/tclscdlist[" + i + "]/rsltstat") != "접수"){ //결과입력상태 저장
  361. var cencel = "1";
  362. }else{
  363. grd_tclsCdList.addStatus(i, "delete"); //status 를 delete로 변경
  364. grd_tclsCdList.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  365. }
  366. }
  367. }
  368. if(cencel =="1"){ var rtn = messageBox("결과가 저장된 항목이 있습니다. \n정말로 취소 하시겠습니까? \n", "S001" );
  369. for(i=1; i<=grd_tclsCdList.rows; i++){
  370. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){
  371. if(rtn == "6" ){ //취소
  372. grd_tclsCdList.addStatus(i, "delete"); //status 를 delete로 변경
  373. grd_tclsCdList.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  374. }else{
  375. return 0;
  376. }
  377. }
  378. }
  379. }
  380. model.setValue("/root/send/tclscdlist", grd_tclsCdList.getUpdateData());
  381. submit("TXLQJ00102");
  382. //선택된 항목 그리드에서 삭제후 바코드 재생성
  383. //fSetBcImg();
  384. //접수리스트부터 재조회
  385. fGetAcptList();
  386. }
  387. //재발행 버튼
  388. function fSetReIss(){
  389. model.removeNodeset("/root/main/bcnoinfo");
  390. model.makeNode("/root/main/bcnoinfo");
  391. //var count = 0; // 체크된 값을 makeValue 하기 위해 변수 선언
  392. for(i = 1; i<grd_tclsCdList.rows; i++){
  393. if(model.getValue("/root/main/tclscdlist["+i+"]/chk") == "1"){
  394. copyNodeListType("/root/main/bcnoinfo", "/root/main/tclscdlist["+i+"]", "after"); //바코드 재출력위해 선택된 항목 바코드정보 복사
  395. //++count;
  396. /*model.makeValue("/root/main/bcnoinfo["+count+"]/bcno", model.getValue("/root/main/tclscdlist["+i+"]/bcno"));
  397. model.makeValue("/root/main/bcnoinfo["+count+"]/matrcd", model.getValue("/root/main/tclscdlist["+i+"]/matrcd"));
  398. model.makeValue("/root/main/bcnoinfo["+count+"]/levlcd", model.getValue("/root/main/tclscdlist["+i+"]/levlcd"));
  399. model.makeValue("/root/main/bcnoinfo["+count+"]/eqmtnm", model.getValue("/root/main/tclscdlist["+i+"]/eqmtnm"));
  400. model.makeValue("/root/main/bcnoinfo["+count+"]/testroom", model.getValue("/root/main/tclscdlist["+i+"]/sectnm"));
  401. model.makeValue("/root/main/bcnoinfo["+count+"]/acptdt", model.getValue("/root/main/tclscdlist["+i+"]/acptdt"));
  402. */
  403. }
  404. model.refresh();
  405. }
  406. fLisQCBarcodePrint_NewOCX("/root/main/bcnoinfo/tclscdlist"); // 바코드 출력 //경로 바꿔서 makeValue해결했음
  407. }
  408. //접수탭 조회버튼
  409. function fGetAcptList(){
  410. model.removeNodeset("/root/main/tclscdlist");
  411. grd_tclsCdList.rebuild();
  412. model.setValue("/root/send/matrcd" , model.getValue("/root/hidden/matrcd"));
  413. model.setValue("/root/send/acptflag" , model.getValue("/root/hidden/acptflag"));
  414. model.setValue("/root/send/eqmtcd" , model.getValue("/root/hidden/ref/eqmtcd"));
  415. model.setValue("/root/send/basecdid" , model.getValue("/root/hidden/execdept")); //검사실
  416. model.setValue("/root/send/acptfromdd" , model.getValue("/root/hidden/ref/acptfromdd"));
  417. model.setValue("/root/send/acpttodd" , model.getValue("/root/hidden/ref/acpttodd"));
  418. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  419. model.setValue("/root/send/bcno" , model.getValue("/root/hidden/bcno"));
  420. submit("TRLQJ00102");
  421. //QC 접수리스트 첫번째 항목 검사리스트 조회
  422. grd_qcAcptList.row = 1;
  423. fGetDetlAcptList();
  424. }
  425. //접수된 검사항목 리스트를 조회하기 위해 QC접수 리스트 클릭시
  426. function fGetDetlAcptList(){
  427. model.removeNodeset("/root/main/tclscdlist");
  428. grd_tclsCdList.rebuild();
  429. model.setValue("/root/send/acptdt" , model.getValue("/root/main/qcacptlist["+ grd_qcAcptList.row +"]/acptdt"));
  430. model.setValue("/root/send/eqmtcd" , model.getValue("/root/main/qcacptlist["+ grd_qcAcptList.row +"]/eqmtcd"));
  431. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  432. submit("TRLQJ00103");
  433. //바코드 구분별로 바코드 이미지 셋팅
  434. fSetBcnoImg();
  435. model.setFocus("ipt_bcno");
  436. }
  437. function fTestListSch(){
  438. var eqmtcd1 = model.getValue("/root/hidden/ref/eqmtcd"); //장비코드
  439. if(eqmtcd1 == "00"){ //장비코드가 전체이면
  440. messageBox("장비을", "C002","");
  441. return;
  442. }
  443. //model.removenodeset("/root/main/divgrupnmlist");
  444. //model.refresh();
  445. model.setValue("/root/send/testcd", "");
  446. model.setValue("/root/send/divgrupcd", combo2.value);
  447. //alert(model.getValue("/root/send/divgrupcd"));
  448. //model.setValue("/root/send/divgrupcd", "TFT");
  449. var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
  450. var sflag = "nu" + "▦" + eqmtcd1 + "▦" + deptflag;
  451. setParameter("opener_parameter_id", sflag);
  452. //submit("TRLNP00102" ,false);
  453. //modal("SPLQP00300");
  454. modal("SPLQP00300","","","","","/root/send/divgrupcd","/root/send/divgrupcd");
  455. model.setValue("/root/send/testnm" , model.getValue("/root/hidden/ref/testlist/testnm")); //검사명
  456. model.setValue("/root/send/testnm2" , model.getValue("/root/hidden/ref/testlist/testnm2")); //검사명
  457. model.setValue("/root/send/testcd" , model.getValue("/root/hidden/ref/testlist/testcd")); //검사코드를 받아와서 셋팅~
  458. model.setValue("/root/send/testcd2" , model.getValue("/root/hidden/ref/testlist/testcd2"));
  459. model.refresh();
  460. // if(model.getValue("/root/hidden/ref/divgrupcd") == "00"){
  461. // checkbox5.visible = false;
  462. // }
  463. // else{
  464. // checkbox5.visible = true;
  465. // }
  466. //model.setValue("/root/send/allcheck", "");
  467. model.refresh();
  468. /*
  469. var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
  470. var sflag = "nu" + "▦" + eqmtcd1 + "▦" + deptflag;
  471. alert("dd");
  472. setParameter("opener_parameter_id", sflag);
  473. modal("SPLQP00100", "", "", "", "", "", "");
  474. model.setValue("/root/send/testnm" , model.getValue("/root/hidden/ref/testlist/testnm")); //검사명
  475. model.setValue("/root/send/testnm2" , model.getValue("/root/hidden/ref/testlist/testnm2")); //검사명
  476. model.setValue("/root/send/testcd" , model.getValue("/root/hidden/ref/testlist/testcd")); //검사코드를 받아와서 셋팅~
  477. model.setValue("/root/send/testcd2" , model.getValue("/root/hidden/ref/testlist/testcd2"));
  478. model.refresh();
  479. */
  480. }
  481. ]]>
  482. </script>
  483. </xhtml:head>
  484. <xhtml:body style="font-size:10pt; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  485. <group id="group1" style="left:0px; top:40px; width:1195px; height:744px; font-size:18pt; ">
  486. <datagrid id="grd_tclsCdList" nodeset="/root/main/tclscdlist" caption="검체구분^^바코드^Standard^Control명^검사항목^바코드구분^물질코드^lotno^레벨코드^검사코드^물질시작일자^시작일자^acptbcflag^결과상태" colsep="^" colwidth="60, 40, 100, 100, 210, 210, 10, 10, 10, 10, 10, 10, 10, 10, 80" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:345px; top:107px; width:849px; height:621px; ">
  487. <col ref="bcchk" type="output" uncheckimage="1" style="left:20px; top:32px; width:43px; height:23px; "/>
  488. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  489. <col ref="bcno"/>
  490. <col ref="levlnm"/>
  491. <col ref="matrnm"/>
  492. <col ref="testnm"/>
  493. <col ref="bcflag" visibility="hidden"/>
  494. <col ref="matrcd" visibility="hidden"/>
  495. <col ref="lotno" visibility="hidden"/>
  496. <col ref="levlcd" visibility="hidden"/>
  497. <col ref="testcd" visibility="hidden"/>
  498. <col ref="matrfromdd" visibility="hidden"/>
  499. <col ref="testfromdd" visibility="hidden"/>
  500. <col ref="acptbcflag" visibility="hidden"/>
  501. <col ref="rsltstat"/>
  502. <script type="javascript" ev:event="onclick">
  503. <![CDATA[
  504. //바코드 이미지 체크시 자동 체크 기능위한..
  505. fSetGrdChoi();
  506. ]]>
  507. </script>
  508. </datagrid>
  509. <line id="line1" class="line_1" style="x1:0px; y1:102px; x2:340px; y2:102px; "/>
  510. <caption id="caption7" class="tit_2" style="left:5px; top:87px; width:115px; height:13px; ">QC 접수 리스트</caption>
  511. <datagrid id="grd_qcAcptList" nodeset="/root/main/qcacptlist" caption="접수일시^장비명^장비코드" colsep="^" colwidth="120, 150^30" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:107px; width:340px; height:621px; ">
  512. <col ref="acptdt" format="yyyy-mm-dd hh:mm:ss"/>
  513. <col ref="eqmtnm"/>
  514. <col ref="eqmtcd" visibility="hidden"/>
  515. <script type="javascript" ev:event="onclick">
  516. <![CDATA[
  517. if(grd_qcAcptList.isCell(event.target) && grd_qcAcptList.row >= grd_qcAcptList.fixedRows){
  518. fGetDetlAcptList();
  519. }
  520. ]]>
  521. </script>
  522. </datagrid>
  523. <line id="line14" class="line_1" style="x1:345px; y1:102px; x2:1194px; y2:102px; "/>
  524. <caption id="caption3" class="tit_2" style="left:350px; top:87px; width:115px; height:13px; ">검사항목 리스트</caption>
  525. <group id="group5" style="left:0px; top:10px; width:1195px; height:67px; ">
  526. <switch id="switch1" class="sw_box" style="left:0px; top:21px; width:1195px; height:45px; ">
  527. <case id="case1" selected="true" style="left:0px; top:0px; width:1195px; height:70px; ">
  528. <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:5px; top:5px; width:1185px; height:35px; "/>
  529. <button id="btn_get" class="btn1_letter2" style="left:1119px; top:12px; width:56px; height:22px; ">
  530. <caption>조회</caption>
  531. <script type="javascript" ev:event="onclick">
  532. <![CDATA[
  533. //장비 선택 안하면 뜬다
  534. if(model.getValue("/root/hidden/ref/eqmtcd") == "00"){
  535. messageBox("장비를 ", "C002");
  536. model.setFocus("cbo_eqmtList");
  537. }else
  538. fGetTestList(); //검사항목리스트 조회
  539. ]]>
  540. </script>
  541. </button>
  542. <caption id="caption8" class="search_name" visibility="hidden" style="left:887px; top:11px; width:73px; height:17px; ">검사실 :</caption>
  543. <input id="cbo_acptDt" ref="/root/hidden/ref/acptdt" class="input_s_essential" inputtype="date" style="left:109px; top:13px; width:90px; height:19px; "/>
  544. <caption id="caption9" class="search_name" style="left:20px; top:14px; width:86px; height:17px; ">접수일자 :</caption>
  545. <caption id="caption1" class="search_name" style="left:885px; top:14px; width:86px; height:17px; ">접수구분 :</caption>
  546. <caption id="caption2" class="search_name" style="left:220px; top:14px; width:61px; height:17px; ">장비 :</caption>
  547. <select1 id="cbo_acptFlag" ref="/root/hidden/acptflag" class="combo_s_essential" appearance="minimal" style="left:966px; top:13px; width:100px; height:19px; ">
  548. <choices>
  549. <itemset nodeset="/root/init/LB0704">
  550. <label ref="nm"/>
  551. <value ref="cd"/>
  552. </itemset>
  553. </choices>
  554. </select1>
  555. <select1 id="cbo_execDept" ref="/root/hidden/execdept" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:965px; top:10px; width:100px; height:19px; ">
  556. <choices>
  557. <itemset nodeset="/root/init/LB0111">
  558. <label ref="nm"/>
  559. <value ref="cd"/>
  560. </itemset>
  561. </choices>
  562. <script type="javascript" ev:event="xforms-select">
  563. <![CDATA[
  564. fSetEqmtCd();
  565. ]]>
  566. </script>
  567. </select1>
  568. <select1 id="cbo_eqmtList" ref="/root/hidden/ref/eqmtcd" class="combo_s_essential" appearance="minimal" style="left:285px; top:13px; width:100px; height:19px; ">
  569. <choices>
  570. <itemset nodeset="/root/init/LB0701">
  571. <label ref="nm"/>
  572. <value ref="cd"/>
  573. </itemset>
  574. </choices>
  575. <script type="javascript" ev:event="xforms-select">
  576. <![CDATA[
  577. fSetTestCd2();
  578. ]]>
  579. </script>
  580. </select1>
  581. <line id="line2" class="line_4" style="x1:1104px; y1:11px; x2:1104px; y2:33px; "/>
  582. <caption id="caption14" class="search_name" style="left:400px; top:14px; width:86px; height:17px; ">검사항목 :</caption>
  583. <output id="output1" ref="/root/hidden/ref/testlist/testnm" class="output_fix" visibility="visible" appearance="minimal" style="left:595px; top:14px; width:265px; height:19px; "/>
  584. <button id="btn_testListSch" class="icon_search" style="left:865px; top:15px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  585. <caption/>
  586. <script type="javascript" ev:event="DOMActivate">
  587. <![CDATA[
  588. fTestListSch(); //장비별 검사항목 팝업 뜨지롱
  589. ]]>
  590. </script>
  591. </button>
  592. <select1 id="combo2" ref="/root/hidden/ref/divgrupcd" class="combo_search" appearance="minimal" style="left:490px; top:14px; width:100px; height:19px; ">
  593. <choices>
  594. <itemset nodeset="/root/init/LB0116">
  595. <label ref="nm"/>
  596. <value ref="cd"/>
  597. </itemset>
  598. </choices>
  599. <script type="javascript" ev:event="xforms-value-changed">
  600. <![CDATA[
  601. fTestListSch();
  602. ]]>
  603. </script>
  604. </select1>
  605. </case>
  606. <case id="case2" style="left:0px; top:0px; width:1195px; height:70px; ">
  607. <shape id="roundrect4" class="roundrect_search" appearance="roundrect" style="left:5px; top:5px; width:1185px; height:35px; "/>
  608. <caption id="caption10" class="search_n_b" style="left:201px; top:16px; width:12px; height:17px; ">~</caption>
  609. <input id="ipt_acptFromdd" ref="/root/hidden/ref/acptfromdd" class="input_s_essential" inputtype="date" style="left:109px; top:13px; width:90px; height:19px; "/>
  610. <caption id="caption11" class="search_name" style="left:20px; top:14px; width:86px; height:17px; ">접수일자 :</caption>
  611. <input id="ipt_acptTodd" ref="/root/hidden/ref/acpttodd" class="input_s_essential" inputtype="date" style="left:215px; top:13px; width:90px; height:19px; "/>
  612. <caption id="caption12" class="search_name" visibility="hidden" style="left:930px; top:15px; width:73px; height:17px; ">검사실 :</caption>
  613. <button id="btn_getAcpt" class="btn1_letter2" style="left:1119px; top:12px; width:56px; height:22px; ">
  614. <caption>조회</caption>
  615. <script type="javascript" ev:event="onclick">
  616. <![CDATA[
  617. fGetAcptList();
  618. ]]>
  619. </script>
  620. </button>
  621. <select1 id="cbo_acptExecDept" ref="/root/hidden/execdept" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:1007px; top:14px; width:90px; height:19px; ">
  622. <choices>
  623. <itemset nodeset="/root/init/LB0111">
  624. <label ref="nm"/>
  625. <value ref="cd"/>
  626. </itemset>
  627. </choices>
  628. <script type="javascript" ev:event="xforms-value-changed">
  629. <![CDATA[
  630. fSetEqmtCd();
  631. ]]>
  632. </script>
  633. </select1>
  634. <caption id="caption4" class="search_name" style="left:322px; top:14px; width:60px; height:17px; ">장비 :</caption>
  635. <caption id="caption5" class="search_name" style="left:679px; top:14px; width:96px; height:17px; ">바코드번호:</caption>
  636. <caption id="caption13" class="search_name" style="left:496px; top:14px; width:86px; height:17px; ">접수구분 :</caption>
  637. <line id="line5" class="line_4" style="x1:1104px; y1:11px; x2:1104px; y2:33px; "/>
  638. <select1 id="cbo_acptEqmtList" ref="/root/hidden/ref/eqmtcd" class="combo_s_essential" appearance="minimal" style="left:385px; top:13px; width:100px; height:19px; ">
  639. <choices>
  640. <itemset nodeset="/root/init/LB0701">
  641. <label ref="nm"/>
  642. <value ref="cd"/>
  643. </itemset>
  644. </choices>
  645. </select1>
  646. <select1 id="acptFlagCd" ref="/root/hidden/acptflag" class="combo_s_essential" appearance="minimal" style="left:585px; top:13px; width:80px; height:19px; ">
  647. <choices>
  648. <item>
  649. <label>-전체-</label>
  650. <value>00</value>
  651. </item>
  652. <item>
  653. <label>QC</label>
  654. <value>0</value>
  655. </item>
  656. <item>
  657. <label>Evaluation</label>
  658. <value>1</value>
  659. </item>
  660. <item>
  661. <label>Calibration</label>
  662. <value>2</value>
  663. </item>
  664. </choices>
  665. </select1>
  666. <input id="ipt_bcno" ref="/root/hidden/bcno" class="input_s_button" imemode="disabled" inputtype="button" _chartype="upper" style="left:779px; top:13px; width:120px; height:19px; ">
  667. <script type="javascript" ev:event="onkeypress">
  668. <![CDATA[
  669. fKeyEvent();
  670. ]]>
  671. </script>
  672. </input>
  673. <button id="btn_matrSearch" class="icon_search" visibility="hidden" style="left:902px; top:14px; width:16px; height:16px; ">
  674. <caption/>
  675. </button>
  676. </case>
  677. </switch>
  678. <button id="button2" class="btn_sw" group="tab" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:70px; top:0px; width:70px; height:22px; ">
  679. <caption>접수</caption>
  680. <toggle case="case2" ev:event="onclick"/>
  681. <script type="javascript" ev:event="DOMActivate">
  682. <![CDATA[
  683. fBcnoVisible("T");
  684. ]]>
  685. </script>
  686. </button>
  687. <button id="button3" class="btn_sw" group="tab" selected="true" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:0px; top:0px; width:70px; height:22px; ">
  688. <caption>미접수</caption>
  689. <toggle case="case1" ev:event="onclick"/>
  690. <script type="javascript" ev:event="DOMActivate">
  691. <![CDATA[
  692. fBcnoVisible("F");
  693. ]]>
  694. </script>
  695. </button>
  696. </group>
  697. </group>
  698. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  699. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:126px; height:14px; ">QC접수관리</caption>
  700. </group>
  701. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  702. <button id="btn_acptcan" class="btn4_letter4" style="left:1045px; top:3px; width:80px; height:22px; ">
  703. <caption>접수취소</caption>
  704. <script type="javascript" ev:event="onclick">
  705. <![CDATA[
  706. var acptcount = 0;
  707. for(i=1; i<=grd_tclsCdList.rows; i++){
  708. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  709. acptcount = acptcount + 1;
  710. }
  711. }
  712. if(acptcount !=0) fSetAcptCancel();
  713. else {
  714. messageBox("접수를 취소할 내역이", "I004");
  715. }
  716. ]]>
  717. </script>
  718. </button>
  719. <button id="btn_reiss" class="btn4_letter3" style="left:974px; top:3px; width:68px; height:22px; ">
  720. <caption>재발행</caption>
  721. <script type="javascript" ev:event="onclick">
  722. <![CDATA[
  723. var acptcount = 0;
  724. for(i=1; i<=grd_tclsCdList.rows; i++){
  725. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  726. acptcount = acptcount + 1;
  727. }
  728. }
  729. if(acptcount !=0) fSetReIss(); // 선택된 항목이 있다면 고고싱~
  730. else {
  731. messageBox("재발행할 항목이 ", "I004");
  732. }
  733. ]]>
  734. </script>
  735. </button>
  736. <line id="line3" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  737. <button id="btn_acpt" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  738. <caption>접수</caption>
  739. <script type="javascript" ev:event="onclick">
  740. <![CDATA[
  741. var acptcount = 0;
  742. for(i=1; i<=grd_tclsCdList.rows; i++){
  743. if(model.getValue("/root/main/tclscdlist[" + i + "]/chk") == "1"){ //선택된 항목
  744. acptcount = acptcount + 1;
  745. }
  746. }
  747. if(acptcount !=0){ fInstAcpt();
  748. alert("접수가 완료 되었습니다.")
  749. } // 선택된 항목이 있다면 고고싱~
  750. else {
  751. messageBox("접수할 내역이", "I004");
  752. }
  753. /* var stype = window.type;
  754. if ( stype != "main") {
  755. model.close();
  756. }
  757. */
  758. ]]>
  759. </script>
  760. </button>
  761. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  762. <caption>초기화</caption>
  763. <script type="javascript" ev:event="onclick">
  764. <![CDATA[
  765. window.reload();
  766. ]]>
  767. </script>
  768. </button>
  769. <button id="btn_prtSet" class="btn3_letter5" style="left:0px; top:2px; width:92px; height:22px; ">
  770. <caption>프린터설정</caption>
  771. <script type="javascript" ev:event="onclick">
  772. <![CDATA[
  773. //window.load("SPLLC90100_바코드프린터설정.xrw","modeless","width:327px; height:128;min:hidden;max:hidden;align:center");
  774. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  775. if(count == 0) {
  776. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  777. }
  778. modal("SPLLC90100" , "","","","","/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  779. ]]>
  780. </script>
  781. </button>
  782. </group>
  783. </xhtml:body>
  784. </xhtml:html>