Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

预约到书后的几种情况及数据状态变化 #1193

Open
renyh opened this issue Sep 14, 2024 · 1 comment
Open

预约到书后的几种情况及数据状态变化 #1193

renyh opened this issue Sep 14, 2024 · 1 comment

Comments

@renyh
Copy link
Contributor

renyh commented Sep 14, 2024

读者预约一册图书,预约到书时(在架的会立即到书),会产生一条预约到书记录,状态为arrived。

根据读者是否取书以及预约排队规则,后续有四种情况:

第一种情况:该读者在保留期内,正常的借走这册书,那么对应的这条预约记录自动删除。

第二种情况:该读者未在保留期内借走这本书,过了保留期,对应的这条预约记录不会删除,而是状态转为outof。同时该读者xml会增加1次到书未取次数(存储在<outofReservations>元素中)

第三种情况:另一个读者也排队预约了这册书。如果第1个读者未在保留期内借走这本书,过了保留期,对应的这条预约记录会转给第2个读者(即预约记录中的<readerBarcode>元素变在读者2),状态还是arrived。同时系统会给第1个读者xml增加1次到书未取次数,第2个读者xml的预约元素状态变为arrived到书。

第四种情况:该读者在保留期内,自己主动从OPAC或公众号上,点击“放弃取书”或“删除”,此时系统会将这条预约记录的状态变为outof,但由于是读者自行取消的,所以不会给读者xml增加到书未取次数。

@renyh renyh changed the title 预约到书的三种情况及数据状态 预约到书的三种情况及数据状态变化 Sep 14, 2024
@renyh renyh changed the title 预约到书的三种情况及数据状态变化 预约到书后的几种情况及数据状态变化 Sep 14, 2024
@renyh
Copy link
Contributor Author

renyh commented Sep 14, 2024

后期dp2library的预约功能与dp2mini的馆员备书模块整合起来使用,两点改进思路

一、dp2library发取书通知的时机

目前dp2library会在预约到书时,立即就会给读者发送“取书”消息,这个时机可能不太合适,因为此时可能图书馆各项工作还没准备好,会造成一些误会,应该由馆员来触发什么时候通知读者取书比较好。所以后面软件可以改进为,预约到书时不立即给读者发送“取书”通知,可以发送模糊一些的信息,例如“...进入处理流程...”之类,然后由馆员准备好后再人工触发通知。

dp2library发通知的机制改进后,就方便与dp2mini的馆员备书功能整合起来,OPAC和微信公众号都可以受益。

目前微信公众号这边对于使用dp2mini馆员备书模块的图书馆,是增加了一个开关,收到dp2library的通知后,压制住不发出来,等馆员在dp2mini处理完备书,通过dp2mini再给用户发取书通知。

二、预约到书记录的状态

目前预约到书记录有两种状态:arrived 和 outof。

其中arrived是正常预约到书的记录,如果读者在保留期内借走图书,这条预约记录就自动删除了。

那么剩下的outof状态的记录,是过了保留期未取的,或者是读者主动放弃取书的,简单的想这些outof状态的记录其实是没什么意义。但当初设计时把这些记录留下来没有删除,主要是考虑可以直接当作历史记录,万一读者说我预约了某图书,为什么这本书被别人借走了,可以通过这些outof记录找到证据。

dp2mini馆员备书模块,是检索出来arrived状态的预约到书记录,然后进入备书过程,中间不会改变预约记录的状态,直到备书完成,调预约接口的删除动作(接口会将这条记录状态设为outof)。所以目前是否进入备书环节,在预约记录的状态上是看不出来的,后面可以将arrived状态细化一下,例如分成几种不同的状态,或者增加一些补充状态。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant