SMZBC00200_코드관계관리.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  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. <supcodegroup>
  11. <list>
  12. <cdgrup/>
  13. </list>
  14. </supcodegroup>
  15. <supcode>
  16. <list>
  17. <code/>
  18. </list>
  19. </supcode>
  20. <mode/>
  21. <modelabel/>
  22. <targetcdgrupid/>
  23. <subcdgrup>
  24. <list>
  25. <cdgrup/>
  26. </list>
  27. </subcdgrup>
  28. <subcode>
  29. <list>
  30. <code/>
  31. </list>
  32. </subcode>
  33. <search>
  34. <supcdgrupid/>
  35. <supcdgrupnm/>
  36. </search>
  37. <data/>
  38. <labellist>
  39. <supcdgruplabel>상위코드군 목록</supcdgruplabel>
  40. <subcdgruplabel>하위코드군 목록</subcdgruplabel>
  41. <supcdlabel>상위 코드 목록</supcdlabel>
  42. <subcdlabel>하위 코드 목록</subcdlabel>
  43. </labellist>
  44. </main>
  45. <send>
  46. <data>
  47. <supcdgrupididx/>
  48. <subcdgrupididx/>
  49. <supcdidx/>
  50. </data>
  51. </send>
  52. <hidden>
  53. <temp/>
  54. </hidden>
  55. </root>
  56. </instance>
  57. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  58. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  59. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  60. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC002.js"/>
  61. <submission id="TXZBC00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  62. <submission id="TXZBC00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  63. <submission id="TXZBC00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  64. <submission id="TRZBC00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/supcodegroup/list"/>
  65. <submission id="TRZBC00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/subcdgrup/list"/>
  66. <submission id="TRZBC00110" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/subcode/list"/>
  67. <submission id="TRZBC00111" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/dncdlist"/>
  68. <submission id="TRZBC00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/hidden/temp"/>
  69. <submission id="TRZBC00114" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/supcode/list"/>
  70. <submission id="TRZBC00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data" replace="instance" resultref="/root/main/supcode/list"/>
  71. </model>
  72. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  73. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  74. </xhtml:head>
  75. <xhtml:body guideline="1,1199;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  76. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  77. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">코드 관계 관리</caption>
  78. </group>
  79. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  80. <caption id="caption1" ref="/root/main/labellist/subcdgruplabel" class="tit_2" style="left:6px; top:386px; width:584px; height:13px; ">하위코드군 목록</caption>
  81. <caption id="caption3" ref="/root/main/labellist/supcdlabel" class="tit_2" style="left:593px; top:65px; width:574px; height:13px; ">상위 코드 목록</caption>
  82. <caption id="caption4" ref="/root/main/labellist/subcdlabel" class="tit_2" style="left:593px; top:386px; width:564px; height:13px; ">하위 코드 목록</caption>
  83. <line id="line4" class="line_2" style="x1:0px; y1:176px; x2:1194px; y2:176px; "/>
  84. <line id="line3" class="line_2" style="x1:0px; y1:152px; x2:1194px; y2:152px; "/>
  85. <line id="line2" class="line_2" style="x1:0px; y1:128px; x2:1194px; y2:128px; "/>
  86. <line id="line6" class="line_2" style="x1:0px; y1:104px; x2:1194px; y2:104px; "/>
  87. <group id="group2" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  88. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  89. <line id="line13" style="x1:1106px; y1:7px; x2:1106px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  90. <input id="ipt_search" ref="/root/main/search/supcdgrupid" class="input_search" inputtype="button" style="left:110px; top:8px; width:100px; height:19px; ">
  91. <script type="javascript" ev:event="onbuttonclick">
  92. <![CDATA[
  93. var supcdgrupid = model.getValue("/root/main/search/supcdgrupid");
  94. fFindGridTreeItem(grd_supcdgruplist, supcdgrupid, grd_supcdgruplist.colRef("cdgrupid"), grd_supcdgruplist.colRef("level"));
  95. model.refresh();
  96. ]]>
  97. </script>
  98. <script type="javascript" ev:event="onkeyup">
  99. <![CDATA[
  100. inputEnterKey("ipt_search", "onbuttonclick");
  101. ]]>
  102. </script>
  103. </input>
  104. <button id="btn_search" class="btn1_letter2" style="left:1120px; top:5px; width:56px; height:22px; ">
  105. <caption>조회</caption>
  106. <script type="javascript" ev:event="DOMActivate">
  107. <![CDATA[
  108. var supcdgrupid = model.getValue("/root/main/search/supcdgrupid");
  109. model.makeValue("/root/send/data/level", 3);
  110. model.makeValue("/root/send/data/supcdgrupid", supcdgrupid);
  111. var success = submit("TRZBC00107");
  112. if(success){
  113. setTree(grd_supcdgruplist, grd_supcdgruplist.colRef("level"), grd_supcdgruplist.colRef("cdgrupid"), true);
  114. model.removenode("/root/main/supcode/list");
  115. model.makeNode("/root/main/supcode/list");
  116. model.removenode("/root/main/subcode/list");
  117. model.makeNode("/root/main/subcode/list");
  118. model.refresh();
  119. }
  120. ]]>
  121. </script>
  122. </button>
  123. <caption id="caption2" class="search_name" style="left:15px; top:8px; width:96px; height:17px; ">코드군 ID :</caption>
  124. <img id="img1" class="icon_search" style="left:215px; top:9px; width:16px; height:16px; background-stretch:stretch; ">
  125. <script type="javascript" ev:event="onclick">
  126. <![CDATA[
  127. var searchcondition = "cdgrupid";
  128. var searchterm = model.getValue("/root/main/search/supcdgrupid");
  129. var receivecdgrupidpath = '/root/main/search/supcdgrupid';
  130. var receivecdgrupnmpath = "/root/main/search/supcdgrupnm";
  131. zbcOpenCodeGroupList(searchcondition, searchterm, receivecdgrupidpath, receivecdgrupnmpath, true);
  132. ]]>
  133. </script>
  134. </img>
  135. </group>
  136. <caption id="caption20" ref="/root/main/labellist/supcdgruplabel" class="tit_2" style="left:6px; top:65px; width:118px; height:13px; ">상위코드군 목록</caption>
  137. <line id="line8" class="line_1" style="x1:0px; y1:82px; x2:1194px; y2:82px; "/>
  138. <line id="line7" class="line_3" style="x1:0px; y1:741px; x2:1194px; y2:741px; "/>
  139. <datagrid id="grd_supcdgruplist" nodeset="/root/main/supcodegroup/list/cdgrup" caption="코드군ID^코드군명^코드길이^코드군설명^출력순서^유효시작일자^유효종료일자^권한기관코드^권한기관명^권한부서코드^권한부서명^최초등록자ID^최초등록자이름^최초등록일시^최종수정자ID^최종수정자이름^최종수정일시^레 벨" colwidth="150, 200, 60, 200, 60, 100, 100, 100, 100, 100, 100, 100, 100, 150, 100, 100, 150, 100" dataheight="25" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" tooltip="true" style="left:0px; top:85px; width:589px; height:275px; border-color:#808080; ">
  140. <col ref="cdgrupid"/>
  141. <col ref="cdgrupnm"/>
  142. <col ref="cdlgth" visibility="hidden"/>
  143. <col ref="detldesc" visibility="hidden"/>
  144. <col ref="dispseq" visibility="hidden"/>
  145. <col ref="valifromdd" format="yyyy-mm-dd"/>
  146. <col ref="valitodd" format="yyyy-mm-dd"/>
  147. <col ref="authinstcd"/>
  148. <col ref="authinstnm"/>
  149. <col ref="authdeptcd"/>
  150. <col ref="authdeptnm"/>
  151. <col ref="fstrgstrid" visibility="hidden"/>
  152. <col ref="fstrgstrnm" visibility="hidden"/>
  153. <col ref="fstrgstdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
  154. <col ref="lastupdtrid" visibility="hidden"/>
  155. <col ref="lastupdtrnm" visibility="hidden"/>
  156. <col ref="lastupdtdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
  157. <col ref="level" visibility="hidden"/>
  158. <script type="javascript" ev:event="ondblclick">
  159. <![CDATA[
  160. var row = grd_supcdgruplist.row;
  161. if(row>1){
  162. model.removenode("/root/main/subcode/list");
  163. model.makeNode("/root/main/subcode/list");
  164. var cdgrupid = grd_supcdgruplist.valueMatrix(row, grd_supcdgruplist.colRef("cdgrupid"));
  165. var cdgrupnm = grd_supcdgruplist.valueMatrix(row, grd_supcdgruplist.colRef("cdgrupnm"));
  166. model.setValue("/root/main/labellist/supcdgruplabel", "상위코드군 목록 / 현제 선택된 상위코드군 [ 아이디 : "+cdgrupid+", 이름 : "+cdgrupnm+"]");
  167. model.makeValue("/root/send/data/cdgrupid", cdgrupid);
  168. var success = submit("TRZBC00106");
  169. if(success) {
  170. model.setValue("/root/main/labellist/supcdlabel", "상위 코드 목록");
  171. model.setValue("/root/main/labellist/subcdgruplabel", "하위코드군 목록");
  172. model.setValue("/root/main/mode", "upcdref");
  173. model.makeValue("/root/send/data/supcdgrupid", cdgrupid);
  174. model.makeValue("/root/send/data/level", 2);
  175. success = submit("TRZBC00109");
  176. model.setValue("/root/main/mode", "dncdgrupref");
  177. }
  178. model.refresh();
  179. }
  180. ]]>
  181. </script>
  182. </datagrid>
  183. <datagrid id="grd_supcdlist" nodeset="/root/main/supcode/list/code" caption="코드 SID^ 코드군 ID^코드 ID^코드 영문 약어명^코드 이름^코드 상세설명^코드값^최소값^최대값^최소 연산자^최대 연산자^등록일^등록사번" colwidth="203, 100, 100, 100, 125, 125, 100, 100, 100, 100, 100, 100, 100" dataheight="25" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" style="left:590px; top:85px; width:605px; height:275px; border-color:#808080; ">
  184. <col ref="cdsid"/>
  185. <col ref="cdgrupid"/>
  186. <col ref="cdid"/>
  187. <col ref="cdengabbrnm"/>
  188. <col ref="cdnm"/>
  189. <col ref="detldesc"/>
  190. <col ref="cdval"/>
  191. <col ref="minval"/>
  192. <col ref="maxval"/>
  193. <col ref="minopercd"/>
  194. <col ref="maxopercd"/>
  195. <col ref="fstrgstdt"/>
  196. <col ref="fstrgstrid"/>
  197. <script type="javascript" ev:event="ondblclick">
  198. <![CDATA[
  199. var supcdgrup_index = grd_supcdgruplist.row;
  200. if(supcdgrup_index == -1){
  201. messageBox("상위 코드군 ID를", "C002");
  202. return;
  203. }
  204. var supcd_index = grd_supcdlist.row;
  205. if(supcd_index == -1){
  206. messageBox("상위 코드 ID를", "C002");
  207. return;
  208. }
  209. var subcdgrup_index = grd_subcdgruplist.row;
  210. if(subcdgrup_index == -1){
  211. messageBox("하위 코드군 ID를", "C002");
  212. return;
  213. }
  214. var supcdgrupid = grd_supcdgruplist.valueMatrix(supcdgrup_index, grd_supcdgruplist.colRef("cdgrupid"));
  215. var supcdsid = grd_supcdlist.valueMatrix(supcd_index, grd_supcdlist.colRef("cdsid"));
  216. var supcdid = grd_supcdlist.valueMatrix(supcd_index, grd_supcdlist.colRef("cdid"));
  217. var supcdnm = grd_supcdlist.valueMatrix(supcd_index, grd_supcdlist.colRef("cdnm"));
  218. var subcdgrupid = grd_subcdgruplist.valueMatrix(subcdgrup_index, grd_subcdgruplist.colRef("cdgrupid"));
  219. model.setValue("/root/main/labellist/supcdlabel", "상위 코드 목록 / 현제 선택된 상위코드 [아이디 : "+supcdid+", 이름 : "+supcdnm+"]");
  220. model.makeValue("/root/send/data/available", true);
  221. model.makeValue("/root/send/data/supcdsid", supcdsid);
  222. model.makeValue("/root/send/data/subcdgrupid", subcdgrupid);
  223. var success = submit("TRZBC00110");
  224. if(success){
  225. grd_subcdlist.colHidden(grd_subcdlist.colRef("checked")) = false;
  226. grd_subcdlist.rebuild();
  227. }else{
  228. messageBox("[상위 코드군 ID:"+supcdgrupid+", 상위코드 SID:"+supcdsid+", 하위 코드군 ID : "+subcdgrupid+"] 인 하위 코드 목록을 조회에", "E009");
  229. }
  230. model.refresh();
  231. ]]>
  232. </script>
  233. </datagrid>
  234. <datagrid id="grd_subcdlist" nodeset="/root/main/subcode/list/code" caption="선 택^코드SID^코드군ID^코드ID^코드명^코드영문약어명^코드 상세설명^코드값^최소값^최대값^최소연산자^최대연산자" colsep="▦" colwidth="100, 101, 100, 100, 150, 150, 200, 100, 100, 100, 100, 100" dataheight="25" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="▩" tooltip="true" style="left:590px; top:401px; width:605px; height:335px; border-color:#808080; ">
  235. <col ref="checked" type="checkbox"/>
  236. <col ref="cdsid"/>
  237. <col ref="cdgrupid"/>
  238. <col ref="cdid"/>
  239. <col ref="cdnm"/>
  240. <col ref="cdengabbrnm"/>
  241. <col ref="detldesc"/>
  242. <col ref="cdval"/>
  243. <col ref="minval"/>
  244. <col ref="maxval"/>
  245. <col ref="minopercd"/>
  246. <col ref="maxopercd"/>
  247. </datagrid>
  248. <datagrid id="grd_subcdgruplist" nodeset="/root/main/subcdgrup/list/cdgrup" caption="코드군ID^코드군명^코드길이^코드군설명^출력순서^유효시작일자^유효종료일자^권한기관코드^권한기관명^권한부서코드^권한부서명^최초등록자ID^최초등록자이름^최초등록일시^최종수정자ID^최종수정자이름^최종수정일시^레 벨" colwidth="150, 200, 60, 200, 60, 100, 100, 100, 100, 100, 100, 100, 100, 150, 100, 100, 150, 100" dataheight="25" defaultrows="0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" tooltip="true" style="left:0px; top:402px; width:589px; height:334px; border-color:#808080; ">
  249. <col ref="cdgrupid"/>
  250. <col ref="cdgrupnm"/>
  251. <col ref="cdlgth" visibility="hidden"/>
  252. <col ref="detldesc" visibility="hidden"/>
  253. <col ref="dispseq" visibility="hidden"/>
  254. <col ref="valifromdd" format="yyyy-mm-dd"/>
  255. <col ref="valitodd" format="yyyy-mm-dd"/>
  256. <col ref="authinstcd"/>
  257. <col ref="authinstnm"/>
  258. <col ref="authdeptcd"/>
  259. <col ref="authdeptnm"/>
  260. <col ref="fstrgstrid" visibility="hidden"/>
  261. <col ref="fstrgstrnm" visibility="hidden"/>
  262. <col ref="fstrgstdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
  263. <col ref="lastupdtrid" visibility="hidden"/>
  264. <col ref="lastupdtrnm" visibility="hidden"/>
  265. <col ref="lastupdtdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
  266. <col ref="level" visibility="hidden"/>
  267. <script type="javascript" ev:event="ondblclick">
  268. <![CDATA[
  269. model.removenode("/root/send/data");
  270. model.makeNode("/root/send/data");
  271. var row = grd_subcdgruplist.row;
  272. var subcdgrupid = grd_subcdgruplist.valueMatrix(row, grd_subcdgruplist.colRef("cdgrupid"));
  273. var subcdgrupnm = grd_subcdgruplist.valueMatrix(row, grd_subcdgruplist.colRef("cdgrupnm"));
  274. row = grd_supcdlist.row;
  275. if(row!=-1){
  276. var supcdsid = grd_supcdlist.valueMatrix(row, grd_supcdlist.colRef("cdsid"));
  277. var supcdnm = grd_supcdlist.valueMatrix(row, grd_supcdlist.colRef("cdnm"));
  278. model.setValue("/root/main/labellist/supcdlabel", "상위 코드 목록 / 현제 선택된 상위코드 [아이디 : "+supcdsid+", 이름 : "+supcdnm+"]");
  279. model.makeValue("/root/send/data/supcdsid", supcdsid);
  280. }else{
  281. var supcdsid = "abcdefgkkyy";
  282. grd_subcdlist.colHidden(grd_subcdlist.colRef("checked")) = true;
  283. }
  284. model.setValue("/root/main/labellist/subcdgruplabel", "하위코드군 목록 / 현재 선택된 하위코드군 [ 아이디 : "+subcdgrupid+", 이름 "+subcdgrupnm+"]");
  285. model.makeValue("/root/send/data/subcdgrupid", subcdgrupid);
  286. model.makeValue("/root/send/data/supcdsid", supcdsid);
  287. model.makeValue("/root/send/data/available", true);
  288. var success = submit("TRZBC00110");
  289. model.refresh();
  290. ]]>
  291. </script>
  292. </datagrid>
  293. </group>
  294. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  295. <button id="btn_save" class="btn4_letter2" style="left:1064px; top:3px; width:56px; height:22px; ">
  296. <caption>적용</caption>
  297. <script type="javascript" ev:event="DOMActivate">
  298. <![CDATA[
  299. var row = grd_supcdgruplist.row;
  300. if(row==-1){
  301. messageBox('상위 코드군을', 'C001');
  302. return;
  303. }
  304. row = grd_supcdlist.row;
  305. if(row==-1){
  306. messageBox('상위 코드를', 'C001');
  307. return;
  308. }
  309. var row = grd_subcdgruplist.row;
  310. if(row==-1){
  311. messageBox('하위 코드군을', 'C001');
  312. return;
  313. }
  314. model.removenode("/root/send/data");
  315. model.makeNode("/root/send/data");
  316. var subcdgrupid = grd_subcdgruplist.valueMatrix(row, grd_subcdgruplist.colRef("cdgrupid"));
  317. var dncdgrupdeptcd = grd_subcdgruplist.valueMatrix(row, grd_subcdgruplist.colRef("deptcd"));
  318. var userid = getUserInfo("userid");
  319. var dutplcecd = getUserInfo("dutplcecd");
  320. var data = grd_subcdlist.getUpdateData("update");
  321. var rows = data.split("▩");
  322. var cols = rows[0].split("▦");
  323. row = grd_supcdlist.row;
  324. var supcdsid = grd_supcdlist.valueMatrix(row, grd_supcdlist.colRef("cdsid"));
  325. for(rowidx = 1; rowidx<rows.length-1; rowidx++){
  326. var colsval = rows[rowidx].split("▦");
  327. for(colidx = 0; colidx<cols.length; colidx++){
  328. var collal = cols[colidx];
  329. var colval = colsval[colidx];
  330. model.makeValue("/root/send/data/"+collal+"["+rowidx+"]", colval);
  331. model.makeValue("/root/send/data/supcdsid["+rowidx+"]", supcdsid);
  332. }
  333. }
  334. var success = submit("TRZBC00112");
  335. if(success){
  336. messageBox("코드상하위 관계가 재정의가", "I002");
  337. }else{
  338. messageBox("코드상하위 관계가 재정의를", "E001");
  339. }
  340. ]]>
  341. </script>
  342. </button>
  343. <line id="line14" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  344. <button id="btn_init" class="btn4_letter3" style="left:1123px; top:3px; width:68px; height:22px; ">
  345. <caption>초기화</caption>
  346. <script type="javascript" ev:event="DOMActivate">
  347. <![CDATA[
  348. ]]>
  349. </script>
  350. </button>
  351. </group>
  352. </xhtml:body>
  353. </xhtml:html>