两个半月做了两版人资系统——并且基于通用权限设计
毕业7年了,前几年换了好几个行业,虽然一直都在打程序员的擦边球,中途还“幸运”被某个老板看中,做了他公司的总经理,可自己在写代码上,有几斤几两,我自己确实很清楚。今年初,我做总经理的公司没了,所以我只能再出发,这些年,写代码的技术没怎么上升,跟别人吹牛的能力也还是维持在程序员的水平。所以,我也就只能再找一份程序员的工作了。
于是,我找了一个ASP.NET系统开发的工作。工资也从以前的高峰回到了几乎刚毕业的水平。不过男人嘛,能上也能下,今日的果,是当时的因。各位后来人,切记,切记。忘了交代,这几年我做过手机测试程序开发,手机MMI开发,用vb和用c。
小公司的特点,就是没培训,加榨干你所有的剩余价值。所以,像我这样一个完全没有.NET根底的人,在入职1个多月之后,被要求开发一套人资系统。不过需求也很简单,要求实现人员的增删查改,在部门间的异动,每个月的薪水能够算出来,就行了。
做这个系统,花了我一个月,最后功能实现出来了,不过都是最基础的。这时候,当初提需求的经理说了,你给xxx开个权限,只能看不能修改。我一听,傻了,当初完全没考虑到这一点啊!于是乎,我上网找资料,去书店看书。了解到,权限,原来是一门很大的学问。国内很少有人研究这东西,所以,我啃了两本原版书,一本是《Role-Based Access Control》,另外一本是《.NET Programming Security》。花了半个月的时间,中间,设计了很多次数据库,常常是,今天晚上觉得路通了,结果第二天一起来,又一团浆糊。
那段时间,每天都是baidu+google。终于有一天,被我在cnblog找到了吉日嘎拉的博客,呵呵。我一口气,看了他很多的博文,虽然没怎么看懂,毕竟自己功力有限,又一口气看完了他录的视频。当天傍晚的时候,我就找到他,要买他的代码。牛顿说,站在巨人的肩膀上,会成功得快些。这几年我学会的可能就是这些,所以,我游说公司购买他5000块的版本。如果是500的,我想,我现在还在研究代码呢。
我以最快的速度拿到代码,二话不说,开始研究。那代码还真多,压缩包都有20几M。看了一天,没头绪。我找到吉日。我说,你说终身服务,什么时候给我讲讲啊。于是,他当天晚上就给我开讲,从十点多讲到十二点多,将我的疑惑全部解答,并且说随时可以问。
在这种背景下,我的HR系统,三周搞好了。
登录界面:
员工管理:
点击人名后,会出现员工编辑界面:
薪资管理:那个圈起来的按钮,一按,就可以生成一个月的工资,大大节省了人资同事的时间哦。
薪资管理:可以把请假,扣款,奖金等,都放在这里来管理。当开发时间少的时候,也只有用这种方式了。
人资系统,说起来,业务逻辑是非常简单的,但麻雀虽小,五脏俱全。任何一个好的系统,都需要由业务系统和权限系统构成。而一家公司,不可能只有一个系统,比如人资,资产,流程,还有那家公司本身从事的行业,如果是印刷厂,则有其印刷相关的业务逻辑,而这些所有的系统的权限系统部分,其实都是可以复用的,完全没必要重复开发。
在这里,我很感谢吉日老兄,他多年的研究贡献出来,虽然说收了点钱,不过别人都要生活,可以理解。如果没有他,我还在苦苦的摸索,一头雾水中。从他的代码,我学到了代码管理,代码规范,业务与权限相分离,现在学到这些,将来我想会学到更多。
有关权限的东东,可以去他那里看看,一定会少走很多弯路。如果我一开始就发现他的东西,我起码可以节约半个月。我是幸运的,只找了他半个月,呵呵。http://www.cnblogs.com/jirigala/
看他的东西,要有点耐心,吉日兄阐述问题有时候语气不太好,呵呵。
不说那么多了,明天还要开发新的系统,一切基于吉日的东东,我起码少走几年的弯路。