jrt专题

jrt从量变到质变

又是一个加班的周末,上周把台式机代码和数据库环境弄好了,这周进行大数据测试,直接把标本、标本医嘱、报告、报告结果、药敏结果等数据插入到1亿的规模,跑了一天一夜插入了5000多万个标本,后面接着补剩下的到一亿。 演示视频 为什么测试1亿数据? 1.按标本两万的医院算,平均每天40万结果,一年数据大概就是1亿出头,一亿没性能问题那么可以保证业务库停留一年数据 2.我的磁盘只有350G,只能存大概1

JRT连接希森美康出图

上一篇用JRT连设备实现了比较有难度的Sebia绘图设备和TCP模式连接。这次连接最常见的检验设备(西森美康),读文件和图上传出图。 视频演示 结果格式 通道对应 接口设置 接口处理实现,JRT设备连接全部采用CMD驱动方式实现,所以需要客户端执行对应操作返回对应CMD即可。客户端对CMD负责,实现了对应的CMD执行器。 import JRT.Core.Dto.CmdDto;i

JRT质控打印

最近客户端打磨完了,又来推进质控了。之前演示的打印都是Demo示例,这次真正的写质控图的打印,数据就是质控数据录入界面录入的数据。其中质控图打印应该算最复杂的类型了。涉及JS的绘图,打印表格等,表格比较简单、还没做,难点是把JS的绘图和模板融合。 效果,这里打印和Web一体的优势就出来了,可以实现在线预览: 模板维护 质控图 打印虚拟M import JRT.Core.DataGr

JRT质控数据录入

之前有时间做了质控物维护界面,有了维护之后就应该提供可以录入业务数据的功能了,当时给质控物预留了一个“项目批次业务数据”的功能说是业务数据会给每天拷贝维护数据。这次一起补上,展示JRT怎么写质控数据录入的界面。 界面如下,需要实现一个面板式的录入界面,每个项目-浓度最多显示15个(总耗时3小时): 质控物维护可以看到运行时数据和批量修改运行时数据,到时候业务界面也都连接运行时查询和修改来达

JRT多服务器同步程序

之前的JRT只部署在一个服务器,实际运用可能会有数台、数十台、或者更多服务器。那么多台服务器就需要程序同步机制。这里借助Rsync同步,但是有个问题是Rsync同步jar之后他不知道是否需要重启站点,为此实现java控制台驱动Rsync,重定向Rsync的输出到java,通过自己程序决定是否需要重启站点。 同步程序演示视频 本次优化运维便捷性 实现代码 /*本框架版权归属于JRT计划,任

JRT业务开发起步

这是一段充满挑战与奋斗的旅程,自第一行Java代码的诞生起,便历经重重险阻。从细微的代码行,逐步汇聚成实用的工具类方法;从工具类方法的积累,逐渐构建起功能强大的工具包;再从工具包的整合,最终搭建起稳健的运行程序体系。这个过程,就像是一场从点到线、从线到面、从面到立体的华丽蜕变。如今,JRT已顺利迈入正常的业务开发阶段,这半年里日夜兼程、不懈努力的加班时光,终于换来了令人欣慰的回报,一切都是值得的。

JRT菜单

上一章搭建了登录界面的雏形和抽取了登录接口。给多组使用登录和菜单功能提供预留,做到不强行入侵别人业务。任何产品只需要按自己表实现登录接口后配置到容器即可共用登录界面和菜单部分。最后自己的用户关联到JRT角色表即可。 登录效果 这次构建菜单体系 首先用dbo.JRTForm描述页面路径资源 用dbo.JRTFormFunction描述页面的控制点 然后用菜单dbo.JRTMen

JRT集中打印

之前一直在夯实基础,现在是补demo的时段了。了解过检验集中打印的人知道,集中打印的逻辑有多复杂。既要考虑普通检验报告加上换页。又要考虑微生物报告加上换页,既有A5的报告,也有A4的报告,还要考虑A4打印两个组装A5时候的Y坐标问题。实现起来是超级复杂的,而JRT在本次设计之初就决心整治打印问题,要最大程度的减少打印业务的复杂度。JRT先后提供了容错PAGE、A4Double元素、表格元素、以及封

JRT缓存协议测试

JRT由DolerGet提供可信的缓存数据获取,在OMR修改和删除数据后会更新缓存的数据,这样的话本Web下通过DolerGet取的数据是可信的。在多个Web之间要保证缓存数据的可信度,需要同步修改的数据到其他Web,为此仿照了缓存协议的效果,如果网站配置了ECP主服务器,那么ORM修改数据后会把修改数据推送到主服务器进行分发,这样其他服务器就能及时知道数据修改,从而确保DolerGet的可靠性。

发布6-JRT摄像头调用

截止这之前,JRT已经拥有Web、打印、导出Excel、监听程序、Linux命令、连设备这些功能,还缺摄像头调用功能。本次补全摄像头调用支持,同时支持把摄像头内嵌到浏览器来供业务做功能。 演示视频 内嵌效果 弹出效果 demo代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3

JRT监听-PDF-Excel-Img

依赖全新设计,我们无需再顾虑历史兼容性的束缚;同时,基于多年来累积的深入需求理解,JRT监听机制巧妙地借助CMD命令模式,达成了监听的全面统一。无论是PDF、Excel还是图片文件,都不再需要特殊对待或额外区分处理,它们与txt文件的监听一样简洁高效。业务保存方法所接收的数据已统一为文本格式,我们只需遵循返回的命令进行处理即可。这样的改进不仅简化了实现过程,还促进了系统的一致性,并为未来的扩展提供

JRT监听程序

本次设计避免以往设计缺陷,老的主要为了保持兼容性,在用的设计就不好调了。 首先,接口抽象时候就不在给参数放仪器ID和处理类了,直接放仪器配置实体,接口实现想用什么属性就用什么属性,避免老方式要扩参数时候就波动接口定义,导致不兼容。 对返回命令取图或者上传文件等不在组串了,直接约定命令,返回查询上传数据或保存数据返回时候直接返回命令的JSON列表,再有监听提供的命令虚拟机执行命令 /*

JRT人大金仓测试

之前基于IRIS导出的Sql脚本用JRT的导表脚本执行Sql语句在PostGreSql数据库把IRIS导出的库还原。并且试了模板设计器的打开和保存及打印功能。本次测试IRIS导出的Sql在人大金仓上还原数据库,并且测试模板设计器功能和打印。 首先碰到的一个坑是人大金仓把空串存成NULL了,进入服务器修改配置文件 在配置里面关闭空串转NULL 然后重启数据库 [root@localhost

jrt运维命令改造

以前发布网站都是定死网站放置路径的,现在JRT想面向更广范围推广,所以就不能明确确定网站放置目录,为此需要改造一下jrt命令和sh来满足目录不确定情况和多个程序用不同管理命令的要求。 以前是写死的,现在改为调程序运行目录的sh文件,这样程序放置位置就可以随意了 改造后的c++ #include<cstdlib>#include<string>#include<cstdio>#incl

JRT集中打印

之前一直在夯实基础,现在是补demo的时段了。了解过检验集中打印的人知道,集中打印的逻辑有多复杂。既要考虑普通检验报告加上换页。又要考虑微生物报告加上换页,既有A5的报告,也有A4的报告,还要考虑A4打印两个组装A5时候的Y坐标问题。实现起来是超级复杂的,而JRT在本次设计之初就决心整治打印问题,要最大程度的减少打印业务的复杂度。JRT先后提供了容错PAGE、A4Double元素、表格元素、以及封

JRT表格元素完全体

之前分享的表格绘制是一个表格是实现雏形,周边把表格完全体实现,后面很多打印和绘制逻辑将借助此表格实现,所以需要表格够稳定够强大。 表格定义,后面借助模板设计器定义,现在是写死的测试定义对象。 1.PageList定义每页的起点坐标和换页行数或者换页坐标,以及是否画标题。弄这么个数组就是考虑有业务换页后画表格位置要不同,并且换页行数有变化,正常的话一页给一个页信息,如果没给对应序号页面的页信息,将

JRT实现表格元素

数据结构决定算法基础,良好的设计可以极大的减轻上层的复杂度。以前由于受限M没画笔,都得通过Webservice代理出去,所以实现一些效果比较难。用M控制打印绘制表格就很费劲。但是打印报告结果、药敏等很多都是列表排版。用TextLength控制换行或者一个个字符串判断宽度换行实在是实现丑陋。 这些都是需要解决的痛点,先看效果: 调换画表格代码 初步画表格实现,画一个表格很复杂,先定

JRT文件服务实现

网站与客户端打印和导出方面已经无大碍了,今天抽时间整整文件服务,文件服务设计可以查看下面连接。原理一样,代码会有些变化。 文件服务设计 首先实现文件服务的服务端,就是一个业务脚本,用来接收上传、移动和删除文件请求,老的是Webservice: import JRT.Core.MultiPlatform.JRTContext;import JRT.Core.Util.ReflectUt

JRT打印预览实现

JRT客户端部分已经实现了打印、导出Excel部分,之前没实现打印预览部分,因为要自己写打印预览界面,所以留到最后做,经过两晚的努力,实现了打印预览。 效果: 打印预览界面代码 package Monitor.Print;import javafx.application.Platform;import javafx.embed.swing.SwingFXUtils;impor

JRT导出协议实现

之前实现了JRT的打印客户端实现,这次实现JRT的导出Excel的客户端实现,这样这套框架就成为完全体了。还是一样的设计,不面向具体业务编程,我喜欢面向协议编程,导出一样定义了一套协议。 协议约定: 然后就是对约定的实现 导出数据输出的示例 import JRT.Core.Dto.OutParam;import JRT.Model.Entity.BTTestCode;impo

JRT实现缓存协议

上一篇介绍的借助ORM的增、删、改和DolerGet方法,ORM可以很精准的知道热点数据做内存缓存。那么就有一个问题存在,即部署了多个站点时候,如果用户在一个Web里修改数据了,那么其他Web的ORM是不知道这个变化的,其他Web还是缓存的老数据的话就会造成其他Web命中的缓存数据是老的,造成不可靠问题。 那么就需要一种机制来解决多Web缓存不一致问题,参照ECP实现,把Web分为主服务器和从服

Eclipse2020创建项目红叉问题(“Failed to init ct.sym ...\jrt-fs.jar )-蓬2018

问题: eclipse 2020-12版本,正常安装完成后新建项目后,项目前面总是有一个红叉,报错信息:(The project was not built due to "Failed to init ct.sym for C:\Users\Win10\AppData\Local\Temp\eoi524F.tmp\plugins\org.eclipse.justj.openjdk.hotspo

eclipse新建java项目报错:Failed to init ct.sym for ....../jrt-fs.jar-后知后觉在加班

今天准备刷算法题,安装完一个新的版本的eclipse2020.09后,每次创建项目都有报错,并且报如下的错误: The project was not built due to “Failed to init ct.sym for C:\Users\Han\AppData\Local\Temp\eoiC32.tmp\plugins\org.eclipse.justj.openjdk.hotsp