最近**化工项目需做二次开发
主要实现功能是:对方ERP给出一些xml文件,这些文件没有通过前台手工录入方式处理数据,而是通过用友实现
为了同步数据库,因此需解析对方所给xml,后台调度自动运行。
二次开发解决步骤:
1.寻找合适的曾经开发过此功能的项目。***化工项目
本项目为,新增一个独立的文件ufia,所有解析xml文件程序都在此中。
3.了解系统与此解析XML功能关系:
- web.xml中 一项File-listener Listener----->CheckNewFileListener
<listener>
<listener-class>com.winsafe.drp.util.fileListener.CheckNewFileListener</listener-class>
</listener>
- File-listener文件:CheckNewFileListener ---->FILEMONITOR
Properties p = JProperties.loadProperties("ftpFilePath.properties",JProperties.BY_CLASSLOADER);
FILEMONITOR = new FileMonitor(p,1000);
FILEMONITOR.start(false);
通过fileMoniter传参10000每10秒去查找相应目录下xml文件,若存在,则进行解析。
解析成功后则进行xml数据调用importdata文件处理。
Document document = FileUtil.readXml(tempTargetDir + "/" + fileList[i].getName());
ImportSysData.importData(document,fileList[i].getName());
- 进入importData进行各种处理。
此次主要有:
需要明确问题:当表增加字段时,一般不会出现问题。因为只多不少原则。
遇到问题:xml测试数据在数据库中没有找到,product中nccode字段根据xml设值,warehourse中nncode字段根据xml设值。
不管细节,先特定的设一些报错值,使其能流程走下去,并解析成功。
6.解析流程成功后,进入代码细节处调整开发。
- 再进行控制有关的细节处理,如状态