2020年,随着低代码概念日趋火热,越来越多的产品冠以“低代码”的名义推向企业信息化市场。这些产品“乱花渐欲迷人眼”,在产品功能、应用场景上存在较大差异,不由得让人们怀疑,低代码究竟能否支撑ERP、SCM、WMS等业务逻辑复杂的企业级系统开发?

近日,南京正念行的开发经理周齐先生,在葡萄城公开课的平台上给大家分享了使用活字格开发库存核算功能的经验,让我们得以窥见引领国内技术趋势的活字格低代码开发平台在企业级应用开发领域的实力。

个性化需求高的库存核算

库存核算是对商品价值的一种计量手段,是WMS的核心功能,也是ERP、SCM等行业解决方案的重要组成部分。库存核算可以拆解为出入库核算、出入库凭证处理、核算报表查询、期初期末处理及相关资料维护等应用场景。

然而,不同行业、不同管理方式的企业在库存核算方面有着不同的要求,如冷冻食品和纺织品企业在货品保质期上的差异,就会体现在库存核算的策略上。正是库存核算的这个特点,让定制化WMS/ERP/SCM有着非常大的市场空间,也能够给企业带来更高的价值。

典型的企业级应用场景

从业务角度看,库存核算的本质是管理出库单、入库单、盘存单等一系列单据,通过自动汇总计算,为操作人员提供准确的库存数量和金额数据。然而,库存核算远不是用户可以看到的这几张单据和几个数字可以覆盖的。

作为制造业、批发零售业等行业的核心业务,库存核算对数据准确性要求非常高。为了避免人为原因导致数据出错,库存核算还需要进行多重检验。如果企业不允许出现负库存的话,这些校验将会起到非常重要的作用。在数据存储上,库存数据和财务系统密不可分,所以库存也需要按照财务的要求,支持月结(以月份为单位进行结转),为财务提供准确的期初库存和期末库存数据。除了上面提到的业务要求,随着数据量的增长,如何确保即时库存和可用库存的计算速度?性能优化也会成为绕不开的问题。

总之,库存核算具备企业级应用的典型特点:关注数据完整性、业务处理复杂、性能要求高。面对类似的企业级应用需求,受限于过于简单的逻辑处理能力和数据库编程功能的缺失,“表单”和“BPM”型低代码产品确实束手无策。没关系,让我们把目光转型低代码开发平台中应用场景最广的“瑞士军刀”:活字格企业级低代码开发平台,看看出身于全球领先开发技术提供商的产品如何应对这种复杂的业务场景。

多管齐下,用活字格实现库存核算

以周先生使用活字格交付的家纺行业SCM系统为例,开发库存核算需要用到活字格的外联数据库、视图、调用存储过程、服务端命令等进阶功能。如果您正在开发库存核算模块,或者使用低代码构建类似库存核算的企业级复杂应用,相信下面的内容会对您有所启发。

数据建模:外联数据库

如果您使用过“表单”型低代码产品,一定会发现面对库存核算这种复杂的企业级应用场景,通过表单来实现数据存储全部数据是不现实的。而活字格的表和页面是完全分离的,开发者可以在活字格内置的数据库或外联Microsoft SQL Server、MySQL或Oracle数据库上,根据业务需要,通过表和外键等数据技术完成数据建模。周先生的团队在这个项目中采用了Microsoft SQL Server 2008 R2数据库,数据库关系图如下所示。

(库存核算系统的数据库关系图)

在周先生进行演示的数据库中,表名中均被替换为拼音或英文单词的首字母,如t_IN_D表示入库单明细表。此外,据周先生介绍,实际项目中有多种类型的出库单数据,系统将这些不同的类型的出库单存储在了不同的表中,如需一次查询不同类型的出库单,可以使用专门设计的出库数据视图:v_OUT_A。为了简化后面的演示,这些出库表在这里也被简化成了一张表。

从数据模型上,我们能够清晰的看到入库单表、出库单表、盘存表、期初表与仓库、物料之间的关联关系。与采用纯代码的方式类似,符合数据库设计范式的数据模型,也是使用低代码开发企业级应用的基础。

库存查询:视图

在周先生演示的项目中,出入库、盘存、期初余额等数据存储在不同的表中,这样在方便了对应表单管理功能开发的同时,也增大了库存查询的复杂度。有没有高效的手段,能够快速完成关联多表的数据查询?周先生选择了使用活字格访问数据库中的查询视图,来实现当月库存实时数据查询功能。

(当月库余额查询视图的创建脚本)

在这个查询视图中,数据库将根据仓库和物料,分别汇总出库库和盘存记录,与期初余额加总得出当月出入库量和当前的库存数量。

不论是外联的SQL Server等数据库,还是活字格内置的数据库,都提供了以SQL语句编写查询视图的能力,而活字格可以像访问数据表一样访问这些查询视图,以拖拽的方式,将视图与表格绑定,将数据展示给最终用户。相比于将数据拉取到服务器端甚至客户端后再进行处理,查询视图因为运行在数据库引擎中,执行效率可以大幅提升,是实现复杂查询的利器。

编写视图需要开发者具备一定的SQL代码编程能力。一定程度上讲,在拖拽式完成大多数业务功能开发的前提下,使用数据库视图来扩展其应用场景,正是低代码相比于无代码等其他工具的优势之一。正是因为活字格具备了对接查询视图的能力,才能帮助周先生利用SQL代码,为大负载、高复杂度的业务逻辑进行性能优化,满足企业级应用对数据处理性能的高要求。

可用库存校验:表格、公式与命令

对于一套B/S架构的企业级系统,关键业务模块都会在服务端对最终用户提交上来的数据进行校验。比如在进行出库操作前,库存核算模块需要查询可用库存,达到避免出现负库存的目的。然而,为了提升系统的易用性,系统通常会采用“批量编辑/提交”的模式进行设计。最终用户在一个页面上同时设置多个物料的出入库数据,然后一键提交。如果仅在服务端进行校验和检查,就无法帮助最终用户及时发现数据错误,导致重复性操作。

为了提升用户体验,周先生的团队在服务端验证的基础上,还通过活字格的命令机制,为出入库单等页面设置了前端验证。当最终用户创建和修改出入库单上的物料数量时,系统会实时检查可用库存,可能出现负库存时,及时提醒用户。在服务端验证的基础上,追加前端验证可以提升校验的响应速度,用户体验更佳。然而,如何在不写JavaScript代码的情况下,于页面上完成复杂的库存余额计算?

(修改出库单时,实时检查物料库存)

为了实现出入库单的前端验证,周先生用到活字格的表格操作等命令,在页面中隐藏的表格中完整校验计算。

(通过隐藏的表格实现前端验证逻辑)

在页面中隐藏若干个表格,通过表格操作命令实现表格间的数据传递,是活字格的一大功能也行。配合vlookup等兼容Excel的公式,使用活字格构建前端验证的操作非常易于上手,且功能强大。

月度盘存:存储过程+服务端命令

从上面的介绍中,我们不难看出周先生开发的库存核算功能,库存数量的计算都是基于“期初库存”,叠加本期的进出库记录,进行增量计算得来的。对于出入库频繁,数据量大的企业级系统而言,这种“增量计算”的思路可以将汇总计算的时间区间缩短到不超过一期(一个月),大大降低参与计算的数据量,提升整个系统的处理能力。那么,如何生成期初库存呢?

(通过服务端命令实现事务性的数据处理逻辑)

周先生的团队选择了活字格的调用存储过程命令和服务端命令,构建了运行于服务端和数据库引擎的月度盘存逻辑。服务端命令是活字格的创新性功能,可以通过可视化的方式,构建运行于后台的数据处理等业务逻辑。在服务端命令中,开发者除了可以结合兼容Excel的公式来操作数据表,还能执行调用数据库的存储过程、第三方的Web API、发送企业微信/钉钉消息等操作,全面满足企业级业务系统所需。

立即行动

在葡萄城公开课上,周先生重点介绍了其开发的库存核算模块中部分有代表性的功能极其技术实现。从中我们不难看出,以活字格为代表的企业级低代码开发平台,凭借着丰富的内置功能和强大的扩展能力,足以支撑起库存核算等企业级应用项目开发,帮助开发降低技术门槛、提升开发效率。

不论您来自软件公司抑或是企业IT团队,如果您和南京正念行的周齐先生一样,正在寻找一套低代码开发平台来为企业数字化转型升级提速,活字格企业级低代码开发平台是您不容错过的选项。访问官网了解详情,免费下载试用。

数据表创建它的实体类和业务类_通过库存核算,看低代码如何实现企业级应用中的核心业务逻辑...相关推荐

  1. 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段

    数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...

  2. 【MySQL】启动、数据库/数据表 创建/查看/删除

    文章目录 1. 启动数据库 mysql -u root -p 2. 数据库创建.查看.删除 2.1 数据库查看 show databases 2.2 选择数据库 select database() m ...

  3. 关于DM达梦数据库,获取用户表信息、数据表结构、数据表创建语句、主键等信息的sql

    1.获取数据表中的字段名.类型.长度.描述 select name,reftype,length,descrip from ( select distinct A.COLUMN_ID as id, A ...

  4. MYSQL数据库数据表创建以及数据操作命令汇总

    说明: 1.语句中的小写单词无实意,实际操作时请根据实际情况进行设定或者配置. 2.本文档中的语句属于记忆查询,不适合新手学习之用,新手学习请查询其他文档. 1.数据库创建删除 CREATE DATA ...

  5. python数据表元素不为空值_python 填充空值失败_怎么用 Python 做数据分析实例

    01 生成数据表 第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据. Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导 ...

  6. 怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现

    今天是刘小爱自学Java的第143天. 感谢你的观看,谢谢你. 学习计划安排如下: 商品分类业务的初步实现. 数据模型的分析:数据表字段的设计,Java中对应的实体类,前端页面vue组件. 业务模型的 ...

  7. 怎么创建数据表的实体类和业务类_SSM搭建二手市场交易平台(二):数据表设计...

    写在前面 从本篇开始,我们正式开始项目的搭建,首先介绍数据表的设计,具体包括:表结构,表关系,唯一索引,单索引及组合索引,时间戳这几个内容. 数据表 首先我们创建一个数据库store,然后开始创建数据 ...

  8. 怎么创建数据表的实体类和业务类_怎样创建一个网站?

    怎样创建一个网站?创建网站有三个特别重要的元素,域名.服务器和程序,网站域名按照流程注册就可以了,网站服务器根据网站需要的空间选择,这两个只要你查查或者问提供商就可以慢慢操作的,其中最难的程序,里面需 ...

  9. Oracle数据表创建规则

    写在前边: 规范是一种习惯,在Oracle数据库中笔者认为表中的字段命名规范需要引起注意,当考虑使用SSM作为框架的时候,Mybatis 的逆向工程能够根据数据库表名和数据库名字段名自动生成pojo类 ...

最新文章

  1. Pytorch中的广播机制
  2. 想学科大讯飞成为下一个业界黑马?这些项目了解一下
  3. MapReduce的数据去重功能
  4. Partition Tables介绍及分区表转换
  5. merge合并2个json文件
  6. 手机端实现6位短信验证码input输入框效果(样式及代码方法)
  7. jQuery:1.5.4.3,表格变色(单击行,把当行的单选按钮(radio)设为选中状态,并应用当前样式)...
  8. kpmg java_【毕马威(KPMG)工资】java开发工程师待遇-看准网
  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权...
  10. hexo博客添加暗色模式_我如何向网站添加暗模式
  11. 前端学习(1993)vue之电商管理系统电商系统之根据id删除数据
  12. bootstrap的html高度很低,Bootstrap DIV没有填充100%背景颜色的高度
  13. oracle用exp定时备份数据库,使用exp和imp对Oracle数据库进行简单的备份
  14. ios共享账号公众号_我的世界 minecraft 国际版 非网易版 ios下载账号分享 公众号 iphone ipad...
  15. QtableWidget的表格加载图片设置
  16. Android MVP架构搭建
  17. 安装VMWare Workstation 12的步骤
  18. 随感10-Transecndence超验骇客
  19. python爬虫Selenium批量关注微博用户
  20. python文件批量改名

热门文章

  1. tinyalsa工具命令
  2. fota 差分包_FOTA相关知识总结
  3. 用Unity实现Bloom
  4. 马化腾公开信:腾讯将推智慧零售解决方案丨用友前三季度财报营收增长24.4%【软件网每日新闻播报│第10-30期】
  5. 【Visual C++】游戏开发五十 浅墨DirectX教程十八 雪花飞扬 实现唯美的粒子系统
  6. Ubuntu16.04安装K8s步骤和踩坑记录
  7. 急急急!寻找程序员的祖师爷
  8. 网络上摘抄的数据库设计规范
  9. 计算机实战项目之 论文辩论PPT+源码等]精品微信小程序ssm培训机构管理系统+后台管理系统
  10. 复盘暴涨,TWEE焕发第二春