【氚云】氚云校园标准版使用回顾之三——整体规划与突破变通

简介: 氚云校园标准版使用回顾之三——整体规划与突破变通

回顾三为什么就谈到整体规划和突破变通了呢?谈整体规划还容易理解,行动之前先做好规划嘛。谈突破变通就不好理解了,基础都还有未了解清楚,何来的突破变通?但既然是写回顾,适当加一些总结,就是要促成长,明方向。否则就没有多大的参考价值了。这里写是给初学者提供参考思维的,请各位专家不要见笑。

整体规划:

至于使用共享模板的应用,模板就是别人规划好的了,用户需要做的事情就是想办法把各个模块的数据打通就行了。我重点谈的是自搭建应用的整体规划。由于所有开发记录都存于学校办公室里的电脑里,以后方便了我再另发一个“氚云校园标准版使用回顾三之补充-整体规划心得”。

现在接着谈突破变通。

突破变通:

实际上就是一些搭建技巧。有很多大众化的规划需求,偏偏在氚云校园的平台上实现会遇到困难,该如何去突破?既然选中了氚云,那深挖突破是必须的,否则就难以前行。下面罗列部分来进行表述:

1、表单控件长度已超出,怎么办?

可通过子表来实现扩展。子表当然没办法象主表控件的应用那么方便,而且还有很多功能是子表没办法使用的。那就先化整为零,对表单做重新规则,不要受某个控件超出而停摆,可考虑同类的控件是否可变通,或者整个表单都重新做规则,往往可以找到更优化的解决方案的。

2、如何实现数据自动填充或精确填充?

讲四种。其一、是使用公式取值;其二、关联表单取值;其三、通过业务规则取值;其四、通过子程序取值。

公式取值,会受使用函数的影响,在函数灵活性不足的情况下需要改用其他方式。

关联表单取值,实质上就是调用其他表单的已有数据,在数据取值范围上可以进行数据条件限定,来实现精准定位,但不能实现自动取值,必须手工选中。

业务规则取值,原则上是赋值,是借助另一个表单来实现数据填充。

子程序取值,原则上也是赋值,和业务规则类似,实施的前提是必须使用流程。

这里顺便举个例子:在氚云中计数器的实现。

表单A需要使用计数器,那么整个学校就可以统一建一个【计数器】表单,也可按实质需求针对性的在某个表单中设置计数功能,【计数器】的设置有两个控件就可以了,一个是文本控件{计数器名称},另一个是数字控件{计数}。那么在表单A中就可以直接通过关联表单来对【计数器】进行取值,同时再通过业务规则来对【计数器】对应{计数器名称}的{计数}进行累加1的赋值。特别说明:计数器功能仅适用于主表单。如果要防止记录在修改时再次触发计数器,可在表单内设置一个隐藏项{是否新增},默认值为“FALSE”;{关联计数器}的隐藏条件设为"{是否新增}"或“{是否新增}==TRUE";然后增加一条业务规则,更新{是否新增}为“TRUE”。那么在提交的时候,就可以通过{是否新增}的值来判断是否为新增记录,还是修改记录。因为业务规则在提交之后才运行的。如果有多条业务规则要运行,还要适当调整好其先后顺序,是可以实现需求的。

image.png

image.png

image.png

image.png

image.png


image.png

image.png

image.png


image.png3、文本控件在表单应用中的填充技巧。

讲三种,其一、人员控件的姓名文本取值;其二、文本积累;其三、生成唯一性的数据标题。

人员控件的姓名文本取值,氚云还没有提供直接的取值方式,所以只能采用导出再导入的方式来实现人员控件的取值。即先导出表单数据,再把人员的姓名直接复制到文本姓名控件一列,再进行更新导入。但有一个前提,就是数据标题必须具有唯一性。

这里顺便做一下思维延伸,在学校里,教工人员及学科专业、部门是相对稳定的。氚云中的人员、部门实际上是来自钉钉的同步,如果一味的依赖,在选择人员的时候还要调用组织架构,操作的过程反而步骤太多,倒不如主动变通再进一步优化以省去多余的界面操作,实现更直观快捷的数据获取。即建立一个【人员表单】,这个【人员表单】致少包含{员工姓名}、{对应员工}、{所在部门}、{学科专业}、{所授课程},并把{员工姓名}+{课程}作为标题组合,然后有表单需要调用到人员,都改用关联表单控件关联【人员表单】,通过数据填充规则实现其他数据的自动填充,这样就可以把【人员表单】的所有数据都关联出来,是不是扩展并优化了氚云的人员数据填充。还有最重要的一点是可以克服氚云导入的不足;目前氚云版本还有一个明显的不足,在数据导入的时候如果有涉及到人员或部门,往往会出同莫名其妙的“重名”或无效的提醒,无正常导入,而且还会乱套部门。

文本积累,可以通过公式及函数来实现,但多行文本中的换行符会消失,如果需要保持多行文本的分段格式,就要用业务规则来实行了。后面有个例子讲解如何实现换行功能。

生成唯一性的数据标题,往往需要实现引用姓名的文本积累,目的就是让标题变得直观又唯一。

这里我列举一下:如在课程管理中,设置有【班级教师】、【教师任课】两个表单,这两个表单的内容除了标题不同外,其他内容都是完全相同的。相当于表单复制后改名改标题。【班级教师】往往需要通过某班某科目就能定位到某教师,所以标题组合就是“班级+科目+教师”;而【教师任课】却需要通过某教师定位到某科目某班级,所以标题组合就是“教师+科目+班级“。特别说明一下,【班级教师】、【教师任课】作为基数表,在实际应用中,应通过基数同步管理来实现了数据的同步更新。实现数据的独立与同步。

再列举一下:我校需要实现课表大数据功能,必须让【一维课表】里的每一条记录都是一条完整又独立的一节课的数据,标题必须具有唯一性。所以标题组合就是“班级+周几+第几节+科目+教师+单双周备注”,但高中课表随时都有可能更换,为了避免课表更换影响到系统运作,就通过在【长期调课】表单里批量导入数据,使用业务规则来实现绝大部分课表数据的更新,这样就可实现无缝的数据更新。那么在【长期调课】和【一维课表】里还需要有一个共同的文本标识组合:“班级+周几+第几节+单双周备注”,在业务规则作为UPSERT的条件,然后再个别对{单双周备注}里是“单周”、“双周”的数据进行筛选,再核查一下是否同一节课还有“每周”的备注进行处理就可以了。

最后,讲一下如何在业务规则里实现换行功能。换行必须针对多行文本控件才能实现的。在氚云编辑界面是不支持特殊字符录入的,包括换行符。但文本控件的累加是支持的,即使用一多行文本控件[换行符],提前赋值为“回车键+|”,然后通过业务规则把这个换行符传递给另一个多行文本控件。


image.png

   image.png

image.png

如图二:在表单【录入晚修】里,关联表单【学生基数1】,通过数据填充规则获取{换行符}。、


image.png



如图三:在表单【录入晚修】的业务规则里,把{换行符}传递给【晚修年级反馈】表单。


4、涉及到随时都有可能修改的数据,如何实现消息提醒的同步更新?

通过设置消息推送提醒可以在指定时间收到消息提醒内容(只对新增数据有效)。

我目前想到更新A表的消息提醒有两或三种方式。

其一、手动删除原有的记录,再重新增加新记录。

其二、创建B表单是A表单的副本,B表单设置一条业务规则来删除A表单的对应数据,这样在B表单中新增的记录就实现删除A表单的数据,并在B表单中实现提醒。

其三、或者在B表单中使用业务规则来对A表单的对应记录进行删除再新增。

消息提醒仅对新增记录才有效,新增记录就是要增加一条新记录,但做一下变通,可以实现修改有效,因为修改是可以重复调用业务规则的。之前A表单的提醒功能,改成在B表单(A表单副本)中实现。A表单建两条业务规则:1.实现在B表单中删除有相同标识的记录。2.实现在B表单中新增相同记录。这样的实现方式,A表单的数据不管是修改还是新增,重复多少记录,都不会影响到B表单的提醒。

暂时想到这么多,以后还有再做补充。

相关文章
csv 如果是utf-8 那么excel打开的时候为啥是乱码
csv 如果是utf-8 那么excel打开的时候为啥是乱码
1287 0
|
存储 人工智能 API
PDF to Podcast:英伟达开源黑科技!PDF 秒转播客/有声书,告别阅读疲劳轻松学习!
NVIDIA推出的PDF to Podcast工具,基于大型语言模型和文本到语音技术,将PDF文档转换为生动的音频内容。
960 14
PDF to Podcast:英伟达开源黑科技!PDF 秒转播客/有声书,告别阅读疲劳轻松学习!
|
存储 运维 监控
阿里云飞天洛神云网络子系统“齐天”:超大规模云网络智能运维的“定海神针”
阿里云飞天洛神云网络子系统“齐天”:超大规模云网络智能运维的“定海神针”
616 3
|
机器学习/深度学习 人工智能 算法
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA国际标准和《智算工程平台能力要求》国内标准一致性测评,成为国内首家通过该标准的企业。阿里云人工智能平台 PAI 参与完成了智算安全、AI 能力中心、数据工程、模型开发训练、模型推理部署等全部八个能力域,共计220余个用例的测试,并100%通过测试要求,获得了 ITU 国际标准和国内可信云标准评估通过双证书。
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
|
开发框架 运维 安全
无影云电脑,畅享极速渲染新体验
本文介绍了渲染行业面临的挑战及无影云电脑带来的革新。传统渲染依赖高性能本地设备,面临重投入、性能固定、灵活性差和数据安全问题。无影云电脑通过云端算力,实现了灵活扩展、任意终端接入及按需付费,大幅提升了渲染效率与体验,尤其在游戏设计、工业制造等领域表现突出。其核心技术确保了色彩还原、流畅操作及外设兼容性,满足专业设计师的需求。未来,无影将助力渲染行业实现更高效、安全的云端工作模式。
|
Linux Windows
IDEA如何查看每一行代码的提交记录(人员,时间)
【9月更文挑战第24天】在IntelliJ IDEA中,可通过安装GitToolBox插件并利用其功能来便捷地查看每行代码的提交记录,包括提交者、时间和提交信息。具体操作为:首先安装GitToolBox插件,然后在代码编辑区域将鼠标悬停于目标代码行以查看简要信息,或使用快捷键打开“Version Control”窗口查看详细提交历史。
8131 2
|
JavaScript API
elementUI中的el-date-picker日期月份时间选择器禁用选中当前和以后的日期
elementUI中的el-date-picker日期月份时间选择器禁用选中当前和以后的日期
1698 0
|
Java
SpringBoot报错:java.lang.IllegalStateException: Failed to load property source from
SpringBoot报错:java.lang.IllegalStateException: Failed to load property source from
978 0
|
移动开发 前端开发 JavaScript
|
存储 人工智能 搜索推荐
VR与AR:沉浸式与交互式体验的对比
当谈到VR(虚拟现实)和AR(增强现实)时,它们都是与计算机图形和感知技术相关的创新技术。
1553 0