简单的溯源系统框架

需求

师兄开会回来,传达了上级的精神和需求:我们要做溯源系统,产品在生产线上流转的信息都要保留下来,并且在生产线上的任意一个环节都可以查看到之前的所有溯源信息。于是,经讨论和研究,我们勾勒出了一个溯源系统的原型。

思路

溯源是指产品的溯源。产品的溯源信息可以理解成产品从溯源路径的起点到终点之间经过的各个环节的信息的集合。可以用下图表示:

flow1

如图,产品在经过“大棚”、“冷库”和“运输车”时,产品性质会发变化,新的溯源信息会产生。可以这样想象:每个单位的产品(某一件或者某一批)携带着一个溯源信息栈,每经过一个“溯源控制点”,控制点就会产生“溯源信息”并将其放到信息栈中。在任意时刻,只需将栈按顺序pop出,即可从近到远地获取到产品的溯源信息。如下图所示:

flow2

粒度缩小一点,如下图所示,cp1~cp4为生产流程中的控制点:

flow3

于是,我们可以大致勾勒出该溯源系统的原型。

原型

实体关系

实体关系图如下所示:

实体

  • Product:产品实体,代表一个单位的产品,关联多个ProductionFlow。
  • ProductionFlow:由多个ControlPoint组成,代表着一种工序,对应多个产品。
  • ControlPoint:代表可以产生溯源信息的“点”,按顺序排列,组成工序。
  • ControlPointInfo:ControlPoint产生的数据实体。
  • ControlPointInfoStack:跟某个产品绑定在一起的承载ControlPointInfo的数据结构。

业务流程

(待补充)

时序图如下所示:

这两天做项目过程中遇到的问题以及解决方案

在为roo添加i18n的中文支持时出现 GPG Passphrase

mvn install后加上参数 -Dgpg.skip ,例如:mvn install -Dgpg.skip


Hibernate中随机抽取实体

即可,但要注意:

However this query would require MySQL, so we would sacrifice the benefit of Hibernate acting as an abstraction layer to the underlying database.


roo 中发起用dojo异步请求

注意除了 xhrGet 还有 xhrPutxhrPost 等。xhrXMLHTTPRequest 的简称


FileZilla无法显示中文目录

要改编码,在设置中改成 gb2312 等。


css定位

绝对相对 定位都是“相对的”,表示该元素相对于父元素的位置是绝对的 还是 相对的


eclipse中tomcat端口被占用

打开 “程序控制” 一类的系统工具程序,把占用几百M内存的名称是java的程序kill掉。


eclipse 中 svn 同步的问题

  • Project->Properties->Java Build Path 路径中,为各项添加 **/.svn/**
  • > 1. Click on Window -> Preferences > 2. Select Team -> Ignored Resources > 3. Click on Add Pattern and enter “bin” > 4. Click on Add Pattern and enter “target” > 5. Click on Add Pattern and enter “m2-target” > 6. Click on Apply and then OK

生成30min前的·Date·

注意Date是毫秒。


Collection 2 Json

或者


OneToOne persist时出错

确保双方对对方的引用都可以为 null


Roo 定时任务

关键词: TimerTask


应用javascript文件时,js文件文件放在哪个目录可以访问得到

放在 /webapp/js/***下,其中 *js 为新建文件夹。也就是说,网站的资源访问根目录从 webapp 目录开始。


自建view,用field:tag时出现找不到id的错误

allication.properties, *messages_**.propertites*, *messages.propertites*文件中添加tag的id属性值。


${}符号的用途

${} 为jsp解析符号,jsp页面编译时会对其中的expression进行运算,运算结果原地替换。


自建view,但是输入路径找不到资源

记得在相应文件夹中的views.xml文件中添加 标签