TransitSlipUWash

advertisement
These transit slips serve a dual purpose of creating slips for local use (book returned to University of
Washington Library x can be shipped to University of Washington Library y) and used by other Summit
libraries to process materials loaned from the University of Washington. If the book has been
requested by a Summit library there is data in the hold notes field that is parsed and printed on the
transit slip – the program determines that it is a Summit request by the number of elements split by
semi-colons in the hold note field.
The code makes extensive use of the java split and length functions. Fields 19 and 21 make use of the
barcode function in IReports.
These transit slips use an entire sheet of paper with fields 1 – 21 in the left column and field 22 and 23
in the right column
Field 1
Prints - Orbis cascade Alliance for Summit or University of Washington for local transit slips.
Logic - if the hold note field has more than a certain number of “;” it is a Summit slip else local
$F{hold_note}.split(";").length > 4 ?
"Orbis Cascade Alliance" : "University of Washington"
Field 2
Prints - Summit patron last name or nothing for local
Logic – checks for number of semi-colons in the hold note field if there is 6 or 7 elements it assumes a
Summit request and prints appropriately else it is a local UW paging slip and prints appropriate data
($F{hold_note}.split(";").length > 6 ?
($F{hold_note}.split(";")[6]).split("\\s")[$F{hold_note}.
split(";")[6].split("\\s").length-1] + "," :
($F{hold_note}.split(";").length == 6 ?
($F{hold_note}.split("\\s")[5]).split("\\s")[$F{hold_note}.split("\\s")[5]
.split("\\s").length-1] + "," : "" ))
Field 3
Prints – Summit patron last name or nothing for local
Logic – same as Field 2
($F{hold_note}.split(";").length > 6 ?
($F{hold_note}.split(";")[6]).split("\\s")[0] :
($F{hold_note}.split(";").length == 6 ?
($F{hold_note}.split("\\s")[5]).split("\\s")[0] : "" ))
Field 4
Prints – Summit requesting location or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
$F{hold_note}.split(";")[4] : ""
Field 5
Prints – Summit requesting location (detailed) or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
$F{hold_note}.split(";")[3] : ""
Field 6
Prints – Please do Not Remove this Slip for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"*PLEASE DO NOT REMOVE THIS SLIP*" : ""
Field 7
Prints – Call Number for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"CALL NO:"+ $F{v_b_call_num} : ""
Field 8
Prints – Status for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"STATUS:"+ $F{f_i_itemstat} : ""
Field 9
Prints – Nothing for Summit or author for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" : "Author: " + $F{v_b_author}
Field 10
Prints – Nothing for Summit or title for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" : "Title: " + $F{v_b_title}
Field 11
Prints – Barcode for both Summit or UW
Logic - none
"Barcode: " + $F{v_i_barcode}
Field 12
Prints – Nothing for Summit or volume for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" : "Volume: " + $F{v_i_volume}
Field 13
Prints – Author for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"Author: " + $F{v_b_author} : ""
Field 14
Prints – Title for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"Title: " + $F{v_b_title} : ""
Field 15
Prints – nothing for Summit or the hold note for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" : "Hold note: " + $F{hold_note}
Field 16
Prints – Home institution for Summit or patron name for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"HOME INSTITUTION: " + $F{hold_note}.split(";")[2] :
"Patron Name:" + $F{patron_last_name}+ $F{patron_first_name}
Field 17
Prints – nothing for Summit or hold date for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" :
"Hold date: "
Field 18
Prints – borrower number for Summit or nothing for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"Borrower:"+ $F{hold_note}.split(";")[1] :
""
Field 19
Prints - borrower barcode if Summit or nothing for UW
Logic – Part 1 same as Field 2
Part 2 prints out part of the hold note and strips out the B
Other – uses Code39 extended, no checksum and no show text
Part 1 – in the Print When expression
($F{hold_note}.split(";").length > 4) ? Boolean.TRUE : Boolean.FALSE
Part 2 – in the barcode expression
$F{hold_note}.split(";")[1].replace( "B", "" )
Field 20
Prints – lender number for Summit or nothing for UW
Logic – tests for Summit as above
$F{hold_note}.split(";").length > 4 ?
"Borrower:"+ $F{hold_note}.split(";")[0] :
""
Field 21
Prints - lender barcode if Summit or nothing for UW
Logic – Part 1 same as Field 2
Part 2 prints out part of the hold note and strips out the L
Other – uses Code39 extended, no checksum and no show text
Part 1 – in the Print When expression
($F{hold_note}.split(";").length > 4) ? Boolean.TRUE : Boolean.FALSE
Part 2 – in the barcode expression
$F{hold_note}.split(";")[1].replace( "L", "" )
Field 22 - in right column
Prints: Nothing for Summit or University of Washington for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 4 ?
"" : "University of Washington"
Field 23 - in right column
Prints: “ILL – Summit” for Summit or local pickup unit for UW
Logic – same as Field 2
$F{hold_note}.split(";").length > 5 ?
"ILL - Summit" : $F{transit_dest}
May 21, 2010
Download