印刷ERP开发回顾

来源:互联网 发布:thk直线导轨选型软件 编辑:程序博客网 时间:2024/06/11 05:20

历时1年半的某印刷公司ERP系统终于结项了。该印刷公司包括3个部门:印刷工厂,在郊区;销售部,在国贸;后来新增了快印店。开发的印刷管理系统采用.net技术,包括订单管理、成本核算、生产调度、车间管理、质量管理、送货管理、采购管理、库存管理、财务管理、人事管理、初始设置等模块。粗略统计了一下,系统的全部程序代码接近10万行,140个窗体,60张报表。数据库中创建了60个表,视图也是60个左右。历尽千辛万苦,经历了很多波折,终于顺利的完工。看着自己的开发成果还是非常自豪的。下面对项目开发过程做一些回顾和总结。
      大二暑假也就是2001年给某印刷公司做了一个订单管理系统。从那时起就跟该公司保持联系,刚好公司总经理是人大毕业的。03年我上了研究生,算起来还是校友。2003年12月接到该印刷公司工厂电话,厂长称他们有意开发一个工厂管理系统。
      我上网找了所有的印刷管理系统,比较出名的有顺和达等,但是它们的功能比较简单,大部分不能满足该企业的要求。于是综合所有软件的优点,我提出了自己的解决方案,给他们看了一下,因为我还在上学,报价当然是很便宜,不然也不会有这次回顾了。开始的时候考虑是采用什么结构,C/S还是B/S?因为B/S中打印的问题一直不好处理,所以决定采用C/S结构,以前使用过VB 6.0,但是界面不友好而且已经是过时的技术,决定冒一点风险采用当时最新的2003版.NET技术(这个决定为后来增添了一些麻烦)。给厂长看了之后,他说功能比较简单,价格需要跟总经理汇报一下。他们总经理看过解决方案后,觉得不能只包括印刷工厂的管理,要将销售部等公司的所有部门都包括进来。我又重新修补了一些模块,也就是后来的ERP系统的雏形,当然价格也就翻了一翻。
      之后一直没有消息,刚好寒假放假回家,在公共汽车上接到了他们的电话,说是大致没问题,但是还需要增加成本核算的功能(原来的需求没有成本核算模块)。我说可以(不可以就没戏了),得增加预算。后来确定春节之后再继续探讨。
      2004年元宵节过后,印刷管理系统正式开始进行需求分析。跟各部门的经理或者主管接触,诱导他们提出需求。然后整理需求分别得出了比较细致的业务流程和需求,初步确定了系统的模块和详细的功能。此时系统已经不仅仅只是工厂的项目了,因此公司的总经理直接负责该项目的管理和监督。这为以后项目的实施带来了很大的便利。“信息化是一把手工程”,这句话非常有道理。
      在这段时间里,该公司的快印店刚刚成立,公司的大部分精力都投入到快印店上了。信息化项目仍然在调研和论证阶段,此期间该印刷公司也接触过几个印刷软件,所有的软件仍然不能满足他们的需求。主要原因是软件公司大部分是南方的,甚至基本的印刷术语都与北方的不一致,更不用说具体到实施了。
      到了6月份,终于印刷公司下定决心定制开发,我也正好到了暑假,时间比较充裕。于是正式签约,开始项目的正式设计与开发阶段。 
项目开发共分为二期,一期工程主要是初始设置,成本核算,订单管理,工厂管理,项目周期3个月。2004年7月份,我与一个同学开始了正式的编码工作。由于是初次接触.net,开发环境都不是很熟悉,学习了2周的c#,7月13日开始编写第一行代码。
      项目开发过程中,才感觉到面临巨大的困难。首先是同学开发一个月回家,我在学校,双方沟通起来比较困难。等他回来后,已经是过了2周的时间。继续开发成本核算的模块。成本核算按照需求只是一个窗体,让用户填写各部分的报价,然后得到总价。结果印刷的总经理要求成本核算能够根据条件自动的报价。没办法,按照他的要求来,2个月后成本核算终于证明不能自动报价。于是放弃继续开发订单管理,与此同时工厂管理也在抓紧时间开发。
      3个月后,初始设置,成本核算,订单管理,工厂管理功能还不够完善。尤其是成本核算增加了许多工作量,致使后面的开发比较紧张,有一些报表不能使用,而且系统存在很多bug。经过演示决定修改bug,继续增加报表的功能(报表太复杂了,一直修改到项目结束)。
      转眼春节了,一期的项目已经延期了3个月,才算正式的上线。这时工厂管理还有一些功能没有使用。
在二期工程中,工厂管理,仓库管理,采购管理,财务结算,人事管理。
在这些模块中工厂管理是最复杂的,包括生产调度,印刷车间,装订车间,半成品质检,外协管理,成品质检和送货管理。
生产调度是调度工单的印刷顺序,可以根据机器、工单的紧迫性等安排印刷,并且规定工单在印刷、装订、质检、送货的完成时间。调度后的生产安排计划表可以让业务员查询,随时掌握当前的印刷状况,及时估计出新接订单的完成时间。当工厂繁忙时,可以提前告诉客户。
印刷、装订、质检工人都采用计件工资的形式。程序上采用每日上报的制度,月末统计每个人的产量。印刷计件采用每千印多少钱,每版多少钱,事先规定好班组中组长、一助、二助分别占据的比例,月末统计工资。装订计件根据不同的装订工序确定系数,每日上报,月末生成计件工资。质检也是如此。

印刷装订过程中,需要领纸、领料、补纸、补料(在机补、下机补),所有领料步骤与仓库管理想连接,自动出库。据此可以统计每个机台每个班组的用料情况。

另外,质检过程发现的问题记录下来,严重者定为生产事故。质检管理还包括客户投诉的内容,客户投诉的内容也要记录到事故管理。据此统计出每月的事故率,每个机台的事故率,作为质量工资的依据。

设备维修和设备保养是按照计时的形式,统计每个人的工作量。

工资模块中主要统计每个人的奖励性工资。业务员为提成,工厂工人为计件工资、质量工资和保养工资。最后再计算行政性的奖励和处罚。

仓库管理是另外一个复杂的模块。采购完成后可以执行入库,客户自带的纸张入库,退库入库,库存盘赢入库等多种入库。工厂印刷等车间领生产原料直接执行出库操作,领办公用品需要填写出库申请,其他部门从仓库领东西都要填写出库申请,经过部门主管确认才可以到库房领。库存盘点可以得出每一种材料的上月结存,本月收入,本月支出,本月结存。开发过程中对于盘点的算法需要多加考虑。

与财务有关的订单结算,外协结算,采购结算,并分别出统计报表。

在经过了6个月的紧张开发后,终于实现了上述全部功能。 

合作请与我联系:jiaoyouzhang@gmail.com