恩信ERP7.10安装、定制和二次开发
时间:2022-12-29 22:30:00
本文转自博客:wochi.cublog.cn”
第一部分:点评。
在开源社区,活动中有很多中国人,但中国人贡献的开源软件很少,更不用说优秀的开源产品了。这一次,恩信开源了东东,至少表现出了开放的态度,更重要的是,这个开源ERP还能用!
自去年年底以来,我一直在帮助深圳的一家企业实施恩信ERP。安装非常容易,初始化更困难,建立一个开发环境更困难,但我克服了一切。在原有功能的基础上,增加了许多必要的功能:如反审核、产品档案登记直接输入产品编号、材料成本价格小数位数调整到4位、财务系统试算平衡表、科目余额表、各种反结算结转功能、税率增加等。
恩信erp程序代码的质量真的不敢恭维,更不用说产品的格式规范了(我个人理解是恩信故意打乱代码以增加阅读难度,如果是无意行为,很难相信开发人员从初中毕业),错误,开发人员没有考虑合理利用计算机资源——内存分配,CPU占用和数据库表设计是外行,无用变量的定义随处可见,无用的代码充满着每个程序片段。更让人脸红的是,数据库表的所有关键字段都是自动增长的id字段,为什么数据库表记录使用关键字段和数据库表设计必须考虑范式问题,恩信开发人员真的不知道!
对恩信开源erp,里面的一些功能实际上是如试算平衡,只是在jsp根据恩信着试算平衡),根据恩信官方介绍,开源erp和vip erp主体部分是一样的,但真的是这样吗?答案是否定的。如果计算机同事不能进行二次开发,强烈建议你不要开源你的信仰ERP用于企业,因为没有人能保证华丽的操作界面下有什么漏洞!!
这里我给恩信一个建议:参考康比尔(compirer)开源策略,同时推出开源成品和闭源产品,从开源产品中带走一些重要功能,然后在官方网站上明确说明两者的区别,但开源erp程序代码的质量确实需要改进。我曾经记得一个重量级的开源软件追随者开发了一个功能很好的软件,但他不敢开源。他说,他不开源的原因是害怕羞耻。与一些优秀的开源软件相比,他的程序代码质量不在同一水平。
如果你想通过开源策略提高你产品的知名度,但担心别人不付费直接使用,这是一种非常短视的行为。如果恩信不改变这一策略,未来注定是渺茫的。
据朋友介绍,恩信官方软件(2008-12-12)设置了更严格的策略,防止代码修改,也就是说,他们不提倡不购买服务的人进行二次开发,这就增加了难度,除非你购买服务,否则我没有验证。看来恩信目前的生活很艰难。谁能在金融海啸席卷全球的环境中幸免?
***以下是深圳恒伟电子的实施ERP例子(简称hwdz),以-开头的行是注释,让你理解,而不是命令的一部分***
第二部分:安装。
首先,准备所有的安装包
1.从恩信官网下载快速安装包nseererpv7.0.msi(C盘应该有足够的空间,因为应该有足够的空间);
2、下载apache2安装包:apache_2.2.9-win32-x86-no_ssl-r2.msi
3、下载php安装包:php-5.2.6-win32-installer.msi
4.下载安装包:phpMyAdmin2.zip
5、下载恩信ERP部署包ERPv7.0ForTomcat5Mysql5.zip,后面需要使用库表脚本ondemand1.sql
6、下载tomcat5.0.用于开发环境。
二、安装
1、安装恩信ERP:
先卸掉jdk、mysql、tomcat并删除相关目录文件。nseererpv7.0.msi开始安装,一路点击下一步,直到完成,然后重启。
2.使用图形操作mysql数据库工具phpmyadmin,以下三个软件需要安装:
1)、安装apache2:点击apache_2.2.9-win32-x86-no_ssl- r2.msi-->...->:Network Domain=localhost|Server Name=localhost|Administrator's Email=xxx@163.com-->然后继续下去,直到完成。
2)、安装PHP:点击php-5.2.6-win32-installer.msi-->..->选择“apache 2.2.x Module”-->Apache Configuration Directory=C:/Program Files/Apache Software Foundation/Apache2.2/conf-->加装扩展extensions.MYSQL、Multi-Byte String和Extras.PHP Manul-->下一步直到完成。
3)、安装phpmyadmin:将目录解压phpMyAdmin-2.11.7.1-all- languages拷贝C:/Program Files/Apache Software Foundation/Apache2.2/htdocs下并改名为phpMyAdmin。重启apache2即可。
修改文件C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf,在DirectoryIndex index.html后加 index.php.
重启计算机。进入网站浏览器http://localhost/phpmyadmin可操作数据库。
三、试着登录恩信ERP:
启动tomcat: 开始-->所有程序-->nseererp v7.0-->启动恩信开源ERP TOMCAT服务器;
登录:在网站浏览器中输入http://localhost:8080/erp/home/login.jsp或开始-->所有程序-->nseererp v7.0-->登录恩信科技ERP系统
输入用户名nseer_admin,密码是admin
第三部分:调整。
1.调整数据库表数据:
任何一种方法都可以使用以下两种方法:
方法一:
登录图形操作数据库界面http://localhost/phpmyadmin并进入sql命令界面
1.修改默认前缀nseer_为hwdz_:
update ondemand1.ecommerce_cols_bottom set unit_id='hwdz';
update ondemand1.ecommerce_cols_top set unit_id='hwdz';
update ondemand1.ecommerce_colsa set unit_id='hwdz';
update ondemand1.ecommerce_colsv set unit_id='hwdz';
update ondemand1.ecommerce_web_base set unit_id='hwdz';
update ondemand1.security_license set unit_id='hwdz';
--把表security_users中的字段NAME对应的前缀nseer_替换成前缀hwdz_
update ondemand1.security_users set name='hwdz_admin';
--替换所有恩信科技开源ERP深圳恒伟电子ERP”:
update ondemand1.document_multilanguage set name=replace(name,‘恩信科技开源ERP深圳恒伟电子ERP') where name like '%恩信科技开源ERP%';
update ondemand1.document_multilanguage set name=replace(name,'恩信科技ERP深圳恒伟电子ERP') where name like 科技%恩信ERP%';
update mysql.unit_info set unit_id='hwdz',unit_name=深圳恒伟电子ERP用户', expiry_period=1000,use_period='2099-01-01';
方法二:
&nsp; 解压部署包phpMyAdmin2.zip中的ondemand1.sql,并记事本打开并修改它:
1)、查找定位INSERT INTO `ecommerce_cols_bottom`,把该插入语句中的'nseer'全部替换成'hwdz';
2)、查找定位INSERT INTO `ecommerce_cols_top`,把该插入语句中的'nseer'全部替换成'hwdz';
3)、查找定位INSERT INTO `ecommerce_colsa`,把该插入语句中的'nseer'全部替换成'hwdz';
4)、查找定位INSERT INTO `ecommerce_web_base`,把该插入语句中的'nseer'全部替换成'hwdz';
5)、查找定位INSERT INTO `security_license`,把该插入语句中的'nseer'全部替换成'hwdz';
6)、查找定位INSERT INTO `security_users`,把该插入语句中的'nseer_admin'全部替换成'hwdz_admin';
7)、替换“恩信科技开源ERP”成“深圳恒伟电子ERP”;
8)、替换“恩信科技ERP”成“深圳恒伟电子ERP”;
9)、查找定位INSERT INTO `unit_info`,把其中的'nseer'替换为'hwdz',,10,替换为,100,,
9)、进入命令行(开始-->运行:CMD)并输入命令mysql -uroot < ondemand1.sql
注意:上面的命令中如果ondemand1.sql不在当前目录,那么需要明确指明路径,比如ondemand1.sql在c:/tmp下,那么命令就是mysql -uroot < c:/tmp/ondemand1.sql
二、修改jsp程序:
修改/erp/home/user_enrollment.jsp,定位文件中“使用单位简称”这一行下面的"nseer"为"hwdz";
修改/erp/home/user_enrollment.jsp,替换“恩信科技ERP系统用户注册”为“深圳恒伟电子ERP系统用户注册”
三、失效ERP中的一些主要模块(诸如产品设计等就不能使用了)(这一步可选:可做可不做):
delete from erpplatform_config_public_char where kind='nseer_file';
-- 系统在启动时通过读取表erpplatform_config_public_char中的describe1字段生成文件C:/APPDIR /webapps/erp/javascript/include/nseergrid/nseergrid.js,而该文件被包含于大量的页面文件中。
UPDATE `ondemand1`.`oa_config_public_char` SET `TYPE_NAME` = 'www.relysz.com' WHERE `oa_config_public_char`.`kind` ='公司网站';
-- 修改ERP系统中公司网站地址:
四、再试试登陆恩信ERP:
关闭tomcat: 开始-->所有程序-->nseererp v7.0-->关闭恩信开源ERP TOMCAT服务器;
启动tomcat: 开始-->所有程序-->nseererp v7.0-->启动恩信开源ERP TOMCAT服务器;
登陆:在网站浏览器中输入http://localhost:8080/erp/home/login.jsp或开始-->所有程序-->nseererp v7.0-->登陆恩信科技ERP系统
输入用户名hwdz_admin密码是admin
五、修补一些bug:
bug 1)、现象:登陆ERP,随便点击任何一个模块。那么每隔3秒就自动向数据库发出如下查询:
Connect nseer@localhost on ondemand1
select * from erpPlatform_checkAlarm where main_id='02' order by id
--其中main_id='02'表明我们点击了第二主模块“产品设计”,每隔3秒就链接一次数据库、查询一次数据库(查询结果可能还很多),这样就把处于关键地位的数据库严重拖累,ERP整体性能非常慢。
修补:C:/APPDIR/webapps/erp/javascript/include/nseer_cookie/toolTip.js,定位函数function nseer_alarm()中的一行:
var delay=3000;
改成:
var delay=30000;
--把时间间隔调整为30秒(即30000毫秒)。
bug 2)、现象:登陆ERP,财务系统-->客户化设置-->会计科目设置-->会计科目设置:选中一个没有子科目的科目,然后点击“添加同级”按钮,增加一个科目,然后再刷新页面,则出现问题:
1)、那个没有子科目的科目出现具有子科目的标志,但实际上却没有子科目;2)、删除那个新科目时报“正在使用,不能删除”。
修补:
六、定制ERP界面:
1、修改弹出式广告:
1)、恩信erp登陆界面右下角的弹出广告:
编辑(用dreamweaver或记事本打开)文件C:/APPDIR/webapps/erp/home/login.jsp,移到末尾,把那些文字信息修改或删除。
2)、登陆erp后出现的广告:
编辑(用dreamweaver或记事本打开)文件C:/APPDIR/webapps/erp/main/index_middle1.jsp,把尾部的