Browse Source

抛料数据上传

callm 2 years ago
parent
commit
873cd311f7

+ 13 - 5
src/main/java/com/uas/eis/controller/MESHelperController.java

@@ -39,7 +39,15 @@ public class MESHelperController {
         return ApiResponse.successRsp(requestId,map);
     }
 
-    //天马电子秤对接接口
+    //抛料数据接口
+    @RequestMapping(value="/SendPlaceData")
+    public Map<Object,Object> SendPlaceData(HttpServletRequest request,  @RequestBody String json){
+        Map<String, Object> modelMap = new HashMap<String, Object>();
+        Map<Object,Object> map = mesHelperService.SendPlaceData(json);
+        return map;
+    }
+
+    //物料移动接口
     @RequestMapping(value="/SetupResultDataInterface")
     public Map<Object,Object> SetupResultDataInterface(HttpServletRequest request,  @RequestBody String json){
         Map<String, Object> modelMap = new HashMap<String, Object>();
@@ -48,7 +56,7 @@ public class MESHelperController {
     }
 
 
-    //天马电子秤对接接口
+    //追溯信息接口
     @RequestMapping(value="/TraceabilityDataInterface")
     public Map<Object,Object> TraceabilityDataInterface(HttpServletRequest request,  @RequestBody String json){
         Map<String, Object> modelMap = new HashMap<String, Object>();
@@ -82,10 +90,10 @@ public class MESHelperController {
     }
 
     //AOI接口
-    @RequestMapping(value="/AOI",method = RequestMethod.POST)
-    public String AOI(HttpServletRequest request,String Username,String Shiftname, String MachineNO, String LineNO, String procedure,String Moname,
+    @RequestMapping(value="/AOI",method = RequestMethod.GET)
+    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,

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

@@ -15,6 +15,8 @@ public interface MESHelperService {
 
 	Map<Object, Object> TraceabilityDataInterface(String data);
 
+	Map<Object, Object> SendPlaceData(String data);
+
 	Map<Object, Object> Radium(String data);
 
 	Map<Object, Object> SPI(String data);

+ 116 - 5
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -18,6 +18,7 @@ import org.apache.commons.lang.StringUtils;
 import org.dom4j.DocumentException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.jackson.JsonObjectDeserializer;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.w3c.dom.Document;
@@ -270,7 +271,9 @@ public class MESHelperServiceImpl implements MESHelperService {
 		Map<Object, Object> rmap = new HashMap<Object, Object>();
 
 		JSONObject object = JSONObject.fromObject(data);
-		JSONObject SetupResultDetail=object.getJSONObject("SetupResultDetail");
+		Object object1 = object.get("data");
+		JSONObject obj = JSONObject.fromObject(object1);
+		JSONObject SetupResultDetail=obj.getJSONObject("SetupResultDetail");
 		if(SetupResultDetail!=null){
 			String ActionType=SetupResultDetail.get("ActionType").toString();
 			String LineName=SetupResultDetail.get("LineName").toString();
@@ -345,15 +348,111 @@ public class MESHelperServiceImpl implements MESHelperService {
 					}
 				}
 			}
+			rmap.put("code","0");
+			rmap.put("result","OK");
+			rmap.put("ServerMessage","MES:贴片机数据记录成功");
 		}
 		return rmap;
 	}
 
+	@Override
+	public Map<Object,Object> SendPlaceData(String data) {
+		Map<Object, Object> rmap = new HashMap<Object, Object>();
+		JSONObject object = JSONObject.fromObject(data);
+		Object object1 = object.get("data");
+		JSONObject obj = JSONObject.fromObject(object1);
+		JSONObject PlacedDataDetail=obj.getJSONObject("PlacedDataDetail");
+		if(PlacedDataDetail!=null){
+			int pd_id=baseDao.getSeqId("PlacedDataDetail_seq");
+			String MESSAGESENDTIME=Time(PlacedDataDetail.getString("MessageSendTime"));
+			String COMPLETIONSTATUSTYPE=PlacedDataDetail.getString("CompletionStatusType");
+			String LINEFULLPATH=PlacedDataDetail.getString("LineFullPath");
+			String MACHINEFULLPATH=PlacedDataDetail.getString("MachineFullPath");
+			String RECIPEFULLPATH=PlacedDataDetail.getString("RecipeFullPath");
+			String RECIPENAME=PlacedDataDetail.getString("RecipeName");
+			String SETUPFULLPATH=PlacedDataDetail.getString("SetupName");
+			String BOARDFULLPATH=PlacedDataDetail.getString("BoardFullPath");
+			String FACTORYLAYOUTPATH=PlacedDataDetail.getString("FactoryLayoutPath");
+			String MACHINEID=PlacedDataDetail.getString("MachineId");
+			String MACHINETYPE=PlacedDataDetail.getString("MachineType");
+			String STATIONSOFTWAREVERSION=PlacedDataDetail.getString("StationSoftwareVersion");
+			String MONITORINGSERVICEVERSION=PlacedDataDetail.getString("MonitoringServiceVersion");
+			String COMPUTERADDRESS=PlacedDataDetail.getString("ComputerAddress");
+			baseDao.execute("insert into PlacedDataDetail(pd_id,MessageSendTime,CompletionStatusType,LineFullPath,MachineFullPath,RecipeFullPath," +
+					"RecipeName,SETUPFULLPATH,BoardFullPath,FactoryLayoutPath,MachineId,MachineType,StationSoftwareVersion,MonitoringServiceVersion," +
+					"ComputerAddress)values('"+pd_id+"',to_date('"+MESSAGESENDTIME+"','yyyy-mm-dd hh24:mi:ss'),'"+COMPLETIONSTATUSTYPE+"'," +
+					"'"+LINEFULLPATH+"','"+MACHINEFULLPATH+"','"+RECIPEFULLPATH+"','"+RECIPENAME+"','"+SETUPFULLPATH+"','"+BOARDFULLPATH+"'," +
+					"'"+FACTORYLAYOUTPATH+"','"+MACHINEID+"','"+MACHINETYPE+"','"+STATIONSOFTWAREVERSION+"','"+MONITORINGSERVICEVERSION+"','"+COMPUTERADDRESS+"')");
+			JSONArray PanelList=PlacedDataDetail.getJSONArray("PlacedComponentList");
+			for (int i=0;i<PanelList.size();i++){
+				JSONObject map1=PanelList.getJSONObject(i);
+				String TABLELOCATION =map1.getString("TableLocation");
+				String TRACK=map1.getString("Track");
+				String DIVISION=map1.getString("Division");
+				String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
+				String COMPONENTNAME=map1.getString("ComponentName");
+				String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
+				String FEEDERCATEGORY=map1.getString("FeederCategory");
+				String FEEDERTYPENAME=map1.getString("FeederTypeName");
+				String FEEDERID=map1.getString("FeederID");
+				String ACCESSTOTAL=map1.getString("AccessTotal");
+				String PlacedComponents=map1.getString("PlacedComponents");
+				String REJECTQTY=map1.getString("RejectQty");
+				String REJECTIDENT=map1.getString("RejectIdent");
+				String REJECTVACUUM=map1.getString("RejectVacuum");
+				String TRACKEMPTY=map1.getString("TrackEmpty");
+				String IDENTERRROR=map1.getString("IdentErrror");
+				String MATERIALDEFECT=map1.getString("MaterialDefect");
+				String ABSENCEAFTERPICK=map1.getString("AbsenceAfterPick");
+				String ABSENCEBEFOREPLACEMENT=map1.getString("AbsenceBeforePlacement");
+				String TREATMENTERROR=map1.getString("TreatmentError");
+				baseDao.execute("insert into PlacedComponentList(pc_id,pc_pdid,TABLELOCATION,TRACK,DIVISION,COMPONENTFULLPATH," +
+						"COMPONENTNAME,COMPONENTSHAPEFULLPATH,FEEDERCATEGORY,FEEDERTYPENAME,FEEDERID,ACCESSTOTAL,PlacedComponents," +
+						"REJECTQTY,REJECTIDENT,REJECTVACUUM,TRACKEMPTY,IDENTERRROR,MATERIALDEFECT,ABSENCEAFTERPICK,ABSENCEBEFOREPLACEMENT,TREATMENTERROR)" +
+						"values(PlacedComponentList_seq.nextval,'"+pd_id+"','"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+COMPONENTFULLPATH+"'" +
+						",'"+COMPONENTNAME+"','"+COMPONENTSHAPEFULLPATH+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"'," +
+						"'"+ACCESSTOTAL+"','"+PlacedComponents+"','"+REJECTQTY+"','"+REJECTIDENT+"','"+REJECTVACUUM+"','"+TRACKEMPTY+"'," +
+						"'"+IDENTERRROR+"','"+MATERIALDEFECT+"','"+ABSENCEAFTERPICK+"','"+ABSENCEBEFOREPLACEMENT+"','"+TREATMENTERROR+"')");
+			}
+			JSONArray PickupErrorList=PlacedDataDetail.getJSONArray("PickupErrorList");
+			for (int i=0;i<PickupErrorList.size();i++){
+				JSONObject map1=PickupErrorList.getJSONObject(i);
+				String GANTRY=map1.getString("Gantry");
+				String HEAD=map1.getString("Head");
+				String SEGMENT1=map1.getString("Segment");
+				String NOZZLE=map1.getString("Nozzle");
+				String TABLELOCATION=map1.getString("TableLocation");
+				String TRACK=map1.getString("Track");
+				String DIVISION=map1.getString("Division");
+				String TOWER=map1.getString("Tower");
+				String LEVEL1=map1.getString("Level");
+				String COMPONENTFULLPATH=map1.getString("ComponentFullPath");
+				String COMPONENTNAME=map1.getString("ComponentName");
+				String COMPONENTSHAPEFULLPATH=map1.getString("ComponentShapeFullPath");
+				String COMPONENTSHAPENAME=map1.getString("ComponentShapeName");
+				String FEEDERCATEGORY=map1.getString("FeederCategory");
+				String FEEDERTYPENAME=map1.getString("FeederTypeName");
+				String FEEDERID=map1.getString("FeederID");
+				String ERRORTYPE=map1.getString("ErrorType");
+				String ERRORDESCRIPTION=map1.getString("ErrorDescription");
+				baseDao.execute("insert into PickupErrorList(pe_id,pe_pdid,Gantry,Head,SEGMENT1,NOZZLE,TABLELOCATION,TRACK,DIVISION,TOWER" +
+						",LEVEL1,COMPONENTFULLPATH,COMPONENTNAME,COMPONENTSHAPEFULLPATH,COMPONENTSHAPENAME,FEEDERCATEGORY,FEEDERTYPENAME," +
+						"FEEDERID,ERRORTYPE,ERRORDESCRIPTION)values(PickupErrorList_seq.nextval,'"+pd_id+"','"+GANTRY+"','"+HEAD+"','"+SEGMENT1+"','"+NOZZLE+"'," +
+						"'"+TABLELOCATION+"','"+TRACK+"','"+DIVISION+"','"+TOWER+"','"+LEVEL1+"','"+COMPONENTFULLPATH+"','"+COMPONENTNAME+"'," +
+						"'"+COMPONENTSHAPEFULLPATH+"','"+COMPONENTSHAPENAME+"','"+FEEDERCATEGORY+"','"+FEEDERTYPENAME+"','"+FEEDERID+"','"+ERRORTYPE+"'," +
+						"'"+ERRORDESCRIPTION+"')");
+			}
+		}
+		return  rmap;
+	}
+
 	@Override
 	public Map<Object,Object> TraceabilityDataInterface(String data) {
 		Map<Object, Object> rmap = new HashMap<Object, Object>();
 		JSONObject object = JSONObject.fromObject(data);
-		JSONObject TraceabilityDataDetail=object.getJSONObject("TraceabilityDataDetail");
+		Object object1 = object.get("data");
+		JSONObject obj = JSONObject.fromObject(object1);
+		JSONObject TraceabilityDataDetail=obj.getJSONObject("TraceabilityDataDetail");
 		if(TraceabilityDataDetail!=null){
 			String DateBegin=Time(TraceabilityDataDetail.get("DateBegin").toString());
 			String DateCompleted=Time(TraceabilityDataDetail.get("DateCompleted").toString());
@@ -369,12 +468,21 @@ public class MESHelperServiceImpl implements MESHelperService {
 					"values("+td_id+",to_date('"+DateBegin+"','yyyy-mm-dd hh24:mi:ss'),to_date('"+DateCompleted+"','yyyy-mm-dd hh24:mi:ss')," +
 					"'"+LineName+"','"+MachineName+"','"+BoardName+"','"+MachineID+"','"+BoardSide+"','"+OrderNumber+"','"+PCBBarcode+"',sysdate)");
 
-			JSONObject MaterialTraceabilityDetail=TraceabilityDataDetail.getJSONObject("MaterialTraceabilityDetail");
-			JSONObject MaterialConsumptionDetail=TraceabilityDataDetail.getJSONObject("MaterialConsumptionDetail");
+			JSONObject MaterialTraceabilityDetail=null;
+			try{
+				MaterialTraceabilityDetail=TraceabilityDataDetail.getJSONObject("MaterialTraceabilityDetail");
+			}catch (Exception e){
+
+			}
+			JSONObject MaterialConsumptionDetail=null;
+			try{
+				MaterialConsumptionDetail=TraceabilityDataDetail.getJSONObject("MaterialConsumptionDetail");
+			}catch (Exception e){
+
+			}
 			//上料信息
 			if(MaterialTraceabilityDetail!=null){
 				JSONArray PanelList=MaterialTraceabilityDetail.getJSONArray("PanelList");
-				System.out.println(PanelList.size());
 				for (int i=0;i<PanelList.size();i++){
 					JSONObject map=PanelList.getJSONObject(i);
 					String PanelName=map.get("PanelName").toString();
@@ -425,6 +533,9 @@ public class MESHelperServiceImpl implements MESHelperService {
 							"'"+TrackEmpty+"')");
 				}
 			}
+			rmap.put("code","0");
+			rmap.put("result","OK");
+			rmap.put("ServerMessage","MES:贴片机数据记录成功");
 		}
 		return rmap;
 	}