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

PlugIns编程

开发平台:

Java

  1.     import java.text.SimpleDateFormat
  2. class ContractController {
  3.     
  4.     def index = { redirect(action:list,params:params) }
  5.     // the delete, save and update actions only accept POST requests
  6.     def allowedMethods = [list:['GET','POST'],delete:'POST', save:'POST', update:['POST','GET']]
  7.     def list = {
  8.          def df  =   new SimpleDateFormat('yyyy-MM-dd')
  9.         if(!params.max) params.max = '2'
  10.         if(!params.sort)params.sort = 'id'
  11.         if(!params.offset)params.offset = '0'
  12.         if(!params.order)params.order = 'asc'
  13.         if(!params._conId)params._conId = ''
  14.         if(!params._conMan)params._conMan = ''
  15.         java.util.Date _conLastchangefrom =null
  16.         java.util.Date _conLastchangeto  =null
  17.         if(!params._conLastchangefrom){
  18.             _conLastchangefrom = df.parse('1970-01-01')
  19.         }else{_conLastchangefrom = df.parse(params._conLastchangefrom)}
  20.         if(!params._conLastchangeto){
  21.             _conLastchangeto = new Date()
  22.         }else{_conLastchangeto = df.parse(params._conLastchangeto)}
  23.         if(!params._conDel)params._conDel = null
  24.         println '_conDel :'+params._conDel
  25.         def _conDelState = '0'
  26.             if(params._conDel == 'on'){
  27.                _conDelState = ''
  28.         } else if(params._conDel == null){ _conDelState = '0'   }
  29.         println '_conDelState :'+_conDelState
  30.         println 'in list'+params
  31.         def  results=null
  32.         println 'between '+_conLastchangefrom+' and '+_conLastchangeto
  33.         println 'params._staType_id '+  params._staType_id
  34.        if(!params._staType_id){
  35.         results = Contract.findAll("from Contract c where c.conId like :_conId and c.conMan.staName like :_conMan and  c.conLastchange between :_conLastchangefrom and :_conLastchangeto and c.conDel like :_conDelState order by ${params.sort} ${params.order} ",
  36.                 [_conId:'%'+params._conId+'%',_conMan:'%'+params._conMan+'%',_conLastchangefrom:_conLastchangefrom,_conLastchangeto:_conLastchangeto,_conDelState:'%'+_conDelState+'%'],[max:Integer.parseInt(params.max),offset:Integer.parseInt(params.offset)])
  37.         params.count=Contract.findAll("from Contract c where c.conId like :_conId and c.conMan.staName like :_conMan and  c.conLastchange between :_conLastchangefrom and :_conLastchangeto and c.conDel like :_conDelState order by ${params.sort} ${params.order} ",
  38.                 [_conId:'%'+params._conId+'%',_conMan:'%'+params._conMan+'%',_conLastchangefrom:_conLastchangefrom,_conLastchangeto:_conLastchangeto,_conDelState:'%'+_conDelState+'%']).size()
  39.         }else {
  40.            println 'have type ' + params._staType_id instanceof String
  41.            results = Contract.findAll("from Contract c where c.conId like :_conId and c.conMan.staName like :_conMan and str(c.conMan.staType.id)=:_staType_id and  c.conLastchange between :_conLastchangefrom and :_conLastchangeto and c.conDel like :_conDelState order by ${params.sort} ${params.order} ",
  42.                    [_conId:'%'+params._conId+'%',_conMan:'%'+params._conMan+'%',_staType_id:params._staType_id,_conLastchangefrom:_conLastchangefrom,_conLastchangeto:_conLastchangeto,_conDelState:'%'+_conDelState+'%'],[max:Integer.parseInt(params.max),offset:Integer.parseInt(params.offset)])
  43.            params.count=Contract.findAll("from Contract c where c.conId like :_conId and c.conMan.staName like :_conMan and str(c.conMan.staType.id)=:_staType_id and  c.conLastchange between :_conLastchangefrom and :_conLastchangeto and c.conDel like :_conDelState order by ${params.sort} ${params.order} ",
  44.                    [_conId:'%'+params._conId+'%',_conMan:'%'+params._conMan+'%',_staType_id:params._staType_id,_conLastchangefrom:_conLastchangefrom,_conLastchangeto:_conLastchangeto,_conDelState:'%'+_conDelState+'%']).size()
  45.         }
  46.         println 'params._conDel '+params._conDel
  47.         render(view:'list',model:[contractList:results])
  48.         //[ contractList: Contract.list( params ) ]
  49.     }
  50.     def show = {
  51.         def contract = Contract.get( params.id )
  52.         if(!contract) {
  53.             flash.message = "contract.not.found"
  54.             flash.args = [params.id]
  55.             flash.defaultMessage = "Contract not found with id ${params.id}"
  56.             redirect(action:list,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  57.         }
  58.         else { return [ contract : contract ] }
  59.     }
  60.     def delete = {
  61.         def contract = Contract.get( params.id )
  62.         if(contract) {
  63.            // contract.delete()
  64.         //设定删除状态   更新人更新时间
  65.             contract.conDel   =   '1'
  66.             contract.conLastchanger    =   'session'
  67.             contract.conLastchange =   new Date()
  68.             contract.save()
  69.             flash.message = "contract.deleted"
  70.             flash.args = [params.id]
  71.             flash.defaultMessage = "Contract ${params.id} deleted"
  72.             redirect(action:list,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  73.         }
  74.         else {
  75.             flash.message = "contract.not.found"
  76.             flash.args = [params.id]
  77.             flash.defaultMessage = "Contract not found with id ${params.id}"
  78.             redirect(action:list,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  79.         }
  80.     }
  81.     def edit = {
  82.         def contract = Contract.get( params.id )
  83.         if(!contract) {
  84.             flash.message = "contract.not.found"
  85.             flash.args = [params.id]
  86.             flash.defaultMessage = "Contract not found with id ${params.id}"
  87.             redirect(action:list,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  88.         }
  89.         else {
  90.             return [ contract : contract ]
  91.         }
  92.     }
  93.     def update = {
  94.         println   "to contract.update"
  95.         def contract = Contract.get( params.id )
  96.         if(contract) {
  97.             contract.properties = params
  98.             contract.conMan = Staff.findById(params.conMan.id)
  99.         //设定删除状态 创建人创建时间 更新人更新时间
  100.         contract.conDel    =   '0'
  101.         contract.conLastchanger    =   'session'
  102.         contract.conLastchange =   new Date()
  103.             if(!contract.hasErrors() && contract.save()) {
  104.                 println   "contract.updated"
  105.                 flash.message = "contract.updated"
  106.                 flash.args = [params.id]
  107.                 flash.defaultMessage = "Contract ${params.id} updated"
  108.                 redirect(action:show,id:contract.id,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  109.             }
  110.             else {
  111.                 render(view:'edit',model:[contract:contract])
  112.             }
  113.         }
  114.         else {
  115.             flash.message = "contract.not.found"
  116.             flash.args = [params.id]
  117.             flash.defaultMessage = "Contract not found with id ${params.id}"
  118.             redirect(action:edit,id:params.id,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  119.         }
  120.     }
  121.     def create = {
  122.         def contract = new Contract()
  123.         contract.properties = params
  124.         return ['contract':contract]
  125.     }
  126.     def save = {
  127.         String  conid=Contract.executeQuery("select max(c.conId) from Contract c ")[0]
  128.         println conid
  129.         if(conid=="null"||conid==null){
  130.             conid = 'CON100000000'
  131.         }else { conid='CON'+(Integer.parseInt(conid.substring(3,12))+1)}
  132.         def contract = new Contract()
  133.         contract.properties = params
  134.         contract.conMan = Staff.findById(params.conMan.id)
  135.         contract.conId =   conid    //设置编号
  136.         //设定删除状态 创建人创建时间 更新人更新时间
  137.         contract.conDel    =   '0'
  138.         contract.conCreater    =   'session'
  139.         contract.conCreatetime =   new Date()
  140.         contract.conLastchanger    =   'session'
  141.         contract.conLastchange =   new Date()
  142.         
  143.         if(!contract.hasErrors() && contract.save()) {
  144.             flash.message = "contract.created"
  145.             flash.args = ["${contract.id}"]
  146.             flash.defaultMessage = "Contract ${contract.id} created"
  147.             redirect(action:show,id:contract.id,params:[_conId:params._conId,_conMan:params._conMan,_staType_id:params._staType_id,_conLastchangefrom:params._conLastchangefrom,_conLastchangeto:params._conLastchangeto,_conDel:params._conDel,max:params.max,sort:params.sort,offset:params.offset,order:params.order])
  148.         }
  149.         else {
  150.             render(view:'create',model:[contract:contract])
  151.         }
  152.     }
  153.    def showFile = {
  154.        println  'contract id '+params.id
  155.         def contract = Contract.findById(params.id )
  156.         response.setContentType("application/msword");
  157.         OutputStream out = response.getOutputStream();
  158.         if(contract.conContrat==null){
  159.             println('没有contract文件')
  160.             //out.write('没有图片'.getBytes())
  161.             out.close();
  162.         } else {
  163.          def file= contract.conContrat
  164.         println 'send contract '
  165.         byte[] bytes= file
  166.         out.write(bytes)
  167.         //javax.imageio.ImageIO.write(bytes, "PNG", out);
  168.         out.close();
  169.         }
  170.     }
  171. }