|
|
@@ -136,117 +136,140 @@ public class MESHelperServiceImpl implements MESHelperService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public Map<Object,Object> SPI(String data) {
|
|
|
Map<Object, Object> rmap = new HashMap<Object, Object>();
|
|
|
- try{
|
|
|
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
|
|
- DocumentBuilder builder = factory.newDocumentBuilder();
|
|
|
- try {
|
|
|
- try{
|
|
|
- Element root;
|
|
|
- NodeList books;
|
|
|
- Document document = builder.parse(new InputSource(new StringReader(data)));
|
|
|
- root = document.getDocumentElement();
|
|
|
- books = root.getChildNodes();
|
|
|
- String Username="";
|
|
|
- String Shiftname="";
|
|
|
- String MachineNO="";
|
|
|
- String LineNO="";
|
|
|
- String procedure="";
|
|
|
- String Moname="";
|
|
|
- String Lotsn="";
|
|
|
- String Side="";
|
|
|
- String Result="";
|
|
|
- String Defect="";
|
|
|
- String elementQTY="";
|
|
|
- String TestQTY="";
|
|
|
- String Time="";
|
|
|
- for (Node node = books.item(1).getFirstChild(); node != null; node = node.getNextSibling()) {
|
|
|
- {
|
|
|
- if (node.getNodeName().equals("UpdAOISPIRecord")) {
|
|
|
- NodeList books1 = node.getChildNodes();
|
|
|
- for (int i = 0; i < books1.getLength(); i++) {
|
|
|
- Node node1 = books1.item(i);
|
|
|
- if(!node1.getNodeName().equals("#text")){
|
|
|
- switch (node1.getNodeName()){
|
|
|
- case "Username":{
|
|
|
- Username=node1.getTextContent();
|
|
|
- break;
|
|
|
- }
|
|
|
- case "Shiftname":{
|
|
|
- Shiftname=node1.getTextContent();
|
|
|
- break;
|
|
|
- }
|
|
|
- case "MachineNO":{
|
|
|
- MachineNO=node1.getTextContent(); break;
|
|
|
- }
|
|
|
- case "LineNO":{
|
|
|
- LineNO=node1.getTextContent();
|
|
|
- break;
|
|
|
- }
|
|
|
- case "procedure":
|
|
|
- procedure=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Moname":
|
|
|
- Moname=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Lotsn":
|
|
|
- Lotsn=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Side":
|
|
|
- Side=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Result":
|
|
|
- Result=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Defect":
|
|
|
- Defect=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "elementQTY":
|
|
|
- elementQTY=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "TestQTY":
|
|
|
- TestQTY=node1.getTextContent();
|
|
|
- break;
|
|
|
- case "Time":
|
|
|
- Time=node1.getTextContent();
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- //System.out.printf("名称:"+node1.getNodeName());
|
|
|
- //System.out.printf("值:"+node1.getTextContent());
|
|
|
- //System.out.printf("类型:"+node1.getNodeType());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- Time=Time.substring(0,19).replaceAll("T"," ");
|
|
|
- baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE, DTI_USERNAME, DTI_MACHINE, DTI_LINECODE, DTI_RESULT, DTI_MAKECODE, DTI_SHIFTNAME, DTI_PROGRAM, DTI_DEFECT, " +
|
|
|
- "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
|
|
|
- ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','SPI','SPI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
|
|
|
- }catch (IOException e){
|
|
|
- System.out.printf(e.getMessage());
|
|
|
- }
|
|
|
+ try {
|
|
|
+ JSONObject object = JSONObject.fromObject(data);
|
|
|
+
|
|
|
+ if (!object.containsKey("SPIRecord") || object.get("SPIRecord") == null) {
|
|
|
+ rmap.put("code", -1);
|
|
|
+ rmap.put("result","NG");
|
|
|
+ rmap.put("message", "缺少必要节点: SPIRecord");
|
|
|
+ return rmap;
|
|
|
}
|
|
|
- catch (SAXException e){
|
|
|
|
|
|
+ JSONObject record = JSONObject.fromObject(object.get("SPIRecord"));
|
|
|
+ String Username = record.optString("Username", "");
|
|
|
+ String Shiftname = record.optString("Shiftname", "");
|
|
|
+ String MachineNO = record.optString("MachineNO", "");
|
|
|
+ String LineNO = record.optString("LineNO", "");
|
|
|
+ String procedure = record.optString("procedure", "");
|
|
|
+ String Moname = record.optString("Moname", "");
|
|
|
+ String Lotsn = record.optString("Lotsn", "");
|
|
|
+ String Side = record.optString("Side", "");
|
|
|
+ String Result = record.optString("Result", "");
|
|
|
+ String Defect = record.optString("Defect", "");
|
|
|
+ String elementQTY = record.optString("elementQTY", "");
|
|
|
+ String TestQTY = record.optString("TestQTY", "");
|
|
|
+ String Time = record.optString("Time", "");
|
|
|
+
|
|
|
+ if (Time.contains("T")) {
|
|
|
+ Time = Time.substring(0, 19).replaceAll("T", " ");
|
|
|
}
|
|
|
- }catch (ParserConfigurationException e){
|
|
|
|
|
|
+ SqlRowList rs=baseDao.queryForRowSet("SELECT devicetestinfo_seq.NEXTVAL seq FROM dual");
|
|
|
+ Map<Object, Object> paramsMap = new HashMap<Object, Object>();
|
|
|
+ if(rs.next()){
|
|
|
+ paramsMap.put("DTI_ID",rs.getString("seq"));
|
|
|
+ paramsMap.put("DTI_SNCODE",Lotsn);
|
|
|
+ paramsMap.put("DTI_USERNAME",Username);
|
|
|
+ paramsMap.put("DTI_MACHINE",MachineNO);
|
|
|
+ paramsMap.put("DTI_LINECODE",LineNO);
|
|
|
+ paramsMap.put("DTI_RESULT",Result);
|
|
|
+
|
|
|
+ paramsMap.put("DTI_MAKECODE",Moname);
|
|
|
+ paramsMap.put("DTI_SHIFTNAME",Shiftname);
|
|
|
+ paramsMap.put("DTI_PROGRAM",procedure);
|
|
|
+ paramsMap.put("DTI_DEFECT",Defect);
|
|
|
+ paramsMap.put("DTI_TESTQTY",TestQTY);
|
|
|
+
|
|
|
+ paramsMap.put("DTI_MACHINETYPE","SPI");
|
|
|
+ paramsMap.put("DTI_TYPE","SPI");
|
|
|
+
|
|
|
+ paramsMap.put("DTI_TIME",Time);
|
|
|
+ paramsMap.put("DTI_SOURCECONTENT","");
|
|
|
+ paramsMap.put("dti_elementQTY",elementQTY);
|
|
|
+ paramsMap.put("dti_side",Side);
|
|
|
+ baseDao.execute(SqlUtil.getInsertSqlByMap(paramsMap,"devicetestinfo"));
|
|
|
+ }
|
|
|
+
|
|
|
+ rmap.put("code","0");
|
|
|
+ rmap.put("result","OK");
|
|
|
+ rmap.put("ServerMessage","MES:检查数据上传成功!");
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.printf(e.getMessage());
|
|
|
}
|
|
|
return rmap;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public String AOI(String Username,String Shiftname, String MachineNO, String LineNO, String procedure,String Moname, String Lotsn,String Side,String Result,String Defect,String elementQTY,String TestQTY,String Type,String Time) {
|
|
|
- baseDao.execute("insert into devicetestinfo(DTI_ID, DTI_SNCODE, DTI_USERNAME, DTI_MACHINE, DTI_LINECODE, DTI_RESULT, DTI_MAKECODE, DTI_SHIFTNAME, DTI_PROGRAM, DTI_DEFECT, " +
|
|
|
- "DTI_TESTQTY, DTI_MACHINETYPE, DTI_TYPE, DTI_TIME, DTI_SOURCECONTENT,dti_elementQTY)values(devicetestinfo_seq.nextval,'"+Lotsn+"','"+Username+"','"+MachineNO+"','"+LineNO+"','"+Result+"'" +
|
|
|
- ",'"+Moname+"','"+Shiftname+"','"+procedure+"','"+Defect+"','"+TestQTY+"','"+Type+"','AOI',to_date('"+Time+"','yyyy-mm-dd hh24:mi:ss'),'','"+elementQTY+"')");
|
|
|
- return "";
|
|
|
+ public Map<Object, Object> AOI(String data) {
|
|
|
+ Map<Object, Object> rmap = new HashMap<Object, Object>();
|
|
|
+ try {
|
|
|
+ JSONObject object = JSONObject.fromObject(data);
|
|
|
+
|
|
|
+ if (!object.containsKey("AOIRecord") || object.get("AOIRecord") == null) {
|
|
|
+ rmap.put("code", -1);
|
|
|
+ rmap.put("result", "NG");
|
|
|
+ rmap.put("message", "缺少必要节点: AOIRecord");
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject record = JSONObject.fromObject(object.get("AOIRecord"));
|
|
|
+ String Username = record.optString("Username", "");
|
|
|
+ String Shiftname = record.optString("Shiftname", "");
|
|
|
+ String MachineNO = record.optString("MachineNO", "");
|
|
|
+ String LineNO = record.optString("LineNO", "");
|
|
|
+ String procedure = record.optString("procedure", "");
|
|
|
+ String Moname = record.optString("Moname", "");
|
|
|
+ String Lotsn = record.optString("Lotsn", "");
|
|
|
+ String Side = record.optString("Side", "");
|
|
|
+ String Result = record.optString("Result", "");
|
|
|
+ String Defect = record.optString("Defect", "");
|
|
|
+ String elementQTY = record.optString("elementQTY", "");
|
|
|
+ String TestQTY = record.optString("TestQTY", "");
|
|
|
+ String Type = record.optString("Type", "AOI");
|
|
|
+ String Time = record.optString("Time", "");
|
|
|
+
|
|
|
+ if (Time.contains("T")) {
|
|
|
+ Time = Time.substring(0, 19).replaceAll("T", " ");
|
|
|
+ }
|
|
|
+
|
|
|
+ SqlRowList rs = baseDao.queryForRowSet("SELECT devicetestinfo_seq.NEXTVAL seq FROM dual");
|
|
|
+ Map<Object, Object> paramsMap = new HashMap<Object, Object>();
|
|
|
+ if (rs.next()) {
|
|
|
+ paramsMap.put("DTI_ID", rs.getString("seq"));
|
|
|
+ paramsMap.put("DTI_SNCODE", Lotsn);
|
|
|
+ paramsMap.put("DTI_USERNAME", Username);
|
|
|
+ paramsMap.put("DTI_MACHINE", MachineNO);
|
|
|
+ paramsMap.put("DTI_LINECODE", LineNO);
|
|
|
+ paramsMap.put("DTI_RESULT", Result);
|
|
|
+
|
|
|
+ paramsMap.put("DTI_MAKECODE", Moname);
|
|
|
+ paramsMap.put("DTI_SHIFTNAME", Shiftname);
|
|
|
+ paramsMap.put("DTI_PROGRAM", procedure);
|
|
|
+ paramsMap.put("DTI_DEFECT", Defect);
|
|
|
+ paramsMap.put("DTI_TESTQTY", TestQTY);
|
|
|
+
|
|
|
+ paramsMap.put("DTI_MACHINETYPE", Type);
|
|
|
+ paramsMap.put("DTI_TYPE", "AOI");
|
|
|
+
|
|
|
+ paramsMap.put("DTI_TIME", Time);
|
|
|
+ paramsMap.put("DTI_SOURCECONTENT", "");
|
|
|
+ paramsMap.put("dti_elementQTY", elementQTY);
|
|
|
+ paramsMap.put("dti_side", Side);
|
|
|
+ baseDao.execute(SqlUtil.getInsertSqlByMap(paramsMap, "devicetestinfo"));
|
|
|
+ }
|
|
|
+
|
|
|
+ rmap.put("code", "0");
|
|
|
+ rmap.put("result", "OK");
|
|
|
+ rmap.put("ServerMessage", "MES:AOI数据上传成功!");
|
|
|
+ } catch (Exception e) {
|
|
|
+ rmap.put("code", -1);
|
|
|
+ rmap.put("result", "NG");
|
|
|
+ rmap.put("message", "AOI接口异常: " + e.getMessage());
|
|
|
+ }
|
|
|
+ return rmap;
|
|
|
}
|
|
|
|
|
|
@Override
|