Script for files

In a directory below tar files are there, the value between first and second delimiter(-) indicates
store name
i,e "ban", "can", "tan" etc are store names

PTP03-ban-end03.tar
PTP21-can-end03.tar
PTP21-moc-end03.tar
PTP21-moc-end03.tar
PTP21-can-end03.tar
PTP21-can-end03.tar

i want to retain only one tar file per store in my current directory and move the remaining tar files to Temp directory
so in this case for stores "moc", "can" we have more than one tar file
so for stores "moc", "can" the tar file which got created first should be retained in current dicrectory and remaining
files should be moved to temp directory

ls -1tr *.tar | awk -F- 'store[$2]++' | while read file ; do echo mv $file temp_directory ; done

test first. if desired files to move are shown, remove echo and run again.

Please be aware that NO two or more files with the same, identical name can exist an a directory. So the sample data given are not representative. Still, if the names' structure persists, rdrtx1's proposal will work as desired.