智能书柜功能基础功能结合机构代码相关测试
20220321 最新版 dp2ssl 增加了自动感知 dp2library 一端 library.xml 文件变化的功能,当感知到文件中 rfid 元素变化时,会触发一次读者记录和册记录的全量下载同步。这种感知是通过拉取 dp2library 操作日志实现的。
最新版 dp2library 为此增加了一种操作日志动作 configChanged。 详细内容见https://github.com/DigitalPlatform/dp2/issues/1104
20220321新版本:馆员从书柜上架和下架图书的时候,如果选择同时“调拨”,软件会检查馆藏地的修改是否会导致图书所属机构代码发生变化,如果会发生变化,则自动放弃调拨(但上架下架继续执行),并在操作结束时弹出黄色对话框提示
书柜点对点通讯:书柜新增当点对点通讯访问不通时,会将轮循时间改为10分钟,并且会记录在日志文件中 因为轮循日志是由dp2library发起的,所以通过断掉书柜的网络去进行测试的话,书柜是永远无法收到每十分钟轮循的日志的。
产生原因
原先的dp2ssl每隔10分钟向服务器获取一次同步,这样的模式下会产生大量的流量问题。 为了减少流量使用量,在两者信息的传递上模式变为:当服务器发生动作后,主动给dp2ssl发送消息, 但是这种模式网络稳定性要求较高,如果一方不在线的话没可能会导致信息丢失,所以书柜依然保留旧的通讯模式,只是周期变为了一个小时。
目前在dp2系统的libraryxml 针对rfid元素有两种模式方法,下面具体介绍下:
参考文档:https://github.com/DigitalPlatform/dp2/issues/942
<ownerInstitution version="0.01">
- version字段可手动写入:0.01,缺省值为0.01(注意不能跟0.02版本混用了)
- 配置机构代码时,在馆藏地后加"$"字符,即可表示阻止系统自动加星号。及“星洲学校/$”,表示为仅匹配到“星洲学校”这一层。不会精确到下级的初中部、还是高中部、还是小学部。
<ownerInstitution version="0.02">
- 需手动将verison写成0.02
- “/”前方一致模式删除,“/$”精确一致模式删除,新增读者匹配到读者类型和读者部门,例如“馆代码/读者部门”、“馆代码/readerType:读者类型”
测试目录:
- 测试借书、还书
- 测试图书上架、下架
- 测试断网情况借书、还书
- 测试断网情况上架、下架
- 断网后重连网络-观察是否同步
- 本地库bibio的册信息entity表-同步情况测试 新增册记录。观察本地库entity表是否及时更新--预期应及时新增一条册记录 修改册记录。观察本地库entity表是否及时更新-预期本地库应及时更新册记录 删除册记录。观察本地库entity表是否及时更新--预期本地库应删除册记录
- 本地库bibio的读者信息patron表--同步情况测试 新增读者记录。观察本地库patron表是否及时更新--预期应及时新增一条读者记录 修改读者记录。观察本地库patron表是否及时更新-预期本地库应及时更新读者记录 删除读者记录。观察本地库patron表是否及时更新--预期本地库应删除读者记录
- 测试馆藏地OI不同时,上架和下架是否不会更改馆藏地 8-1( 同一馆内不同的馆藏地) 上架时,图书标签中的OI与智能书柜的OI不同——预期改为普通上架,不同步,且不会更新馆藏地 下架时,图书标签中智能书柜的OI与调拨下架的馆藏地OI不同——预期改为普通下架,不同步,且不会更新馆藏地 8-2(总馆账号内2个不同的分馆) 分馆A下有智能书柜 上架时,图书标签中的OI与智能书柜所在分馆的OI不同——不会更新馆藏地 下架时,图书标签中智能书柜的OI与调拨下架的馆藏地OI不同——不会更新馆藏地
version版本为0.01及缺省 场景一、单馆读者与册配置同一OI,分馆读者和册配置同一OI
场景二、单馆读者和册的机构代码不同,分馆读者和册的机构代码不同 总馆
<rfid>
<ownerInstitution>
<item map="/$" isil="CN-333333-F-FGTS" />
<item map="/流通库" isil="CN-222222-F-FGTS" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution>
<item map="姑苏区/$" isil="CN-333333-F-FGTS" />
<item map="姑苏区/智能书柜" isil="CN-222222-F-FGTS" />
</ownerInstitution>
</rfid>
version版本为0.02及超过,例如0.08 应用一、总馆/分馆,读者和册配置同一OI 总馆
<rfid>
<ownerInstitution version="0.02">
<item map="/*" isil="CN-111111-D-ZGTS" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution version="0.02">
<item map="姑苏区/*" isil="CN-222222-C-FGTS" />
</ownerInstitution>
</rfid>
应用二、总馆/分馆读者OI配置到部门,册配置到具体馆藏地 总馆
<rfid>
<ownerInstitution version="0.02">
<item map="/皇家警察" isil="CN-555556-F-ZGDZ" />
<item map="/智能书柜" isil="CN-666666-F-ZGTS" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution version="0.02">
<item map="姑苏区/房管局" isil="CN-123456-F-FGDZ" />
<item map="姑苏区/智能书柜" isil="CN-100861-F-FGTS" />
</ownerInstitution>
</rfid>
应用三、总馆/分馆读者OI配置到读者类型,册配置到具体馆藏地 总馆
<rfid>
<ownerInstitution version="0.02">
<item map="/readerType:本科生" isil="CN-000000-Z-ZGDZ" />
<item map="/智能书柜" isil="CN-666666-F-ZGTS" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution version="0.02">
<item map="姑苏区/readerType:苏虹路中学" isil="CN-999999-F-FGDZ" />
<item map="姑苏区/智能书柜" isil="CN-777777-F-FGTS" />
</ownerInstitution>
</rfid>
- dp2ssl 自动感知 library.xml 中 rfid 元素变化 9-1手动触发读者记录或者册记录的全量下载同步 9-2测试 settings.xml 9-3configChanged 操作日志记录 9-4测试dp2ssl中断重启 9-5查看全量同步进程 9-6测试“参数配置”触发功能 9-7测试“点对点”敏感和10分钟拉取dp2library日志 9-8查看configChanged 操作日志动作是否与changedElements 元素的一级元素名
测试用例 1
测试目的:
服务器端配置机构代码,读者借书、还书---观察是否成功
测试步骤:
- 服务器配置机构代码: 总馆
<rfid>
<ownerInstitution>
<item map="/*" isil="CN-11111-1-ZG" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-22222-3-FG" />
</ownerInstitution>
</rfid>
测试步骤(按照总馆的例子写)
- 启动dp2ssl,应正常初始化。
- 刷读者卡,语音提醒“欢迎您,xx”,随后【读者区】显示识别出的读者信息。
- 点界面色块,听到“嘭”一声柜门打开。语音提示“2号门打开”,打开的柜门对应色块变成蓝色,且色块上显示读者名字,记录此时色块上的图书数量。
- 从打开的柜门内取出1本书,关门柜门,语音提醒“2号门关闭”界面对应色块显示一个加载的圆圈图案“转圈”,很快弹出提示框“xx 借书1, 1)成功借...”。“成功”字体为绿色。
- 关闭提示框,“2号门关闭”色块颜色变为绿色,右下角显示数字比关门前少了1。
- 打开SQlite查看工具,在“浏览数据”属性页查看,点刷新按钮,新增1笔记录。Action:borrow;State:sync(表示同步成功);SyncErrorInfo:为空,没有内容。CurrentShelfNo:null。
- 打开内务【聊天】窗口,查看这个书柜群组信息,显示3条信息:
门 '2号门' 被 湾仔枪神 打开
门 '2号门' 被 湾仔枪神 关闭
xx 1) 借书 ... (书目摘要) [CN-11111-1-ZG.B001] 新架位:智能书柜:2
-
在内务聊天窗口发送“ check book xxx”命令(xxx指要查看的图书册条码号),收到本地库中关于该册的记录,查看最近的借书操作信息: 检查共返回 1 条信息(其中 error 开头的代表错误:1) 检查本地动作记录 209 没有发现问题
-
内务登录书柜连接的服务器,打开【读者窗】,查看这个读者的【借阅信息】,显示已借阅刚取出的图书。
-
打开日志窗,看到该书操作类型为“borrow”,操作者为“bookcase”
还书
- 刷读者卡,语音提醒“欢迎您,xx”,随后【读者区】显示识别出的读者信息。
- 点界面色块,听到“嘭”一声柜门打开。语音提示“2号门打开”,打开的柜门对应色块变成蓝色,且色块上显示读者名字,记录此时色块上的图书数量。
- 将图书放入打开的柜门,关门柜门,语音提醒“星2号门关闭”界面对应色块显示一个加载的圆圈图案“转圈”,很快弹出提示框“xx 还书1, 1)成功还...”。“成功”字体为绿色。
- 关闭提示框,“星洲学校1-3”色块颜色变为绿色,右下角显示数字比关门前多了1。
- 打开SQlite查看工具,在“浏览数据”属性页查看,点刷新按钮,新增1笔记录 1)Action:return;State:sync;SyncErrorInfo:还书操作成功;CurrentShelfNo:null 2)Action:transfer;State:sync;SyncErrorInfo:册记录...没有发生修改;CurrentShelfNo:智能书柜2
测试结果
20220325 1037-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 version0.01、0.02测试符合预期
20220318 1136-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.64.0 dp2内务测试版3.62.8112.16065 version0.01及缺省 场景一,总馆测试结果符合预期,20220318 1633:分馆测试符合预期 场景二,20220318 2133总馆、分馆测试符合预期
version 0.02及超过 20220321 0946-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,测试结果符合预期 应用三,测试结果符合预期
测试用例 2
测试目的:
服务器端配置机构代码,图书上架下架---观察是否成功
测试步骤:
- 服务器配置机构代码:
<rfid>
<ownerInstitution>
<item map="/*" isil="CN-11111-1-ZG" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-22222-3-FG" />
</ownerInstitution>
</rfid>
- 打开dp2ssl智能书柜
- 点击“书柜”,把馆员卡刷一下,在弹出窗口输入登录密码,听到“欢迎您”xxx,并显示读者证条码“~SJ”,点击2号门,提示“2号门打开”,拿出图书,关上门,提示“2号门关闭”,屏幕上显示该图书的信息,然后在下方调拨处将书调拨到“阅览室”中,成功下架。
- 在dp2内务上的群组中查看信息,提示为“门 '2号门' 被 ~SJ 打开,门 '2号门' 被 ~SJ 关上, (~SJ),1) 下架+调出 怪物大师 . 2 , 沉睡的泰坦巨人之城 [专著] : 升级版 / 雷欧幻像[著]2版ISBN 978-7-5448-5412-2 : CNY22.00 [CN-11111-1-ZG.B001] 调拨到:阅览室”
- 打开操作日志,该册的操作类型为“setEntity/transfer”,操作后馆藏处为“阅览室”
- 本地库中查看action表 Action:transfer;State:sync;location:阅览室
上架
- 再次刷馆员卡,在弹出窗口输入登录密码,听到“欢迎您”xxx,并显示读者证条码“~SJ”,点击2号门,提示“2号门打开”,将书放入,关上门,提示“2号门关闭”,屏幕上显示该图书的信息,并提示“上架+调拨”,点击该选项,提示“上架1,调拨1,流通1”。
- 在dp2内务上的群组中查看信息“门 '2号门' 被 ~SJ 打开,门 '2号门' 被 ~SJ 关上, 上架+调入 怪物大师 . 2 , 沉睡的泰坦巨人之城 [专著] : 升级版 / 雷欧幻像[著]2版ISBN 978-7-5448-5412-2 : CNY22.00 [CN-11111-1-ZG.B001] 调拨到:智能书柜 新架位:智能书柜:2”
- 打开操作日志,该册的操作类型为“setEntity/transfer”,操作后馆藏处为“智能书柜”
- 本地库中查看action表 actions有两笔操作记录,1笔是return,另一笔是transfer,location为智能书柜
测试结果
20220325 1558-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 version0.01测试结果符合预期
version为0.01及缺省 20220318 1347-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.64.0 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1638:分馆测试符合预期 场景二,20220318 216测试符合预期
version为0.02及超过 20220321 WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,分馆因为只配置了姑苏区/智能书柜的机构代码,所以调拨改为普通下架,提示信息背景为黄色,且不同步,上架则正常同步。总馆相同 应用三、总馆只配置了智能书柜的机构代码,没有配置其他馆藏地的,因此下架不同步,且提示背景为黄色,上架正常,分馆相同
测试用例 3
测试目的:
断网后查看借还情况,预期成功借还,没有同步
测试步骤
- 配置以下内容 总馆
<rfid>
<ownerInstitution>
<item map="/*" isil="CN-11111-1-ZG" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-22222-3-FG" />
</ownerInstitution>
</rfid>
- 然后把网络断开,打开dp2ssl智能书柜,选择断网模式
- 拿读者证刷一下,语音提醒“欢迎您,xx”,随后【读者区】显示识别出的读者信息。
- 点击二号柜,听到“嘭”一声,提示“2号门打开”,拿出图书,关上门,提示“2号门关闭”
- 页面显示成功借书,暂时跳过同步
- 打开内务,在快捷出纳窗中输入读者证条码P001,显示该读者没有借书记录
- 打开操作日志,没有看到操作记录
- 在本地库action中查看,读者有借书记录,SyncOperTime为“0001-01-01...”,Action:borrow,State:NULL 还书
- 拿读者证刷一下,语音提醒“欢迎您,xx”,随后【读者区】显示识别出的读者信息。
- 点击二号柜,听到“嘭”一声,提示“2号门打开”,把书放进去,关上门,提示“2号门关闭”
- 页面显示还书成功,暂时跳过同步
- 在内务群组中发送“@robot check book XXX”,没有回应
- 本地库action中查看,有2个操作记录,Actions一个是return,一个是transfer,但是操作时间都为“000-01-01”,State为“NULL”
测试结果
20220325 1607-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 version0.01测试结果符合预期
version为0.01及缺省 20220318 1424-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.64.0 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1643:分馆测试符合预期 场景二,20220318 2140测试符合预期
version为0.02及超过 20220321 WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,测试结果符合预期 应用三,测试结果符合预期
测试用例 4
测试目的:
断网后查看上架、下架情况,预期可以上架下架,但是不会同步
测试步骤
- 配置以下内容 总馆
<rfid>
<ownerInstitution>
<item map="/*" isil="CN-11111-1-ZG" />
</ownerInstitution>
</rfid>
分馆
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-22222-3-FG" />
</ownerInstitution>
</rfid>
- 然后把网络断开,打开dp2ssl智能书柜,选择断网模式
- 把馆员卡刷一下,在弹出窗口输入登录密码,听到“欢迎您”xxx,并显示读者证条码“~SJ”,点击2号门,提示“2号门打开”,拿出图书,关上门,提示“2号门关闭”,屏幕上显示该图书的信息,然后在下方调拨处将书调拨到“阅览室”中提示“调拨1,下架1”
- 页面显示蓝色“暂时跳过同步”
- 内务中在“实体查询窗”中查找,发现该册的馆藏地点还是“智能书柜”
- 操作日志中没有该日志
- 本地库action表中 Actions为“transfer”,SyncOperTime为“000-01-01.....”,State为“NULL”
上架
- 把馆员卡刷一下,在弹出窗口输入登录密码,听到“欢迎您”xxx,并显示读者证条码“~SJ”,点击2号门,提示“2号门打开”,放进图书,关上门,提示“2号门关闭”,蓝色字提示“暂时跳过同步”
- 内务册记录的currelocation没有发生变化
- 操作日志没有该册的信息
- 本地库action表中 Actions有2笔记录,先是return,然后是transfer,State、suncErrorInfo、SyncErrorCode都是NULL
测试结果
20220325 1559-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 用version0.01和0.02版本中配置总馆的机构代码测试,符合预期
version为0.01及缺省 20220318 1424-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.64.0 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1643:分馆测试符合预期 场景二,20220318 2140测试符合预期
version为0.02及超过 20220321 WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,上架正常,没有同步,符合预期。下架因只配置了姑苏区/智能书柜的机构代码,所以调拨改为普通下架,提示信息背景为黄色。符合预期 应用三,上架正常,但是没有同步,符合预期。下架从调拨改为普通下架,提示信息背景为黄色,符合预期。
测试用例5
测试目的
观察连接网络后,上架的内容是否同步
测试步骤
- 连接网络
- 打开本地库action表,过了几分钟return和transfer中的State变为“Sync”,SyncOperTime也更新了,不再是0001-01-01.....
- 群组中发送“check book B001”返回所有为同步时的操作信息
- 操作日志中有该笔操作记录,为setEntity/transfer,操作时间为连接网络的时间
测试结果
20220325 1602-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 version0.01测试结果符合预期
version为0.01及缺省 20220318 1424-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.64.0 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1643:分馆测试符合预期 场景二,20220318 2140测试符合预期
version为0.02及超过 20220321 WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,aictions表中,测试用例4中从“姑苏区/智能书柜”下架到“姑苏区/青年阅览室”的State显示为dontsync,代表不同步因为标签中的OI和调拨到的馆藏地OI不同,所以改为普通下架,测试结果符合预期。 应用三,actions表中,测试用例4中从“智能书柜”下架到“流通库”的State显示为dontsync,且同步次数为“0”,上架则同步正常,符合预期
测试用例6
测试目的
新增册记录。本地库entity表应该及时更新,并增加、修改、删除一条册记录
测试步骤
- 打开dp2内务,在书目查询窗检索一条书目,双击进入“种册窗”,在下方册记录的空白处,右键,新增,输入册条码号B013,馆藏地点,索取号,册类型,点击“确定”,回到“种册窗”页面,点击保存,绿字提示“记录保存成功”
- 打开日志窗,操作类型显示“setEntity/new”
- 等10分钟,打开本地库,在biblio.db中找到entity表,发现里面新增PII为“CN-11111-1-ZG.B013”的册,符合预期
- 在内务修改册信息,将流通库改为“阅览室”并保存
- 操作日志中新增“setEntity/change”,聊天中“operation:setEntity,action=change,uid=”
- 回到entity表中,xml里的location个变为“阅览室”
- 在内务删除该册信息,保存后聊天中“operation:setEntity,action=delete,uid=”
- 回到entity表中,xml里的该册信息消失
测试结果
20220325 1616-WYC dp2library正式版3.109.8118.34224 dp2ssl正式版1.8.67.0 dp2内务正式版3.62.8118.17919 测试结果符合预期
20220318 1537-WYC dp2library测试版3.109.8112.15957 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1653:分馆测试符合预期 场景二,20220318 2149测试符合预期
version为0.02及超过 20220321 1018-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,测试结果符合预期 应用三,测试结果符合预期
测试用例7
测试目的
新增读者记录。本地库patron表应该及时更新,并增加、修改、删除一条读者记录
测试步骤
- 打开dp2内务,在读者窗中输入建一条新的读者记录,证条码号“P013”,读者类别“硕士生”,
- 打开日志窗,操作类型显示“setReaderInfo/new”
- 等10分钟,打开本地库,在biblio.db中找到entity表,发现里面新增PII为“CN-11111-1-ZG.P013”的册,符合预期
- 在内务修改读者信息,将读者类别改为“讲师”
- 打开操作日志新增“setReaderInfo/change”,聊天中“operation:setReaderInfo,action=change,uid=”
- 回到patron表中,发现读者xml里的类别变为“讲师”
- 在内务删除读者记录,操作日志新增“setReaderInfo/delete”,聊天中“operation:setReaderInfo,action=delete,uid=”
- 返回patron表中,该读者记录消失
测试结果
20220318 1537-WYC dp2library测试版3.109.8112.15957 dp2内务测试版3.62.8112.16065 场景一,总馆测试结果符合预期,20220318 1658:分馆测试符合预期 场景二,20220318 2155测试符合预期
version为0.02及超过 20220321 1019-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 应用一,总馆测试结果符合预期,分馆测试符合预期 应用二,测试结果符合预期 应用三,测试结果符合预期
测试用例8-1(同一馆内不同馆藏地)
测试目的
馆员从书柜上架和下架图书的时候,如果选择同时“调拨”,软件会检查馆藏地的修改是否会导致图书所属机构代码发生变化,如果会发生变化,则自动放弃调拨(但上架下架继续执行),并在操作结束时弹出黄色对话框提示。
操作步骤
- 配置以下机构代码
<rfid>
<ownerInstitution version="0.06">
<item map="/readerType:本科生" isil="CN-000000-Z-ZGDZ" />
<item map="/智能书柜" isil="CN-666666-F-ZGTS" />
<item map="/流通库" isil="CN-888888-D-ZGTS" />
</ownerInstitution>
</rfid>
上架
2. 在dp2内务将map="/智能书柜" isil="CN-666666-F-ZGTS",写入册B001中,将map="/流通库" isil="CN-888888-D-ZGTS"写入B002中。然后在实体查询窗将B001的馆藏地改为“流通库”
3. 打开dp2ssl智能书柜,用馆员卡登录,然后上架B001、B002图书,预期B001上架成功。B002调拨失败。实际提示“下列1册因机构代码可能发生变化,而从调拨改为普通上架,1)CN-666666-F-ZGTS.B001:馆藏地从“流通库”变为“智能书柜将导致机构代码从“CN-888888-D-ZGTS”变为“CN-666666-F-ZGTS”””。内务中册记录xml中没有currentlocation元素,日志查询窗中没有该记录,actions表中State为dontsync
下架 4. 刷馆员卡登录,将B002调拨到“流通库”下架,预期调拨失败,改为普通下架。实际提示“下列1册因机构代码可能发生变化,而从调拨改为普通下架,1)CN-666666-F-ZGTS.B002:馆藏地从智能书柜变为流通库,将导致机构代码从CN-666666-F-ZGTS变为CN-888888-D-ZGTS”。内务中册记录xml中currentlocation为“智能书柜2”,日志查询窗中没有该记录,actions表中State为dontsync
测试结果
20220321 1447-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 测试结果符合预期
测试用例8-2(总馆账号中2个分馆)
测试目的
馆员从书柜上架和下架图书的时候,如果选择同时“调拨”,软件会检查馆藏地的修改是否会导致图书所属机构代码发生变化,如果会发生变化,则自动放弃调拨(但上架下架继续执行),并在操作结束时弹出黄色对话框提示。
操作步骤
上架
- 配置以下机构代码
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-075759-A-ZGTS" />
<item map="相城区/*" isil="CN-888888-D-ZGTS" />
</ownerInstitution>
</rfid>
- B020中写入
map="相城区/*" isil="CN-888888-D-ZGTS" - 在dp2ssl智能书柜刷馆员卡登录,并上架B020。dp2ssl显示绿色的同步信息,随后提示“下列 1 册因机构代码可能发生变化,而从调拨改为普通上架:
- CN-888888-D-ZGTS.B020:馆藏地从 '相城区/小商品市场' 变为 '姑苏区/智能书柜' 将导致机构代码从 'CN-888888-D-ZGTS' 变为 'CN-075759-A-ZGTS'”。 dp2内务中B020册记录中的currentlocation元素为“姑苏区/智能书柜:1”,日志窗中新增setEntity/transfer,操作后的记录中多了“当前位置:姑苏区/智能书柜:1” actions表中Action:return、transfer。State:sync、sync。location:NULL、空
下架
- B01中写入“map="姑苏区/*" isil="CN-075759-A-ZGTS"”。
- 打开dp2ssl智能书柜,刷馆员卡,将B01调拨至“相城区/小商品市场”,预期失败。实际不同步,提示“下列 1 册因机构代码可能发生变化,而从调拨改为普通下架:
- CN-075759-A-ZGTS.B01:馆藏地从 '姑苏区/智能书柜' 变为 '相城区/小商品市场' 将导致机构代码从 'CN-075759-A-ZGTS' 变为 'CN-888888-D-ZGTS'” dp2内务中B020册记录中的currentlocation元素为“姑苏区/智能书柜:1”没有发生变化,日志窗中没有操作内容 actions表中Action:transfer。State:dontsync。SyncErrorInfo:(无目标式)下架请求暂不支持同步到 dp2library
测试结果
20220321 2103-WYC dp2library测试版3.109.8112.15957 dp2ssl测试版1.8.65.0 dp2内务测试版3.62.8112.16065 测试结果符合预期
20220322 1006-WYC dp2library测试版3.109.8115.42825 dp2ssl测试版1.8.66.0 dp2内务测试版3.62.8112.16065 测试说明:一个总馆账号中有1个总馆,2个分馆,馆藏地“智能书柜”放在总馆下 机构代码
<rfid>
<ownerInstitution>
<item map="姑苏区/*" isil="CN-075759-A-ZGTS" />
<item map="相城区/*" isil="CN-888888-D-ZGTS" />
<item map="/*" isil="CN-666666-D-ZGTS" />
</ownerInstitution>
</rfid>
测试结果符合预期
测试用例9-1手动触发读者记录或者册记录的全量下载同步
测试目的
启动dp2ssl之后,会自动拉取服务器端最新的机构代码,存到setting.xml文件中。点击菜单去同步,只是从服务器端拉取册记录存到本地库,不会重新拉取新的机构代码,因此本地库中的机构代码还是启动的时候同步的