自己这段时间准备做个erp。
打算一个模块一个模块的做,而每个模块 又可以独立成为一个系统。
首先自己做的就是库存模块。
很简单的。
produce表中存在以下几个字段:id,名字,类别,生产批号,生产厂商,入库量,下架量,剩余量,销售量,入库时间,生产日期,保质期,失效期,买入价,卖出价,估计利润,实际利润,产品描述,是否在保质期内,是否即将失效(int)。
是否在保质期内:如果系统时间在失效期以后的话,为true,否则为false。
是否即将失效int:默认为0(即当所有产品入库时,不会失效)。为1时,表示系统时间离失效期只有1个月了。为2的时候说明离失效日期只有5天了。当为3时说明产品已失效。下架量(默认为0)在是否即将失效为3时,统计入库量-销售量。
很明显的失效期=生产日期+保质期。剩余量=入库量-销售量。而估计利润=卖出价*销售量-买入价*入库量。实际利润=估计利润-下架量*买入价。
在这里的存储中应该运用触发器。
而在功能方面,大体:
A:每月一次的总价,计算实际利润。
B:自动提醒部分,当是否即将失效为1时对产品进行提醒。其页面上用绿色字体提示,为2时对其进行红色字体提示,表示需要下架。
C:显示所有产品,显示产品字段,名字,类别,产品批号,生产日期,保质期,失效期,卖出价,剩余量,产品描述。此显示前提跳将为在是否即将失效<3的时候。或在保质期内的产品(或许这个字段似乎没有,但还是留着)。
D:每天凌晨对数据库中数据进行自动调度,如是否在保质期内,是否即将失效进行修改。(ps:刚才想是否在保质期内是否有用,觉得在这里就有优化的余地,当不再保质期内的产品可以不用进行对是否即将失效的修改)
E:自动生成报表,报表内容可以很对,这个根据实际情况进行调整。
使用技术,struts2+spring+hibernate。
前台方面用jquery进行美化和异步交互,如表单自动填充。
spring进行控制,包括对自动调度的控制(quartz)。在数据库方面的自动调度,自己还没有找到很好的方法。暂时采用quartz吧。或许以后在mysql上找到类似oracle的job事务的函数或方法,就采用那个,这样就可以对性能进行提高。
hibernate自己不喜欢写sql语句,所以偷懒使用hibernate好了。其实JDBC也不错,至少在对批量插入的时候JDBC其性能比hibernate要强很多。
例外附注一个mysql中要使用的应用吧(这里就这样说,因为以后很多事情或许都与其有关)
建立数据表:其字段需有个date字段。
sql语句:
select * from 表 where date<=current_date;
//查询在表中在包括今天及以前的所有数据
select * from 表 where date<=current_date-15;
//和前面的类似,只是日期提前半个月
此系统并不是很完整还有许多需要修改的。
希望大家能提供一些建议或意见。