
1. ScriptBom.java//文件方法供接口调用
代码:
public String setBomEcnHistoryDataByXML(String strView){//传入arg文件名 String xml = "";
strView+=".xml";
StringBuffer buffer = new StringBuffer();
try {
InputStream in = ScriptBom.class.getClassLoader().getResourceAsStream("alfresco/model/bomtest/"+strView); //需要解析的XML文件路径
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"utf-8"));
String str;
while ((str = reader.readLine()) != null) {
buffer.append(str.replaceAll(" ", ""));
} } catch (Exception e) { }
xml = buffer.toString();
try { //xml文件解析
SAXReader reader = new SAXReader();
Document document = reader.read(new StringReader(xml));
Element rootElement = document.getRootElement();
List<Element> pElements = rootElement.selectNodes("//ecn");
for(Element element: pElements){
String ecnId = element.attributeValue("ecnId");
String editor = element.attributeValue("editor");
String typeId = element.attributeValue("typeId");
String editDate = element.attributeValue("editDate");
String releaseDate = element.attributeValue("releaseDate");
String ecmId = element.attributeValue("ecmId"); String ecnName = element.getText();
//insert bom_product
bomService.insertBomEcnHistory(ecnId, editor, typeId, editDate, releaseDate, ecnName, ecmId);//调service层插入数据 }
} catch (DocumentException docErr) {
docErr.printStackTrace();
} return xml;
}
2.BomService.java
代码:
public void insertBomEcnHistory(String ecnId,String editor,String typeId,String editDate,String releaseDate,String ecnName,String ecmId ){
bom_ecn_history obj = new bom_ecn_history();//实体对象
obj.setEcmId(ecmId);
obj.setEcnId(ecnId);
obj.setEcnName(ecnName);
obj.setEditDate(editDate);
obj.setReleaseDate(releaseDate);
obj.setTypeId(typeId);
obj.setEditor(editor);
bomDao.add_bom_ecn_history(obj);
}
3.BomDao.java
代码:
public void add_bom_ecn_history(bom_ecn_history obj) {
if(queryEcnHistoryById(obj.getEcnId())>0){
return;
}
template.insert("add_bom_ecn_history", obj);
} public int queryEcnHistoryById(String id) {//插入数据时查询是否存在
return (Integer) template.queryForObject("queryEcnHistoryById", id);
}
4.bom-insert-SqlMap.xml
代码:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap>
<typeAlias alias="bom_ecn_history" type="org.alfresco.repo.bom.model.bom_ecn_history" /> <select id="queryEcnHistoryById" parameterClass="String" resultClass="int">
select count(*) from bom_ecn_history where bom_ecn_history.ecnId = #ecnId#
</select> <insert id="add_bom_ecn_history" parameterClass="bom_ecn_history">
INSERT INTO bom_ecn_history
(ecnId,editor,typeId,editDate,releaseDate,ecnName,ecmId)
VALUES
(#ecnId#,#editor#,#typeId#,#editDate#,#releaseDate#,#ecnName#,#ecmId#)
</insert> </sqlMap>