Procházet zdrojové kódy

优化插件aoi处理

yhluo před 1 týdnem
rodič
revize
3e1b59e0ba

+ 11 - 6
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -986,9 +986,9 @@ public class MESHelperServiceImpl implements MESHelperService {
 		JSONObject jsonObj = JSONObject.fromObject(data);
 		Map<Object,Object> rmap = new HashMap<Object,Object>();
 		try{
-			String wo = null;
 			String MainSn = null;
 
+			String wo = jsonObj.optString("WorkOrder", "");
 			String Barcode = jsonObj.optString("Barcode", "");
 			String Source = jsonObj.optString("Source", "");
 			String BoardResult = jsonObj.optString("BoardResult", "");
@@ -997,7 +997,8 @@ public class MESHelperServiceImpl implements MESHelperService {
 			if (Barcode.contains("_")){
 				String[] SNList = Barcode.split("_");
 				for(int i = 0;i < SNList.length;i ++){
-					MainSn = Objects.toString(baseDao.getFieldDataByCondition("SMTBIND","SB_MAINCODE","SB_BARCODE = '"+SNList[i]+"'"), null);
+					String mainBarcode = Objects.toString(baseDao.getFieldDataByCondition("SMTBIND","SB_MAINCODE","SB_BARCODE = '"+SNList[i]+"'"), null);
+					if(mainBarcode != null) MainSn = mainBarcode;
 				}
 			}else{
 				MainSn = Barcode;
@@ -1008,17 +1009,21 @@ public class MESHelperServiceImpl implements MESHelperService {
 				rmap.put("Msg", "NG,未找到Mes拼板号");
 				return rmap;
 			}
-			wo = Objects.toString(baseDao.getFieldDataByCondition("SMTBIND","SB_MAKECODE","SB_MAINCODE = '"+MainSn+"'"), null);
+//			wo = Objects.toString(baseDao.getFieldDataByCondition("SMTBIND","SB_MAKECODE","SB_MAINCODE = '"+MainSn+"'"), null);
 
 			if(!Source.isEmpty()){
-				SqlRowList RS = baseDao.queryForRowSet("SELECT SB_BARCODE FROM SMTBIND WHERE SB_MAINCODE = '"+MainSn+"'");
+				SqlRowList RS = baseDao.queryForRowSet("SELECT SB_BARCODE SN FROM SMTBIND WHERE SB_MAINCODE = '"+MainSn+"'");
+				if(RS.size() == 0){
+					RS = baseDao.queryForRowSet("SELECT ms_sncode SN FROM makeserial WHERE ms_sncode = '"+MainSn+"'");
+				}
+
 				if(RS.next()){
 					String oErrMessage = null;
 					List<String> list = new ArrayList<String>();
 					list = baseDao.callProcedureWithOut("CS_CHECKSTEPSNANDMACODE", new Object[]{
 							String.valueOf(wo),
 							String.valueOf(Source),
-							String.valueOf(RS.getString("SB_BARCODE")),
+							String.valueOf(RS.getString("SN")),
 							String.valueOf("")
 					}, new Integer[]{1, 2, 3, 4}, new Integer[]{5, 6, 7});
 					wo = list.get(0);
@@ -1029,7 +1034,7 @@ public class MESHelperServiceImpl implements MESHelperService {
 						return rmap;
 					}
 
-					Map<Object, Object> stepMap = SetStepFinish(wo, Source, RS.getString("SB_BARCODE"), "", "OK", "DIPAoi", "");
+					Map<Object, Object> stepMap = SetStepFinish(wo, Source, RS.getString("SN"), "", "OK", "DIPAoi", "");
 					if(stepMap.get("oErrMessage") != null){
 						rmap.put("Code", "0");
 						rmap.put("Msg", "NG,处理过站失败," + stepMap.get("oErrMessage"));