コード例 #1
0
 protected Ticket createTicketForUpdate(Ticket ticket, int operationCode) throws Exception {
   Ticket newTicket = (Ticket) ticket.clone();
   switch (operationCode) {
     case TicketOperation.OPERATIONS_TAKEINCHARGE:
       newTicket.setStatus(Ticket.STATES_ASSIGNED);
       newTicket.setWttOperator(this.getCurrentUser().getUsername());
       break;
     case TicketOperation.OPERATIONS_SETASSIGNABLE:
       newTicket.setStatus(Ticket.STATES_ASSIGNABLE);
       newTicket.setWttOperator(null);
       newTicket.setWttRole(this.getRoleName());
       break;
     case TicketOperation.OPERATIONS_UPDATE:
       if (newTicket.getStatus() == Ticket.STATES_OPENED) {
         newTicket.setStatus(Ticket.STATES_WORKING);
       }
       int priority = this.getPriority() != null ? this.getPriority().intValue() : 0;
       newTicket.setPriority(priority);
       int interventionType =
           this.getInterventionType() != null ? this.getInterventionType().intValue() : 0;
       newTicket.setOpInterventionType(interventionType);
       break;
     case TicketOperation.OPERATIONS_CLOSE:
       newTicket.setStatus(Ticket.STATES_CLOSED);
       newTicket.setClosingDate(new Date());
       if (this.getResolved() != null) {
         newTicket.setResolved(this.getResolved().booleanValue());
       }
       newTicket.setWttOperator(null);
       break;
     case TicketOperation.OPERATIONS_ANSWER:
       if (newTicket.getStatus() == Ticket.STATES_OPENED) {
         newTicket.setStatus(Ticket.STATES_WORKING);
       }
       break;
     case TicketOperation.OPERATIONS_RELEASE:
       newTicket.setStatus(Ticket.STATES_WORKING);
       newTicket.setClosingDate(null);
       newTicket.setResolved(false);
       newTicket.setWttOperator(null);
       break;
   }
   if (this.getPriority() != null) {
     newTicket.setPriority(this.getPriority().intValue());
   }
   return newTicket;
 }