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

PlugIns编程

开发平台:

Java

  1.     import java.text.SimpleDateFormat            
  2. class StaffController {
  3.     
  4.     def index = { redirect(action:list,params:params) }
  5.     // the delete, save and update actions only accept POST requests
  6.     def allowedMethods = [delete:'POST', save:'POST', update:'POST']
  7.     def list = {  /*
  8.         println 'to staff.list '
  9.         println    '_staType_id:'+params._staType_id
  10.          def df  =   new SimpleDateFormat('yyyy-MM-dd')
  11.         if(!params.max) params.max = '2'
  12.         if(!params.sort)params.sort = 'staId'
  13.         if(!params.offset)params.offset = '0'
  14.         if(!params.order)params.order = 'asc'
  15.         if(!params._staId)params._staId = ''
  16.         if(!params._staName)params._staName = ''
  17.         java.util.Date _staLastchangefrom =null
  18.         java.util.Date _staLastchangeto =null
  19.         String staTypeSql =''
  20.         if(!params._staLastchangefrom){
  21.             _staLastchangefrom = df.parse('1970-01-01')
  22.         }else{_staLastchangefrom = df.parse(params._staLastchangefrom)}
  23.         if(!params._staLastchangeto){
  24.             _staLastchangeto = new Date()
  25.         }else{_staLastchangeto = df.parse(params._staLastchangeto)}
  26.         if(params._staType_id&&params._staType_id!='')staTypeSql = " and  str(s.staType.id) = '${params._staType_id}' "
  27.         if(!params._staDel)params._staDel = null
  28.         println '_staDel :'+params._staDel
  29.         def _staDelState = '0'
  30.             if(params._staDel == 'on'){
  31.                _staDelState = ''
  32.         } else if(params._staDel == null){ _staDelState = '0'   }
  33.         println '_staDelState :'+_staDelState
  34.         println params
  35.         def  results=null
  36.         println 'between '+_staLastchangefrom+' and '+_staLastchangeto
  37.  
  38.         results = Staff.findAll("from Staff s where s.staId like :_staId and s.staName like :_staName and s.staLastchange between :_staLastchangefrom and :_staLastchangeto $staTypeSql and s.staDel like :_staDelState order by ${params.sort} ${params.order} ",
  39.                 [_staId:'%'+params._staId+'%',_staName:'%'+params._staName+'%',_staLastchangefrom:_staLastchangefrom,_staLastchangeto:_staLastchangeto,_staDelState:'%'+_staDelState+'%'],[max:Integer.parseInt(params.max),offset:Integer.parseInt(params.offset)])
  40.         params.count=Staff.findAll("from Staff s where s.staId like :_staId and s.staName like :_staName and s.staLastchange between :_staLastchangefrom and :_staLastchangeto $staTypeSql and s.staDel like :_staDelState order by ${params.sort} ${params.order} ",
  41.                 [_staId:'%'+params._staId+'%',_staName:'%'+params._staName+'%',_staLastchangefrom:_staLastchangefrom,_staLastchangeto:_staLastchangeto,_staDelState:'%'+_staDelState+'%']).size()
  42.         render(view:'list',model:[staffList:results])
  43.               */
  44.     }
  45.     def show = {
  46.         def staff = Staff.get( params.id )
  47.         if(!staff) {
  48.             flash.message = "staff.not.found"
  49.             flash.args = [params.id]
  50.             flash.defaultMessage = "Staff not found with id ${params.id}"
  51.             redirect(action:list,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  52.         }
  53.         else { return [ staff : staff ] }
  54.     }
  55.     def delete = {
  56.         def staff = Staff.get( params.id )
  57.         if(staff) {
  58.         //�趨ɾ��״̬ 
  59.         staff.staDel    =   '1'
  60.             flash.message = "staff.deleted"
  61.             flash.args = [params.id]
  62.             flash.defaultMessage = "Staff ${params.id} deleted"
  63.             redirect(action:list,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  64.         }
  65.         else {
  66.             flash.message = "staff.not.found"
  67.             flash.args = [params.id]
  68.             flash.defaultMessage = "Staff not found with id ${params.id}"
  69.             redirect(action:list,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  70.         }
  71.     }
  72.     def edit = {
  73.         def staff = Staff.get( params.id )
  74.         if(!staff) {
  75.             flash.message = "staff.not.found"
  76.             flash.args = [params.id]
  77.             flash.defaultMessage = "Staff not found with id ${params.id}"
  78.             redirect(action:list,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  79.         }
  80.         else {
  81.             return [ staff : staff ]
  82.         }
  83.     }
  84.     def update = {
  85.         def staff = Staff.get( params.id )
  86.         if(staff) {
  87.             staff.properties = params
  88.         //�趨ɾ��״̬ �����˸���ʱ��
  89.         staff.staDel    =   '0'
  90.         staff.staLastchanger    =   'session'
  91.         staff.staLastchange =   new Date()            
  92.             if(!staff.hasErrors() && staff.save()) {
  93.                 flash.message = "staff.updated"
  94.                 flash.args = [params.id]
  95.                 flash.defaultMessage = "Staff ${params.id} updated"
  96.                 redirect(action:show,id:staff.id,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  97.             }
  98.             else {
  99.                 render(view:'edit',model:[staff:staff])
  100.             }
  101.         }
  102.         else {
  103.             flash.message = "staff.not.found"
  104.             flash.args = [params.id]
  105.             flash.defaultMessage = "Staff not found with id ${params.id}"
  106.             redirect(action:edit,id:params.id,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  107.         }
  108.     }
  109.     def create = {
  110.         def staff = new Staff()
  111.         staff.properties = params
  112.         return ['staff':staff]
  113.     }
  114.     def save = {
  115.         String  staid=Staff.executeQuery("select max(s.staId) from Staff s ")[0]
  116.         println staid
  117.         if(staid=="null"||staid==null){
  118.             staid = 'STA100000000'
  119.         }else { staid='STA'+(Integer.parseInt(staid.substring(3,12))+1)}
  120.         def staff = new Staff(params)
  121.         staff.staId =   staid    //���ñ��
  122.         //�趨ɾ��״̬ �����˴���ʱ�� �����˸���ʱ��
  123.         staff.staDel    =   '0'
  124.         staff.staCreater    =   'session'
  125.         staff.staCreatetime =   new Date()
  126.         staff.staLastchanger    =   'session'
  127.         staff.staLastchange =   new Date()
  128.         if(!staff.hasErrors() && staff.save()) {
  129.             flash.message = "staff.created"
  130.             flash.args = ["${staff.id}"]
  131.             flash.defaultMessage = "Staff ${staff.id} created"
  132.             redirect(action:show,id:staff.id,params:[_staId:params._staId,_staName:params._staName,_staType_id:params._staType_id,_staLastchangefrom:params._staLastchangefrom,_staLastchangeto:params._staLastchangeto,_staDel:params._staDel,offset:params.offset,sort:params.sort,order:params.order])
  133.         }
  134.         else {
  135.             render(view:'create',model:[staff:staff])
  136.         }
  137.     }
  138.         def showImage = {
  139.         def staff = Staff.findById(params.id )
  140.         response.setContentType("image/png");
  141.         OutputStream out = response.getOutputStream();
  142.         if(Staff.staImage==null){
  143.             println('staff û��ͼƬ')
  144.             out.close();
  145.         } else {
  146.         def image= staff.staImage
  147.         //println image
  148.         byte[] bytes= image
  149.         out.write(bytes)
  150.         //javax.imageio.ImageIO.write(bytes, "PNG", out);
  151.         out.close();
  152.         }
  153.     }
  154. }