牛刀专业低代码开发实战—配件出入库管理

本文介绍了如何利用牛刀专业低代码平台开发配件出入库管理系统,包括功能描述如配件清单、入库、领用等,以及实现思路,强调了平台特性如数据模型、工作流、版本锁和主从关系等在项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        目前配件缺乏出入库的系统管理,日常使用中会发现当设备出现故障时,无法第一时间找到所需备件,甚至会出现备件缺少的情况。由于备件管理较为混乱,相关人员无法有效记录备件的出入库情况,备件实际库存情况不得而知,需要定期清点库存备件,增加了工作强度,所以需要开发配件出入库管理系统,建设内容如下:

一、功能描述

1、配件清单

        要能对配件基础数据进行增删改查、启停用等操作,新增配件时,配件编号根据规则自动生成且可编辑,输入品名、规格、单位、安全量,且把这些项设为必填项,保存数据时进行必填项校验,配件状态默认为启用。

实现效果:

图片

2、配件入库

        新增入库时,每次入库会自动生成唯一的入库单号,入库单号根据预先设定的规则生成,入库人和入库日期由系统自动获取;入库明细中的配件信息需要从配件清单中获取,只可以选没有被禁用的配件,每次可选择多种配件,同时输入配件入库量和配件入库价格;配件清单中编号相同的配件可以以不同价格入库,入库配件需要部门主管审批,审批通过后库存生效。

实现效果:

图片

3、配件领用

        领用时配件信息及数量需要从配件入库数据中获取,领用时需要输入领用说明、出库量,可以一次领用多种配件,要对出库量进行校验,出库量大于库存可用量时不能领用;配件编号相同但价格不同的入库配件分开领用,配件出库需要部门主管审批,领用提交但审批未结束时核减库存量,避免并发库存领用,领用审批未通过则归还核减库存量。

实现效果:

图片

4、配件库存汇总

        对总库存量小于安全量的配件进行预警,同一编号不同价格入库的配件视为同一配件计算总库存量,显示配件总入库量、总领用量、总结余量、安全库存量情况,可单独查看不满足安全量的配件。

实现效果:

图片

5、配件入库

        新增入库时,每次入库会自动生成唯一的入库单号,入库单号根据预先设定的规则生成,入库人和入库日期由系统自动获取;入库明细中的配件信息需要从配件清单中获取,只可以选没有被禁用的配件,每次可选择多种配件,同时输入配件入库量和配件入库价格;配件清单中编号相同的配件可以以不同价格入库,入库配件需要部门主管审批,审批通过后库存生效。

实现效果:

图片

二、实现思路

        牛刀低代码平台采用业务模型驱动设计模式,提供数据建模、服务建模、流程建模、页面建模等模型设计工具,既可以通过可视化界面来定义数据模型、定义模型中的字段、建立数据库表与表之间的关系,以及设置数据模型的规则;也可以基于可视化界面来构建用户界面和定义流程,并自动生成对应源码,可以通过本地IDE或云IDE修改代码的方式来扩展功能。

(1)创建企业门户应用

        根据应用模板中的“企业门户”应用模板创建门户应用,并初始化。

(2)创建工作流应用

        根据应用模板中的“工作流”应用模板创建应用,并在门户中通过自动注册的方式注册服务。

(3)数据模型定义

        根据需求确定数据结构,并通过可视化界面设计数据模型。

(4)页面设计

        配件入库和领用需要流程审批,创建页面时需要基于包含流程的页面模板创建,快速生成可以操作数据模型的页面。

工作流定义

        在创建“配件入库”和“配件领用”页面的同时会自动生成一个简单流程,我们基于自动生成的简单流程进行开发。

(5)代码提交

        平台默认使用git进行开发协作管理。

(6)应用发布

        应用的编译、构建、发布过程是自动化的,发布后在门户中查看。

三、平台功能应用

        1牛刀专业低代码平台数据模型支持设置字段版本锁,设置了版本锁的字段,数据类型必须是整型,其数据由平台自动维护。

        本案例在创建“配件清单”数据模型时,需要设置版本锁,用来进行并发控制,确保数据的一致性和正确性。

图片

图片

图片

        2、牛刀专业低代码平台支持数据模型主从关系设置,确定从表并关联主表,平台会自动维护从表的外键,会主动去维护主从表的数据级联关系。

        本案例中,“配件入库”和“配件入库明细”为主从关系,“配件领用”和“配件领用明细”也为主从关系。

图片

图片

        3、牛刀专业低代码平台支持通过视图方式创建数据模型,会同步在数据库中创建视图。

        本案例中,需要按照配件ID和价格对数据进行汇总,同时要计算出出库占用的库存量(还在审批中的出库库存)和可用库存量。

图片

图片

图片

图片

        4、牛刀专业低代码平台页面数据组件支持数据规则设置,比如只读、必填、默认值等。

        本案例中,配件清单页面,需要对数据面板上的“配件清单”数据集进行规则设置,名称、规格、单位、安全量等字段设为必填字段,可以对字段进行批量设置,也可以各个字段分开设置。

图片

图片

图片

      5、牛刀专业低代码平台支持在有需要时,在页面数据面板上增加自定义数据集,自定义列,满足页面临时数据交互的需要,自定义数据集只可以在当前页面使用。

      本案例中,配件清单页面,查询条件中需要根据启用状态设置下拉框,下拉数值为启用、禁用和全部,默认为启用,实现方式:需要在数据面板中,添加自定义数据集和自定义列,然后将下拉框与自定义数据集进行绑定。

图片

图片

图片

图片

图片

图片

      6、牛刀专业低代码平台提供导出组件,可以将列表数据导出为Excel。

      本案例中,需要实现将配件清单列表数据导出为Excel功能。

图片

图片

      7、牛刀专业低代码平台支持对数据面板数据集进行规则设置,表达式支持使用内置函数(如上下文信息)、JS等方式来进行设置。

      本案例中,在“配件入库”页面,需要获取当前登录用户的名称,作为入库人存入数据库。

图片

图片

图片

本案例开发演示视频:

01-牛刀专业低代码开发案例—配件出入库管理—需求

02-牛刀专业低代码开发案例—配件出入库管理—系统演示

03-牛刀专业低代码开发案例—配件出入库管理—开发环境准备

04-牛刀专业低代码开发案例—配件出入库管理—数据模型设计

05-牛刀专业低代码开发案例—配件出入库管理—基础数据维护功能开发

06-牛刀专业低代码开发案例—配件出入库管理—配件入库功能开发

07-牛刀专业低代码开发案例—配件出入库管理—配件入库流程功能开发

08-牛刀专业低代码开发案例—配件出入库管理—配件领用功能开发

09-牛刀专业低代码开发案例—配件出入库管理—配件库存查询功能开发

.版本 2 .子程序 _删除_被选择 .局部变量 当前选中, 整数型 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 删除容器, 字节集 .局部变量 x, 整数型 .如果真 (列表框1.现行选中项 = -1) 信息框 (“请在列表中选中需要删除的会员!”, 0, ) 返回 () .如果真结束 当前选中 = 列表框1.现行选中项 移到文件首 (文件号) 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .计次循环首 (取数组成员数 (文本数组), x) .如果 (当前选中 + 1 = x) 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) 删除成员 (文本数组, x, ) 跳出循环 () .如果真结束 返回 () .否则 .如果结束 .计次循环尾 () 移到文件首 (文件号) 删除数据 (文件号, 取文件长度 (文件号)) .计次循环首 (取数组成员数 (文本数组), x) .如果 (取数组成员数 (文本数组) = x) 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .计次循环尾 () 子程序载入数据 () .子程序 子程序删除会员 .参数 会员号, 文本型 .局部变量 删除容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文本数组2, 文本型, , "0" .局部变量 x, 整数型 .' 如果 (会员号 ≠ “”) ' 移到文件首 (文件号) ' 删除容器 = 读入字节集 (文件号, 取文件长度 (文件号)) ' 文本数组 = 分割文本 (到文本 (删除容器), #换行符, ) .' 计次循环首 (取数组成员数 (文本数组), x) ' 文本数组2 = 分割文本 (文本数组 [x], “,”, ) .' 如果真 (文本数组2 [1] = 会员号) .' 如果真 (信息框 (“会员卡号:” + 文本数组2 [1] + #换行符 + “会员名字:” + 文本数组2 [2] + #换行符 + “卡类型:” + 文本数组2 [4] + #换行符 + “您确定要删除?”, #警告图标 + #是否钮, “删除会员信息:”) = 5) ' 删除成员 (文本数组, x, ) ' 跳出循环 () .如果真结束 ' 返回 () .如果真结束 .' 计次循环尾 () ' 移到文件首 (文件号) ' 删除数据 (文件号, 取文件长度 (文件号)) .' 计次循环首 (取数组成员数 (文本数组), x) .' 如果 (取数组成员数 (文本数组) = x) ' 写出字节集 (文件号, 到字节集 (文本数组 [x])) .否则 ' 写出字节集 (文件号, 到字节集 (文本数组 [x] + #换行符)) .如果结束 .' 计次循环尾 () ' 会员号 = “” ' 子程序载入数据 () .否则 .如果结束 .子程序 _导入_被选择 .局部变量 导入容器, 字节集 .局部变量 文本数组, 文本型, , "0" .局部变量 文件号2, 整数型 .局部变量 临时变量, 文本型 信息框 (“本导入程序不会对您所导入的数据进行校验,请正确选择需要导入的数据备份!” + #换行符 + “否则将会导致不可逆的数据损坏!”, #警告图标, “警告!!”) .如果真 (通用对话框1.打开 () = 假) 返回 () .如果真结束 关闭所有文件 () 文件号2 = 打开加密文件 (通用对话框1.文件名, 3, , “19@85(32%71&BvC”, ) 移到文件首 (文件号2) 导入容器 = 读入字节集 (文件号2, 取文件长度 (文件号2)) 临时变量 = 子文本替换 (取当前目录 (), “\bakup”, “”, 1, , 真) 文件号 = 打开加密文件 (临时变量 + “\data.dat”, 4, , “19@85(32%71&BvC”, ) 移到文件首 (文件号) 写出字节集 (文件号, 导入容器) 关闭所有文件 () 信息框 (“为让系统正确运行,请关闭程序重新运行!”, #信息图标, )
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值