package com.monitor.resolve;
import java.io.File;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import com.monitor.entity.Fcs13;
import com.monitor.service.TimeFor;
@Service
public class ReadXmlService {
Log log = LogFactory.getLog(TimeFor.class);
@Autowired(required = false)
private JdbcTemplate jdbc;
public JdbcTemplate getJdbc() {
return jdbc;
}
public void setJdbc(JdbcTemplate jdbc) {
this.jdbc = jdbc;
}
private PreparedStatement ps=null;
Fcs13 book = new Fcs13();
public void resolve(){
refreshFileList("D:\\SAICFTEST\\INTERFACE\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\");
}
private void refreshFileList(String strPath) {
String str = null;
String strctl = null;
File dir = new File(strPath);
File[] files = dir.listFiles();
String fileName = null;
String fileCtlName = null;
List list = new ArrayList();
List listctl = new ArrayList();
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
refreshFileList(files[i].getAbsolutePath());
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
String strFileNamedaxie = strFileName.toUpperCase();
if(strFileName.endsWith(".xml")){
str = strFileName;
File str1 = new File(str.trim());
fileName = str1.getName();
list.add(fileName);
}
}
}
for(int j = 0;j<list.size();j++){
File f1 = new File((String) list.get(j));
try {
SAXReader reader = new SAXReader();
File f=new File("D:\\SAICFTEST\\INTERFACE\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\"+f1);
Document doc = reader.read(f);
Element root=doc.getRootElement();
//取出所有的节点
List all = doc.selectNodes("//BODY/RECORD");
for(Object obj:all){
Node childNode =(Node) obj;
List rfid=childNode.selectNodes("RFID");
for(Object orfid:rfid){
Node rf=(Node)orfid;
book.setRfid(rf.getStringValue());
}
List occur_time = childNode.selectNodes("OCCUR_TIME");
for(Object ooccur_time:occur_time){
Node ot=(Node) ooccur_time;
book.setOccur_Time(ot.getStringValue());
}
List monitor_flag = childNode.selectNodes("MONITOR_FLAG");
for(Object omonitor_flag:monitor_flag){
Node mf=(Node) omonitor_flag;
book.setMonitor_Flag(mf.getStringValue());
}
try {
String xmlname = f1.getName();
String xmlnamesplit = xmlname.substring(0, 26);
String XMLNAME = xmlnamesplit.toUpperCase();
book.setFileName(XMLNAME);
String sql = "insert into IF_GROUP_FCS13(FCS13_FileName,FCS13_Rfid,FCS13_OccurTime,FCS13_MonitorFlag,FCS13_RecStatus,FCS13_RecTime) values('"+book.getFileName()+"','"+book.getRfid()+"','"+book.getOccur_Time()+"','"+book.getMonitor_Flag()+"','0',getDate())";
jdbc.execute(sql);
String sql2 = "{call sp_if_gen_fcs12ctl('"+book.getFileName()+"')}";
jdbc.execute(sql2);
} catch (Exception e) {
e.printStackTrace();
}
}
File fold = new File("D:\\SAICFTEST\\INTERFACE\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\"+f1);//生成XML文件路径
String strNewPath = "D:\\SAICFTEST\\BACKUP\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\";//移出XML文件路径
File fnewpath = new File(strNewPath);
if(!fnewpath.exists())
fnewpath.mkdirs();
File fnew = new File(strNewPath+fold.getName());
fold.renameTo(fnew);
} catch (Exception e) {
e.printStackTrace();
}
}
// for (int k = 0; k < files.length; k++) {
// if (files[k].isDirectory()) {
// refreshFileList(files[k].getAbsolutePath());
// } else {
// String strFileName1 = files[k].getAbsolutePath().toLowerCase();
// if(strFileName1.endsWith(".ctl")){
// strctl = strFileName1;
// File strCtl = new File(strctl.trim());
// fileCtlName = strCtl.getName();
// listctl.add(fileCtlName);
// }
// }
// }
//
// for(int m = 0;m<listctl.size();m++){
// File fctl = new File((String) listctl.get(m));
// File foldctl = new File("D:\\SAICFTEST\\INTERFACE\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\"+fctl);//生成的CTL路径
// String strNewPathctl = "D:\\SAICFTEST\\BACKUP\\SAICF_FCS\\FCS13_RFIDMONITORINFO\\";//移出的CTL路径
// File fnewpathctl = new File(strNewPathctl);
// if(!fnewpathctl.exists())
// fnewpathctl.mkdirs();
// File fnewctl = new File(strNewPathctl+foldctl.getName());
// foldctl.renameTo(fnewctl);
}
}
}
分享到:
相关推荐
XMLS企业建站系统主要用于中小企业web站点的搭建和管理,通过配置XML来快速构建站点,安装步骤简单快捷,能在短时间内独立完成一个web站点,系统的功能模块和模版风格可根据企业需要添加或更换,每套系统均有独立的...
XMLS快速建站系统框架是一种高效的企业级建站解决方案,专为加速企业网站和电子商务项目的开发而设计。这个框架以其易用性和灵活性赢得了好评,它允许开发者以更快的速度构建功能丰富的网站,同时降低了维护成本。 ...
[企业政府]XMLS企业建站系统 v2.02 源码版_xmls_code.zip源码ASP.NET网站源码打包下载[企业政府]XMLS企业建站系统 v2.02 源码版_xmls_code.zip源码ASP.NET网站源码打包下载[企业政府]XMLS企业建站系统 v2.02 源码版_...
XMLS企业建站系统主要用于中小企业web站点的搭建和管理,通过配置XML来快速构建站点,安装步骤简单快捷,能在短时间内独立完成一个web站点,系统的功能模块和模版风格可根据企业需要添加或更换,每套系统均有独立的...
"XMLs_tantra_xml_"可能是一个关于如何使用XML处理特定项目或应用"Tantra"的教程或者资料包。"tantra xml"标签表明这可能与名为Tantra的软件或框架有关,而XML在这里是其核心数据格式。 "tantra clientres ...
【标题】"用xmls数据库实现的论坛"揭示了这个项目是基于XML文件来构建一个论坛系统。在传统的IT行业中,数据库通常是关系型数据库(如MySQL、SQL Server或Oracle),但这里采用的是非关系型数据库——XML...
XMLS企业建站系统 v2.02 源码版_xmls_code
XMLS企业建站系统主要用于中小企业web站点的搭建和管理,通过配置XML和标签来快速构建站点,安装步骤简单快捷,能在短时间内独立完成一个web站点,系统的功能模块和模版风格可根据企业需要添加或更换,每套系统均有...
这个“ASP.NET源码——XMLS企业建站系统.zip”压缩包包含了一个基于ASP.NET的企业建站系统的源代码,名为“[企业政府]XMLS企业建站系统 v2.02 源码版_xmls_code”。这个系统可能是针对企业和政府机构设计的,用于...
XMLS企业建站系统的源码对于学习和理解ASP.NET开发以及企业级Web应用的架构设计、数据库交互、安全策略等方面都有很高的参考价值。开发者可以通过研究源码,掌握如何利用ASP.NET实现复杂的功能,并学习优秀的编程...
[企业政府]XMLS企业建站系统 v2.02 源码版_xmls_code(ASP.NET源码).rar
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
XMLS企业建站系统主要用于中小企业web站点的搭建和管理,通过配置XML来快速构建站点,安装步骤简单快捷,能在短时间内独立完成一个web站点,系统的功能模块和模版风格可根据企业需要添加或更换,每套系统均有独立的...
Zabbix HUAWEI S5700 Template ,华为 s5700 zabbix 监控模板,zabbix 3.0以上版本支持。官网资源,测试使用正常。
1. **数据解析**:Flash应用程序加载`xmls.xml`,使用XML类库解析XML文件,提取出各个K线或曲线点的数据。 2. **图形创建**:ActionScript创建图形对象,如线条(用于曲线图)和矩形(用于K线图的实体部分),并设置...
2. **创建XML配置文件**:根据你的需求创建一个WinSW.xml文件,定义服务的相关属性。 3. **配置服务**:在XML文件中指定要作为服务运行的可执行文件的路径,以及其他相关设置。 4. **安装服务**:运行WinSW.exe,...
java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLEventFactory; at org.apache.poi.openxml4j.opc.internal.marshallers.PackagePropertiesMarshaller.(PackagePropertiesMarshaller...
iBatis 是一款著名的 Java 数据库访问框架,它在早期版本(iBatis 2)中使用 XML 配置文件来定义 SQL 映射。随着时间的推移,Mybatis(iBatis 的后续版本,目前是 3.x 版本)成为更广泛采用的选择,因为它提供了更...
字形自定义 XML 这是 Georg Seifert 的字体编辑器的自定义字形集 XML 存储库。 有关如何使用这些文件的说明,请参阅。安装下载完整的 ZIP 文件并解压,或克隆存储库。 将您想要使用的任何内容重命名为“GlyphsData....
import os import cv2 as cv ... xmls_list = os.listdir(xmls_path) # 读取xml列表 if len(imgs_list) <= len(xmls_list): #若图片个数小于或等于xml个数,从图片里面找与xml匹配的 for imgName i