如何设置读者预约相关配置
dp2Library 设置读者预约是通过library.xml配置文件来实现的。其中, 通过修改arrived 元素里面的 reserveTimeSpan 的值,可以修改用户预约书籍保留的时间,用户只需要设置成需要保留的时间即可。
操作步骤
-
登录dp2内务,点菜单 功能/系统维护/系统管理窗,切换到 内核 属性页。
-
选中 library.xml 配置文件,右键点出上下文菜单,选择 编辑配置文件。

这一段代码定义了图书预约功能。
<arrived dbname="预约到书" reserveTimeSpan="2day" outofReservationThreshold="10" canReserveOnshelf="true" notifyTypes="dpmail,email,mq" />
参数说明: dbname 预约到书队列库的库名。系统在还书操作的时候会自动检查该册是否被预约,如果被预约,则通知第一个预约者,并且形成一条队列记录存入队列库,以便系统后面可以跟踪预约者的取书情况,并在必要时通知排在后面的预约者取书,或在没有后面的预约者的情况下通知馆员归架。
reserveTimeSpan 预约到书后保留的天数。如果超过这个时间预约者还不来取,系统会自动将借阅权转移给后面排队的预约者。
outofReservationThreshold 预约到书后未及时办理借书手续的极限次数。缺省为”10”。如果一个读者预约到书后未取的次数超过这个极限,则系统不再允许这个读者进行预约操作。
读者预约到书未取的发生次数是记在存在读者记录的outofReservations元素的count属性,这里的count值如果超过了配置的极限次数,则不允许该读者再进行预约。
- <outofReservations count="2">
<request itemBarcode="DPB000007" notifyDate="Wed, 05 Jun 2019 11:49:56 +0800" />
<request itemBarcode="NKX0006101" notifyDate="Tue, 11 Jun 2019 11:17:37 +0800" />
</outofReservations>
<state />
注意,读者自己点了放弃取书,是不会在读者记录产生outofReservations次数,一定是超过保留期不去取,读者也不主动放弃取书的情况,才会产生这个违约次数。
如果读者预约未取超过了规定次数,管理员可以为读者清除预约未取次数,操作按钮在读者窗下方工具条上的右侧第2个按钮。
canReserveOnshelf 是否允许预约在架的册。缺省为”true”,代表在架的图书可以预约。如果配置文件里缺乏这个属性,那相当于 true 的效果。
- 如何修改预约保留天数。
修改 arrived 元素里面的 reserveTimeSpan 的值,设置成需要保留的时间,保存后退出。

【注意】 opac.xml 文件中关于预约到书的这些配置信息,是每次 dp2OPAC 系统启动的时候自动从关联的 dp2Library 系统中获取、复制过来的。因此系统管理员不要试图在 dp2OPAC 系统这里,也就是 opac.xml 文件中修改这个元素下的配置信息。如果确需修改关于预约到书的定义,请直接到 dp2Library 系统中修改。
读者预约图书后,系统的处理过程:
1)读者预约图书后,在读者记录xml中会产生预约信息字段reservations,
在内务读者窗看到绿色预约到书行。(预约未到书是普通白色背景,到书的是绿色背景) 2)系统根据预约保留天数的配置,当服务器的硬时钟运行超过保留期,并且在第一个23点之后。系统会自动执行一下预约到书管理
3)通过执行预约到书管理任务,系统就会计算那些预约到书未取的读者,给他们产生到书未取次数的字段outofReservations Count(同时消掉原来的预约到书信息),这本书就可以让别人借了
- 当读者xml中outofReservations Count值如果超过了配置的极限次数,则不允许该读者再进行预约。