自己這段時間準備做個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;
//和前面的類似,只是日期提前半個月
此系統并不是很完整還有許多需要修改的。
希望大家能提供一些建議或意見。