库存管理系统实践(三)|学习笔记

简介: 快速学习库存管理系统实践(三)

开发者学堂课程【低代码制造业最佳实践:库存管理系统实践(三)】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/1028/detail/15111


库存管理系统实践(三)


内容介绍

五、产品库存表

六、出库的操作


五、产品库存表

接下来实际上现在要想的就是现在入库表配置好了,那肯定要一个库存表,这样入库之后它可以去往库存表里面去插入值,那先将入库表保存。然后返回到应用页面。

1.表单新建

然后接下来就是库存表的一个搭建。

那个库存表它实际上跟物品底表它是类似的,它实际上也需要,就是对应的一些值,比如物品类别,物品名称,物品规格都是可以去进行一个录入。然后就是物品的一个库存量,那库存表它肯定是要去将库存量的数据,然后进行一个展示的,所以在这里,需要去加入的组件就是物品类别、物品名称、物品规格以及它的一个库存量。然后在这里,也就是还是在新建列表里边,去新建一个普通表单,

image.png

2.添加组件

在新建普通表单之后,依旧是选择空单表单搭建,然后去拖动组件到页面里面,那在这里面,是需要注意的是。在入库表中用的是单选下拉单选组件,但是在去插入到库存表里边的时候,实际上是让它去存放数据值的,比如这有几个产品,有一个产品然后要去存放它的数量,那实际上只需要去,把物品的名称,然后还有它的一些基本信息录进来,然后只需要去改变它的数量的值就可以了,所以在这里,依旧是拖动三个单行文本当页面中,然后将它命名为产品分类,然后还有它的一个产品名称。然后还有产品的规格,那它实际上录入这三个组件,是因为在页面中这三个组件是作为它一个分辨产品的一个依据的。

image.png

那么也就是,根据这三个是个值,就是某一分类下的某一名称里面的某一个规格,就能断定了产品是哪个产品。所以在这里,就只录入了这三个产品的一个信息,然后最后,就是添加一个数值组件。将它命名为当前库存量。

image.png

3.数值组件作用

为什么要用数值组件?是因为在后面去进行一个操作的过程中,实际上是要对数字进行一个加加减减的一个操作的,所以在这里用到的是这样的数值的一个组件,但实际上现在库存表就已经搭建好了,

4.数据录入

接下来就要去考虑的,就是如何去将入库表的数据插入到库存表中了。先刷新一下页面,然后,现在来看一下是如何可以进行一个插入的,在去配置应用的时候,首先去进行一个入库操作的时候,比如在下面选择了好多条数据。然后想要将这些数据全部都进行一个录入的一个操作,

image.png

5.插入到库存表操作

在这里就需要去将数据再提交的时候,然后它去将值插入到库存表里边,也就是再去配置的时候是需要在它提交的时刻,就是点击提交之后它就直接去触发规则,然后将这些数据和值,更新到库存表里,因此再去配置的时候,是需要把事件的写在表单设置里面的表单事件的执行里边的,在提交的时候去进行一个触发,所以是要在表单对应的一个时间里。然后去进行一个配置的,点击添加业务关联规则之后进去它可以看到单据提交、单据删除、单据编辑三个的一个形式的,然后在这里,是讲到单据提交时触发的一个效果,那么在这里将标题修改为就是提交入库时更新库存。

image.png

6.更新库存公式

然后,现在就是在点击单据提交的时候,对应的将库存进行一个更新,所以在这里,点击单据提交之后,会进入到一个公式编辑的一个页面,那么在公式编辑页面中,就可以对应的去把公式进行一个配置。

(1)、常用公式

那常用的业务关联公示是有的DELETE,INSERT,UPDATE,UPSERT四种。那么它其实都是业务关联公式的一种常用的公式,分别是去删除目标表的一个实例数据,可以在对应的目标表中去插入一条新的实例UPDATE,然后UPSERT它主要是对目标表某一条数据它去进行一个更新的操作,那UPSERT它实际上是将INSERT以及UPDATE两个功能进行了一个结合,那么再去配置的过程中可以先去对于条件进行一个匹配,那如果匹配成功之后,使用是UPDATE它的一个功能,去修改它的对应的一个数据,那如果没有去匹配到对应的一个数据的时候,那就证明目标表里没有找到要找的这条数据,那实际上就没有办法去修改了,那这时候UPSERT它提供的就是INSERT的一个功能,它会直接对目标去插入一条数据,那实际上公式,其实很符合当前的形式。

(2)、UPSERT使用方法

可以看一下在入库的时候去往库存表去插入数据的时候。实际上是需要进行一些操作的,那么比如首先肯定是要去根据三个就是类别、名称以及它的规格,去锁定到产品。如果锁定到产品那就证明库存表之前已经在库存表里面插入过这条数据了,那时候实际上就不需要再去进行一个重复的一个插入的一个操作,只需要去将已有的数据,去直接将它数值更新就可以了。但是如果没有找到产品,根据这三个条件,没有找到对应东西,那就证明库存表实际上是不存在这条数据的,,也就是它不存在这个产品,那时候实际上是要把这一条新的产品去插入到库存表里,那么也是为了方便后续的时候,然后再去进行一个插入的一个操作。在这里去配置完之后,就首先来考虑了下,要实现的一个目的,那么在这里,就用UPSERT的公式就可以了。

image.png

那接下来,就一起来看一下UPSERT的公式,它的实现的一个功能。点击详情,先来看一下UPSERT的公式的一个使用,

image.png

首先,在UPSERT的公式里边,它主要就是往目标表单里边去插入,或者更新它的一个数据,那它肯定有它的一个格式的,那么再去配置格式的时候可以按照公式,来进行一个配置。首先最开始,肯定是要去锁定的是,就是再去更新或者是插入,肯定是要有一个目标表,要去往表里边去做一个操作,所以在这里肯定是要去对目标表进行一个操作,那么第一个参数就要去配置目标表,然后一个主条件和子条件,那么在这里,主条件和子条件可以就是怎么去进行一个考虑?那么现在再去配置的过程中,在使用的时候是在入库表去往库存表里边去插入数据的。插入的时候可以看到库存表里面是不包含子表单的,插入的表里边没有包含子表单实际上只需要去直接进行一个插入就可以了,只需要去匹配到这三个字段,只要它满足条件了就能找到对应的一条数据然后我就去更新它的库存量,所以这时候是要去配置它的一个主条件,那么条件就是产品分类,产品名称以及它的一个产品规格,就是主条件的一个配置,

image.png

但是如果当前的库存表中它是有一个子表单,打个比方就是要往入库表中插入数据,它里面是有一个子表单的,那再去子表单某一行数据去插入的情况下,首先肯定要先去锁定到表,就是要去锁定到这条数据,有好多条数据像第一条数据、第二条数、据第三条数据,然后每一条数据里面的入库明细里边还有好几行的数据,比如第一条数据里边有三行,第二条数据里边有两行,那现在想往第一条数据里面的第二行里面去更新值的话,首先肯定还是要去对主表,先进一个判断,要先锁定是一二三条数据中的哪一条数据,然后锁定到了第一条数据之后,要去锁定这一条数据里边的表单它是哪一行,数据要更新的是哪一行,那时候就需要用到了子条件,在使用主条件去定位到这条数据之后,还需要子条件去定位到它这条数据的哪一行,就是子表单哪一行,所以在这里,是需要用到子表单的子条件。但是当前的如果库存表,只需要去往这样的一个表,就它没有子表单这样的一个表里面去插入数据,实际上是不需要去,配置子条件的,那么如果不需要去更新子表单的下值,可以直接用双引号来进行代替。然后再去配置的时候,那么前面三个参数就已经配置好了。后面就是要去更新了一个值,首先第一步确定了第一个参数,确定了它的目标表之后,肯定需要往目标表里边的这些字段里边去插入定义的一个值,那所以目标表里边的这些字段就是它的一个目标列。然后要插入的值就是它的目标值,那么依次就是目标列一目标值一,目标列二目标值二,然后依次去将它插入进来,那么这就是UPSERT使用方法。

(3)、具体操作

现在一起去对它进行一个配置。进入到产品入库表中,然后去进入编辑表单,找到表单设置。然后在表单设置中,然后去选择表单事件,那刚才给大家去讲过,就是是要在提交的时候,然后去执行的,所以在表单事件里边,去找到公式执行,然后配置业务关联规则,在这里,还是将它命名为入库入户时更新库存。然后点击单据提交,然后在这里去配置公式,那刚才给大家讲到就是入库的时候,它得有个规则,在满足条件的时候去更新库存量,不满足条件的时候也就是库存里面没有这件产品的时候去新增,所以在这里,就可以直接去使用到UPSERT的公式。然后,配置UPSERT公式之后,首先就是要去选择到一个目标表,那么在这里,就可以去选择库存表,它就是一个目标表,需要往库存表去插入或者更新数据的,接下来就是配置就是对应的一个条件,那再去配置条件的时候,只分为的是这样的一个主条件和一个子条件,但是主条件中有多个条件的时候,情况下该怎么办?那这时可以用and进行连接,它是一个将逻辑函数里面的一个关系,它可以去将所有的这里边的条件都为真的时候然后它就是一个符合条件的,那么使用and去进行一个连接,它其中的所有条件都满足条件的时候,那么主条件就代表着已经满足条件了。所以在and里边去写多个条件。然后用逗号去进行一个隔开,那在这里需要去匹配对应的目标表的字段的值和当前表提交的值是否一致就可以了,那么也就是用产品分类等于入户明细产品分类,名称等于名称,规格等于规格,这三个条件同时满足的时候,那么时候就可以去找到产品。

(5)、EQ比较配置

那么在这里就可以去使用到eq的公式,可以去比较两个值是否相等的,然后使用到EQ。然后对应的去将库存表中的产品分类和当前提交的产品分类进行一个对比,在这里要注意的是就是要把目标表始终放在当前表前面然后去进行一个配置,然后那第一个条件配置好之后用逗号隔开,然后去配置第二个eq,然后再去配置产品名称,然后当它对应了去跟当前表的一个相等的时候,然后用逗号隔开,去配置第三个条件产品规格和对应的产品规格相等的时候。那么eq配置好之后整个组条件就已经配置好了

(6)、子条件写法

然后接下来就是一个条件,条件不需要子表单下的数据里边去更新,就可以将个子条件用双引号来代替去不写,然后用逗号隔开之后,就是目标表中的目标列与要去插入的值,依次去配置。逗号不要忘。如果对应的在库存表里面找不到产品之后它实际上会把对应的数据进行一个覆盖,就是比如都是录入的都是一样的。前面的条件匹配后证明,分类等于分类,名称等于名称,规格等于规格,那么时候可以直接去进行一个覆盖。

image.png

(7)、更新库存量操作

然后,主要是去更新库存量,那么在当前库存量的基础上要去直接加上当前页面的库存量,现在去添加一下。在入库明细中,去添加数值组件。然后将它命名为入库数量。再去关联规则里边去将单据提交里面的公式,然后去直接进行一个加入。那么现在整体的一个业务关联公式就配置好了,

image.png

7.结果

现在它实现了,当前面公式,前面条件匹配成功之后就对应将前面的这一部分值进行一个覆盖,然后,只将库存量去加入到入库数量里。如果前面没有符合条件,那就证明库存表里是没有产品的,那么时候,就需要去将所有的数据值,进行一个插入,那么公式就已经配置好了,然后点击保存。

保存完成之后,到数据管理页中,来去插入一条数据。点击新增,然后在入库人和入库时间中去进行一个选择,然后接下来去配置入库明细。依次去选择到值。点击提交。

image.png

提交成功之后,再到库存表里就可以看到,它是直接在库存表里面就直接插入了两条数据,那么这两条数据就是在入库子表单里边去插入了这一条数据里边的两条数据。

image.png

那么它都直接进行了一个插入的一个操作,然后接下来,再去新增一条一样的一个数据,看它的直是否会进行一个更新,还是去找到水果,然后橘子40每箱,再去进行一个入库的一个操作。点击提交。然后返回到库存表中,进行一个刷新。这是可以看到橘子,然后更新了库存量,那实际上现在入库的操作就已经完成了

image.png

六、出库的操作

接下来来看一下出库的一个操作。

去进行一个表单的搭建,需要注意的就是在去配置的过程中,首先要考虑,就是入库实际上只需要有一个入库员然后直接操作就可以了,但是出库的时候要面临的一个问题就是出库的时候可能需要主管或者是某一个仓库的主管进行一个审批,允许了之后它才允许进行出库的操作,所以在这里,直接去使用流程,然后去进行一个出库的一个配置。

1.新建表单

使用新建流程之后将它命名为产品出库表。

2.配置表单

(1)、然后在产品出库表,依旧是需要去配置,是一个成员以及日期,然后在成员这里,是去将它配置成出库人。然后出库时间。那么接下来就是一个子表单,然后它依旧是要去将它命名为出库明细,然后再出库的时候也是可以同时出库多条数据的,并且还可以去关联到库存表里面的一个值,然后可以将已有的库存联动过来,是因为是要去关联到库存表,可以出库的时候肯定是要去将已有的一些物品进行一个输出,就可以直接去关联到库存表,这样就可以直接选择到已有的这些产品来进行一个出库,所以还是用的下拉单选组件。然后将它依次去进行一个命名。再配置完之后,接下来要去添加上的就是库存,就是要出库的一个数量。那么还是添加一个数值组件,出库数量。

(2)、注意问题

那么在这里,需要注意的就是每次出库的时候肯定是要去实时去关注的一点就是当前库存有多少,能出多少,就是要先看到有多少库存,然后再决定要出库多少,所以在这里就直接在出库数量前再去添加一个数值组件,然后将它命名当前库存量,最后,同样是关联到库存表里边这样,它就可以实时地将每一件产品的库存量进行一个获取,

image.png

(3)、设置关联

然后接下来还是去配置关联其它表单的一个功能,以及它的一个数据联动功能,在关联表单选项里边的选择到就是库存表,因为是要去选择已有的这些物品,所以要去关联到库存表之后。那么产品名称使用到数据联动。然后去进行一个数据联动的一个配置,去选择到库存表,然后对应的,将产品分类等于库存表产品分类,然后名称联动显示为产品名称。之后对应的在产品规格,然后去进行一个配置还是选择到数据联动,配置它的一个数据联动就是联动到库存表中,产品分类等于产品分类,产品规格等于产品规格,那么在这里就去加一个条件就是当前面两个条件同时满足的时候,然后来获取到它对应第三个值,所以去添加它的一个条件,然后将对应的名称进行一个配置,

image.png

那么前面三个配置好之后,接下来就是要获取到对应的,物品的一个库存量了那在这里,就是在前面选择完之后它可以直接去显示出来的,所以在这里,就是配置它的默认值为数据联动,然后去配置它对应了一个显示内容,肯定是要把前面三个字段全部进行一个匹配,匹配成功之后,那就证明它就是要找的产品,然后它才会把对应的这些产品的这样的一个库存量展示出来,那么现在数据联动就已经配置好了,

(4)、效果

看一下效果,选择水果,然后它只展示就是已经入库的产品,就是只入库了33个的橘子。然后选择橘子,然后产品规格,就是40/箱那可以看到它直接将库存量进行了一个展示,

image.png

那么现在,出库表就已经配置好了。

3. 产品数量更新

配置完成之后,就要去对出库进行一个操作,就是在出库的时候,要去把对应的产品数量去进行一个更新所以在这里,依旧是要去配置一个业务关联公式,但是需要注意的是,去表单配置的过程中,表单是每次去提交数据的时候去出发的,所以它是在表单事件里面去进行出发的,但是流程是不一样的,流程再去配置的过程中,它实际上它整个的一个流程它都是可以去触发事件的,所以配置入口是需要去进入到流程设计里边。

image.png

进入到流程设计里边,然后找到全局设置在这里,是有一个节点提交规则,在节点提交规则这里,就可以去配这种对应的一个业务关联公式,以及它的一个校验公式。

image.png

然后,在这里,要首先要去考虑的一个点就是要去做出库的操作,现在要去出库的时候,不需要去往库存表进行一个新增的一个操作,因为实际上现在选择到了它就已经是在库存表里的值了,所以现在只需要去把对应的库存量,然后去进一个修改就可以了,

image.png

比如出库填二十一,然后当前有三十三,要它的库存里边只有只剩下十二个,只需要去更新它库存量就可以了,所以在这里只需要在新增规则里边,将它命名为出库更新数量,然后在它,某一个节点的时候去进行一个触发,那么在这里就在它整个流程结束之后,并且它动作为统一的时候去触发规则,也就是整个流程结束之后,并且同意去进行一个出库操作之后,库存它才会去进行一个减少。那么在关联操作下面的对话框里边,去点击进入到公式编辑页面,在这里之前就是刚刚用的是UPSERT公式,它主要实现的就是一个插入以及更新的一个操作,但是现在,它实际上是不需要进行一个插入的一个操作的,只需要去在对应的库存表里面去更新它的某一个字段值就可以了。

4. 产品数量更新公式

所以在这里可以直接使用UPDATE的公式。UPDATE公式使用方法跟UPSERT做的是一样的,都是需要配置一个目标表、主条件、子条件以及它对应的目标值和要去修对应的目标列和要去修改的目标值,所以在这里,还是按照一个方式去进行一个配置,就是再去配置目标表的就是一个库存表。

(1)、主条件

在库存表后面就是主条件,那么主条件依旧是需要使用到and公式,然后,将多个条件进行一个合并,当里面的三个条件全部满足的时候,然后才会去对应的去更新数据。

image.png

然后,主条件就已经配置好了。

(2)、子条件

配置成功之后,那接下来去配置子条件,那么用双引号来代替,因为依旧是库存表里面去更新,而库存表里面它不需要去子表单里面去更新,所以条件可以直接用双引号来代替.

(3)、目标值

之后去配置目标以及目标值,那在这里需要注意的是。在这里只需要去更新,不需要去插入,所以前面字段不需要去进行一个覆盖的操作,只需要去将库存量进行一个修改就可以了,所以首先去选择库存量,然后在库存量基础上去减出库的一个数量,这样那就可以直接将,数据进行一个更新的一个操作,那么,节点提交规则就已经配置完毕了,配置完毕之后点击保存,然后去进行一个发布,

image.png

(4)、库存量为负数的问题

那么时候,大家要注意的一点就是,实际上是有当前库存量和出库数量的。但是如果在出库数量的时候,不小心多摁了一个数字,那实际上库存量它还是会将出库数量进行一个减少的,所以可能会造成它是一个负数,

image.png

(5)、添加校验

那在正常的一个企业运作中,它是不可能出现这种问题的,所以要在提交之前先要去,加一个校验,也就是当出库数量比库存量大的时候是不允许它去进一个提交的,那么在去配置的时候,就是要在全局设置里面去配取它的一个节点提交规则,

image.png

然后在这里边,设置它的一个校验,申请出库之前去进行一个校验。校验库存。那么在这里是需要它在提交的时候,就直接去发起校验,然后就在开始的时候,去进行一个校验规则的一个设置,去配置一个校验规则。去配置的时候就可以使用到的就是逻辑函数里边去判断两个数值大小的这样的一个公式,就是ge以及它的gt,可以去判断就是当一个值大于第二个的时候它会返回一个错值,那么当它返回处的时候就可以去阻断流程的一个提交

(6)、校验公式

所以在这里,去使用gt,然后需要当前出库的一个数量大于当前库存量的时候,然后去进一个阻断,所以在当前出库数量和库存数量做一个比较,当出库数量大于当前库存量的时候,然后去进行一个阻断,并且去提示库存不足请联系采购。然后点击确定。

image.png

配置完之后,依旧是进行一个保存,进行一个发布。

然后发布成功之后,来一起看一下效果。首先选择到某一个产品。然后它对应的将库存量进行了显示,然后在这里去提交,当初库数量大于当前库存量的时候。它是直接去阻断了提交,

image.png

那如果去小于,再进行提交的时候,就可以顺利地进行一个提交的一个操作,然后提交成功之后,

5.及时修改库存量

现在出库里边,已经去出了一条数据。刷新一下,然后再去看库存表,可以看到库存表是没有发生变化的,然后在产品出库过程中,是要在出库然后需要流程同意之后,它才会去进行一个出发,所以在这里就直接去将流程同意。然后现在整个流程就已经同意结束了。流程结束之后,再返回到库存表里边。然后时候可以看到库存量,就已经对应了一个减少了,那简单的一个库存管理系统就已经完成了,

image.png

比如现在是有一个外面的一个问题,就是当前在出库的时候,可能有两个人同时出库了,然后那在第一个人出库的时候,比如出了是12个产品。那实际上它现在上了二十一个,但是第二个人再去新增数据的时候它实际上因为库存量在上一个流程没结束的时候库存量,它是不会减少的,所以库存量,它还是三十三个,如果出库21以上,这时候它再出库二十二,以上的两个流程全部统一之后那实际上最后库存表里边的值是一个负数,那为了避免这种情况发生,其实可以去做一个操作就是在出库表,首先因为现在的是在出库同意,就是整个流程结束的统一节点的时候,去配置的库存减少的一个操作,那实际上现在要做的就是对库存在发起的时候就立刻将库存减少,那么所以在这里,实际上可以先去将里边的公式复制过来。然后将库存更新的关联规则去进行一个删除。删除成功之后,然后去新增一个规则在规则就是,在起时发起流程时就立刻修改数据,修改库存。然后再开始节点去做它的一个关联操作的一个设置,然后。然后将刚刚的公式复制过来。那时候实际上在流程发起的时候它就已经直接将库存进行一个扣除,那么就不会出现,刚刚提到这样的一个状况,就是如果上一个流程没结束,另一个人发起了个数额可能会造成库存为负的这样的一个情况。那在发起的时候就直接将库存扣除,它实际上就不会发生状况,

6.拒绝出库时库存量的返还

那么要注意的一点就是,因为现在是在发起的时候,直接将库存减少,那么如果流程同意的时候,那实际上是不需要去做其它操作的,因为库存已经减少了,但是如果当流程结束并且它是拒绝,就是不允许出库,那实际上是需要将这一部分的库存量,这是出库的这一部分数额,然后去补回来,就是返还给库存,那么还需要去对它进行一个更新的一个操作,所以要在节点结束的时候,就是在拒绝和撤销的时候,就是只要不同意那数量,它都要返回给库存表,

image.png

所以在返命名库存数量。然后在把关联操作,然后将数值去加回来。那么,只需要去做一个这样的一个修改库存量的,一个更新就可以了。

image.png

那么实际上再去做完这些操作之后,它就不会再发生,刚刚给大家去讲到了这样的一个情况,那现在库存的一个简单的一个库存管理系统就已经搭建完成了。

相关文章
|
SQL 供应链 JavaScript
订单管理系统(OMS)搭建实战 - 低代码拖拽定制订单管理系统
订单管理系统是很多公司,特别是电商公司最常用的内部系统之一。订单管理系统的使用者通常是仓管或者运营人员,它常被用于管理用户订单,比如添加或者修改一条发货记录,与快递 API 集成以便自动更新订单号等场景。
985 0
|
缓存 供应链 监控
商品系统架构设计与实践
商品系统架构设计与实践
460 0
|
Oracle 前端开发 关系型数据库
宜搭认证课程-数据报表设计(三)| 学习笔记
快速学习宜搭认证课程-数据报表设计。
1146 1
宜搭认证课程-数据报表设计(三)| 学习笔记
|
BI 数据库 开发者
宜搭认证课程-数据报表设计(一)|学习笔记
快速学习宜搭认证课程-数据报表设计(一)
721 0
宜搭认证课程-数据报表设计(一)|学习笔记
|
架构师 Java 关系型数据库
电商网站需求分析和架构设计(一)|学习笔记
快速学习电商网站需求分析和架构设计(一)
263 0
电商网站需求分析和架构设计(一)|学习笔记
|
供应链 JavaScript 数据处理
库存管理系统实践(四)|学习笔记
快速学习库存管理系统实践(四)
289 0
库存管理系统实践(四)|学习笔记
|
供应链 开发者
库存管理系统实践(二)|学习笔记
快速学习库存管理系统实践(二)
169 0
库存管理系统实践(二)|学习笔记
|
数据采集 供应链 搜索推荐
库存管理系统实践(一)学习笔记
快速学习库存管理系统实践(一)
313 0
库存管理系统实践(一)学习笔记
|
BI 数据库 开发者
宜搭认证课程-数据报表设计(二)| 学习笔记
快速学习宜搭认证课程-数据报表设计。
537 0
宜搭认证课程-数据报表设计(二)| 学习笔记
|
BI 开发者 数据格式
宜搭认证课程-数据报表设计(一)| 学习笔记
快速学习宜搭认证课程-数据报表设计。
225 0
宜搭认证课程-数据报表设计(一)| 学习笔记
下一篇
无影云桌面