//Name 	 Generate_ticket_id
//Description 	Creates an id of the following format 000##YYMM@@_****description from various task details and handler
//Type 	Trigger / Add Message / BEFORE Trigger

String ticketId = "";
String taskNumber = "";

//Get task number as string
taskNumber = message.getTask().getTaskNumber().toString();
//Pad the task number to 5 characters
for(int j = 0; j < (5-message.getTask().getTaskNumber().length()) ; j++){
    taskNumber= "0"+ taskNumber;
}
ticketId=taskNumber;

//Add the date
Calendar ca = message.getTask().getSubmitdate();
ca.setTimeZone(TimeZone.getTimeZone(sc.getTimezone()));
String submitMonth = (ca.get(Calendar.MONTH)+1).toString();
String submitYear = ca.get(Calendar.YEAR).toString();

//Pad the submitMonth to 2 characters
for(int j = 0; j < (2-submitMonth.length()) ; j++){
    submitMonth= "0"+ submitMonth;
}

//Get last 2 characters of Year
submitYear= submitYear.substring(2,4);

ticketId=ticketId + submitYear + submitMonth;


//Get the name of the Handler from the message.
String assignedHandler="";
assignedHandler = message.getHandlerUser().getName();

String[] nameArr = assignedHandler.split(" ");

ticketId=ticketId+(nameArr[0].trim().substring(0,1)+nameArr[1].trim().substring(0,1)).toUpperCase();

//Get department
String department = message.getTask().getUDFValues().get(CSVImport.findUDFIdByName("From Department")).getValue(message.getTask());

//Get department acronym
String[] deptArr = department.split("-");
ticketId=ticketId+deptArr[0].trim();

//Add task name
ticketId=ticketId+"_"+message.getTask().getName();

AdapterManager.getInstance().getSecuredUDFAdapterManager().setTaskUDFValueSimple(message.getSecure(), message.getTaskId(), "Ticket ID",ticketId);


return message;