SystemController.groovy
上传用户:steveyhw
上传日期:2019-05-13
资源大小:307k
文件大小:8k
源码类别:

PlugIns编程

开发平台:

Java

  1. import groovy.xml.MarkupBuilder
  2.      import java.text.SimpleDateFormat
  3.      import java.sql.Connection;
  4.      import java.sql.PreparedStatement;
  5.      import java.sql.ResultSet;
  6.      import java.sql.SQLException;
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. class SystemController {
  12.     def dataSource
  13.     def index = {
  14.         if(AuthUtil.getPower(session)>=1){
  15.         redirect(action: left, params: params)
  16.         }
  17.     }
  18.     def allowedMethods = [delete: ['GET', 'POST'], save: ['GET', 'POST'], update: 'POST', search: ['GET', 'POST']]
  19.     def showmain = {
  20.         def role = AuthUtil.getRole(session)
  21.         if (role) {
  22.            render(view: 'index'
  23.            )
  24.         }
  25.         else
  26.         {
  27.             redirect(uri: '/error.gsp')
  28.         }
  29.     }
  30.     def top = {
  31.         def role = AuthUtil.getRole(session)
  32.         //StringMap.parseStringToMap(StringMap.parseMapToString())
  33.         List allRealUrls = new java.util.ArrayList()     // 从系统获得的所有url
  34.         List newUrls = new java.util.ArrayList()         // requestMap与系统获得url比较后的url
  35.         List newUrls0
  36.         def te = grailsApplication.controllerClasses
  37.         te.each {elem ->
  38.             String[] uris = elem.getURIs()
  39.             uris.each {elem1 ->
  40.                 if (elem1.endsWith("**")) {
  41.                     allRealUrls.add(elem1.substring(1, elem1.indexOf('*') - 1))
  42.                 }
  43.             }
  44.         }
  45.         //println 'all:'+allRealUrls
  46.         if (role) {
  47.             def requestmap = Requestmap.findAllByConfigAttributeLike('%' + role + ',%')
  48.             def urls = requestmap.collect {elem ->                 //从requestMap中获得的urls
  49.                 elem.url.substring(1, elem.url.indexOf('*') - 1)
  50.             }
  51.             urls.each {ele ->
  52.                 allRealUrls.each {elem1 ->
  53.                     if (ele.compareToIgnoreCase(elem1) == 0) {
  54.                         newUrls.add(elem1)
  55.                     }
  56.                  }
  57.             }
  58.             println 'List newUrls befor :'+newUrls
  59.             newUrls0 = ChangeUrl.removeUrl(newUrls)
  60.             println 'List newUrls0 after:'+newUrls0
  61.       def allUrls2  =new ArrayList();
  62.             // 【】内要小写
  63.             allUrls2 =ChangeUrl.groupUrl(newUrls0).sort().reverse()
  64.            println 'current :'+allUrls2
  65.            render(view: 'top', model: [allUrls2: allUrls2 ])
  66.         } 
  67.     }
  68.     /*
  69.     def left = {
  70.         def role = AuthUtil.getRole(session)
  71.         //StringMap.parseStringToMap(StringMap.parseMapToString())
  72.         List allRealUrls = new java.util.ArrayList()     // 从系统获得的所有url
  73.         List newUrls = new java.util.ArrayList()         // requestMap与系统获得url比较后的url
  74.         List newUrls0
  75.         def te = grailsApplication.controllerClasses
  76.         te.each {elem ->
  77.             //println elem.propertyName
  78.             String[] uris = elem.getURIs()
  79.             uris.each {elem1 ->
  80.                 if (elem1.endsWith("**")) {
  81.                     allRealUrls.add(elem1.substring(1, elem1.indexOf('*') - 1))
  82.                 }
  83.             }
  84.         }
  85.         //println 'all:'+allRealUrls
  86.         if (role) {
  87.             def requestmap = Requestmap.findAllByConfigAttributeLike('%' + role + ',%')
  88.             def urls = requestmap.collect {elem ->                 //从requestMap中获得的urls
  89.                 elem.url.substring(1, elem.url.indexOf('*') - 1)
  90.             }
  91.             urls.each {ele ->
  92.                 allRealUrls.each {elem1 ->
  93.                     if (ele.compareToIgnoreCase(elem1) == 0) {
  94.                         newUrls.add(elem1)
  95.                     }
  96.                  }
  97.             }
  98.             println 'List newUrls befor :'+newUrls
  99.             newUrls0 = ChangeUrl.removeUrl(newUrls)
  100.             println 'List newUrls0 after:'+newUrls0
  101.       def allUrls  =new ArrayList();
  102.             // 【】内要小写
  103.             allUrls =ChangeUrl.groupUrl(newUrls0).sort().reverse()
  104.            render(view: 'left', model: [allUrls: allUrls ])
  105.         } else {
  106.             
  107.             redirect(uri: '/error.gsp')
  108.         }
  109.     }*/
  110.     def left = {
  111.         //[ "data": writer.toString(), personList: Person.list( params )]
  112.         //[ "data": writer.toString(), personList: System_menu.list( params )]
  113.        ArrayList itemlist = getChildren("");
  114.         List TreeFolder=new ArrayList();
  115.         for(int i = 0 ; i < itemlist.size(); i++)
  116.         {
  117.             String s= renderTreeViewAjax((System_menu)itemlist.getAt(i));
  118.             //println 'ddfdf'+s
  119.             TreeFolder.add(s);
  120.         }
  121.         [ treefolderList: TreeFolder]
  122.     }
  123.   def sayHello = {
  124.         response.setContentType("text/html;charset=GB2312");
  125.         PrintWriter out= response.getWriter();
  126.         String parentID = params.parentID;
  127.         println 'hhh'+parentID;
  128.         //StringBuffer outputContenter = new StringBuffer();
  129.         if (parentID!=null&&!parentID.equals(""))
  130.         {
  131.             //res.setContentType("text/html;charset=GB2312");
  132.             ArrayList itemlist = getChildren(parentID);
  133.             println 'ddfdf'+itemlist.size()
  134.             String s;
  135.             //PrintWriter out= res.getWriter();
  136.             for(int i = 0 ; i < itemlist.size(); i++)
  137.             {
  138.                 s= renderTreeViewAjax((System_menu)itemlist.getAt(i));
  139.                 println s;
  140.                 out.println(s);
  141.             }
  142.         }
  143.         out.close();
  144.         render  " [${new Date()}] Hello, ${params.parentID} "
  145.         //render  " [${new Date()}] Hello, ${params.id} "
  146. /*
  147.         render  outputContenter.toString()
  148.        //render  " [${new Date()}] Hello, ${params.id} "
  149. */
  150.   }
  151.     public String renderTreeViewAjax(System_menu htfl) {
  152.       StringBuffer content = new StringBuffer();
  153.         String ID=htfl.getId();
  154.         String NAME=htfl.getName();
  155.         String FLAG='true';
  156.         //htfl.getActiveStatus();
  157.         content.append("<li id='"+ID+"'>");
  158.         if (canExpand(ID))
  159.         {
  160.          String submitURL="http://localhost:8080/CI/system/sayHello?parentID="+ID;
  161.             // String submitURL="http://localhost:8080/CI/?parentID="+ID;
  162.          content.append("<img src="/CI/images/plus.gif" onClick="getSubTree('"+ID+"','"+submitURL+"')">");
  163.             //content.append("<a href="/CI/system/sayHello/1" onclick="new Ajax.Updater('hello','/CI/system/sayHello/1',{asynchronous:true,evalScripts:true});return false;"><img src="/CI/images/plus.gif"></a>");
  164.             //content.append("<a href="/CI/system/sayHello/1" onclick="new Ajax.Updater('hello','/CI/system/sayHello/1',{asynchronous:true,evalScripts:true});return false;">dsfss</a>");
  165.         }
  166.         else
  167.         {
  168.          content.append("<img src="/CI/images/blank.gif">");
  169.         }
  170. println 'd';
  171.         //content.append("<img src="/CI/images/folder.gif"><a href="javascript:ShowDetail('"+ID+"','"+NAME+"','"+FLAG+"')"");
  172.         //content.append(">"+NAME+"</a>");
  173.         content.append("<img src="/CI/images/folder.gif"><a target='mainFrame' href='/CI/system_menu/show?id="+ID+"'");
  174.         content.append(">"+NAME+"</a>");
  175.         content.append("</li>");
  176. println 'e';
  177.         return content.toString();
  178.     }
  179. public List getChildren(String categoryId){
  180.        def results = null
  181.         if (categoryId!=null&&!categoryId.equals(""))
  182.           results= System_menu.findAll("from System_menu where parent_id="+categoryId);
  183.         else
  184.           results= System_menu.findAll("from System_menu where id=1 ");
  185.         return results
  186. }
  187. public boolean canExpand(String categoryId) {
  188.        String nCount="0";
  189.        nCount=System_menu.executeQuery("select count(*) from System_menu where parent_ID = " + Integer.parseInt(categoryId ))[0]
  190.       //String ss= "select id from system_menu where parent_ID=" + Integer.parseInt(categoryId );
  191.        if(nCount=="0")
  192.             return false;
  193.        else
  194.             return true;
  195. }  
  196.     def mainFrame = {
  197.         
  198.     }
  199. }