谢涛

Results 135 comments of 谢涛

# 辅助性的类 ## BerTree 用于解析或者构建 BER 包的工具类。这个类把一个 BER 包的结构抽象为一棵树,所以名为 BerTree。它运用了 BerNode 描述 BER 树的节点。 ## BerNode 用于描述 BER 树的一个节点。 ## UseCollection 描述 BIB-1 集合。也就是检索途径定义集合。 ## Bib1Use 描述 BIB-1 的 一个...

# 检索式 ZClient::Search() 这个 API 使用了一种特定的检索式。在 Z39.50 术语里面,叫做 type-1 或者 type-101 检索式。下面介绍这种检索式。 ## 调试技巧 运行 TestZClient 小前端程序,它允许我们用比较方便的下拉列表指定检索途径,也允许我们直接使用上述 API 检索式。开始检索时,程序会很贴心地把实际转换为 API 特定检索式形态也显示在面板上,这样就方便我们学习参考了,也可以直接在这个现成的字符串上面修改使用。 ## 一个检索词情况 例子如下: `"小王子"/1=4` 其中,双引号里面的部分是检索词,斜杠后面的 1 表示即将指明检索途径,等号后面的 4 代表检索途径为“题名”。这些数字的意思后面有表格说明。...

# dp2circulation_marc_verify.cs dp2circulation_marc_verify.cs ``` using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System.Xml; using System.Diagnostics; using System.Threading; using System.IO; using System.Reflection; using System.Threading.Tasks; using System.Web;...

# dp2circulation_marc_verify.fltx ...

# dp2circulation_marc_convert.cs ... ...

# 读者记录 改进点: 1) borrows/borrow 元素中,增加了一个 refID 属性,值为册记录的参考 ID。原有的 barcode 属性依然有效,是册条码号 2) reservations/request 元素的 arrivedItemBarcode 属性,内容可能是册条码号,现在也可能是 `@refID:xxx` 形态 3) reservations/request 元素的 items 属性,内容可能是册条码号列表,现在也可能是 `@refID:xxx` 形态的列表 4) outofReservations/request 元素的 itemBarcode 属性,内容原来是册条码号,现在还可能是...

# Borrow() API 改进点: 1) 返回的 BorrowInfo 结构中,strItemBarcode 字段的内容可能是册条码号,现在也可能是 `@refID:xxx` 形态 注意验证内务等前端的适应性 # Return() API 改进点: 1) 返回的 ReturnInfo 结构中,ItemBarcode 字段的内容可能是册条码号,现在也可能是 `@refID:xxx` 形态 注意验证内务等前端的适应性 # VerifyBarcode() API 改进点: 1) strBarcode...

# 根据操作日志记录重建 mongodb 出纳动作库 这个批处理任务的算法有改进。 原先是处理操作日志记录 borrow 和 return 动作。现在还要处理 setReaderInfo 和 setEntity 动作。 ## 处理 borrow 和 return 动作 新算法要从日志记录中的读者和册记录中尽量提取参考 ID(以`@refID:xxx`形态),用于创建 mongodb 出纳动作记录。找不到参考 ID 的情况下再用条码号创建。 ## 处理 setReaderInfo 和...

# SetReaderInfo() API 的一些改进 ## change 动作 权限检查: 当前账户是否具备修改 barcode 元素的权限。比如,账户权限中包含 setreaderinfo,或者包含 setreaderinfo:barcode,就表示可以修改证条码号字段。 如果读者记录中具有在借信息(borrow 元素),change 动作依然可以自动处理好相关册记录的 borrower 元素联动修改。(旧版本在这种情况下会直接报错拒绝,并返回出错信息建议前端改用 changereaderbarcode 动作) 字段限制: 如果数据库中已经存在的读者记录中 refID 元素为空,则允许修改 refID 元素内容为任意值。但如果已经存在的读者记录中 refID 元素不为空,则不允许修改 refID 元素内容。如果试图修改,SetReaderInfo()...

# RepairBorrowInfo() API ## 从读者一侧修复 API 参数说明: strReaderKey 参数指明了要修复的读者记录。 strItemKey 参数指明了读者记录中,哪一个 borrow 元素需要被修复。因为读者记录中的 borrow 元素可能不止一个,如果不用 strItemKey 参数指明,函数就无法完成功能。(这里有个值得未来改进的点,就是可以尝试允许 strItemKey 参数为空,此时默认指明读者记录中唯一的 borrow 元素参与修复) 建议的测试场景如下: 1) 读者记录中 borrow 元素指向册记录,册记录中的 borrower 元素指向读者记录,双链完整。期待的返回值是 result.Value 为...