SMRPB01800_교원업적조건검색.xrw 80 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659
  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. <list>
  11. <tablecode>
  12. <tablecodelist/>
  13. </tablecode>
  14. <tablewhere>
  15. <tablewherelist/>
  16. </tablewhere>
  17. <tableselect>
  18. <tableselectlist/>
  19. </tableselect>
  20. <fixitem>
  21. <fixitemlist/>
  22. <emplnodeptlist/>
  23. </fixitem>
  24. <fixdocu>
  25. <fixdoculist/>
  26. </fixdocu>
  27. <query>
  28. <querylist/>
  29. </query>
  30. </list>
  31. </main>
  32. <send>
  33. <itemqry>
  34. <itemcls/>
  35. <emplno/>
  36. <workflag>02</workflag>
  37. </itemqry>
  38. <fixdocu>
  39. <fixtypenm/>
  40. <nursedeptflag/>
  41. <instcd/>
  42. <workflag>02</workflag>
  43. </fixdocu>
  44. <save>
  45. <fixdoculist/>
  46. </save>
  47. <func>
  48. <funcflag>01</funcflag>
  49. </func>
  50. </send>
  51. <init>
  52. <operator>
  53. <code>=</code>
  54. <cdnm>=</cdnm>
  55. </operator>
  56. <conector>
  57. <code>AND</code>
  58. <cdnm>AND</cdnm>
  59. <code>OR</code>
  60. <cdnm>OR</cdnm>
  61. </conector>
  62. <selectqry/>
  63. <fromqry/>
  64. <whereqry/>
  65. <sqlquery/>
  66. <fixdoucnm/>
  67. <mplemplno/>
  68. <queryflag/>
  69. <queryflag>
  70. <code>1</code>
  71. <cdnm>간호부</cdnm>
  72. <code>2</code>
  73. <cdnm>간호전체</cdnm>
  74. </queryflag>
  75. </init>
  76. <temp>
  77. <s/>
  78. </temp>
  79. </root>
  80. </instance>
  81. <script type="javascript" ev:event="xforms-ready">
  82. <![CDATA[
  83. model.removeNodeset(grd_tblcode.nodeset);
  84. model.removeNodeset(grd_where.nodeset);
  85. model.removeNodeset(grd_select.nodeset);
  86. model.removeNodeset(grd_fixitem.nodeset);
  87. model.refresh();
  88. grd_select.colsort(grd_select.colRef("sortkey")) = "asc";
  89. misfMsterDetailSet(grd_tblcode,null, "TRRPB01702" ,"N");
  90. misfMsterDetailSet(grd_where,null, "TRRPB01703" ,"N");
  91. misfMsterDetailSet(grd_select,null, "TRRPB01703" ,"N");
  92. misfMsterDetailSet(grd_fixitem,null, "TRRPB01705" ,"N");
  93. rpbfComboItemClsList(cmb_itemcls,"02");
  94. grd_tblcode.selectionMode = "listbox";
  95. addGridComboItemAll("grd_where.operator","<>","<>","above");
  96. addGridComboItemAll("grd_where.operator",">",">","above");
  97. addGridComboItemAll("grd_where.operator",">=",">=","above");
  98. addGridComboItemAll("grd_where.operator","<","<","above");
  99. addGridComboItemAll("grd_where.operator","<=","<=","above");
  100. addGridComboItemAll("grd_where.operator","BETWEEN","BETWEEN","above");
  101. addGridComboItemAll("grd_where.operator","IN","IN","above");
  102. addGridComboItemAll("grd_where.operator","NOT IN","NOT IN","above");
  103. model.setValue("/root/send/itemqry/emplno", getUserInfo("userid"));
  104. submit("TRRPB01705");
  105. misfComboComCdListMulti("R0392,R0392","cmb_funcflag,grd_select.funcflag");
  106. addComboItem( "cmb_queryflag", "[-- 전체 --]", "", "above");
  107. cmb_funcflag.value = "01";
  108. model.setValue(cmb_queryflag.attribute("ref"), "");
  109. ]]>
  110. </script>
  111. <submission id="TRRPB01702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/itemqry" resultref="/root/main/list/tablecode"/>
  112. <submission id="TRRPB01703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/itemqry" resultref="/root/main/list/tablecode"/>
  113. <submission id="TRRPB01704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/fixdocu" resultref="/root/main/list/fixdocu"/>
  114. <submission id="TRRPB01705" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/itemqry" resultref="/root/main/list/fixitem"/>
  115. <submission id="TXRPB01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hiddeen/temp"/>
  116. <submission id="TXRPB01702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/fixdocu" resultref="/root/hiddeen/temp"/>
  117. <submission id="TXRPB01703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/" resultref="/root/hiddeen/temp"/>
  118. </model>
  119. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  120. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  122. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  123. <script type="javascript">
  124. <![CDATA[
  125. function fAddWhereColumn()
  126. {
  127. if((grd_tblcode.rows - grd_tblcode.fixedRows) == 0 || grd_tblcode.row == -1)return;
  128. if(grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("itemflag")) == "C"){
  129. messageBox("선택한 항목은 조건 항목으로 선택할 수 없기 때문에 추가","E001");
  130. return false;
  131. }
  132. misfGridIUD(grd_where, "A","N");
  133. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/itemcls", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("itemcls")));
  134. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/itemnm", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("itemnm")));
  135. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/itemkind", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("itemkind")));
  136. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/tblschema", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("tblschema")));
  137. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/tablenm", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("tablenm")));
  138. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/colnm", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("colnm")));
  139. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/cdtblschema", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("cdtblschema")));
  140. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/cdtblnm", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("cdtblnm")));
  141. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/codeflag", grd_tblcode.valueMatrix(grd_tblcode.row, grd_tblcode.colRef("codeflag")));
  142. grd_where.refresh();
  143. return true;
  144. }
  145. function fAddSelectColumn(){
  146. for(var s=0; s < grd_tblcode.selectedRows; s++ )
  147. {
  148. var cur_row = grd_tblcode.selectedrow(s);
  149. var finddata = grd_tblcode.valueMatrix(grd_tblcode.selectedrow(s), grd_tblcode.colRef("itemnm"));
  150. if(grd_select.findRow(finddata,grd_select.fixedRows, grd_select.colRef("itemnm"),true,true) != -1){
  151. messageBox("동일 항목이 이미 존재하므로 추가","E001");
  152. return;
  153. }
  154. misfGridIUD(grd_select, "A","N");
  155. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/itemcls", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("itemcls")));
  156. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/itemclsnm", cmb_itemcls.label);
  157. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/itemnm", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("itemnm")));
  158. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/itemkind", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("itemkind")));
  159. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/tblschema", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("tblschema")));
  160. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/tablenm", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("tablenm")));
  161. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/colnm", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("colnm")));
  162. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/cdtblschema", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("cdtblschema")));
  163. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/cdtblnm", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("cdtblnm")));
  164. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/codeflag", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("codeflag")));
  165. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/funcyn", grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("funcyn")));
  166. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/sumyn", "N");
  167. if (grd_tblcode.valueMatrix(cur_row, grd_tblcode.colRef("funcyn")) == "Y") {
  168. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/funcflag", cmb_funcflag.value);
  169. }
  170. else {
  171. model.setValue(grd_select.attribute("nodeset") + "["+(grd_select.row - grd_select.fixedRows + 1)+"]/funcflag", "01");
  172. }
  173. }
  174. grd_select.refresh();
  175. }
  176. function fSettingQuery(){
  177. //인사 조건 검색을 사전 작업을 진행한다
  178. submit("TXRPB01703");
  179. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  180. {
  181. //조건항목과 검색항목의 존재여부를 체크한다
  182. if(grd_where.rows - grd_where.fixedRows == 0){
  183. messageBox("조건항목이 입력되지 않았습니다. 실행","E001");
  184. return;
  185. }
  186. if(grd_select.rows - grd_select.fixedRows == 0){
  187. messageBox("검색항목이 입력되지 않았습니다. 실행","E001");
  188. return;
  189. }
  190. if(!checkKeyColumn("grd_where","grd_select")) return;
  191. //조건을 위해 사용자가 반드시 입력해야 하는 조건들을 체크한다
  192. model.setValue(txt_fromqry.attribute("ref"),fGetFromQuery());//From절 Query 를 생성한다
  193. model.setValue(txt_whereqry.attribute("ref"), fGetWhereQuery()); //Where절 Query를 생성한다
  194. model.setValue(txt_selectqry.attribute("ref"), fGetSelectQuery());//Select절 Query를 생성한다
  195. model.refresh();
  196. var strquery = model.getValue(txt_selectqry.attribute("ref")) + "\n" + model.getValue(txt_fromqry.attribute("ref")) + "\n" + model.getValue(txt_whereqry.attribute("ref"));
  197. misfGridInit(grd_query);
  198. misfGridIUD(grd_query,"A","N");
  199. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/strqry", strquery);
  200. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/title", fGetTitle());
  201. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/titlecnt",(grd_select.rows- grd_select.fixedRows));
  202. //Grid화면에 보여줄 Column의 이름을 읽어온다
  203. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/titlenm",fGetColNm());
  204. //Grid Column의 Column Type를 지정한다
  205. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/coltype",fGetColType());
  206. //소계칼럼을 지정 한다.
  207. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/sumyn",fGetSubTotal());
  208. //소계계산할칼럼을 지정 한다.
  209. model.setValue(grd_query.attribute("nodeset")+"["+(grd_query.row - grd_query.fixedRows + 1)+"]/funcyn",fGetFuncYn());
  210. rpbfOpenPopUpList("SMRPB01703",grd_query,"strqry,title,titlecnt,titlenm,coltype,sumyn,funcyn","strqry,title,titlecnt,titlenm,coltype,sumyn,funcyn");
  211. }
  212. }
  213. function fGetColType(){
  214. var itemtype = "";
  215. for(row = grd_select.fixedRows; row < grd_select.rows ; row++){
  216. //항목절에 급여항목이 존재한다면, 급여항목비용도 자동으로 보여주기로 하였으므로
  217. //급여항목내용에 관한 Format인 Text와 급여항목비용에 해당하는 Format은 Money를 추가해주기로 한다
  218. itemtype = itemtype + grd_select.valueMatrix(row , grd_select.colRef("itemkind"))+ ",";
  219. }
  220. if(itemtype.length > 0){
  221. itemtype = itemtype.substr(0, (itemtype.length - 1))
  222. }
  223. return itemtype;
  224. }
  225. function fGetSubTotal() {
  226. var subtotal = "";
  227. for(row = grd_select.fixedRows; row < grd_select.rows ; row++){
  228. subtotal = subtotal + grd_select.valueMatrix(row , grd_select.colRef("sumyn"))+ ",";
  229. }
  230. if(subtotal.length > 0){
  231. subtotal = subtotal.substr(0, (subtotal.length - 1))
  232. }
  233. return subtotal;
  234. }
  235. function fGetFuncYn() {
  236. var funcyn = "";
  237. for(row = grd_select.fixedRows; row < grd_select.rows ; row++){
  238. funcyn = funcyn + grd_select.valueMatrix(row , grd_select.colRef("funcyn"))+ ",";
  239. }
  240. if(funcyn.length > 0){
  241. funcyn = funcyn.substr(0, (funcyn.length - 1))
  242. }
  243. return funcyn;
  244. }
  245. function fGetColNm(){
  246. var colnm = "";
  247. for(row = grd_select.fixedRows; row < grd_select.rows ; row++){
  248. colnm = colnm + grd_select.valueMatrix(row , grd_select.colRef("colnm"))+ ",";
  249. }
  250. if(colnm.length > 0){
  251. colnm = colnm.substr(0, (colnm.length - 1))
  252. }
  253. return colnm;
  254. }
  255. function fGetTitle(){
  256. var title = "";
  257. for(row = grd_select.fixedRows; row < grd_select.rows ; row++){
  258. title = title + grd_select.valueMatrix(row , grd_select.colRef("itemnm")) + "^";
  259. }
  260. if(title.length > 0){
  261. title = title.substr(0, (title.length - 1))
  262. }
  263. return title;
  264. }
  265. function fGetFromQuery(){
  266. //규칙1 : 기본적으로 From에 해당하는 테이블에 대한 Alias는 테이블명으로 동시처리한다
  267. //규칙2 : 급여항목에 관계된 내용이 있을경우 내부적으로 급여비용에 테이블과 동시 Join조건으로 추가해준다
  268. //규칙3 : 급여항목이 존재할 경우 급여항목명 테이블도 동시 Join조건으로 추가해준다
  269. var strfrom = "";
  270. for(var row = grd_where.fixedRows ; row < grd_where.rows ; row++){
  271. var tgtschema = grd_where.valueMatrix(row , grd_where.colRef("tblschema")); //테이블스키마
  272. var tgttable = grd_where.valueMatrix(row , grd_where.colRef("tablenm")); //테이블명
  273. var colnm = grd_where.valueMatrix(row , grd_where.colRef("colnm")); //컬럼이름
  274. var operator = grd_where.valueMatrix(row , grd_where.colRef("operator")); //연산자
  275. var conector = grd_where.valueMatrix(row , grd_where.colRef("conector")); // 연결자
  276. var condvalu1 = grd_where.valueMatrix(row , grd_where.colRef("condvalu1")); //조건값1
  277. var condvalu2 = grd_where.valueMatrix(row , grd_where.colRef("condvalu2")); //조건값2
  278. var tgttblalias = tgtschema + "." + tgttable;
  279. var tgtstrfrom = grd_where.valueMatrix(row , grd_where.colRef("tblschema")) +"." + grd_where.valueMatrix(row , grd_where.colRef("tablenm"));
  280. var chkfind = false;
  281. var findrow = -1;
  282. //현재 From절에 추가될 테이블이 이전 Row에 존재했었는지 체크
  283. for(var tblrow = grd_where.fixedRows ; tblrow < row ; tblrow++){
  284. if(grd_where.valueMatrix(tblrow , grd_where.colRef("tablenm")) == tgttable){
  285. chkfind = true;
  286. findrow = tblrow;
  287. break;
  288. }
  289. }
  290. if(!chkfind){
  291. //이전 Row에서도 추가된적이 없는 Table이라면 새로운 TableAlias를 입력한다
  292. model.setValue(grd_where.attribute("nodeset")+"["+(row - grd_where.fixedRows + 1)+"]/tblalias", tgttable + (row));
  293. }
  294. else{
  295. //현재 From절에 추가될 대상 테이블이 이전Row에서 이미 처리했었다면
  296. //현재 Row에 동일 테이블 alias를 setting해준다
  297. var tmpalias = grd_where.valueMatrix(findrow , grd_where.colRef("tblalias"));
  298. model.setValue(grd_where.attribute("nodeset")+"["+(row - grd_where.fixedRows + 1)+"]/tblalias", tmpalias);
  299. }
  300. if(strfrom.length == 0){
  301. strfrom = " FROM " + tgtstrfrom + " MAINTBL \n";
  302. model.setValue(grd_where.attribute("nodeset")+"["+(row - grd_where.fixedRows + 1)+"]/tblalias", "MAINTBL");
  303. }
  304. else{
  305. if(!chkfind){
  306. //이전에 급여항목에 관계된 테이블이 존재하지 않았다면
  307. var curalias = (tgttable + (row));
  308. //급여에 관계된 항목이 아니라면 테이블간 emplno로 join처리한다
  309. strfrom = strfrom + "INNER JOIN " + tgtstrfrom + " " + (tgttable + (row)) + " ON " + curalias + ".emplno = MAINTBL.emplno \n";
  310. model.setValue(grd_where.attribute("nodeset")+"["+(row - grd_where.fixedRows + 1)+"]/tblalias", tgttable + (row));
  311. }
  312. }
  313. }
  314. //목적:인사 마스터 테이블이 존재할 경우 해당 row의 alias를 읽어와 부서정보의 기관정보를 join할때 같이 처리해 주도록 한다
  315. //인사마스터 테이블이 존재한다면 인사마스터에 해당하는 테이블 alias를 별도 element에 setting한다
  316. var memplrow = grd_where.findRow("RPBVEMPC", grd_where.fixedRows , grd_where.colRef("tablenm"),false,false);
  317. if(memplrow != -1){
  318. var memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  319. model.setValue(ipt_mplemplno.attribute("ref"), memplalias);
  320. }
  321. else {
  322. var memplrow = grd_where.findRow("RPBGVMVV", grd_where.fixedRows , grd_where.colRef("tablenm"),false,false);
  323. if(memplrow != -1){
  324. var memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  325. model.setValue(ipt_mplemplno.attribute("ref"), memplalias);
  326. }
  327. else {
  328. strfrom = strfrom + "INNER JOIN " + "MIS.RPBVEMPC EMPC ON " + "MAINTBL.emplno = EMPC.emplno " + " \n" ;
  329. }
  330. }
  331. return strfrom;
  332. }
  333. function fGetWhereQuery(){
  334. var strwhere = "";
  335. var maxalias = 9999;
  336. var addfromqry = "";
  337. var oldtablenm = "";
  338. var oldtblalias = "";
  339. var maintblalias = grd_where.valueMatrix(grd_where.fixedRows , grd_where.colRef("tblalias"));
  340. for(var row = grd_where.fixedRows; row < grd_where.rows ; row++){
  341. var itemnm = grd_where.valueMatrix(row , grd_where.colRef("itemnm"));
  342. var colnm = grd_where.valueMatrix(row , grd_where.colRef("colnm"));
  343. var operator = grd_where.valueMatrix(row , grd_where.colRef("operator"));
  344. var conector = grd_where.valueMatrix(row , grd_where.colRef("conector"));
  345. var condvalu1 = grd_where.valueMatrix(row , grd_where.colRef("condvalu1"));
  346. var condvalu2 = grd_where.valueMatrix(row , grd_where.colRef("condvalu2"));
  347. var tblalias = grd_where.valueMatrix(row , grd_where.colRef("tblalias"));
  348. var tgttable = grd_where.valueMatrix(row , grd_where.colRef("tablenm")); //테이블명
  349. var condsql = "";
  350. if (oldtablenm == "RPBGVMVV" && tgttable != "RPBGVMVV") {
  351. condsql = " AND " + "NVL(" + oldtblalias + "." + "DELYN,'N') != 'Y'" + "\n";
  352. }
  353. if(conector == "AND"){
  354. if(operator == "BETWEEN"){
  355. condsql = "(" + tblalias + "." + colnm + " " + operator + " " + condvalu1 + " AND " + condvalu2 + ")" + "\n";
  356. }
  357. else if(operator == "IN" || operator == "NOT IN"){
  358. condsql = tblalias + "." + colnm + " " + operator + " (" + condvalu1 + ")\n";
  359. }
  360. else{
  361. // if( (itemnm == "소속부서" || itemnm == "근무부서" || itemnm == "겸직부서" ) && (operator == "=") ){
  362. // maxalias = maxalias -1;
  363. // var tmpsubalias = "ZSDDDEPT" + (maxalias);
  364. //
  365. // //상위,하위부서를 읽기 위한 테이블을 추가한다
  366. // var memplrow = grd_where.findRow("RPBVEMPC" , grd_where.fixedRows, grd_where.colRef("tablenm"), true, true);
  367. // var memplalias = "";
  368. //
  369. //
  370. // if(memplrow != -1){
  371. // //인사마스터와 관계된 조건이 존재한다면 인사마스터에 해당하는 alias로 기관정보를 읽어온다
  372. // memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  373. // }
  374. // else{
  375. // //인사마스터와 관계된 조건이 존재하지 않는다면
  376. // //인사마스터를 join조건으로 자동으로 추가한후 추가한 인사마스터와 하위부서를 읽기위한 테이블을 join 처리한다
  377. // maxalias = maxalias -1;
  378. // memplalias = "RPBVEMPC" + (maxalias);
  379. // model.setValue(ipt_mplemplno.attribute("ref"), tmpsubempalias);
  380. // }
  381. //
  382. // if (itemnm == "소속부서") {
  383. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".INSTCD" +
  384. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".UNITCD \n";
  385. // }
  386. // else if (itemnm == "겸직부서") {
  387. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUPINSTCD" +
  388. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUPUNITCD \n";
  389. // }
  390. // else {
  391. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUTPLCEINST" +
  392. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUTUNITCD \n";
  393. // }
  394. //
  395. // addfromqry = addfromqry + " AND TO_CHAR( sysdate, 'yyyymmdd') BETWEEN " + tmpsubalias + ".VALIFROMDD AND " + tmpsubalias + ".VALITODD \n";
  396. // condsql = "";
  397. // }
  398. // else{
  399. condsql = tblalias + "." + colnm + " " + operator + " " + condvalu1 + "\n";
  400. // }
  401. }
  402. if(strwhere.length == 0){
  403. condsql = " WHERE " + condsql;
  404. }
  405. else{
  406. condsql = " AND " + condsql;
  407. }
  408. }
  409. else {
  410. var chkor = false;
  411. var findrow = -1;
  412. for(var subrow = grd_where.rows ; subrow > row ; subrow--){
  413. if(grd_where.valueMatrix(subrow , grd_where.colRef("conector")) == "OR"){
  414. chkor = true;
  415. findrow = subrow;
  416. break;
  417. }
  418. }
  419. if(!chkor){
  420. var tmpcondsql1 ;
  421. if(operator == "BETWEEN"){
  422. tmpcondsql1 = "(" + tblalias + "." + colnm + " " + operator + " " + condvalu1 + " AND " + condvalu1 + ")";
  423. }
  424. else if(operator == "IN" || operator == "NOT IN"){
  425. tmpcondsql1 = tblalias + "." + colnm + " " + operator + " (" + condvalu1 + ") ";
  426. }
  427. else{
  428. //소속부서와 근무부서가 조건절로 들어갈 경우 다른 부서조건과는 다르게 상위부서를 읽어온다
  429. // if( (itemnm == "소속부서" || itemnm == "근무부서" || itemnm == "겸직부서") && (operator == "=") ){
  430. // maxalias = maxalias -1;
  431. // var tmpsubalias = "ZSDDDEPT" + (maxalias);
  432. //
  433. // //상위,하위부서를 읽기 위한 테이블을 추가한다
  434. // var memplrow = grd_where.findRow("RPBVEMPC" , grd_where.fixedRows, grd_where.colRef("tablenm"), true, true);
  435. // var memplalias = "";
  436. //
  437. // if(memplrow != -1){
  438. // //인사마스터와 관계된 조건이 존재한다면 인사마스터에 해당하는 alias로 기관정보를 읽어온다
  439. // memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  440. // }
  441. // else{
  442. // //인사마스터와 관계된 조건이 존재하지 않는다면
  443. // //인사마스터를 join조건으로 자동으로 추가한후 추가한 인사마스터와 하위부서를 읽기위한 테이블을 join 처리한다
  444. // maxalias = maxalias -1;
  445. // memplalias = "RPBVEMPC" + (maxalias);
  446. // model.setValue(ipt_mplemplno.attribute("ref"), tmpsubempalias);
  447. // }
  448. //
  449. // if (itemnm == "소속부서") {
  450. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".INSTCD" +
  451. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".UNITCD \n";
  452. // }
  453. // else if (itemnm == "겸직부서") {
  454. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUPINSTCD" +
  455. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUPUNITCD \n";
  456. // }
  457. // else {
  458. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUTPLCEINST" +
  459. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUTUNITCD \n";
  460. // }
  461. //
  462. // addfromqry = addfromqry + " AND TO_CHAR( sysdate, 'yyyymmdd') BETWEEN " + tmpsubalias + ".VALIFROMDD AND " + tmpsubalias + ".VALITODD \n";
  463. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".INSTCD" +
  464. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DEPTCD \n";
  465. //
  466. // tmpcondsql1 = "";
  467. //
  468. // }
  469. // else{
  470. tmpcondsql1 = tblalias + "." + colnm + " " + operator + " " + condvalu1 ;
  471. // }
  472. }
  473. row= row +1;
  474. var tmpcolnm = grd_where.valueMatrix(row , grd_where.colRef("colnm"));
  475. var tmptblalias = grd_where.valueMatrix(row, grd_where.colRef("tblalias"));
  476. var tmpoperator = grd_where.valueMatrix(row, grd_where.colRef("operator"));
  477. var tmpcondvalu1 = grd_where.valueMatrix(row, grd_where.colRef("condvalu1"));
  478. var tmpcondvalu2 = grd_where.valueMatrix(row, grd_where.colRef("condvalu2"));
  479. var tmpitemnm = grd_where.valueMatrix(row, grd_where.colRef("itemnm"));
  480. var tmpcondsql2 ;
  481. if(operator == "BETWEEN"){
  482. tmpcondsql2 = "(" + tmptblalias + "." + tmpcolnm + " " + tmpoperator + " " + tmpcondvalu1 + " AND " + tmpcondvalu2 + ")" ;
  483. }
  484. else if(operator == "IN" || operator == "NOT IN"){
  485. tmpcondsql2 = tmptblalias + "." + tmpcolnm + " " + tmpoperator + " (" + tmpcondvalu1 + ") ";
  486. }
  487. else{
  488. //소속부서와 근무부서가 조건절로 들어갈 경우 다른 부서조건과는 다르게 상위부서를 읽어온다
  489. // if( (itemnm == "소속부서" || itemnm == "근무부서" || itemnm == "겸직부서" ) && (operator == "=") ){
  490. // maxalias = maxalias -1;
  491. // var tmpsubalias = "ZSDDDEPT" + (maxalias);
  492. //
  493. // //상위,하위부서를 읽기 위한 테이블을 추가한다
  494. // var memplrow = grd_where.findRow("RPBVEMPC" , grd_where.fixedRows, grd_where.colRef("tablenm"), true, true);
  495. // var memplalias = "";
  496. //
  497. // if(memplrow != -1){
  498. // //인사마스터와 관계된 조건이 존재한다면 인사마스터에 해당하는 alias로 기관정보를 읽어온다
  499. // memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  500. // }
  501. // else{
  502. // //인사마스터와 관계된 조건이 존재하지 않는다면
  503. // //인사마스터를 join조건으로 자동으로 추가한후 추가한 인사마스터와 하위부서를 읽기위한 테이블을 join 처리한다
  504. // maxalias = maxalias -1;
  505. // memplalias = "RPBVEMPC" + (maxalias);
  506. // model.setValue(ipt_mplemplno.attribute("ref"), tmpsubempalias);
  507. // }
  508. //
  509. // if (itemnm == "소속부서") {
  510. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".INSTCD" +
  511. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".UNITCD \n";
  512. // }
  513. // else if (itemnm == "겸직부서") {
  514. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUPINSTCD" +
  515. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUPUNITCD \n";
  516. // }
  517. // else {
  518. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUTPLCEINST" +
  519. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUTUNITCD \n";
  520. // }
  521. //
  522. // addfromqry = addfromqry + " AND TO_CHAR( sysdate, 'yyyymmdd') BETWEEN " + tmpsubalias + ".VALIFROMDD AND " + tmpsubalias + ".VALITODD \n";
  523. //
  524. // tmpcondsql2 = "";
  525. //
  526. // }
  527. // else{
  528. tmpcondsql2 = tmptblalias + "." + tmpcolnm + " " + tmpoperator + " " + tmpcondvalu1 ;
  529. // }
  530. }
  531. condsql = "(" + tmpcondsql1 + " " + conector + " " + tmpcondsql2 + ")";
  532. }
  533. else{
  534. for(var mtlrow = row ; mtlrow < findrow + 1 ; mtlrow++)
  535. {
  536. var tmpcondsql;
  537. var tmpcolnm = grd_where.valueMatrix(mtlrow , grd_where.colRef("colnm"));
  538. var tmptblalias = grd_where.valueMatrix(mtlrow, grd_where.colRef("tblalias"));
  539. var tmpoperator = grd_where.valueMatrix(mtlrow, grd_where.colRef("operator"));
  540. var tmpcondvalu1 = grd_where.valueMatrix(mtlrow, grd_where.colRef("condvalu1"));
  541. var tmpcondvalu2 = grd_where.valueMatrix(mtlrow, grd_where.colRef("condvalu2"));
  542. var tmpitemnm = grd_where.valueMatrix(mtlrow, grd_where.colRef("itemnm"));
  543. if(tmpoperator == "BETWEEN"){
  544. tmpcondsql = "(" + tmptblalias + "." + tmpcolnm + " " + tmpoperator + " " + tmpcondvalu1 + " AND " + tmpcondvalu2 + ")" ;
  545. }
  546. else if(tmpoperator == "IN" || tmpoperator == "NOT IN"){
  547. tmpcondsql = tmptblalias + "." + tmpcolnm + " " + tmpoperator + " (" + tmpcondvalu1 + ") ";
  548. }
  549. else{
  550. //소속부서와 근무부서가 조건절로 들어갈 경우 다른 부서조건과는 다르게 상위부서를 읽어온다
  551. // if( (itemnm == "소속부서" || itemnm == "근무부서" || itemnm == "겸직부서") && (operator == "=") ){
  552. // maxalias = maxalias -1;
  553. // var tmpsubalias = "ZSDDDEPT" + (maxalias);
  554. //
  555. // //상위,하위부서를 읽기 위한 테이블을 추가한다
  556. // var memplrow = grd_where.findRow("RPBVEMPC" , grd_where.fixedRows, grd_where.colRef("tablenm"), true, true);
  557. // var memplalias = "";
  558. //
  559. // if(memplrow != -1){
  560. // //인사마스터와 관계된 조건이 존재한다면 인사마스터에 해당하는 alias로 기관정보를 읽어온다
  561. // memplalias = grd_where.valueMatrix(memplrow, grd_where.colRef("tblalias"));
  562. // }
  563. // else{
  564. // //인사마스터와 관계된 조건이 존재하지 않는다면
  565. // //인사마스터를 join조건으로 자동으로 추가한후 추가한 인사마스터와 하위부서를 읽기위한 테이블을 join 처리한다
  566. // maxalias = maxalias -1;
  567. // memplalias = "RPBVEMPC" + (maxalias);
  568. // model.setValue(ipt_mplemplno.attribute("ref"), tmpsubempalias);
  569. // }
  570. //
  571. // if (itemnm == "소속부서") {
  572. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".INSTCD" +
  573. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".UNITCD \n";
  574. // }
  575. // else if (itemnm == "겸직부서") {
  576. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUPINSTCD" +
  577. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUPUNITCD \n";
  578. // }
  579. // else {
  580. // addfromqry = addfromqry + " LEFT OUTER JOIN COM.ZSDDDEPT " + tmpsubalias + " ON " + tmpsubalias + ".INSTCD = " + memplalias + ".DUTPLCEINST" +
  581. // " AND " + tmpsubalias + ".DEPTCD = " + memplalias + ".DUTUNITCD \n";
  582. // }
  583. // addfromqry = addfromqry + " AND TO_CHAR( sysdate, 'yyyymmdd') BETWEEN " + tmpsubalias + ".VALIFROMDD AND " + tmpsubalias + ".VALITODD \n";
  584. //
  585. // tmpcondsql = "";
  586. // }
  587. // else{
  588. tmpcondsql = tmptblalias + "." + tmpcolnm + " " + tmpoperator + " " + tmpcondvalu1 ;
  589. // }
  590. }
  591. if(condsql.length == 0){
  592. condsql = "( " + tmpcondsql + " " + conector + " ";
  593. }
  594. else{
  595. if(mtlrow != findrow){
  596. condsql = condsql + " " + tmpcondsql + " " + conector + " ";
  597. }
  598. else{
  599. condsql = condsql + " " + tmpcondsql + " )";
  600. }
  601. }
  602. }
  603. row = findrow;
  604. }
  605. if(strwhere.length == 0){
  606. condsql = " WHERE " + condsql;
  607. }
  608. else{
  609. condsql = " AND " + condsql;
  610. }
  611. }
  612. strwhere = strwhere + condsql;
  613. oldtablenm = tgttable;
  614. oldtblalias = tblalias;
  615. }
  616. //alert(oldtablenm);
  617. if (oldtablenm == "RPBGVMVV" ) {
  618. strwhere = strwhere + " AND " + "NVL(" + oldtblalias + "." + "DELYN,'N') != 'Y'" + "\n";
  619. }
  620. //급여항목에 관계된 테이블이 존재하면서 급여항목명을 읽어와야 하는 항목이 존재한다면
  621. //where절에 급여항목명 조회를 위해 아래와 같은 문자을 자동추가한다
  622. if(addfromqry.length > 0){
  623. var fromqry = model.getValue(txt_fromqry.attribute("ref"));
  624. model.setValue(txt_fromqry.attribute("ref"), fromqry + "\n" + addfromqry);
  625. }
  626. return strwhere;
  627. }
  628. function fGetSelectQuery(){
  629. var maxalias = 999;
  630. var selectqry = "";
  631. var addfromqry = "";
  632. var chkyn = "N";
  633. var maintblalias = grd_where.valueMatrix(grd_where.fixedRows , grd_where.colRef("tblalias"));
  634. var emplalias = model.getValue(ipt_mplemplno.attribute("ref"));
  635. var arralias = new Array();
  636. var arrtable = new Array();
  637. var arrcnt = 0;
  638. var groupby = "";
  639. var groupchk = "N";
  640. var orderby = "";
  641. var orderchk = "N";
  642. for(var row = grd_select.fixedRows ; row < grd_select.rows ; row++){
  643. var colnm = grd_select.valueMatrix(row , grd_select.colRef("colnm")); //칼럼이름
  644. var tblschema = grd_select.valueMatrix(row , grd_select.colRef("tblschema")); //테이블스키마
  645. var tablenm = grd_select.valueMatrix(row , grd_select.colRef("tablenm")); //테이블명
  646. var cdtblschema = grd_select.valueMatrix(row , grd_select.colRef("cdtblschema")); //코드테이블스키마
  647. var cdtblnm = grd_select.valueMatrix(row , grd_select.colRef("cdtblnm")); //코드테이블명
  648. var codeflag = grd_select.valueMatrix(row , grd_select.colRef("codeflag")); //코드구분ID(CDSID)
  649. var itemnm = grd_select.valueMatrix(row , grd_select.colRef("itemnm")); //칼럼명칭
  650. var funcflag = grd_select.valueMatrix(row , grd_select.colRef("funcflag")); //함수구분
  651. var func = "";
  652. var lastfunc = "";
  653. var tmpgroupby = "";
  654. var sumyn = grd_select.valueMatrix(row , grd_select.colRef("sumyn")); //소계여부
  655. if (funcflag == "01") { //미적용
  656. func = "";
  657. lastfunc = ""
  658. }
  659. else if (funcflag == "02") { //합계
  660. func = "trunc(sum(";
  661. lastfunc = "),2)"
  662. groupchk = "Y";
  663. }
  664. else if (funcflag == "03") { //평균
  665. func = "trunc(avg(";
  666. lastfunc = "),2)"
  667. groupchk = "Y";
  668. }
  669. else {
  670. func = "";
  671. lastfunc = ""
  672. }
  673. //findrow = -1;
  674. var findrow = grd_where.findRow(tablenm ,grd_where.fixedRows, grd_where.colRef("tablenm")); //테이블명칭
  675. // alert(tablenm);
  676. // alert(itemnm);
  677. // alert(cdtblnm);
  678. // alert(findrow);
  679. chkyn = "N";
  680. // if (findrow == -1 && cdtblnm != "ZBCMCODE" && cdtblnm != "ZSDDDEPT" && cdtblnm != "RWCMPYTL") {
  681. if (findrow == -1 ) {
  682. // alert(row);
  683. for (var k = row - 1 ; k >= grd_select.fixedRows; k--) {
  684. // alert(k);
  685. // alert(tablenm);
  686. // alert(grd_select.valueMatrix(k, grd_select.colRef("tablenm")));
  687. if (tablenm == grd_select.valueMatrix(k, grd_select.colRef("tablenm"))) {
  688. chkyn = "Y";
  689. findrow = row;
  690. }
  691. }
  692. }
  693. var tblalias = "";
  694. var tmpquery = "";
  695. if(findrow == -1){
  696. //항목에는 추가되었으나 조건절에 해당 테이블에 관계되는 조건이 존재하지 않는다면
  697. //항목을 보여주기 위해 from 절에 join조건을 자동추가한다
  698. if (tablenm == "RPBVEMPC") {
  699. var tmpalias = "EMPC";
  700. }
  701. else {
  702. maxalias = maxalias -1;
  703. var tmpalias = tablenm + (maxalias);
  704. }
  705. //항목절에 급여에 관계된 항목이 존재할경우 From절 생성 로직에서 급여테이블을 join걸어주었으므로
  706. //여기서는 추가해줄 필요가없으며,
  707. //그 이전에 항목에 급여에 관계된 항목이 존재하면 반드시 조건절에 급여지급월을 입력하도록 하였으므로
  708. //급여관계 테이블이 from절에 join되지 않고 넘어오는 경우는 존재하지 않는다
  709. arralias[arrcnt] = tmpalias;
  710. arrtable[arrcnt] = tablenm;
  711. tblalias = tmpalias;
  712. }
  713. else{
  714. if (chkyn == "Y") {
  715. for (var z = 0; z < arrtable.length; z++) {
  716. if (arrtable[z] == tablenm) {
  717. tblalias = arralias[z];
  718. }
  719. }
  720. }
  721. else {
  722. tblalias = grd_where.valueMatrix(findrow , grd_where.colRef("tblalias"));
  723. }
  724. }
  725. if(cdtblnm.length > 0){
  726. if(cdtblnm == "ZBCMCODE"){
  727. //공통코드와 연계된 항목이라면
  728. maxalias = maxalias -1;
  729. var tmpalias = tablenm + (maxalias);
  730. addfromqry = addfromqry + " LEFT OUTER JOIN " + cdtblschema + "." + cdtblnm + " " + tmpalias + " ON " + tmpalias + ".cdsid = '" + codeflag + "'||" + tblalias + "." + colnm + " \n";
  731. tmpquery = " " + func + tmpalias + ".cdnm " + lastfunc + " as " + colnm + "\n";
  732. tmpgroupby = " " + func + tmpalias + ".cdnm " + lastfunc + "\n";
  733. }
  734. else if (cdtblnm == "ZSDDDEPT" && tablenm == "RPBGVMVV" ){
  735. if (colnm == "DEPTCD" || colnm == "TEAMCD" || colnm == "UNITCD") {
  736. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".INSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + " as " + colnm + "\n";
  737. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".INSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + "\n";
  738. }
  739. else if (colnm == "DUTDEPTCD" || colnm == "DUTTEAMCD" || colnm == "DUTUNITCD" || colnm == "DUTPLCEDEPTCD") {
  740. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUTPLCEINST, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + " as " + colnm + "\n";
  741. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUTPLCEINST, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + "\n";
  742. }else if (colnm == "DUPDEPTCD" || colnm == "DUPTEAMCD" || colnm == "DUPUNITCD") {
  743. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUPINSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + " as " + colnm + "\n";
  744. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUPINSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + "\n";
  745. }else if (colnm == "ORGDEPTCD" ) {
  746. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".ORGINSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + " as " + colnm + "\n";
  747. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".ORGINSTCD, " + tblalias + "." + colnm + ", " + tblalias + ".gvnoffcorddd )" + "\n";
  748. }
  749. }
  750. else if (cdtblnm == "ZSDDDEPT" && (tablenm == "RPBDACHV" || tablenm == "RPBDACIT") ){
  751. if (colnm == "DEPTCD" ) {
  752. tmpquery = " COM.FN_ZS_GETDEPTNM('103', " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  753. tmpgroupby = " COM.FN_ZS_GETDEPTNM('103', " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  754. }
  755. else if (colnm == "UNITCD" ) {
  756. tmpquery = " COM.FN_ZS_GETDEPTNM(" + tblalias + ".INSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  757. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + tblalias + ".INSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  758. }
  759. }
  760. else if (cdtblnm == "ZSDDDEPT" && tablenm != "RPBGVMVV" ){
  761. if (colnm == "DEPTCD" || colnm == "TEAMCD" || colnm == "UNITCD") {
  762. tmpquery = " COM.FN_ZS_GETDEPTNM(" + tblalias + ".INSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  763. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + tblalias + ".INSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  764. }
  765. else if (colnm == "DUTDEPTCD" || colnm == "DUTTEAMCD" || colnm == "DUTUNITCD" || colnm == "DUTPLCEDEPTCD") {
  766. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUTPLCEINST, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  767. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUTPLCEINST, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  768. }else if (colnm == "DUPDEPTCD" || colnm == "DUPTEAMCD" || colnm == "DUPUNITCD") {
  769. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUPINSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  770. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".DUPINSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  771. }else if (colnm == "ORGDEPTCD" ) {
  772. tmpquery = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".ORGINSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + " as " + colnm + "\n";
  773. tmpgroupby = " COM.FN_ZS_GETDEPTNM(" + emplalias + ".ORGINSTCD, " + tblalias + "." + colnm + ", TO_CHAR( sysdate, 'yyyymmdd' ) )" + "\n";
  774. }
  775. }
  776. }
  777. else{
  778. tmpquery = func + tblalias + "." + colnm + lastfunc + " as " + colnm + "\n";
  779. tmpgroupby = func + tblalias + "." + colnm + lastfunc + "\n";
  780. }
  781. if (funcflag == "01" ) {
  782. if (groupby.length == 0) {
  783. groupby = "group by " + tmpgroupby;
  784. }
  785. else {
  786. groupby = groupby + "," + tmpgroupby;
  787. }
  788. }
  789. if (sumyn == "Y") {
  790. orderchk = "Y";
  791. if (orderby.length == 0) {
  792. orderby = "order by " + tmpgroupby;
  793. }
  794. else {
  795. orderby = orderby + "," + tmpgroupby;
  796. }
  797. }
  798. if(selectqry.length == 0){
  799. selectqry = "SELECT " + tmpquery;
  800. }
  801. else{
  802. selectqry = selectqry + ", " + tmpquery;
  803. }
  804. }
  805. //select절을 추가하기위해서 필요한 from절의 join조건들은 fromquery에 추가 setting한다
  806. if(addfromqry.length > 0){
  807. var fromqry = model.getValue(txt_fromqry.attribute("ref"));
  808. model.setValue(txt_fromqry.attribute("ref"), fromqry + "\n" + addfromqry);
  809. }
  810. if(groupchk == "Y"){
  811. var whereqry = model.getValue(txt_whereqry.attribute("ref"));
  812. model.setValue(txt_whereqry.attribute("ref"), whereqry + "\n" + groupby);
  813. }
  814. if(orderchk == "Y"){
  815. var whereqry = model.getValue(txt_whereqry.attribute("ref"));
  816. model.setValue(txt_whereqry.attribute("ref"), whereqry + "\n" + orderby);
  817. }
  818. return selectqry;
  819. }
  820. function fSelectSortKey(pflag){
  821. var cnt = 1;
  822. var focusrow = -1;
  823. for(var row = grd_select.fixedRows ; row < grd_select.rows; row++){
  824. var data = grd_select.valueMatrix(row , grd_select.colRef("itemnm"));
  825. var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  826. for(var index = 0; index <= findnode.length ; index++){
  827. var curdata = model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/itemnm");
  828. if(curdata == data){
  829. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey", cnt);
  830. break;
  831. }
  832. }
  833. cnt++;
  834. }
  835. if(pflag == "U"){
  836. if (grd_select.row == grd_select.fixedRows) {
  837. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 1) + "]/sortkey",
  838. grd_select.rows - grd_select.fixedRows + 1);
  839. var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  840. for (var index = 1; index <= findnode.length ; index++){
  841. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey",
  842. parseInt(model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey")) - 1 );
  843. }
  844. focusrow = grd_select.rows - grd_select.fixedRows;
  845. }
  846. else {
  847. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 1) + "]/sortkey",
  848. model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows) + "]/sortkey") );
  849. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows ) + "]/sortkey",
  850. parseInt(model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows) + "]/sortkey")) + 1 );
  851. focusrow = grd_select.row - grd_select.fixedRows;
  852. }
  853. // for(var row = grd_select.fixedRows ; row < grd_select.rows; row++){
  854. // var seqno = grd_select.valueMatrix(row , grd_select.colRef("sortkey"));
  855. // if(seqno == 1)seqno = (grd_select.rows - grd_select.fixedRows);
  856. // else seqno = seqno - 1;
  857. // var data = grd_select.valueMatrix(row , grd_select.colRef("itemnm"));
  858. //
  859. // var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  860. // for(var index = 0; index <= findnode.length ; index++){
  861. // var curdata = model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/itemnm");
  862. // if(curdata == data){
  863. // model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey", seqno);
  864. // break;
  865. // }
  866. // }
  867. // }
  868. }
  869. else{
  870. if (grd_select.row == grd_select.rows-grd_select.fixedRows) {
  871. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 1) + "]/sortkey",
  872. grd_select.fixedRows);
  873. var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  874. for (var index = 1; index <= findnode.length - 1; index++){
  875. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey",
  876. parseInt(model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey")) + 1 );
  877. }
  878. focusrow = grd_select.fixedRows;
  879. }
  880. else {
  881. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 1) + "]/sortkey",
  882. model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 2) + "]/sortkey") );
  883. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 2) + "]/sortkey",
  884. parseInt(model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + (grd_select.row - grd_select.fixedRows + 2) + "]/sortkey")) - 1 );
  885. focusrow = grd_select.row - grd_select.fixedRows + 2;
  886. }
  887. // for(var row = grd_select.fixedRows ; row < grd_select.rows; row++){
  888. // var seqno = grd_select.valueMatrix(row , grd_select.colRef("sortkey"));
  889. // if(seqno == (grd_select.rows - grd_select.fixedRows))seqno = 1;
  890. // else seqno = seqno + 1;
  891. // var data = grd_select.valueMatrix(row , grd_select.colRef("itemnm"));
  892. //
  893. // var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  894. // for(var index = 0; index <= findnode.length ; index++){
  895. // var curdata = model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/itemnm");
  896. // if(curdata == data){
  897. // model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey", seqno);
  898. // break;
  899. // }
  900. // }
  901. // }
  902. }
  903. grd_select.sort(grd_select.fixedRows, grd_select.colRef("sortkey"), (grd_select.rows - grd_select.fixedRows) ,grd_select.colRef("sortkey"))= "asc";
  904. grd_select.gridToInstance();
  905. //alert(focusrow);
  906. model.setFocus("grd_select");
  907. grd_select.select(focusrow, grd_select.colRef("itemclsnm")) = true;
  908. grd_select.row = focusrow;
  909. model.refresh();
  910. }
  911. function fCreateFixDocu(pfixdoucnm){
  912. if(pfixdoucnm == null || pfixdoucnm.length == 0){
  913. messageBox("서식명칭은","I003");
  914. model.setFocus("ipt_fixdoucnm");
  915. return;
  916. }
  917. if(grd_where.rows - grd_where.fixedRows == 0){
  918. messageBox("조건항목이 입력되지 않았습니다. 실행","E001");
  919. return;
  920. }
  921. if(grd_select.rows - grd_select.fixedRows == 0){
  922. messageBox("검색항목이 입력되지 않았습니다. 실행","E001");
  923. return;
  924. }
  925. if(!checkKeyColumn("grd_where","grd_select")) return;
  926. model.removenode("/root/send/save");
  927. model.makeNode("/root/send/save/fixdoculist");
  928. misfGridInit(grd_docufix);
  929. var cnt = 1;
  930. for(var row = grd_select.fixedRows ; row < grd_select.rows; row++){
  931. var data = grd_select.valueMatrix(row , grd_select.colRef("itemnm"));
  932. var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  933. for(var index = 0; index <= findnode.length ; index++){
  934. var curdata = model.getValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/itemnm");
  935. if(curdata == data){
  936. model.setValue("/root/main/list/tableselect/tableselectlist" + "[" + index + "]/sortkey", cnt);
  937. break;
  938. }
  939. }
  940. cnt++;
  941. }
  942. model.refresh();
  943. var addRow;
  944. var findnode = instance1.selectNodes("/root/main/list/tableselect" + "/*");
  945. var instcd = model.getValue("/root/main/list/fixitem/emplnodeptlist/instcd");
  946. for(var index = 0; index <= findnode.length ; index++){
  947. var data = index + 1;
  948. var row = grd_select.findRow(data, grd_select.fixedRows, grd_select.colRef("sortkey"), true,true);
  949. if(row != -1){
  950. misfGridIUD(grd_docufix, "A","N");
  951. addRow = grd_docufix.rows - grd_docufix.fixedRows;
  952. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_select.valueMatrix(row , grd_select.colRef("itemcls")));
  953. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/fixtypenm", pfixdoucnm);
  954. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/conditemflag", "1");
  955. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_select.valueMatrix(row , grd_select.colRef("itemcls")));
  956. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemnm", grd_select.valueMatrix(row , grd_select.colRef("itemnm")));
  957. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemkind", grd_select.valueMatrix(row , grd_select.colRef("itemkind")));
  958. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/tblschema", grd_select.valueMatrix(row , grd_select.colRef("tblschema")));
  959. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/tablenm", grd_select.valueMatrix(row , grd_select.colRef("tablenm")));
  960. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/colnm", grd_select.valueMatrix(row , grd_select.colRef("colnm")));
  961. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/cdtblschema", grd_select.valueMatrix(row , grd_select.colRef("cdtblschema")));
  962. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/cdtblnm", grd_select.valueMatrix(row , grd_select.colRef("cdtblnm")));
  963. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/codeflag", grd_select.valueMatrix(row , grd_select.colRef("codeflag")));
  964. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/workflag", "02");
  965. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/instcd", instcd);
  966. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/funcflag", grd_select.valueMatrix(row , grd_select.colRef("funcflag")));
  967. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/funcyn", grd_select.valueMatrix(row , grd_select.colRef("funcyn")));
  968. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/sumyn", grd_select.valueMatrix(row , grd_select.colRef("sumyn")));
  969. }
  970. }
  971. for(var row = grd_where.fixedRows; row < grd_where.rows; row++){
  972. misfGridIUD(grd_docufix, "A","N");
  973. addRow = grd_docufix.rows - grd_docufix.fixedRows;
  974. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_where.valueMatrix(row , grd_where.colRef("itemcls")));
  975. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/fixtypenm",pfixdoucnm);
  976. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/conditemflag", "2");
  977. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_where.valueMatrix(row , grd_where.colRef("itemcls")));
  978. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemnm", grd_where.valueMatrix(row , grd_where.colRef("itemnm")));
  979. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/itemkind", grd_where.valueMatrix(row , grd_where.colRef("itemkind")));
  980. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/tblschema", grd_where.valueMatrix(row , grd_where.colRef("tblschema")));
  981. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/tablenm", grd_where.valueMatrix(row , grd_where.colRef("tablenm")));
  982. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/colnm", grd_where.valueMatrix(row , grd_where.colRef("colnm")));
  983. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/cdtblschema", grd_where.valueMatrix(row , grd_where.colRef("cdtblschema")));
  984. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/cdtblnm", grd_where.valueMatrix(row , grd_where.colRef("cdtblnm")));
  985. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/codeflag", grd_where.valueMatrix(row , grd_where.colRef("codeflag")));
  986. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/operator", grd_where.valueMatrix(row , grd_where.colRef("operator")));
  987. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/conector", grd_where.valueMatrix(row , grd_where.colRef("conector")));
  988. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/condvalu1", grd_where.valueMatrix(row , grd_where.colRef("condvalu1")));
  989. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/condvalu2", grd_where.valueMatrix(row , grd_where.colRef("condvalu2")));
  990. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/condvalu1nm", grd_where.valueMatrix(row , grd_where.colRef("condvalu1nm")));
  991. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/condvalu2nm", grd_where.valueMatrix(row , grd_where.colRef("condvalu2nm")));
  992. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/workflag", "02");
  993. model.setValue(grd_docufix.attribute("nodeset")+"["+(addRow)+"]/instcd", instcd);
  994. }
  995. model.setValue("/root/send/save/fixdoculist",grd_docufix.getUpdateData());
  996. submit("TXRPB01701");
  997. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  998. {
  999. submit("TRRPB01705");
  1000. }
  1001. }
  1002. function fFuncflagDisable() {
  1003. for (var i = grd_select.fixedRows; i < grd_select.rows; i++) {
  1004. if (grd_select.valueMatrix(i, grd_select.colRef("funcyn")) == "Y" ) {
  1005. grd_select.cellAttribute("disabled",i, grd_select.colRef("funcflag")) = "false";
  1006. grd_select.cellAttribute("disabled",i, grd_select.colRef("sumyn")) = "true";
  1007. }
  1008. else {
  1009. grd_select.cellAttribute("disabled",i, grd_select.colRef("funcflag")) = "true";
  1010. grd_select.cellAttribute("disabled",i, grd_select.colRef("sumyn")) = "false";
  1011. }
  1012. }
  1013. }
  1014. ]]>
  1015. </script>
  1016. </xhtml:head>
  1017. <xhtml:body guideline="1,1194;1,1061;1,1061;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1018. <group id="group1" style="left:0px; top:0px; width:1190px; height:13px; ">
  1019. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">교원업적조건검색</caption>
  1020. </group>
  1021. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1190px; height:27px; ">
  1022. <line id="line12" class="line_6" style="x1:0px; y1:25; x2:1190px; y2:25; "/>
  1023. <button id="btn_init" class="btn4_letter3" style="left:1120px; top:3px; width:68px; height:22px; ">
  1024. <caption>초기화</caption>
  1025. <script type="javascript" ev:event="DOMActivate">
  1026. <![CDATA[
  1027. misfGridInit(grd_where);
  1028. misfGridInit(grd_select);
  1029. model.setValue(ipt_fixdoucnm.attribute("ref"),"");
  1030. model.setValue(ipt_mplemplno.attribute("ref"),"");
  1031. model.refresh();
  1032. ]]>
  1033. </script>
  1034. </button>
  1035. <button id="btn_execute" class="btn4_letter2" style="left:1063px; top:3px; width:56px; height:22px; ">
  1036. <caption>
  1037. <![CDATA[실행]]>
  1038. </caption>
  1039. <script type="javascript" ev:event="DOMActivate">
  1040. <![CDATA[
  1041. fSettingQuery();
  1042. ]]>
  1043. </script>
  1044. </button>
  1045. <select1 id="cmb_queryflag" ref="/root/init/queryflag" visibility="hidden" appearance="minimal" style="left:84px; top:5px; width:270px; height:19px; ">
  1046. <choices>
  1047. <itemset nodeset="/root/init/queryflag">
  1048. <label ref="cdnm"/>
  1049. <value ref="code"/>
  1050. </itemset>
  1051. </choices>
  1052. </select1>
  1053. <caption id="caption3" class="search_name" visibility="hidden" style="left:4px; top:5px; width:85px; height:17px; vertical-align:middle; ">검색구분:</caption>
  1054. </group>
  1055. <group id="group5" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  1056. <group id="group3" style="left:2px; top:2px; width:355px; height:737px; ">
  1057. <select1 id="cmb_itemcls" ref="/root/send/itemqry/itemcls" appearance="minimal" style="left:82px; top:3px; width:269px; height:19px; ">
  1058. <choices>
  1059. <itemset>
  1060. <label/>
  1061. <value/>
  1062. </itemset>
  1063. </choices>
  1064. <script type="javascript" ev:event="xforms-value-changed">
  1065. <![CDATA[
  1066. submit("TRRPB01702");
  1067. //misfMsterDetailRetrieve();
  1068. ]]>
  1069. </script>
  1070. </select1>
  1071. <caption id="caption1" class="search_name" style="left:1px; top:4px; width:100px; height:17px; vertical-align:middle; ">항목구분:</caption>
  1072. <line id="line1" class="line_1" style="x1:0px; y1:24px; x2:353px; y2:24px; "/>
  1073. <datagrid id="grd_tblcode" nodeset="/root/main/list/tablecode/tablecodelist" caption="항목^구분" colsep="^" colwidth="236, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="byrow" style="left:0px; top:29px; width:353px; height:704px; ">
  1074. <col ref="itemnm"/>
  1075. <col ref="itemflagnm"/>
  1076. <col ref="itemcls" visibility="hidden"/>
  1077. <col ref="itemseq" visibility="hidden"/>
  1078. <col ref="itemflag" visibility="hidden"/>
  1079. <col ref="itemkind" visibility="hidden"/>
  1080. <col ref="tblschema" visibility="hidden"/>
  1081. <col ref="tablenm" visibility="hidden"/>
  1082. <col ref="colnm" visibility="hidden"/>
  1083. <col ref="cdtblschema" visibility="hidden"/>
  1084. <col ref="cdtblnm" visibility="hidden"/>
  1085. <col ref="codeflag" visibility="hidden"/>
  1086. <col ref="funcyn" visibility="hidden"/>
  1087. <script type="javascript" ev:event="onaftersort">
  1088. <![CDATA[
  1089. grd_tblcode.gridToInstance();
  1090. ]]>
  1091. </script>
  1092. </datagrid>
  1093. <textarea id="txt_selectqry" ref="/root/init/selectqry" visibility="hidden" style="left:25px; top:440px; width:105px; height:130px; "/>
  1094. <textarea id="txt_fromqry" ref="/root/init/fromqry" visibility="hidden" style="left:132px; top:440px; width:110px; height:130px; "/>
  1095. <textarea id="txt_whereqry" ref="/root/init/whereqry" visibility="hidden" style="left:244px; top:440px; width:95px; height:130px; "/>
  1096. </group>
  1097. <group id="group2" style="left:355px; top:0px; width:835px; height:300px; ">
  1098. <datagrid id="grd_where" nodeset="/root/main/list/tablewhere/tablewherelist" caption="항목^연산자^조건값^조건값2^연결" colsep="^" colwidth="193, 83, 338, 141, 54, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:2px; top:31px; width:831px; height:250px; ">
  1099. <col ref="itemnm" type="inputbutton" _key="true"/>
  1100. <col ref="operator" type="combo" _key="true">
  1101. <choices>
  1102. <itemset nodeset="/root/init/operator">
  1103. <label ref="code"/>
  1104. <value ref="cdnm"/>
  1105. </itemset>
  1106. </choices>
  1107. </col>
  1108. <col ref="condvalu1nm" _key="true"/>
  1109. <col ref="condvalu2nm"/>
  1110. <col ref="conector" type="combo" _key="true">
  1111. <choices>
  1112. <itemset nodeset="/root/init/conector">
  1113. <label ref="cdnm"/>
  1114. <value ref="code"/>
  1115. </itemset>
  1116. </choices>
  1117. </col>
  1118. <col ref="condvalu1" visibility="hidden"/>
  1119. <col ref="condvalu2" visibility="hidden"/>
  1120. <col ref="itemcls" visibility="hidden"/>
  1121. <col ref="itemseq" visibility="hidden"/>
  1122. <col ref="itemflag" visibility="hidden"/>
  1123. <col ref="itemkind" visibility="hidden"/>
  1124. <col ref="tblschema" visibility="hidden"/>
  1125. <col ref="tablenm" visibility="hidden"/>
  1126. <col ref="colnm" visibility="hidden"/>
  1127. <col ref="cdtblschema" visibility="hidden"/>
  1128. <col ref="cdtblnm" visibility="hidden"/>
  1129. <col ref="codeflag" visibility="hidden"/>
  1130. <col ref="tblalias" visibility="hidden"/>
  1131. <col ref="fixtypenm" visibility="hidden"/>
  1132. <col ref="conditemflag" visibility="hidden"/>
  1133. <script type="javascript" ev:event="onbuttonclick">
  1134. <![CDATA[
  1135. if(grd_where.col == grd_where.colRef("itemnm")){
  1136. var itemkind = grd_where.valueMatrix(grd_where.row, grd_where.colRef("itemkind"));
  1137. model.removenode("/root/copynode");
  1138. model.makeNode("/root/copynode");
  1139. var CSV;
  1140. if(itemkind == "CODE" || itemkind == "YN"){
  1141. model.removenode(gvParamPath +"/SMRPB01702_/SMRPB01702_value");
  1142. rpbfOpenPopUpList("SMRPB01702",grd_where,"operator,conector,condvalu1,condvalu1nm,condvalu2,condvalu2nm,itemnm,itemkind,cdtblnm,codeflag,colnm","operator,conector,condvalu1,condvalu1nm,condvalu2,condvalu2nm,itemnm,itemkind,cdtblnm,codeflag,colnm");
  1143. CSV = model.getValue(gvParamPath +"/SMRPB01702_/SMRPB01702_value");
  1144. }
  1145. else{
  1146. model.removenode(gvParamPath +"/SMRPB01701_/SMRPB01701_value");
  1147. rpbfOpenPopUpList("SMRPB01701",grd_where,"operator,conector,condvalu1,condvalu2,itemnm,itemkind","operator,conector,condvalu1,condvalu2,itemnm,itemkind");
  1148. CSV = model.getValue(gvParamPath +"/SMRPB01701_/SMRPB01701_value");
  1149. }
  1150. setCSVToNode("/root/copynode", CSV, "itemlist");
  1151. var codynode = instance1.selectNodes("/root/copynode" + "/*");
  1152. if(codynode.length == 0)return;
  1153. var operator = model.getValue("/root/copynode/itemlist/operator");
  1154. var conector = model.getValue("/root/copynode/itemlist/conector");
  1155. var condvalu1 = model.getValue("/root/copynode/itemlist/condvalu1");
  1156. var condvalu2 = model.getValue("/root/copynode/itemlist/condvalu2");
  1157. var condvalu1nm = "";
  1158. var condvalu2nm = "";
  1159. if(itemkind == "CODE" || itemkind == "YN"){
  1160. condvalu1nm = model.getValue("/root/copynode/itemlist/condvalu1nm");
  1161. condvalu2nm = model.getValue("/root/copynode/itemlist/condvalu2nm");
  1162. }
  1163. else{
  1164. condvalu1nm = condvalu1;
  1165. condvalu2nm = condvalu2;
  1166. }
  1167. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/operator", operator);
  1168. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/conector", conector);
  1169. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/condvalu1", condvalu1);
  1170. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/condvalu2", condvalu2);
  1171. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/condvalu1nm", condvalu1nm);
  1172. model.setValue(grd_where.attribute("nodeset")+"["+(grd_where.row - grd_where.fixedRows + 1)+"]/condvalu2nm", condvalu2nm);
  1173. }
  1174. ]]>
  1175. </script>
  1176. </datagrid>
  1177. <button id="btn_wheredelete" class="btn2_letter4" style="left:67px; top:5px; width:64px; height:19px; ">
  1178. <caption>조건삭제</caption>
  1179. <script type="javascript" ev:event="DOMActivate">
  1180. <![CDATA[
  1181. misfGridIUD(grd_where, "D");
  1182. ]]>
  1183. </script>
  1184. </button>
  1185. <button id="btn_whereinsert" class="btn2_letter4" style="left:2px; top:5px; width:64px; height:19px; ">
  1186. <caption>조건추가</caption>
  1187. <script type="javascript" ev:event="DOMActivate">
  1188. <![CDATA[
  1189. if(grd_tblcode.rows-grd_tblcode.fixedRows == 0) return;
  1190. if(!fAddWhereColumn())return;
  1191. grd_where.col = grd_where.colRef("itemnm");
  1192. grd_where.dispatch("onbuttonclick");
  1193. grd_where.row= grd_where.rows- grd_where.fixedRows;
  1194. ]]>
  1195. </script>
  1196. </button>
  1197. <line id="line2" class="line_1" style="x1:2px; y1:26px; x2:833px; y2:26px; "/>
  1198. <caption id="caption7" class="tit_2" style="left:764px; top:10px; width:70px; height:13px; vertical-align:middle; ">조건항목</caption>
  1199. <datagrid id="grd_query" nodeset="/root/main/list/query/querylist" visibility="hidden" caption="caption1" colsep="^" colwidth="100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:215px; top:115px; width:225px; height:95px; ">
  1200. <col ref="strqry"/>
  1201. <col ref="title"/>
  1202. <col ref="titlecnt"/>
  1203. <col ref="titlenm"/>
  1204. <col ref="coltype"/>
  1205. <col ref="sumyn"/>
  1206. <col ref="funcyn"/>
  1207. </datagrid>
  1208. <datagrid id="grd_docufix" nodeset="/root/main/list/fixdocu/fixdoculist" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:510px; top:115px; width:225px; height:95px; ">
  1209. <col ref="itemcls"/>
  1210. <col ref="itemclsnm"/>
  1211. <col ref="fixtypenm"/>
  1212. <col ref="conditemflag"/>
  1213. <col ref="itemseq"/>
  1214. <col ref="itemnm"/>
  1215. <col ref="itemkind"/>
  1216. <col ref="tblschema"/>
  1217. <col ref="tablenm"/>
  1218. <col ref="colnm"/>
  1219. <col ref="cdtblschema"/>
  1220. <col ref="cdtblnm"/>
  1221. <col ref="codeflag"/>
  1222. <col ref="operator"/>
  1223. <col ref="conector"/>
  1224. <col ref="condvalu1"/>
  1225. <col ref="condvalu2"/>
  1226. <col ref="condvalu1nm"/>
  1227. <col ref="condvalu2nm"/>
  1228. <col ref="nursedeptflag"/>
  1229. <col ref="instcd"/>
  1230. <col ref="workflag"/>
  1231. <col ref="funcflag"/>
  1232. <col ref="funcyn"/>
  1233. <col ref="sumyn"/>
  1234. </datagrid>
  1235. <input id="ipt_mplemplno" ref="/root/init/mplemplno" visibility="hidden" style="left:215px; top:5px; width:100px; height:19px; "/>
  1236. </group>
  1237. <group id="group6" style="left:355px; top:298px; width:606px; height:440px; ">
  1238. <line id="line3" class="line_1" style="x1:2px; y1:24px; x2:605px; y2:24px; "/>
  1239. <caption id="caption2" class="tit_2" style="left:528px; top:8px; width:75px; height:13px; vertical-align:middle; ">검색항목</caption>
  1240. <datagrid id="grd_select" nodeset="/root/main/list/tableselect/tableselectlist" caption="항목구분^항목명^구분^소계구분" colsep="^" colwidth="196, 236, 89, 63, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:2px; top:30px; width:603px; height:400px; ">
  1241. <col ref="itemclsnm" _key="true"/>
  1242. <col ref="itemnm" _key="true"/>
  1243. <col ref="funcflag" type="combo">
  1244. <choices>
  1245. <itemset>
  1246. <label/>
  1247. <value/>
  1248. </itemset>
  1249. </choices>
  1250. </col>
  1251. <col checkvalue="Y,N" ref="sumyn" type="checkbox"/>
  1252. <col ref="itemcls" visibility="hidden"/>
  1253. <col ref="itemseq" visibility="hidden"/>
  1254. <col ref="itemflag" visibility="hidden"/>
  1255. <col ref="itemkind" visibility="hidden"/>
  1256. <col ref="tblschema" visibility="hidden"/>
  1257. <col ref="tablenm" visibility="hidden"/>
  1258. <col ref="colnm" visibility="hidden"/>
  1259. <col ref="cdtblschema" visibility="hidden"/>
  1260. <col ref="cdtblnm" visibility="hidden"/>
  1261. <col ref="codeflag" visibility="hidden"/>
  1262. <col ref="sortkey" visibility="hidden"/>
  1263. <col ref="fixtypenm" visibility="hidden"/>
  1264. <col ref="conditemflag" visibility="hidden"/>
  1265. <col ref="funcyn" visibility="hidden"/>
  1266. </datagrid>
  1267. <button id="btnselectdown" class="icon_bottom" style="left:160px; top:4px; width:26px; height:19px; ">
  1268. <caption/>
  1269. <script type="javascript" ev:event="DOMActivate">
  1270. <![CDATA[
  1271. fSelectSortKey("D");
  1272. ]]>
  1273. </script>
  1274. </button>
  1275. <button id="btnselectup" class="icon_top" style="left:133px; top:4px; width:26px; height:19px; ">
  1276. <caption/>
  1277. <script type="javascript" ev:event="DOMActivate">
  1278. <![CDATA[
  1279. fSelectSortKey("U");
  1280. ]]>
  1281. </script>
  1282. </button>
  1283. <button id="grd_selectdelete" class="btn2_letter4" style="left:68px; top:4px; width:64px; height:19px; ">
  1284. <caption>항목삭제</caption>
  1285. <script type="javascript" ev:event="DOMActivate">
  1286. <![CDATA[
  1287. misfGridIUD(grd_select, "D");
  1288. fFuncflagDisable();
  1289. ]]>
  1290. </script>
  1291. </button>
  1292. <button id="grd_selectinsert" class="btn2_letter4" style="left:3px; top:4px; width:64px; height:19px; ">
  1293. <caption>항목추가</caption>
  1294. <script type="javascript" ev:event="DOMActivate">
  1295. <![CDATA[
  1296. grd_tblcode.refresh();
  1297. if(grd_tblcode.rows-grd_tblcode.fixedRows == 0)return;
  1298. fAddSelectColumn();
  1299. fFuncflagDisable();
  1300. ]]>
  1301. </script>
  1302. </button>
  1303. <caption id="caption4" class="search_name" style="left:211px; top:4px; width:59px; height:17px; vertical-align:middle; ">구분:</caption>
  1304. <select1 id="cmb_funcflag" ref="/root/send/func/funcflag" appearance="minimal" style="left:266px; top:4px; width:165px; height:19px; ">
  1305. <choices>
  1306. <itemset>
  1307. <label/>
  1308. <value/>
  1309. </itemset>
  1310. </choices>
  1311. <script type="javascript" ev:event="xforms-value-changed">
  1312. <![CDATA[
  1313. for (var i = grd_select.fixedRows; i < grd_select.rows; i++) {
  1314. if (grd_select.valueMatrix(i, grd_select.colRef("funcyn")) == "Y") {
  1315. grd_select.valueMatrix(i, grd_select.colRef("funcflag")) = cmb_funcflag.value;
  1316. }
  1317. else {
  1318. grd_select.valueMatrix(i, grd_select.colRef("funcflag")) = "01";
  1319. }
  1320. }
  1321. ]]>
  1322. </script>
  1323. </select1>
  1324. </group>
  1325. <group id="group7" style="left:961px; top:298px; width:229px; height:440px; ">
  1326. <line id="line4" class="line_1" style="x1:1px; y1:24px; x2:227px; y2:24px; "/>
  1327. <datagrid id="grd_fixitem" nodeset="/root/main/list/fixitem/fixitemlist" caption="서식명^간호부여부^기관" colsep="^" colwidth="207, 100, 100" explorerbar="sort" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:30px; width:226px; height:375px; ">
  1328. <col ref="fixtypenm"/>
  1329. <col ref="nursedeptflag" visibility="hidden"/>
  1330. <col ref="instcd" visibility="hidden"/>
  1331. </datagrid>
  1332. <input id="ipt_fixdoucnm" ref="/root/init/fixdoucnm" style="left:1px; top:411px; width:146px; height:19px; "/>
  1333. <button id="btn_docusave" class="btn4_letter4" style="left:148px; top:410px; width:80px; height:22px; ">
  1334. <caption>서식생성</caption>
  1335. <script type="javascript" ev:event="DOMActivate">
  1336. <![CDATA[
  1337. var fixdocu = ipt_fixdoucnm.value;
  1338. for (var i = grd_fixitem.fixedRows; i < grd_fixitem.rows; i++) {
  1339. if (fixdocu == grd_fixitem.valueMatrix(i, grd_fixitem.colRef("fixtypenm")) ) {
  1340. messageBox("이미 존재 하는 서식명 입니다.","I003");
  1341. return;
  1342. }
  1343. }
  1344. fCreateFixDocu(model.getValue(ipt_fixdoucnm.attribute("ref")));
  1345. ]]>
  1346. </script>
  1347. </button>
  1348. <button id="btn_docudelete" class="btn4_letter2" style="left:170px; top:1px; width:56px; height:22px; ">
  1349. <caption>삭제</caption>
  1350. <script type="javascript" ev:event="DOMActivate">
  1351. <![CDATA[
  1352. var fixtypenm = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("fixtypenm"));
  1353. var instcd = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("instcd"));
  1354. if(fixtypenm.length == 0){
  1355. messageBox("서식명칭을","C002");
  1356. return;
  1357. }
  1358. var save_val = messageBox(fixtypenm +" 서식내역을", "Q001");
  1359. if (save_val != "6")return;
  1360. model.setValue("/root/send/fixdocu/fixtypenm", fixtypenm);
  1361. model.setValue("/root/send/fixdocu/instcd", instcd);
  1362. model.setValue("/root/send/fixdocu/workflag", "02");
  1363. submit("TXRPB01702");
  1364. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  1365. {
  1366. submit("TRRPB01705");
  1367. }
  1368. ]]>
  1369. </script>
  1370. </button>
  1371. <button id="btn_docuselect" class="btn4_letter4" style="left:34px; top:1px; width:80px; height:22px; ">
  1372. <caption>가져오기</caption>
  1373. <script type="javascript" ev:event="DOMActivate">
  1374. <![CDATA[
  1375. var fixtypenm = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("fixtypenm"));
  1376. var instcd = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("instcd"));
  1377. if(fixtypenm.length == 0){
  1378. messageBox("서식명칭을","C002");
  1379. return;
  1380. }
  1381. model.setValue("/root/send/fixdocu/fixtypenm", fixtypenm);
  1382. model.setValue("/root/send/fixdocu/instcd", instcd);
  1383. model.setValue("/root/send/fixdocu/workflag", "02");
  1384. submit("TRRPB01704");
  1385. if(grd_docufix.rows - grd_docufix.fixedRows == 0){
  1386. messageBox("저장된 서식내역이","I004");
  1387. return;
  1388. }
  1389. misfGridInit(grd_select);
  1390. misfGridInit(grd_where);
  1391. var addRow;
  1392. for(var row = grd_docufix.fixedRows; row < grd_docufix.rows; row++){
  1393. if(grd_docufix.valueMatrix(row , grd_docufix.colRef("conditemflag")) == "1"){
  1394. misfGridIUD(grd_select, "A","N");
  1395. addRow = grd_select.rows - grd_select.fixedRows;
  1396. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemcls")));
  1397. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/itemclsnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemclsnm")));
  1398. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/fixtypenm", model.getValue(ipt_fixdoucnm.attribute("ref")));
  1399. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/conditemflag", "1");
  1400. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemcls")));
  1401. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/itemnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemnm")));
  1402. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/itemkind", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemkind")));
  1403. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/tblschema", grd_docufix.valueMatrix(row , grd_docufix.colRef("tblschema")));
  1404. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/tablenm", grd_docufix.valueMatrix(row , grd_docufix.colRef("tablenm")));
  1405. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/colnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("colnm")));
  1406. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/cdtblschema", grd_docufix.valueMatrix(row , grd_docufix.colRef("cdtblschema")));
  1407. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/cdtblnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("cdtblnm")));
  1408. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/codeflag", grd_docufix.valueMatrix(row , grd_docufix.colRef("codeflag")));
  1409. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/funcflag", grd_docufix.valueMatrix(row , grd_docufix.colRef("funcflag")));
  1410. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/funcyn", grd_docufix.valueMatrix(row , grd_docufix.colRef("funcyn")));
  1411. model.setValue(grd_select.attribute("nodeset")+"["+(addRow)+"]/sumyn", grd_docufix.valueMatrix(row , grd_docufix.colRef("sumyn")));
  1412. }
  1413. }
  1414. for(var row = grd_docufix.fixedRows; row < grd_docufix.rows; row++){
  1415. if(grd_docufix.valueMatrix(row , grd_docufix.colRef("conditemflag")) == "2"){
  1416. misfGridIUD(grd_where, "A","N");
  1417. addRow = grd_where.rows - grd_where.fixedRows;
  1418. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemcls")));
  1419. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/fixtypenm",model.getValue(ipt_fixdoucnm.attribute("ref")));
  1420. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/conditemflag", "2");
  1421. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/itemcls", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemcls")));
  1422. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/itemnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemnm")));
  1423. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/itemkind", grd_docufix.valueMatrix(row , grd_docufix.colRef("itemkind")));
  1424. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/tblschema", grd_docufix.valueMatrix(row , grd_docufix.colRef("tblschema")));
  1425. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/tablenm", grd_docufix.valueMatrix(row , grd_docufix.colRef("tablenm")));
  1426. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/colnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("colnm")));
  1427. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/cdtblschema", grd_docufix.valueMatrix(row , grd_docufix.colRef("cdtblschema")));
  1428. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/cdtblnm", grd_docufix.valueMatrix(row , grd_docufix.colRef("cdtblnm")));
  1429. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/codeflag", grd_docufix.valueMatrix(row , grd_docufix.colRef("codeflag")));
  1430. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/operator", grd_docufix.valueMatrix(row , grd_docufix.colRef("operator")));
  1431. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/conector", grd_docufix.valueMatrix(row , grd_docufix.colRef("conector")));
  1432. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/condvalu1", grd_docufix.valueMatrix(row , grd_docufix.colRef("condvalu1")));
  1433. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/condvalu2", grd_docufix.valueMatrix(row , grd_docufix.colRef("condvalu2")));
  1434. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/condvalu1nm", grd_docufix.valueMatrix(row , grd_docufix.colRef("condvalu1nm")));
  1435. model.setValue(grd_where.attribute("nodeset")+"["+(addRow)+"]/condvalu2nm", grd_docufix.valueMatrix(row , grd_docufix.colRef("condvalu2nm")));
  1436. }
  1437. }
  1438. fFuncflagDisable();
  1439. ]]>
  1440. </script>
  1441. </button>
  1442. <button id="button1" class="btn4_letter2" style="left:114px; top:1px; width:56px; height:22px; ">
  1443. <caption>수정</caption>
  1444. <script type="javascript" ev:event="DOMActivate">
  1445. <![CDATA[
  1446. var fixtypenm = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("fixtypenm"));
  1447. var instcd = grd_fixitem.valueMatrix(grd_fixitem.row, grd_fixitem.colRef("instcd"));
  1448. if(fixtypenm.length == 0){
  1449. messageBox("서식명칭을","C002");
  1450. return;
  1451. }
  1452. if(grd_where.rows - grd_where.fixedRows == 0){
  1453. messageBox("조건항목이 입력되지 않았습니다. 수정","E001");
  1454. return;
  1455. }
  1456. if(grd_select.rows - grd_select.fixedRows == 0){
  1457. messageBox("검색항목이 입력되지 않았습니다. 수정","E001");
  1458. return;
  1459. }
  1460. model.setValue("/root/send/fixdocu/fixtypenm", fixtypenm);
  1461. model.setValue("/root/send/fixdocu/instcd", instcd);
  1462. model.setValue("/root/send/fixdocu/workflag", "02");
  1463. submit("TXRPB01702");
  1464. fCreateFixDocu(fixtypenm);
  1465. ]]>
  1466. </script>
  1467. </button>
  1468. </group>
  1469. </group>
  1470. </xhtml:body>
  1471. </xhtml:html>