Smart ECM数据发布假数据测试工作。

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>

猜你喜欢

转载自chiangfai.iteye.com/blog/2215947