APP下载

图书订单筛选设计与算法研究
——以山东职业学院图书馆为例

2018-04-01伏立霞李曰颖

发明与创新 2018年33期
关键词:册数书商出版日期

伏立霞 李曰颖

山东职业学院 山东 济南250104

订单筛选工作是图书馆采购图书的第一环节,是保证图书采访质量的重要工作。本文以山东职业学院图书馆为例,分析了图书订单筛选中出现的各种问题,利用VBA(VisualBasicforApplications)设计了一套快速有效的图书订单筛选算法,以期提高图书采访质量。

一、图书订单筛选问题需求分析

目前,图书采购订单通过采集器或系统查重后,反馈回来的订单仍存在很多问题,需采访人员筛选后再进行订购。从书商反馈回来的订单Excel格式,包含国际标准书号(InternationalStandardBookNumber,简称ISBN)、题名、出版社、出版日期、定价等字段。每个图书馆的筛选原则大同小异,尽管侧重点不一样,但筛选处理方法基本相同。

1.筛选空格,完善数据

从书商反馈回来的订单数据会出现信息不全的数据记录,如缺少题名、出版社等字段。

2.筛选本馆禁止类图书

对于高校(除幼儿师范)图书馆而言,少儿类图书是禁止购买的。本科院校不购买高职高专类图书,高职院校图书馆无需采购考博、考研类用书。

3.筛选复本设定

图书馆对不同大类、不同价格的图书,复本要求会不一样,低价和高价图书的复本也不一样。

4.筛选出版日期要求

很多图书馆对于出版日期的筛选有限定要求。倾向于订购新书甚至只要当年出版的图书馆,需筛掉某出版日期之前的图书。

二、订单筛选模块设计

1.空格数据处理模块

本模块主要功能是筛选出订单数据中含有空格的记录,并把这些记录整理形成单独的空格记录表格,以Outlook邮件的方式直接发送给书商。

2.字符筛选处理模块

本模块的功能是筛选本馆禁止购买的图书,鉴于每个图书馆的要求不一样,本模块在设计时增加了自由添加筛选条件的功能。

3.复本设定模块

本模块共分两大部分:一是按照价格设定,高价图书与低价图书复本分别设定;二是按照《中国图书馆分类法》分类设定复本。

4.出版日期筛选模块

本模块主要功能是过滤某一出版日期之前的数据记录,具体日期根据各馆要求自由输入。

三、算法设计与技巧

从书商返回的订单都是Excel格式文件,此格式文件易操作处理,采用基于VBA的开发方式最为合适。本算法设计分为两大模块,模块一为空格数据筛选处理,模块二将字符筛选处理、复本设定、出版日期筛选合为一体。从书商处返回的Excel格式文件中,P列为订购册数设定,其中P2为小于或等于100元订3册,P3为100至200元订2册,P4为大于或等于200元订1册,P6—P9为中图法分类设定订购册数,Q列为筛选日期设定,Q2为2014年1月1日之前不订,O列为筛选字符设定。各馆根据自身实际需求随意设定。以下以伪代码方式介绍,//后为注释。

1.模块一算法与设计

功能:将“原始书单”中含空单元格数据剪切到“删除书单”。

伪代码如下:

Ifi=6Then结束本次循环 //第六列(订数)除外,此时为空

//大于最后一行说明本列无空白单元格,直接进入下一循环

Ifi列第一个空单元格所在行数<=Sheet1的数据最后一行

Then//含空单元格的数据行排到表的后面

以i列进行排序

将每列含空单元格的数据行剪切到sheet3中

r=sheet3的最后一行

End If

2.模块二算法与设计

功能:首先,将筛选字符写入字典,提取P2、P3、P4单元格的价格和册数,将P6—P9的字符写入HashTable,提取Q2单元格内的日期。其次,筛选Q2单元格日期以前的图书。再次,筛选包含O列字符的图书。最后,按P列给出的订购要求确定订购册数。

伪代码如下:

IfP6-P9单元格为空

Then //按单价确定册数

Else //按中国图书馆分类法确定册数

IfP4单元格不为空

Then //有单价要求,提取参数

m2=P4单元格中的金额

m3=Q2单元格中的日期

n3=是P4单元格中的册数

Else //无单价要求,只提取日期

m3=Q2单元格中的日期

EndIf

EndIf

四、运行测试结果

经过严格测试,该算法在图书采访过程中发挥了较大作用,提高了图书采访的效率和准确率。

猜你喜欢

册数书商出版日期
求比一个数多或少百分之几的数是多少的应用题教学设计
汉唐书商研究述评
理解意义掌握方法
书商的广告
本报调整出版日期
关于某些书商的坏话
本报五一期间调整出版日期
本报清明期间调整出版日期
高校图书馆藏书分析与评价
——以沈阳理工大学图书馆为例
日本初高中教科书出版“明细账”(下)