Browse Source

优化重复过站和未归还治具重复上线

yhluo 3 tuần trước cách đây
mục cha
commit
d94f9f169d

+ 47 - 9
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -246,6 +246,13 @@ public class MESHelperServiceImpl implements MESHelperService {
 				rmap.put("message", "NG,过站核对失败,"+oErrMessage );
 				return rmap;
 			}
+
+			if(baseDao.checkIf("makeprocess","mp_sncode = '"+Lotsn+"' and mp_sourcecode = '"+Username+"' and mp_snstatus = 1")){
+				rmap.put("code","0");
+				rmap.put("result","OK");
+				rmap.put("ServerMessage","OK,序列号已过站,请勿重复过站");
+				return rmap;
+			}
 			String wo = list.get(0);
 			Map<Object, Object> stepMap = SetStepFinish(wo, Username, Lotsn, "", "OK", Username, "");
 			if(stepMap.get("oErrMessage") != null){
@@ -406,6 +413,13 @@ public class MESHelperServiceImpl implements MESHelperService {
 				return rmap;
 			}
 
+			if(baseDao.checkIf("makeprocess","mp_sncode = '"+Lotsn+"' and mp_sourcecode = '"+Username+"' and mp_snstatus = 1")){
+				rmap.put("code","0");
+				rmap.put("result","OK");
+				rmap.put("ServerMessage","OK,序列号已过站,请勿重复过站");
+				return rmap;
+			}
+
 			String[] items = Defect.split(",");
 			String errCode = "";
 			for (String item : items) {
@@ -626,20 +640,44 @@ public class MESHelperServiceImpl implements MESHelperService {
 			}
 			int code = 200;
 			String returnmessage = "";
-			if(!FrontSqueegeeSN.isEmpty() && !baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+FrontSqueegeeSN+"'"))
+			if(!FrontSqueegeeSN.isEmpty())
 			{
-				code = 222;
-				returnmessage = returnmessage + "刮刀:"+FrontSqueegeeSN+"未领用出库,校验失败.\n";
+				String fScraper = "";
+				SqlRowList fRs=baseDao.queryForRowSet("SELECT su_status FROM (select * from stenciluse where su_stcode = ? order by su_usedate desc) WHERE rownum = 1", FrontSqueegeeSN);
+				if(fRs.next()){
+					fScraper = fRs.getString("su_status");
+				}
+
+				if(!baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+FrontSqueegeeSN+"'") || !fScraper.contains("领用")){
+					code = 222;
+					returnmessage = returnmessage + "刮刀:"+FrontSqueegeeSN+"未领用出库,校验失败.\n";
+				}
 			}
-			if(!RearSqueegeeSN.isEmpty() && !baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+RearSqueegeeSN+"'"))
+			if(!RearSqueegeeSN.isEmpty())
 			{
-				code = 222;
-				returnmessage = returnmessage + "刮刀:"+RearSqueegeeSN+"未领用出库,校验失败.\n";
+				String rScraper = "";
+				SqlRowList rRs=baseDao.queryForRowSet("SELECT su_status FROM (select * from stenciluse where su_stcode = ? order by su_usedate desc) WHERE rownum = 1", RearSqueegeeSN);
+				if(rRs.next()){
+					rScraper = rRs.getString("su_status");
+				}
+
+				if(!baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+RearSqueegeeSN+"'") || !rScraper.contains("领用")){
+					code = 222;
+					returnmessage = returnmessage + "刮刀:"+RearSqueegeeSN+"未领用出库,校验失败.\n";
+				}
 			}
-			if(!StencilSN.isEmpty() && !baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+StencilSN+"'"))
+			if(!StencilSN.isEmpty() )
 			{
-				code = 222;
-				returnmessage = returnmessage + "钢网:"+StencilSN+"未清洗出库,校验失败.\n";
+				String stencil = "";
+				SqlRowList sRs=baseDao.queryForRowSet("SELECT su_status FROM (select * from stenciluse where su_stcode = ? order by su_usedate desc) WHERE rownum = 1", StencilSN);
+				if(sRs.next()){
+					stencil = sRs.getString("su_status");
+				}
+
+				if(!baseDao.checkIf("Stencil","nvl(st_usestatus,'') = '出库' and st_code = '"+StencilSN+"'") || !stencil.contains("领用")){
+					code = 222;
+					returnmessage = returnmessage + "钢网:"+StencilSN+"未清洗出库,校验失败.\n";
+				}
 			}
 			/*if(!baseDao.checkIf("SPMBARCODE","nvl(SPB_STATUS,'') = '已开封' and SPB_BARCODE = '"+PasteSN+"'"))
 			{