维权声明:本文为jianquan69原创作品,本作者与仪器信息网是该作品合法使用者,该作品暂不对外授权转载。其他任何网站、组织、单位或个人等将该作品在本站以外的任何媒体任何形式出现均属侵权违法行为,我们将追究法律责任。
上个月发了一篇关于实验室LIMS开发的贴子,今天给大家来讲一个简单点的实例。
试剂及耗材的使用是怎样的设计。
1.画出你心中的那个框
对试剂的使用过程,我认为主要涉及到采购、验收入库、领取/归还这几个过程,所以工作流还是非常清晰简单的。
所以我们对于表的设计,我们可以建立一个台帐清单表、一个采购入库表(涉及分级权限较多时和安全性时可以分为采购、入库两个表),一个领取表,一个验收记录表。简简单单的三、四个表。
对于表的关系是怎样相关连的。采购入库----台帐 、出库----台帐,采购入库----验收记录 、这关系也很简单。每个物料建立唯一性ID,台帐ID=入库ID,台帐ID=出库ID,台入库单号=验收单号,这样的关系就创建好了。
然后就是字段的问题。打开自己实验室的物料台帐表,对于建立就好了。比如:
台帐清单表:台帐_物料名称、台帐_物料编号(可作为唯一识别ID)、台帐_物料级别、台帐_物料库存-------------------
采购入库表:采购_物料名称、采购_规格、采购_数量、采购_单价、采购_总价、采购_批准状态、采购_验收方式、采购_验收结果
领取表:领取_日期、领取_数量、领取_领取人、领取_确认人
对于字段的内容定义,就只需要一些简单的算术或都函数,比如:采购_总价=采购_单价*采购_数量、领取_总数=sum(领取_数量).在这里都是非常简单有效的。
但注意的是计算性的字段还是设计少点为好,比较吃CPU,可以把大量复杂的计算写成脚本,需要运行的时候提取就好。注意:不同的表,有相同的名称,但他们不是同一个东西。所以表_名称,这样很好的分清。;在这表字段不只用在本表中,还能用在其他的表中。这会极大的方便设计。
这样我们就很容易的完成了,画框的内容:建表,建字段;建关系。
2.在框里画出所有的面
面,指的是布局,布局界面设计的好,能让使用系统的难度大大降低,指指点点,就能完成。
我们有四个表,像使用、验收记录表,如果要打印,就可以各建一个布局,如果不打印,其实是可以不用建立的。我们可以把领取的入口建在台帐里。
布局的设计其实就是“看菜吃饭”,针对使用端来设计,像笔记本和PC的屏幕较大,装的内容就比较多,但像手机、平板这些移动端的,我们就需要2、3个的布局来显示内容。![]()
![]()
上面那个图显示的内容就是表_台帐的。也把使用记录的清单入口放进去。如果是PC端,一个布局就能把内容显示完。
布局的设计就是与实际和平台相结合,尽量简便、操作方便、内容丰富,但又不杂乱。如果艺术感好的,懂UI设计的,就更能做得很炫的布局。
3.在面上点缀点小装饰
这小装饰其实就是功能,方便使用功能,为了懒而写出来的脚本。
上面的图:耗材太多了,找起来麻烦----查找功能、条形码数字太长了,易输错----扫码添加耗材、拿了还要写记录----扫码自动登记领取数量、耗材显示太多----添加分类标签![]()
上面图的功能:审批功能、电子图表、安全库存提示
大家关心的是怎么样写出这样功能的脚本。
脚本,其实大家都有写过。还记得你大学取得的那张VB证书吗。
在简代码时代,软件把很多功能已经包装为函数,只要直接引用,填入参数就好。
1.import turtle
2.t=turtle.pen( )
3.for x in range(360)
4. t.forward(x)
5 t.left(59)
这是画图软件中turtle函数的功能,5行代码画个图。
在VB时,大家用到过比较多是WHEN THAN 。WHEN "A" THAN "B"
所以把开EXCEL表看看里面的函数,打开软件帮助,看看里面封装好的函数。
你其实是会写简单的脚本。
除去特定功能函数,用得比较多的函数我们都熟识,来来去去就那几个
IF----ELES----END IF、CASE()、WHILE、LOOP---END LOOP.逻辑函数
COUNT 、SUM、MAX、MIN、VALUECOUNT----数值函数
MONTH 、YEAR、WEEK----日期函数
RIGHT、LEFE、MIDDLE、POSITION----文本函数
还有SQL函数
以上的函数是不是很熟识,你其实是会做简单的脚本
比如电子图表年度十大物料的提取:
Let (
[
year = 导航::当年年份;
SQL = ExecuteSQL(
"SELECT \"料号和物品名称\", sum(\"入库数量\") as InvoiceTotal FROM \"试剂与耗材\"
where \"年份\" = ?
group BY \"料号和物品名称\" ORDER BY InvoiceTotal DESC FETCH FIRST 10 ROWS ONLY";
"|";?;
year )
];
SQL
)
就像我上篇说过的,逻辑思维好加上熟识基本的函数,简单点的数据库还是能写出来的。
现在的广告都打着3岁学编程,其实使用的是无代码平台,通用拉动来实验功能,大神都把工具准备好了。
个人感觉在小的LIMS这么多的模块中,最难是报告模块和多级权限审核功能模块,其他的基本和耗材使用差不多。需要写的脚本不多。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
附件我上传了上面图片的实验室物料管理苹果移动版的DB(测试找BUG版),安卓的还在转写中,没那么快上传,有兴趣的朋友可以去下载。
经过压缩上传,如果产生错误,可以给我以信息。