SMRPB01700_인사조건검색.xrw 99 KB

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