SMAEB04300_검사선후관계기준관리.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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>검사 선/후 관게 기준관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grupcdlist>
  11. <item/>
  12. </grupcdlist>
  13. <grupcdlist>
  14. <item>
  15. <grupcd/>
  16. <grupcdnm/>
  17. <grupcdrem/>
  18. </item>
  19. </grupcdlist>
  20. <detlcdlist>
  21. <item>
  22. <sortno/>
  23. <partgrupcd/>
  24. <partcd/>
  25. <basecdflagdesc/>
  26. <excutm/>
  27. <basecdcnts/>
  28. </item>
  29. </detlcdlist>
  30. </main>
  31. <send>
  32. <data>
  33. <itemcd/>
  34. </data>
  35. <req>
  36. <data/>
  37. </req>
  38. <globalinstance>
  39. <instance1/>
  40. </globalinstance>
  41. <partgrupcd/>
  42. <partcd/>
  43. <partdetlcd>-</partdetlcd>
  44. <data2>
  45. <srchexamcurecd/>
  46. <srchexamcurenm/>
  47. <instance1/>
  48. <newoldyb>1</newoldyb>
  49. <excuroomcd/>
  50. </data2>
  51. </send>
  52. <init>
  53. <dept_info>
  54. <initprcpexecdeptcd/>
  55. </dept_info>
  56. </init>
  57. <hidden>
  58. <item>
  59. </item>
  60. </hidden>
  61. <tmp>
  62. <suplcustcd/>
  63. <suplcustnm/>
  64. <prodcmpycd/>
  65. <prodcmpynm/>
  66. </tmp>
  67. <combo>
  68. <speclist/>
  69. </combo>
  70. <tmp>
  71. <examcurecdlist>
  72. <item>
  73. <excucd/>
  74. <excucdnm/>
  75. <excurem/>
  76. </item>
  77. </examcurecdlist>
  78. </tmp>
  79. </root>
  80. </instance>
  81. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  82. <script type="javascript" ev:event="xforms-ready">
  83. <![CDATA[
  84. aezfSetSuppDeptcd();
  85. grd_detlcdlist.fixedcellcheckbox(0,1)=true;
  86. model.removeNodeset("/root/main/grupcdlist/item");
  87. model.removeNodeset("/root/main/detlcdlist/item");
  88. model.refresh();
  89. submit("TRAEB00205", false); // 수행부서 코드 가져오기
  90. submit("TRAEB04301");
  91. ]]>
  92. </script>
  93. <submission id="TRAEB04301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/grupcdlist"/>
  94. <submission id="TRAEB04303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/detlcdlist"/>
  95. <submission id="TXAEB04301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden"/>
  96. <submission id="TRAEB04302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data2" replace="instance" resultref="/root/tmp/examcurecdlist"/>
  97. <submission id="TRAEB00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/globalinstance" replace="instance" resultref="/root/init/dept_info"/>
  98. </model>
  99. </xhtml:head>
  100. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  101. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  103. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  104. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  105. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  106. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  107. <script type="javascript">
  108. <![CDATA[
  109. function fnGetMainList() {
  110. if (submit("TRAEB04301",false)) {
  111. model.removeNodeset("/root/main/detlcdlist/item");
  112. model.refresh();
  113. }
  114. }
  115. ]]>
  116. </script>
  117. <xhtml:body guideline="1,1195;2,786;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  118. <caption id="caption19" class="tit_1" style="left:0px; top:0px; width:170px; height:14px; ">검사 선/후 관게 기준관리</caption>
  119. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:5px; top:20px; width:1190px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  120. <line id="line2" class="line_1" style="x1:0px; y1:82px; x2:245px; y2:82px; "/>
  121. <button id="btn_sea" class="btn1_letter2" style="left:1126px; top:27px; width:56px; height:22px; ">
  122. <caption>조회</caption>
  123. <script type="javascript" ev:event="DOMActivate">
  124. <![CDATA[
  125. fnGetMainList();
  126. ]]>
  127. </script>
  128. </button>
  129. <button id="btn_grddel" class="btn2_letter3" visibility="hidden" style="left:900px; top:62px; width:53px; height:19px; ">
  130. <caption>행삭제</caption>
  131. <script type="javascript" ev:event="onclick">
  132. <![CDATA[
  133. deleteSelectedRows(grd_detlcdlist, true);
  134. ]]>
  135. </script>
  136. </button>
  137. <datagrid id="grd_grupcdlist" nodeset="/root/main/grupcdlist/item" caption="검사코드^검사그룹명^비고" colsep="^" colwidth="0, 205, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="byrow" style="left:0px; top:85px; width:245px; height:665px; ">
  138. <col ref="grupcd" type="output" visibility="hidden"/>
  139. <col ref="grupcdnm"/>
  140. <col ref="grupcdrem" visibility="hidden"/>
  141. <script type="javascript" ev:event="onclick">
  142. <![CDATA[
  143. if (grd_grupcdlist.row == 0) {
  144. return false;
  145. }
  146. var rownum = grd_grupcdlist.row;
  147. model.setValue("/root/send/partgrupcd", model.getValue("/root/main/grupcdlist/item[" + rownum + "]/grupcd"));
  148. submit("TRAEB04303");
  149. ]]>
  150. </script>
  151. </datagrid>
  152. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  153. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:1195px; y2:0px; "/>
  154. <button id="button1" class="btn4_letter2" style="left:1018px; top:4px; width:56px; height:22px; ">
  155. <caption>저장</caption>
  156. <script type="javascript" ev:event="DOMActivate">
  157. <![CDATA[
  158. if(!astfNullValidation("/root/main/detlcdlist/item", "sortno", "우선순위를")) return false;
  159. if(!astfNullValidation("/root/main/detlcdlist/item", "partcd", "검사코드를")) return false;
  160. if(!astfNullValidation("/root/main/detlcdlist/item", "excutm", "검사 간격을")) return false;
  161. var suppdeptcd = "";
  162. for (i=1; i<grd_detlcdlist.rows; i++) {
  163. suppdeptcd = grd_detlcdlist.valueMatrix(i, grd_detlcdlist.colRef("suppdeptcd"));
  164. if (suppdeptcd == "") {
  165. grd_detlcdlist.valueMatrix(i, grd_detlcdlist.colRef("suppdeptcd")) = model.getValue("/root/send/globalinstance/instance1");
  166. grd_detlcdlist.rowStatus(i) = 1;
  167. }
  168. }
  169. if ( messageBox("","Q002")==6 ) {
  170. var update = getGridUpdateData(grd_detlcdlist);
  171. if(update == ""){
  172. messageBox("업데이트 정보가 없습니다.", "I");
  173. return 0;
  174. } else {
  175. model.setValue("/root/send/req/data", update);
  176. if (submit("TXAEB04301",false)) {
  177. submit("TRAEB04303");
  178. }
  179. }
  180. }
  181. ]]>
  182. </script>
  183. </button>
  184. <button id="btn_close" class="btn4_letter2" style="left:1138px; top:4px; width:56px; height:22px; ">
  185. <caption>닫기</caption>
  186. <script type="javascript" ev:event="DOMActivate">
  187. <![CDATA[
  188. window.close();
  189. ]]>
  190. </script>
  191. </button>
  192. <button id="button2" class="btn4_letter2" style="left:1078px; top:4px; width:56px; height:22px; ">
  193. <caption>삭제</caption>
  194. <script type="javascript" ev:event="DOMActivate">
  195. <![CDATA[
  196. if ( messageBox("","Q001")==6 ) {
  197. var nodeList = instance1.selectNodes("/root/main/detlcdlist/item[check='Y']");
  198. var rCSV = getNodeListCSV(nodeList);
  199. if ( rCSV == null ) {
  200. messageBox("삭제할 검사코드을 선택해 주십시오.","I999");
  201. return "0";
  202. }
  203. var loop = grd_detlcdlist.rows - grd_detlcdlist.fixedRows;
  204. var loopcnt = 0;
  205. var check = "";
  206. var suppdeptcd = "";
  207. for (var i = 1 ; i <= loop ; i++ ) {
  208. check = model.getValue("/root/main/detlcdlist/item[" + i + "]/check");
  209. suppdeptcd = model.getValue("/root/main/detlcdlist/item[" + i + "]/suppdeptcd");
  210. if ( check == "Y" && suppdeptcd != "") {
  211. grd_detlcdlist.rowStatus(i) = 4;
  212. loopcnt++;
  213. }
  214. }
  215. var update = getGridUpdateData(grd_detlcdlist);
  216. model.setValue("/root/send/req/data", update);
  217. if (submit("TXAEB04301",false)) {
  218. submit("TRAEB04303");
  219. }
  220. }
  221. ]]>
  222. </script>
  223. </button>
  224. </group>
  225. <datagrid id="grd_detlcdlist" nodeset="/root/main/detlcdlist/item" caption="^우선순위^검사그룹코드^검사코드^검사상세코드^검사명^간격^메시지^지원부서" colsep="^" colwidth="28, 63, 0, 107, 0, 320, 53, 329, 0" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:250px; top:85px; width:945px; height:665px; ">
  226. <col checkvalue="Y,N" ref="check" type="checkbox"/>
  227. <col ref="sortno" type="input" style="text-align:right; "/>
  228. <col ref="partgrupcd"/>
  229. <col imemode="alpha" ref="partcd" type="input"/>
  230. <col ref="partdetlcd" visibility="hidden"/>
  231. <col ref="basecdflagdesc" type="input"/>
  232. <col ref="excutm" type="input" style="text-align:right; "/>
  233. <col ref="basecdcnts" type="input"/>
  234. <col ref="suppdeptcd"/>
  235. <script type="javascript" ev:event="onendedit">
  236. <![CDATA[
  237. var rowcnt = grd_detlcdlist.row;
  238. //if (event.keyCode != 9 && event.keyCode != 13 && event.keyCode != 45 && event.keyCode != 46 ) { //isNull(model.getValue(prcpNode + "[" + grd_prcplist.row+ "]/prcpnm")) && isNull(model.getValue(prcpNode + "[" + grd_prcplist.row+ "]/prcpcd"))
  239. // return;
  240. //}
  241. if ( grd_detlcdlist.col == grd_detlcdlist.colref("partcd") ) {
  242. if(event.keyCode == "13") {
  243. var grupcd = grd_grupcdlist.valueMatrix(grd_grupcdlist.selectedRow(0), grd_grupcdlist.colRef("grupcd"));
  244. var srchexamcurecd = grd_detlcdlist.valueMatrix(rowcnt, grd_detlcdlist.colref("partcd") );
  245. model.setValue("/root/send/data2/srchexamcurecd", srchexamcurecd);
  246. submit("TRAEB04302");
  247. group1.visible = false;
  248. var cnt = getNodesetCount("/root/tmp/examcurecdlist/item");
  249. if (cnt == 1) {
  250. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/m", 1);
  251. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/sortno", "0");
  252. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partgrupcd", grupcd);
  253. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partcd", model.getValue("/root/tmp/examcurecdlist/item[1]/excucd"));
  254. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partdetlcd", "-");
  255. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdflagdesc", model.getValue("/root/tmp/examcurecdlist/item[1]/excucdnm"));
  256. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/excutm", 0);
  257. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdcnts", model.getValue("/root/tmp/examcurecdlist/item[1]/excurem"));
  258. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/suppdeptcd", "");
  259. } else if (cnt > 1) {
  260. group1.visible = true;
  261. }
  262. }
  263. }
  264. ]]>
  265. </script>
  266. </datagrid>
  267. <input id="ipt_srchexamcurecd" ref="/root/send/partcd" class="input_search" imemode="alpha" style="left:105px; top:30px; width:135px; height:19px; ">
  268. <script type="javascript" ev:event="onkeyup">
  269. <![CDATA[
  270. inputEnterKey("btn_sea", "DOMActivate");
  271. ]]>
  272. </script>
  273. <hint>
  274. <![CDATA[검사코드12자리입력가능]]>
  275. </hint>
  276. </input>
  277. <caption id="caption2" class="search_name" style="left:15px; top:30px; width:86px; height:17px; ">검사코드 :</caption>
  278. <caption id="caption1" class="tit_2" style="left:0px; top:68px; width:146px; height:14px; ">검사 선/후 관계 그룹</caption>
  279. <line id="line1" class="line_1" style="x1:250px; y1:82px; x2:1195px; y2:82px; "/>
  280. <caption id="caption3" class="tit_2" style="left:250px; top:68px; width:146px; height:14px; ">검사 선/후 관계 코드</caption>
  281. <button id="btn_selcalcscorcd" class="btn2_letter9" style="left:1010px; top:62px; width:119px; height:19px; ">
  282. <caption>검사코드조회및추가</caption>
  283. <script type="javascript" ev:event="DOMActivate">
  284. <![CDATA[
  285. var grupcd = grd_grupcdlist.valueMatrix(grd_grupcdlist.selectedRow(0), grd_grupcdlist.colRef("grupcd"));
  286. if (grupcd != "") {
  287. modal("SPAEB00500");
  288. } else {
  289. messageBox("검사 선/후 관계 그룹을", "C002");
  290. }
  291. ]]>
  292. </script>
  293. </button>
  294. <button id="btn_grdadd" class="btn2_letter3" style="left:955px; top:62px; width:53px; height:19px; ">
  295. <caption>행추가</caption>
  296. <script type="javascript" ev:event="DOMActivate">
  297. <![CDATA[
  298. var grupcd = grd_grupcdlist.valueMatrix(grd_grupcdlist.selectedRow(0), grd_grupcdlist.colRef("grupcd"));
  299. if (grupcd != "") {
  300. grd_detlcdlist.addRow();
  301. grd_detlcdlist.topRow = grd_detlcdlist.row;
  302. var rowcnt = grd_detlcdlist.row;
  303. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/m", 1);
  304. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/sortno", "0");
  305. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partgrupcd", grupcd);
  306. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partcd", "");
  307. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partdetlcd", "-");
  308. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdflagdesc", "");
  309. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/excutm", 0);
  310. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdcnts", "");
  311. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/suppdeptcd", "");
  312. } else {
  313. alert("검사 그룹을 선택해 주십시요!");
  314. }
  315. ]]>
  316. </script>
  317. </button>
  318. <button id="button12" class="btn2_letter4" style="left:1131px; top:62px; width:64px; height:19px; ">
  319. <caption>엑셀저장</caption>
  320. <script type="javascript" ev:event="DOMActivate">
  321. <![CDATA[
  322. var file = window.fileDialog("save","","false","","xls","Excel Files(*.xls)|*.xls");
  323. grd_detlcdlist.saveExcel(file);
  324. ]]>
  325. </script>
  326. </button>
  327. <group id="group1" visibility="hidden" style="left:370px; top:280px; width:590px; height:155px; ">
  328. <datagrid id="grd_codelist" nodeset="/root/tmp/examcurecdlist/item" caption="검사코드^검사명^수행부서^메시지" colsep="^" colwidth="108, 320, 158, 339" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:590px; height:125px; ">
  329. <col ref="excucd"/>
  330. <col ref="excucdnm"/>
  331. <col disabled="true" editmode="search" ref="prcpexecdeptcd" type="combo">
  332. <choices>
  333. <itemset nodeset="/root/init/dept_info/initprcpexecdeptcd">
  334. <label ref="prcpexecdeptcdnm"/>
  335. <value ref="prcpexecdeptcdid"/>
  336. </itemset>
  337. </choices>
  338. </col>
  339. <col ref="excurem" visibility="hidden"/>
  340. <script type="javascript" ev:event="ondblclick">
  341. <![CDATA[
  342. var rowcnt = grd_detlcdlist.row;
  343. var selrow = grd_codelist.row;
  344. if ( (grd_codelist.row >= grd_codelist.fixedRows) && (grd_codelist.isCell(event.target))) {
  345. var grupcd = grd_grupcdlist.valueMatrix(grd_grupcdlist.selectedRow(0), grd_grupcdlist.colRef("grupcd"));
  346. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/m", 1);
  347. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/sortno", "0");
  348. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partgrupcd", grupcd);
  349. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partcd", model.getValue("/root/tmp/examcurecdlist/item[" + selrow +"]/excucd"));
  350. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/partdetlcd", "-");
  351. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdflagdesc", model.getValue("/root/tmp/examcurecdlist/item[" + selrow +"]/excucdnm"));
  352. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/excutm", 0);
  353. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/basecdcnts", model.getValue("/root/tmp/examcurecdlist/item[" + selrow +"]/excurem"));
  354. model.makeValue("/root/main/detlcdlist/item["+ rowcnt +"]/suppdeptcd", "");
  355. group1.visible = false;
  356. }
  357. ]]>
  358. </script>
  359. </datagrid>
  360. <button id="button26" class="btn4_letter2" style="left:530px; top:130px; width:56px; height:22px; ">
  361. <caption>닫기</caption>
  362. <script type="javascript" ev:event="DOMActivate">
  363. <![CDATA[
  364. group1.visible = false;
  365. ]]>
  366. </script>
  367. </button>
  368. </group>
  369. </xhtml:body>
  370. </xhtml:html>