| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- package UIM;
- import java.io.StringWriter;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.xml.parsers.DocumentBuilder;
- import javax.xml.parsers.DocumentBuilderFactory;
- import javax.xml.parsers.ParserConfigurationException;
- import javax.xml.transform.OutputKeys;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerException;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import UIB.COM.XmlSqlParsersFactory;
- import UIM.UIM01.BEANS.YardArea;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- /**
- * 冷轧中间库库存现况查询
- *
- * @author siy
- * @date 2010-09-02
- */
- public class UIM010150 extends CoreIComponent {
- /**
- * 查询库存区域信息
- *
- * @param areaType
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryYardArea() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- // 查询区域信息
- String sql = XmlSqlParsersFactory.getSql("UIM010150_01.SELECT");
- PreparedStatement prepStat = this.getDao("KgDao").getPreparedStatement(
- sql);
- ResultSet rs = prepStat.executeQuery();
- List<YardArea> list = new ArrayList<YardArea>();
- YardArea area = null;
- while (rs.next()) {
- area = new YardArea();
- area.setAreaName(rs.getString("area_name"));
- // 查询区域下列信息
- sql = XmlSqlParsersFactory.getSql("UIM010150_02.SELECT");
- PreparedStatement prepStat2 = this.getDao("KgDao")
- .getPreparedStatement(sql.toString());
- prepStat2.setInt(1, Integer.parseInt(
- area.getAreaName().split(" ")[0].split("-")[0], 10));
- prepStat2.setInt(2, Integer.parseInt(
- area.getAreaName().split(" ")[0].split("-")[1], 10));
- ResultSet rs2 = prepStat2.executeQuery();
- List<String> cols = new ArrayList<String>();
- while (rs2.next()) {
- cols.add(rs2.getString("clf_name"));
- }
- area.setYardCols(cols.toArray());
- rs2.close();
- Connection con2 = prepStat2.getConnection();
- prepStat2.close();
- con2.close();
- list.add(area);
- }
- rs.close();
- Connection con = prepStat.getConnection();
- prepStat.close();
- con.close();
- String xmlStr = areaToXMLString(list);
- cro.setResult(xmlStr);
- return cro;
- }
- /**
- * 区域列信息转换成XML字符串
- *
- * @param list
- * @return
- */
- private String areaToXMLString(List<YardArea> list) {
- String xmlStr = null;
- if (null != list && 0 < list.size()) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory
- .newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
- Document doc = db.newDocument();
- Element root = doc.createElement("areas");
- doc.appendChild(root);
- for (int i = 0; i < list.size(); i++) {
- YardArea area = list.get(i);
- Element areaEle = doc.createElement("area");
- areaEle.setAttribute("name", area.getAreaName());
- root.appendChild(areaEle);
- Object[] cols = area.getYardCols();
- if (null != cols) {
- for (int j = 0; j < cols.length; j++) {
- Element colElement = doc.createElement("row");
- colElement.setAttribute("name", cols[j].toString());
- areaEle.appendChild(colElement);
- }
- }
- }
- TransformerFactory transFactory = TransformerFactory
- .newInstance();
- Transformer transFormer = transFactory.newTransformer();
- transFormer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
- DOMSource domSource = new DOMSource(doc);
- StringWriter sw = new StringWriter();
- StreamResult xmlResult = new StreamResult(sw);
- transFormer.transform(domSource, xmlResult);
- xmlStr = sw.toString();
- } catch (ParserConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (TransformerException te) {
- te.printStackTrace();
- }
- }
- return xmlStr;
- }
- /**
- * 查询每行垛位数及钢卷数
- *
- * @param areaType
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryColCoils(Integer areaType) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010150_03.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { areaType.intValue() });
- return cro;
- }
- /**
- * 查询钢卷总数及综合判定总数
- *
- * @param areaType
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryCoilCount(Integer areaType)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010150_04.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { areaType.intValue() });
- return cro;
- }
- public CoreReturnObject queryYardCols(Integer areaType, String coilRow) {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010150_05.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { areaType.intValue(), coilRow });
- return cro;
- }
- /**
- * 查询区域下一行的垛位中钢卷信息
- *
- * @param areaType
- * @param coilCol
- * @return
- */
- public CoreReturnObject queryYardColCoils(Integer areaType, String coilRow) {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010150_06.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { areaType.intValue(), coilRow });
- return cro;
- }
- /**
- * 查询一行中编号最小的列
- *
- * @param areaType
- * @param areaNo
- * @param coilCol
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryMinYardCol(Integer areaType, String coilCol)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010150_07.SELECT");
- PreparedStatement pSta = this.getDao("KgDao").getPreparedStatement(sql);
- pSta.setInt(1, areaType.intValue());
- pSta.setString(2, coilCol);
- ResultSet rs = pSta.executeQuery();
- int minRow = 1;
- if (rs.next()) {
- minRow = rs.getInt("CLF_COL");
- }
- cro.setResult(minRow);
- rs.close();
- Connection con = pSta.getConnection();
- pSta.close();
- con.close();
- return cro;
- }
- }
|