yhluo 3 недель назад
Родитель
Сommit
e42465a384

+ 24 - 47
src/main/java/com/uas/eis/controller/MESHelperController.java

@@ -71,6 +71,30 @@ public class MESHelperController {
         return map;
     }
 
+    //Xray测试
+    @RequestMapping(value="/XrayTestDataSave")
+    public Map<Object,Object> XrayTestDataSave(HttpServletRequest request,  @RequestBody String json){
+        Map<String, Object> modelMap = new HashMap<String, Object>();
+        Map<Object,Object> map = mesHelperService.XrayTestDataSave(json);
+        return map;
+    }
+
+    //SPI接口
+    @RequestMapping(value="/SPI")
+    public Map<Object,Object> SPI(HttpServletRequest request,  @RequestBody String json){
+        Map<Object,Object> map = mesHelperService.SPI(json);
+        return map;
+    }
+
+    //AOI接口
+    @RequestMapping(value="/AOI")
+    public Map<Object,Object> AOI(HttpServletRequest request,  @RequestBody String json) {
+        Map<Object,Object> map = mesHelperService.AOI(json);
+        return map;
+    }
+
+
+
     //抛料数据接口
     @RequestMapping(value="/StateEventDetail")
     public Map<Object,Object> StateEventDetail(HttpServletRequest request,  @RequestBody String json){
@@ -104,13 +128,6 @@ public class MESHelperController {
         return map;
     }
 
-    //追溯信息接口
-    @RequestMapping(value="/XrayTestDataSave")
-    public Map<Object,Object> XrayTestDataSave(HttpServletRequest request,  @RequestBody String json){
-        Map<String, Object> modelMap = new HashMap<String, Object>();
-        Map<Object,Object> map = mesHelperService.XrayTestDataSave(json);
-        return map;
-    }
 
 
     //
@@ -130,46 +147,6 @@ public class MESHelperController {
         return map;
     }
 
-    //SPI接口
-    @RequestMapping(value="/SPI")
-    public Map<Object,Object> SPI(HttpServletRequest request,  @RequestBody String json){
-        Map<String, Object> modelMap = new HashMap<String, Object>();
-        Map<Object,Object> map = mesHelperService.SPI(json);
-        return map;
-    }
-
-    //AOI接口
-    @RequestMapping(value="/AOI")
-    public String AOI(HttpServletRequest request,@RequestBody String Data,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) {
-        Data=Data+"1";
-        Element root = DocumentHelper.createElement("Data");
-        Document document = DocumentHelper.createDocument(root);
-        String Err=mesHelperService.AOI( Username, Shiftname,  MachineNO,  LineNO,  procedure, Moname,
-                Lotsn, Side, Result, Defect, elementQTY, TestQTY, Type, Time);
-        Element element1 = root.addElement("Result");
-        Element element2 = root.addElement("ErrMsg");
-
-        if(Err.equals("")||Err==null){
-            element1.setText("OK");
-            element2.setText("");
-        }else{
-            element1.setText("NG");
-            element2.setText(Err);
-        }
-
-        StringWriter stringWriter = new StringWriter();
-        OutputFormat format = OutputFormat.createPrettyPrint();
-        XMLWriter xmlWriter = new XMLWriter(stringWriter, format);
-        try {
-            xmlWriter.write(document);
-        } catch (IOException  e) {
-            e.printStackTrace();
-        }
-        String xmlString = stringWriter.toString();
-        return xmlString;
-    }
-
 
     //更新刮刀数据
     @RequestMapping(value="/UploadSteel",method = RequestMethod.POST)

+ 6 - 6
src/main/java/com/uas/eis/service/MESHelperService.java

@@ -19,10 +19,15 @@ public interface MESHelperService {
 
 	Map<Object, Object> FirstInspect(String data);
 
+	Map<Object, Object> XrayTestDataSave(String data);
+
+	Map<Object, Object> SPI(String data);
+
+	Map<Object, Object> AOI(String data);
+
 	Map<Object, Object> SetupResultDataInterface(String data);
 
 	Map<Object, Object> TraceabilityDataInterface(String data);
-	Map<Object, Object> XrayTestDataSave(String data);
 
 	Map<Object, Object> SendPlaceData(String data);
 
@@ -30,15 +35,10 @@ public interface MESHelperService {
 
 	Map<Object, Object> Radium(String data);
 
-	Map<Object, Object> SPI(String data);
-
 	String CheckSteel(String data);
 
 	String UploadSteel(String SteelMeshCode,String scraperCode, String SteelMeshCount, String scraperCount, String datatime);
 
-	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);
-
 	Map<Object, Object> getMESSnCode(String data);
 
 }

+ 123 - 100
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -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