当前位置:   article > 正文

Mendix 实现WMS物料移动场景_mendix开发仓库管理

mendix开发仓库管理

前言

见客多了,总有那么一些客户让你心生敬佩!

他们总能抓住事物本质,即使是沟通低代码时,提的问题也直击内核。

去年初有客户问“如何用3-4张表实现一个问卷应用,问题数量不确定且类型多样”。

这个深刻问题体现出来的睿智和极致,最后证明只有Mendix配得上:他买了Mendix。

今年初,另一个客户在初次交流中提出要看个Demo,实现工厂间物料移动。

老铁们可能会想,这场景不足以体现Mendix的过人之处。其实不然!

场景分析

看似就一个增删改查操作嘛,背后充满玄机,我们逐一拆解。

如何定义模型?

工厂仓库物料移动,顾名思义,必然有工厂、物料这2个实体。

至于把工厂和物料全塞进一个实体(一张表)的过家家式的纯表单驱动做法,这里就不多讨论了,看官必然了解其中局限性。

2个实体就够吗?工厂物料库存量如何体现?物料移动记录如何体现?

如何定义表单?

物料移动会有多种类型,至少考虑收货、销售发货和内部调拨三种类型。

问题来了,收货和发货操作时只涉及1个工厂,内部调拨却有2个,在表单上如何控制呢?

另外就是表单校验问题。

所有字段必填,发货量必须为非负数值。

且库存不存在,无法发货。库存量少于移动量,无法发货。

以上规则如何低代码实现?

如何实现操作原子性?

比如,内部调拨时调出工厂库存更新和调入工厂库存更新及物料移动记录,三处更改必须是一个原子操作。

如程序执行遇到问题,三处更改必须全部回退,避免数据不一致问题。

如何实现应用多语言?

客户是一家出海制造业,不仅有海外销售公司,还在东南亚建有3家工厂,海外产能扩张还在继续。

因此,工厂使用的自建应用,要考虑到海外推广,语言是基本要求。

Mendix 的答案

利器在手,无往不克。

关于模型

从企业级应用角度,工厂和物料2个实体几乎肯定是独立的,甚至主数据在不同系统。

后者Mendix 可以通过Connect - Datahub 访问跨系统数据,如同在一个系统,不赘述。

工厂、物料之外,创建库存和物料移动明细2个实体,分别与工厂、物料相关联。

其中,物料移动可能涉及2个工厂间的内部调拨,因此创建To和From2个关联关系。

最终模型建立如下:

image01.png

关于表单

这里主要利用 Mendix表单构建的前端可见性设置和字段校验规则。

在发起物料移动的表单上,为目标工厂ID、目标工厂名2个字段设置可见性条件:当为内部调拨时方可见。

image02.png

表单校验规则是前端开发做到手麻的日常作业。

Mendix 带来的福利是自动生成必填、数值非负等规则,并允许添加新的规则,如邮箱必包括@。

20240205162201_rec_01.gif

在该场景下,接受系统福利之余,只需要在自动生成的校验微流中添加一条即可。

即,当物料移动为调出类型(发货或内部调拨)时,判断调出工厂库存量是否小于移动量。

20240205163557_rec_02.gif

至此,表单就绪。

关于交易的原子性

目标很清晰,不能出现调出仓库减量而调入仓库未增量的情况,也不能出现库存调整生效物料移动未记录的情况。

回答也很直接,Mendix 平台微流的标准设计就保证了交易逻辑的原子性,而无需其他操作。

口说无凭,考虑到客户眼见才心安,我们做个小试验。

通过创建一个数值型变量且赋值为3除以0(3 div 0),引入程序执行一个异常,来模拟应用中断事件。

image03.png

如上图,物料移动带来的库存变化在3个子微流中commit,物料移动记录在外部微流执行,中间引入中断。

测试执行,当发起工厂3 100件纽扣的内部调拨时,中断引发了回退,仓库变化和物料移动都没有提交。Safe!

20240205170115_rec_03.gif

有老铁看到这可能对这里错误处理方式感兴趣,推荐产品帮助文档:Error Handling in Microflows | Mendix Documentation

关于多语言

Mendix 内置多语言支持功能,通过Batch translate,可以将前端界面的词条翻译成其他语言。

image04.png

具体可以参考过往文章:https://mendix.bbscloud.com/info/b622547549034fea9a7e53a224c70f61?csr=1

总结

真相都已清晰,剩下一个问题:

提出这个问题的客户,会不会像去年初那位客户一样,最后选择Mendix呢?

我们拭目以待。

看官如对完整实现感兴趣,欢迎留言索取MPK文件。

关于Mendix

作为西门子Xcelerator平台的低代码引擎,Mendix正在迅速成为推动企业数字化发展的首选应用程序开发平台。Mendix让企业能够以前所未有的速度构建应用程序、促进IT团队与业务专家之间开展有意义的协作,并帮助IT团队保持对整个应用程序环境的控制。作为一直被领先的行业分析师视为“领军者和远见者”的低代码平台,Mendix是云原生的、开放的、可扩展的、敏捷的,并且经过实践验证。从人工智能和增强现实,到智能自动化和原生移动,Mendix和西门子Xcelerator已成为“数字优先”企业的中坚力量。Mendix已被46个国家的4,000多家企业采用,并建立了由30多万名开发人员组成的活跃社区,这些开发人员使用该平台创建了20多万款应用程序。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/752123
推荐阅读
相关标签
  

闽ICP备14008679号