SMLPC00500_검사그룹항목등록.xrw 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLPC00500_검사그룹항목등록.xrw
  4. * 설 명 : 검사그룹항목등록 화면
  5. * 설 계 자 : (주)에이씨케이 - 황상미
  6. * 작 성 자 : (주)에이씨케이 - 황상미
  7. * 작 성 일 : 2007.01.08
  8. * 수정이력 :
  9. * 기 타 : existflag - 0 : 현재일자를 기준으로 사용중, 사용종료된 항목이 아닌경우
  10. 1 : 현재일자를 기준으로 사용중인 항목
  11. 2 : 현재일자를 기준으로 사용중, 사용종료된 항목이 아니면서 선택된 항목
  12. 3 : 현재일자를 기준으로 사용종료된 항목
  13. -->
  14. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  15. <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">
  16. <xhtml:head>
  17. <xhtml:title/>
  18. <model id="model1">
  19. <instance id="instance1">
  20. <root>
  21. <main>
  22. <testgrupcnts>
  23. <testgruplist>
  24. <instcd/>
  25. <testgrupcd/>
  26. <fromdd/>
  27. <todd/>
  28. <testgrupnm/>
  29. <testcd/>
  30. <testnm/>
  31. <delflagcd/>
  32. </testgruplist>
  33. </testgrupcnts>
  34. <testgrupinfo>
  35. <instcd/>
  36. <testgrupcd/>
  37. <testgrupnm/>
  38. <testgrupabbr/>
  39. <todd/>
  40. <fromdd/>
  41. <basepartcd/>
  42. <basepartnm/>
  43. <detlpartcd/>
  44. <detlpartnm/>
  45. <delflagcd/>
  46. <fstrgstdt/>
  47. <fstrgstrid/>
  48. <lastupdtdt/>
  49. <lastupdtrid/>
  50. </testgrupinfo>
  51. <detltestgrup>
  52. <testitemlist>
  53. <choi/>
  54. <testcd/>
  55. <testnm/>
  56. <ptnocd/>
  57. <ptnocdflagcd/>
  58. <stdyptnocd/>
  59. <stdyptnocdflagcd/>
  60. <trustptnocd/>
  61. <trustptnocdflagcd/>
  62. <trusttestflagcd/>
  63. <dispseqno/>
  64. <fromdd/>
  65. <todd/>
  66. <existflag/>
  67. </testitemlist>
  68. </detltestgrup>
  69. </main>
  70. <send>
  71. </send>
  72. <init>
  73. </init>
  74. <hidden>
  75. <userinfo>
  76. <instcd/>
  77. </userinfo>
  78. <delflagcd>0</delflagcd>
  79. <refflag>1</refflag>
  80. <refval/>
  81. <cdupdtflag>1</cdupdtflag>
  82. <scrndata/>
  83. <tempptnocd/>
  84. <sendnode/>
  85. <temptestitem/>
  86. </hidden>
  87. </root>
  88. </instance>
  89. <submission id="TRLPC00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/detltestgrup/testitemlist"/>
  90. <submission id="TRLPC00502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/testgrupcnts/testgruplist"/>
  91. <submission id="TRLPC00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/testgrupinfo"/>
  92. <submission id="TXLPC00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/msg"/>
  93. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  94. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  95. <script type="javascript" ev:event="xforms-ready">
  96. <![CDATA[
  97. fExeInitialize();
  98. ]]>
  99. </script>
  100. <!-- public Script Start -->
  101. <script type="javascript">
  102. <![CDATA[
  103. /* @group : 검사그룹항목등록 화면
  104. * @ver : 2007.01.08 (CMCDEV-0001)
  105. * @by : 황상미(ACK)
  106. * @-----------------------------------
  107. * @type : function
  108. * @access : public
  109. * @desc : 화면초기화 함수
  110. */
  111. function fExeInitialize(){
  112. model.removeNodeset("/root/main/testgrupcnts/testgruplist");
  113. model.removeNodeset("/root/main/detltestgrup/testitemlist");
  114. model.setValue("/root/hidden/delflagcd", "0");
  115. model.setValue("/root/hidden/refval", "");
  116. model.setValue("/root/hidden/cdupdtflag", "1");
  117. fExeControlChng("false");
  118. model.setValue("/root/hidden/userinfo/instcd", getUserInfo("dutplceinstcd")); //instcd
  119. model.refresh();
  120. }
  121. /* @group : 검사그룹항목등록 화면
  122. * @ver : 2007.01.08 (CMCDEV-0001)
  123. * @by : 황상미(ACK)
  124. * @-----------------------------------
  125. * @type : function
  126. * @access : public
  127. * @desc : 조회/수정/신규 컨트롤 사용여부 변경 함수
  128. * iGbn : 입력구분 - true/false
  129. */
  130. function fExeControlChng(iGbn){
  131. var vCtrSelArr = new Array();
  132. var sGbn = "";
  133. if(iGbn == "true"){
  134. sGbn = "false";
  135. }else{
  136. sGbn = "true";
  137. }
  138. vCtrSelArr[0] = document.controls("btn_testgrup"); //검사그룹조회 버튼
  139. vCtrSelArr[1] = document.controls("btn_basepart"); //기본파트조회 버튼
  140. vCtrSelArr[2] = document.controls("btn_detlpart"); //세부파트조회 버튼
  141. vCtrSelArr[3] = document.controls("rdo_delflagcd"); //사용구분 라디오버튼
  142. //Control 사용여부 설정
  143. for(var idx = 0; idx < vCtrSelArr.length; idx++){
  144. vCtrSelArr[idx].disabled = sGbn;
  145. }
  146. }
  147. /* @group : 검사그룹항목등록 화면
  148. * @ver : 2007.01.08 (CMCDEV-0001)
  149. * @by : 황상미(ACK)
  150. * @-----------------------------------
  151. * @type : function
  152. * @access : public
  153. * @desc : 조회, 수정, 신규 작업 구분 함수
  154. */
  155. function fExeCodeUpdtFlag(){
  156. var updtGbn = model.getValue("/root/hidden/cdupdtflag");
  157. //updtGbn - 1:조회, 2:수정, 3:신규
  158. if(updtGbn == "1"){
  159. fExeControlChng("false");
  160. }else if(updtGbn == "2"){
  161. //수정시 선택된 검사그룹코드가 없을경우
  162. if(model.getValue("/root/main/testgrupinfo/testgrupcd") == ""){
  163. messageBox("검사그룹코드를", "C002");
  164. model.resetInstanceNode("/root/main/testgrupinfo");
  165. model.setValue("/root/hidden/cdupdtflag", "1");
  166. fExeControlChng("false");
  167. model.refresh();
  168. return;
  169. }
  170. fExeControlChng("true");
  171. document.controls("btn_testgrup").disabled = "true";
  172. }else{
  173. //조회부조건이 미사용일 경우
  174. if(model.getValue("/root/hidden/delflagcd") == "1"){
  175. messageBox("미사용 조회조건에서는 신규작업을", "E001");
  176. model.setValue("/root/hidden/cdupdtflag", "1");
  177. fExeControlChng("false");
  178. model.refresh();
  179. return;
  180. }
  181. fExeControlChng("true");
  182. fExeInsWork();
  183. }
  184. model.refresh();
  185. }
  186. /* @group : 검사그룹항목등록 화면
  187. * @ver : 2007.02.08 (CMCDEV-0001)
  188. * @by : 황상미(ACK)
  189. * @-----------------------------------
  190. * @type : function
  191. * @access : public
  192. * @desc : 신규 작업 시 기본 Setting 함수
  193. */
  194. function fExeInsWork(){
  195. model.resetInstanceNode("/root/main/testgrupinfo");
  196. model.setValue("/root/main/testgrupinfo/delflagcd", "0");
  197. document.controls("rdo_delflagcd").disabled = "true";
  198. fGetRefData("testcdlist");
  199. model.refresh();
  200. }
  201. /* @group : 검사그룹항목등록 화면
  202. * @ver : 2007.01.08 (CMCDEV-0001)
  203. * @by : 황상미(ACK)
  204. * @-----------------------------------
  205. * @type : function
  206. * @access : public
  207. * @desc : 검사그룹항목 리스트 조회 함수
  208. */
  209. function fGetRefData(ref_work_flag){
  210. //---------------------------------------------------------------
  211. if(ref_work_flag == "testgrupinfo" && grp_testgruplist.row < 1) {
  212. return;
  213. }
  214. //lpzfExeRemakeSendNode(5); //send data reset function
  215. if(ref_work_flag != "testcdlist" && model.getValue("/root/hidden/cdupdtflag") != "1"){
  216. if(lpzfExeBfChkMsg("R") == true){
  217. model.setValue("/root/hidden/cdupdtflag", "1");
  218. fExeControlChng("false");
  219. }else{
  220. return;
  221. }
  222. }
  223. //--------------------------------
  224. model.removeNodeset("/root/send");
  225. //----------------------
  226. switch (ref_work_flag) {
  227. case "testcdlist":
  228. if (model.getValue("/root/hidden/cdupdtflag") == "3") {
  229. model.removeNodeset("/root/main/detltestgrup/testitemlist");
  230. grd_testlist.refresh();
  231. }
  232. model.makeValue("/root/send/delflagcd", model.getValue("/root/hidden/delflagcd")); // 조회조건 사용여부구분
  233. model.makeValue("/root/send/instcd", model.getValue("/root/hidden/userinfo/instcd")); // 기관코드
  234. model.makeValue("/root/send/testgrupcd", model.getValue("/root/main/testgrupinfo/testgrupcd")); // 검사그룹코드
  235. model.makeValue("/root/send/basepartcd", model.getValue("/root/main/testgrupinfo/basepartcd")); // 기본파트코드
  236. model.makeValue("/root/send/detlpartcd", model.getValue("/root/main/testgrupinfo/detlpartcd")); // 세부파트코드
  237. submit("TRLPC00501");
  238. model.removeNodeset("/root/main/detltestgrup/message");
  239. if(model.getValue("/root/hidden/cdupdtflag") == "3" &&
  240. model.getValue("/root/main/detltestgrup/testitemlist[choi = 'true']/testcd") != ""){
  241. messageBox("이미 검사그룹이 존재하여\n신규작업을 할 수", "I004");
  242. model.setValue("/root/hidden/cdupdtflag", "1");
  243. fExeControlChng("false");
  244. model.setValue("/root/hidden/refflag", "1");
  245. model.setValue("/root/hidden/refval", model.getValue("/root/main/testgrupinfo/testgrupcd"));
  246. fGetRefData("testgruplist");
  247. model.setValue("/root/hidden/refval", "");
  248. return;
  249. }
  250. if(model.getValue("/root/hidden/cdupdtflag") == "3" &&
  251. model.getValue("/root/main/detltestgrup/testitemlist[existflag = '3']/testcd") != ""){
  252. messageBox("사용종료된 검사항목이 있습니다.\n검사그룹 수정작업을 하십시오", "I");
  253. model.setValue("/root/hidden/cdupdtflag", "1");
  254. fExeControlChng("false");
  255. //검사그룹 리스트 조회
  256. model.setValue("/root/hidden/delflagcd", "1");
  257. model.setValue("/root/hidden/refflag", "1");
  258. model.setValue("/root/hidden/refval", model.getValue("/root/main/testgrupinfo/testgrupcd"));
  259. fGetRefData("testgruplist");
  260. model.setValue("/root/hidden/refval", "");
  261. return;
  262. }
  263. break;
  264. case "testgruplist":
  265. model.resetInstanceNode("/root/main/testgrupinfo");
  266. model.resetInstanceNode("/root/main/detltestgrup");
  267. model.removeNodeset("/root/main/detltestgrup/testitemlist");
  268. grd_testlist.rebuild();
  269. model.makeValue("/root/send/delflagcd", model.getValue("/root/hidden/delflagcd")); //조회조건 사용여부구분
  270. model.makeValue("/root/send/refflag", model.getValue("/root/hidden/refflag")); //조회구분
  271. model.makeValue("/root/send/refval", model.getValue("/root/hidden/refval")); //조회값
  272. model.makeValue("/root/send/instcd", model.getValue("/root/hidden/userinfo/instcd")); //기관코드
  273. submit("TRLPC00502");
  274. model.removeNodeset("/root/main/testgrupcnts/message");
  275. break;
  276. case "testgrupinfo":
  277. var prest_row = grp_testgruplist.row;
  278. model.makeValue("/root/send/delflagcd", model.getValue("/root/hidden/delflagcd")); //사용여부구분
  279. model.makeValue("/root/send/testgrupcd", model.getValue("/root/main/testgrupcnts/testgruplist[" + prest_row + "]/testgrupcd")); //검사그룹코드
  280. model.makeValue("/root/send/instcd", model.getValue("/root/hidden/userinfo/instcd")); //기관코드
  281. submit("TRLPC00503");
  282. model.removeNodeset("/root/main/message");
  283. fGetRefData("testcdlist");
  284. break;
  285. default:
  286. break;
  287. }
  288. model.refresh();
  289. }
  290. /* @group : 검사그룹항목등록 화면
  291. * @ver : 2007.02.13 (CMCDEV-0001)
  292. * @by : 황상미(ACK)
  293. * @-----------------------------------
  294. * @type : function
  295. * @access : public
  296. * @desc : 초기 조회된 검사항목 리스트의 원본정보를 저장/비교한다.
  297. */
  298. function fExeOrgData(flag){
  299. //화면초기화 및 저장된 항목 insert ********************
  300. var prest_test_cd = new Array();
  301. var choi_test_cd = new Array();
  302. var cnt_choi_test_item = 0;
  303. var cnt_prest_test_item = 0;
  304. var prest_row; //추가나 수정이 시작될 row
  305. //검사그룹리스트
  306. for(var i = 1; i < grp_testgruplist.rows; i++){
  307. if(model.getValue("/root/main/testgrupcnts/testgruplist[" + i + "]/testgrupcd") ==
  308. model.getValue("/root/main/testgrupinfo/testgrupcd")){
  309. prest_test_cd[cnt_prest_test_item++] = model.getValue("/root/main/testgrupcnts/testgruplist[" + i + "]/testcd");
  310. }
  311. }
  312. //검사항목리스트
  313. for(var i = 1; i < grd_testlist.rows; i++){
  314. if(model.getValue("/root/main/detltestgrup/testitemlist[" + i + "]/choi") == "true"){
  315. choi_test_cd[cnt_choi_test_item++] = model.getValue("/root/main/detltestgrup/testitemlist[" + i + "]/testcd");
  316. }
  317. }
  318. //1. 새로 추가된 항목들
  319. var j = 0;
  320. for(var i = 0; i < choi_test_cd.length; i++){
  321. for(j = 0; j < prest_test_cd.length; j++){
  322. if(choi_test_cd[i] == prest_test_cd[j]){
  323. break;
  324. }
  325. }
  326. if(j >= prest_test_cd.length){
  327. return true;
  328. }
  329. }
  330. //2. 새로 제거된 항목들
  331. j = 0;
  332. for(var i = 0; i < prest_test_cd.length; i++){
  333. for(j = 0; j < choi_test_cd.length; j++){
  334. if(choi_test_cd[i] == prest_test_cd[j]){
  335. break;
  336. }
  337. }
  338. if(j >= choi_test_cd.length){
  339. return true;
  340. }
  341. }
  342. return false;
  343. }
  344. /* @group : 검사그룹항목등록 화면
  345. * @ver : 2007.02.08 (CMCDEV-0001)
  346. * @by : 황상미(ACK)
  347. * @-----------------------------------
  348. * @type : function
  349. * @access : public
  350. * @desc : 처리부영역 항목 선택시 처리 함수
  351. * gbn : 선택된 처리값
  352. */
  353. function fExeCheckItem(flag){
  354. //수정 or 신규작업시에만 Check
  355. if(flag != "refval" && flag != "choiitem" && model.getValue("/root/hidden/cdupdtflag") == "1"){
  356. return;
  357. }else if(model.getValue("/root/hidden/cdupdtflag") == "2" && model.getValue("/root/main/testgrupinfo/testgrupcd") == ""){
  358. return;
  359. }
  360. var arr_flag = flag.split("_");
  361. if(arr_flag.length > 1){
  362. flag = arr_flag[0];
  363. }
  364. switch(flag){
  365. case "basepart": //기본파트 선택 팝업호출
  366. lpzfExeComnOpenScrn("basepart", "/root/main/testgrupinfo");
  367. model.resetInstanceNode("/root/main/testgrupinfo/detlpartcd");
  368. model.resetInstanceNode("/root/main/testgrupinfo/detlpartnm");
  369. fGetRefData("testcdlist"); //검사항목리스트 재조회
  370. break;
  371. case "detlpart": //세부파트 선택 팝업호출
  372. lpzfExeComnOpenScrn("detlpart", "/root/main/testgrupinfo");
  373. fGetRefData("testcdlist"); //검사항목리스트 재조회
  374. break;
  375. case "testgrup": //검사그룹 선택 팝업호출
  376. lpzfExeComnOpenScrn("testgrup", "/root/main/testgrupinfo");
  377. fGetRefData("testcdlist"); //검사항목리스트 재조회
  378. break;
  379. case "ptnocode":
  380. model.setValue("/root/hidden/tempptnocd", "");
  381. lpzfExeComnOpenScrn("ptnocode");
  382. if(model.getValue("/root/hidden/tempptnocd") != ""){
  383. if(arr_flag[1] == "1"){
  384. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/ptnocd", model.getValue("/root/hidden/tempptnocd"));
  385. }else if(arr_flag[1] == "2"){
  386. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/stdyptnocd", model.getValue("/root/hidden/tempptnocd"));
  387. }else if(arr_flag[1] == "3"){
  388. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/trustptnocd", model.getValue("/root/hidden/tempptnocd"));
  389. }
  390. }
  391. break;
  392. case "choiitem":
  393. if(grd_testlist.col == 0){
  394. if(model.getValue("/root/hidden/cdupdtflag") == "1"){
  395. messageBox("조회작업 중", "E008");
  396. if(model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag") == "0" ||
  397. model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag") == "3"){
  398. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/choi", "false");
  399. }else{
  400. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/choi", "true");
  401. }
  402. }else{
  403. if(model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/choi") == "true" &&
  404. model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag") == "0"){
  405. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag", "2");
  406. }else if(model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/choi") == "false" &&
  407. model.getValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag") == "2"){
  408. model.setValue("/root/main/detltestgrup/testitemlist[" + (grd_testlist.row-1) + "]/existflag", "0");
  409. }
  410. }
  411. }
  412. break;
  413. case "refval":
  414. if(model.getValue("/root/hidden/refval") != ""){
  415. lpzfExeLrgChar("/root/hidden/refval");
  416. }
  417. break;
  418. default:
  419. break;
  420. }
  421. model.refresh();
  422. }
  423. /* @group : 검사그룹항목등록 화면
  424. * @ver : 2007.02.09 (CMCDEV-0001)
  425. * @by : 황상미(ACK)
  426. * @-----------------------------------
  427. * @type : function
  428. * @access : public
  429. * @desc : 검사항목코드정보 수정/신규 함수
  430. */
  431. function fSetUpdtData(){
  432. var updt_flag = model.getValue("/root/hidden/cdupdtflag");
  433. var totcnt = grd_testlist.rows;
  434. var next_row = 1;
  435. var save_type = "";
  436. var sel_item = 0;
  437. if(updt_flag == "1"){
  438. messageBox("조회작업 중", "E008");
  439. return;
  440. }
  441. //선택된 항목이 있는지 확인 ********************************
  442. for(var i = 1; i < grd_testlist.rows; i++){
  443. if(model.getValue("/root/main/detltestgrup/testitemlist[" + i + "]/choi") == "true"){
  444. sel_item++;
  445. }
  446. }
  447. if(sel_item < 1){
  448. messageBox("검사항목을 선택 ", "C002");
  449. return;
  450. }
  451. //********************************************************
  452. //필수 입력항목 및 자리수 확인
  453. if(model.getValue("/root/main/testgrupinfo/testgrupcd") == ""){
  454. messageBox("검사그룹 코드를", "C002");
  455. return;
  456. }
  457. //저장여부 확인Message
  458. if(lpzfExeBfChkMsg("UI") == false){
  459. //6:예, 7:아니오, 2:취소
  460. return;
  461. }
  462. lpzfExeRemakeSendNode(4); //send node reset
  463. for(var idx = 1; idx < totcnt; idx++){
  464. if(model.getValue("/root/main/detltestgrup/testitemlist[" + idx + "]/existflag") != "0"){
  465. model.makeNode("/root/hidden/sendnode/testinfo[" + next_row + "]");
  466. model.copyNode("/root/hidden/sendnode/testinfo[" + (next_row++) + "]",
  467. "/root/main/detltestgrup/testitemlist[" + idx + "]");
  468. }
  469. }
  470. var testgrupcd = model.getValue("/root/main/testgrupinfo/testgrupcd");
  471. model.setValue("/root/main/testgrupinfo/instcd", model.getValue("/root/hidden/userinfo/instcd")); //test instcd
  472. model.setValue("/root/send/data1", updt_flag); //수정/신규구분
  473. model.copyNode("/root/send/data2", "/root/main/testgrupinfo"); //검사그룹정보
  474. model.copyNode("/root/send/data3", "/root/hidden/sendnode"); //검사코드정보
  475. model.setValue("/root/send/data4", model.getValue("/root/main/testgrupcnts/testgruplist[testgrupcd = '" + testgrupcd + "']/delflagcd"));
  476. if(submit("TXLPC00501")){
  477. messageBox("저장이", "I002");
  478. model.resetInstanceNode("/root/main/testgrupinfo");
  479. model.setValue("/root/hidden/cdupdtflag", "1");
  480. fExeControlChng("false");
  481. model.removeNodeset("/root/main/detltestgrup/testitemlist");
  482. model.setValue("/root/hidden/cdupdtflag", "1");
  483. fExeControlChng("false");
  484. fGetRefData("testgruplist");
  485. }else{
  486. messageBox("저장이", "E009");
  487. }
  488. model.removeNodeset("/root/hidden/sendnode/testinfo");
  489. model.refresh();
  490. }
  491. /* @group : 검사그룹항목등록 화면
  492. * @ver : 2007.08.13 (CMCDEV-0001)
  493. * @by : 황상미(ACK)
  494. * @-----------------------------------
  495. * @type : function
  496. * @access : public
  497. * @desc : 검사항목 그리드 클릭 처리 함수
  498. */
  499. function fExeTestClick() {
  500. //------------------------------------------------------------------------------------
  501. if (grd_testlist.isCell(event.target) && grd_testlist.row >= grd_testlist.fixedRows) {
  502. fExeCheckItem("ptnocode_1");
  503. }
  504. }
  505. /* @group : 검사그룹항목등록 화면
  506. * @ver : 2007.08.13 (CMCDEV-0001)
  507. * @by : 황상미(ACK)
  508. * @-----------------------------------
  509. * @type : function
  510. * @access : public
  511. * @desc : 검사그룹항목 그리드 클릭 처리 함수
  512. */
  513. function fExeGroupClick() {
  514. //------------------------------------------------------------------------------------------------
  515. if (grp_testgruplist.isCell(event.target) && grp_testgruplist.row >= grp_testgruplist.fixedRows) {
  516. fGetRefData("testgrupinfo");
  517. }
  518. }
  519. function fExePtNoPopupCall() {
  520. switch (grd_testlist.col) {
  521. case 3 : fExeCheckItem("ptnocode_1");
  522. break;
  523. case 5 : fExeCheckItem("ptnocode_2");
  524. break;
  525. case 7 : fExeCheckItem("ptnocode_3");
  526. break;
  527. }
  528. }
  529. ]]>
  530. </script>
  531. <!-- public Script end -->
  532. </model>
  533. </xhtml:head>
  534. <xhtml:body guideline="1,1194;2,784;2,58;2,757;1,565;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  535. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  536. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:15px; ">검사그룹항목등록</caption>
  537. </group>
  538. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  539. <button id="button11" class="btn4_letter2" navindex="12" style="left:1138px; top:3px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  540. <caption>저장</caption>
  541. <script type="javascript" ev:event="onclick">
  542. <![CDATA[
  543. fSetUpdtData();
  544. ]]>
  545. </script>
  546. </button>
  547. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  548. </group>
  549. <group id="grp_biz" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  550. <group id="group1" style="left:0px; top:10px; width:1194px; height:35px; ">
  551. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  552. <button id="button3" class="btn1_letter2" navindex="4" style="left:1123px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  553. <caption>조회</caption>
  554. <script type="javascript" ev:event="onclick">
  555. <![CDATA[
  556. fGetRefData("testgruplist");
  557. ]]>
  558. </script>
  559. </button>
  560. <line id="line14" class="line_4" style="x1:1108px; y1:6px; x2:1108px; y2:28px; border-color:#ffe4bb; border-left-style:solid; "/>
  561. <caption id="caption2" class="search_name" style="left:15px; top:9px; width:90px; height:17px; vertical-align:middle; background-image:../../../com/commonweb/images/search_bullet1.gif; ">사용여부 :</caption>
  562. <input id="input1" ref="/root/hidden/refval" class="input_search" navindex="3" imemode="alpha" maxlength="10" style="left:974px; top:8px; width:120px; height:19px; ">
  563. <script type="javascript" ev:event="DOMFocusOut">
  564. <![CDATA[
  565. fExeCheckItem("refval");
  566. ]]>
  567. </script>
  568. </input>
  569. <select1 id="combo1" ref="/root/hidden/refflag" class="combo_search" navindex="2" appearance="minimal" style="left:851px; top:8px; width:120px; height:19px; ">
  570. <choices>
  571. <item>
  572. <label>검사그룹코드</label>
  573. <value>1</value>
  574. </item>
  575. <item>
  576. <label>검사코드</label>
  577. <value>2</value>
  578. </item>
  579. </choices>
  580. </select1>
  581. <caption id="caption22" class="search_name" style="left:773px; top:9px; width:75px; height:17px; vertical-align:middle; background-image:../../../com/commonweb/images/search_bullet1.gif; ">조회값 :</caption>
  582. <select1 id="rdo_s_delflagcd" ref="/root/hidden/delflagcd" class="radio_search" navindex="1" appearance="full" cellspacing="20" cols="3" overflow="visible" style="left:108px; top:10px; width:122px; height:16px; border-style:none; ">
  583. <choices>
  584. <item>
  585. <label>사용</label>
  586. <value>0</value>
  587. </item>
  588. <item>
  589. <label>미사용</label>
  590. <value>1</value>
  591. </item>
  592. </choices>
  593. </select1>
  594. </group>
  595. <group id="group2" style="left:0px; top:55px; width:560px; height:689px; ">
  596. <caption id="caption1" class="tit_2" style="left:5px; top:0px; width:131px; height:14px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">검사그룹</caption>
  597. <line id="line1" class="line_1" style="x1:0px; y1:15px; x2:560px; y2:15px; "/>
  598. <datagrid id="grp_testgruplist" nodeset="/root/main/testgrupcnts/testgruplist" caption="기관코드^그룹코드^시작일자^종료일자^그룹명칭^검사코드^검사명칭^사용여부" colsep="^" colwidth="0, 80, 75, 75, 120, 80, 105, 0" dataheight="23" ellipsis="true" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" navindex="5" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:20px; width:560px; height:660px; border-color:#c0c0c0; ">
  599. <col ref="instcd" type="output"/>
  600. <col ref="testgrupcd" type="output"/>
  601. <col ref="fromdd" type="output" format="yyyy-mm-dd"/>
  602. <col ref="todd" type="output" format="yyyy-mm-dd"/>
  603. <col ref="testgrupnm" type="output"/>
  604. <col ref="testcd" type="output"/>
  605. <col ref="testnm" type="output"/>
  606. <col ref="delflagcd" type="output"/>
  607. <script type="javascript" ev:event="onclick">
  608. <![CDATA[
  609. fExeGroupClick();
  610. ]]>
  611. </script>
  612. <script type="javascript" ev:event="onaftersort">
  613. <![CDATA[
  614. grp_testgruplist.gridToInstance();
  615. ]]>
  616. </script>
  617. </datagrid>
  618. </group>
  619. <group id="group5" style="left:565px; top:55px; width:629px; height:689px; ">
  620. <caption id="caption3" class="tit_2" style="left:5px; top:5px; width:98px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">검사그룹정보</caption>
  621. <line id="line2" class="line_1" style="x1:0px; y1:20px; x2:629px; y2:20px; "/>
  622. <line id="line10" class="line_2" style="x1:0px; y1:47px; x2:629px; y2:47px; "/>
  623. <line id="line11" class="line_2" style="x1:0px; y1:71px; x2:629px; y2:71px; "/>
  624. <line id="line12" class="line_2" style="x1:0px; y1:95px; x2:629px; y2:95px; "/>
  625. <line id="line13" class="line_2" style="x1:0px; y1:119px; x2:629px; y2:119px; "/>
  626. <caption id="caption13" class="cell_1" style="left:0px; top:25px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">검사그룹코드</caption>
  627. <caption id="caption14" class="cell_1" style="left:0px; top:73px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">시작일자</caption>
  628. <caption id="caption16" class="cell_1" style="left:316px; top:73px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">종료일자</caption>
  629. <caption id="caption17" class="cell_1" style="left:0px; top:49px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">그룹명칭</caption>
  630. <line id="line4" class="line_2" style="x1:0px; y1:143px; x2:629px; y2:143px; "/>
  631. <caption id="caption4" class="cell_1" style="left:316px; top:49px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">그룹약칭</caption>
  632. <caption id="caption5" class="cell_1" style="left:0px; top:97px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">기본파트</caption>
  633. <caption id="caption7" class="cell_1" style="left:316px; top:97px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">세부파트</caption>
  634. <caption id="caption8" class="cell_1" style="left:316px; top:25px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">사용여부</caption>
  635. <caption id="caption12" class="cell_1" style="left:316px; top:145px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">최종등록자</caption>
  636. <select1 id="rdo_lendflag" ref="/root/hidden/cdupdtflag" navindex="6" appearance="full" cellspacing="10" cols="3" overflow="visible" style="left:106px; top:4px; width:155px; height:13px; border-style:none; ">
  637. <choices>
  638. <item>
  639. <label>조회</label>
  640. <value>1</value>
  641. </item>
  642. <item>
  643. <label>수정</label>
  644. <value>2</value>
  645. </item>
  646. <item>
  647. <label>신규</label>
  648. <value>3</value>
  649. </item>
  650. </choices>
  651. <script type="javascript" ev:event="xforms-value-changed">
  652. <![CDATA[
  653. fExeCodeUpdtFlag();
  654. ]]>
  655. </script>
  656. </select1>
  657. <caption id="caption15" class="cell_1" style="left:0px; top:121px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">최초등록일시</caption>
  658. <caption id="caption18" class="cell_1" style="left:316px; top:121px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">최초등록자</caption>
  659. <caption id="caption19" class="cell_1" style="left:0px; top:145px; width:130px; height:23px; text-align:left; vertical-align:middle; padding-left:10px; ">최종등록일시</caption>
  660. <select1 id="rdo_delflagcd" ref="/root/main/testgrupinfo/delflagcd" navindex="10" appearance="full" cellspacing="30" cols="2" overflow="visible" style="left:449px; top:29px; width:132px; height:13px; border-style:none; ">
  661. <choices>
  662. <item>
  663. <label>사용</label>
  664. <value>0</value>
  665. </item>
  666. <item>
  667. <label>미사용</label>
  668. <value>1</value>
  669. </item>
  670. </choices>
  671. </select1>
  672. <output id="opt_fstrgstdt" ref="/root/main/testgrupinfo/fstrgstdt" class="output_fix" format="yyyy-mm-dd hh:mm:ss" appearance="output" style="left:133px; top:122px; width:180px; height:19px; border-color:#c0c0c0; "/>
  673. <output id="opt_fstrgstrid" ref="/root/main/testgrupinfo/fstrgstrid" class="output_fix" appearance="output" style="left:449px; top:122px; width:180px; height:19px; border-color:#c0c0c0; "/>
  674. <output id="opt_lastupdtdt" ref="/root/main/testgrupinfo/lastupdtdt" class="output_fix" format="yyyy-mm-dd hh:mm:ss" appearance="output" style="left:133px; top:146px; width:180px; height:19px; border-color:#c0c0c0; "/>
  675. <output id="opt_lastupdtrid" ref="/root/main/testgrupinfo/lastupdtrid" class="output_fix" appearance="output" style="left:449px; top:146px; width:180px; height:19px; border-color:#c0c0c0; "/>
  676. <caption id="caption9" class="tit_2" style="left:5px; top:178px; width:70px; height:13px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">검사항목</caption>
  677. <line id="line8" class="line_1" style="x1:0px; y1:193px; x2:629px; y2:193px; "/>
  678. <output id="opt_testgrupabbr" ref="/root/main/testgrupinfo/testgrupabbr" class="output_fix" appearance="output" style="left:449px; top:50px; width:180px; height:19px; border-color:#c0c0c0; "/>
  679. <output id="opt_testgrupnm" ref="/root/main/testgrupinfo/testgrupnm" class="output_fix" appearance="output" style="left:133px; top:50px; width:180px; height:19px; border-color:#c0c0c0; "/>
  680. <output id="opt_uedd" ref="/root/main/testgrupinfo/todd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:449px; top:74px; width:180px; height:19px; border-color:#c0c0c0; "/>
  681. <output id="ipt_usdd" ref="/root/main/testgrupinfo/fromdd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:133px; top:74px; width:180px; height:19px; border-color:#c0c0c0; "/>
  682. <output id="opt_testgrupcd" ref="/root/main/testgrupinfo/testgrupcd" class="output_fix" appearance="output" style="left:133px; top:26px; width:161px; height:19px; border-color:#c0c0c0; "/>
  683. <button id="btn_basepart" class="icon_search" navindex="8" visibility="hidden" style="left:176px; top:101px; width:16px; height:16px; ">
  684. <caption/>
  685. <script type="javascript" ev:event="onclick">
  686. <![CDATA[
  687. fExeCheckItem("basepart");
  688. ]]>
  689. </script>
  690. </button>
  691. <button id="btn_detlpart" class="icon_search" navindex="9" visibility="hidden" style="left:492px; top:101px; width:16px; height:16px; ">
  692. <caption/>
  693. <script type="javascript" ev:event="onclick">
  694. <![CDATA[
  695. fExeCheckItem("detlpart");
  696. ]]>
  697. </script>
  698. </button>
  699. <output id="opt_basepartcd" ref="/root/main/testgrupinfo/basepartcd" class="output_fix" appearance="output" style="left:133px; top:98px; width:58px; height:19px; border-color:#c0c0c0; "/>
  700. <output id="opt_detlpartcd" ref="/root/main/testgrupinfo/detlpartcd" class="output_fix" appearance="output" style="left:449px; top:98px; width:58px; height:19px; border-color:#c0c0c0; "/>
  701. <output id="opt_basepartnm" ref="/root/main/testgrupinfo/basepartnm" class="output_fix" appearance="output" style="left:194px; top:98px; width:119px; height:19px; padding-left:10px; border-color:#c0c0c0; "/>
  702. <output id="opt_detlpartnm" ref="/root/main/testgrupinfo/detlpartnm" class="output_fix" appearance="output" style="left:510px; top:98px; width:119px; height:19px; padding-left:10px; border-color:#c0c0c0; "/>
  703. <button id="btn_testgrup" class="icon_search" navindex="7" style="left:297px; top:26px; width:16px; height:16px; ">
  704. <caption/>
  705. <script type="javascript" ev:event="onclick">
  706. <![CDATA[
  707. fExeCheckItem("testgrup");
  708. ]]>
  709. </script>
  710. </button>
  711. <datagrid id="grd_testlist" nodeset="/root/main/detltestgrup/testitemlist" class="datagrid1" caption="선택^검사코드^검사명칭^병리번호^병리번호^연구병리번호^연구병리번호^수탁병리번호^수탁병리번호^위탁검사&#xA;구분^표시&#xA;순서^fromdd^todd^기존데이터여부|선택^검사코드^검사명칭^코드^구분^코드^구분^코드^구분^위탁검사&#xA;구분^표시&#xA;순서^fromdd^todd^기존데이터여부" colsep="^" colwidth="30, 65, 90, 60, 55, 60, 55, 60, 55, 55, 40, 0, 0, 0" dataheight="23" ellipsis="true" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="11" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:198px; width:629px; height:477px; border-color:#c0c0c0; ">
  712. <col ref="choi" type="checkbox"/>
  713. <col ref="testcd" type="output"/>
  714. <col ref="testnm" type="output"/>
  715. <col ref="ptnocd" type="inputbutton"/>
  716. <col ref="ptnocdflagcd" type="combo">
  717. <choices>
  718. <item>
  719. <label>불포함</label>
  720. <value>1</value>
  721. </item>
  722. <item>
  723. <label>포함</label>
  724. <value>0</value>
  725. </item>
  726. </choices>
  727. </col>
  728. <col ref="stdyptnocd" type="inputbutton"/>
  729. <col ref="stdyptnocdflagcd" type="combo">
  730. <choices>
  731. <item>
  732. <label>불포함</label>
  733. <value>1</value>
  734. </item>
  735. <item>
  736. <label>포함</label>
  737. <value>0</value>
  738. </item>
  739. </choices>
  740. </col>
  741. <col ref="trustptnocd" type="inputbutton"/>
  742. <col ref="trustptnocdflagcd" type="combo">
  743. <choices>
  744. <item>
  745. <label>불포함</label>
  746. <value>1</value>
  747. </item>
  748. <item>
  749. <label>포함</label>
  750. <value>0</value>
  751. </item>
  752. </choices>
  753. </col>
  754. <col ref="trusttestflagcd" type="combo">
  755. <choices>
  756. <item>
  757. <label>비위탁</label>
  758. <value>0</value>
  759. </item>
  760. <item>
  761. <label>위탁</label>
  762. <value>1</value>
  763. </item>
  764. </choices>
  765. </col>
  766. <col ref="dispseqno" type="input" format="9999"/>
  767. <col ref="fromdd" type="output"/>
  768. <col ref="todd" type="output"/>
  769. <col ref="existflag" type="output"/>
  770. <script type="javascript" ev:event="onclick">
  771. <![CDATA[
  772. fExeCheckItem("choiitem");
  773. ]]>
  774. </script>
  775. <script type="javascript" ev:event="onaftersort">
  776. <![CDATA[
  777. grd_testlist.gridToInstance();
  778. ]]>
  779. </script>
  780. <script type="javascript" ev:event="onbuttonclick">
  781. <![CDATA[
  782. fExePtNoPopupCall();
  783. ]]>
  784. </script>
  785. </datagrid>
  786. <line id="line3" class="line_3" style="x1:0px; y1:167px; x2:629px; y2:167px; "/>
  787. </group>
  788. </group>
  789. </xhtml:body>
  790. </xhtml:html>