Просмотр исходного кода

取消印刷机锡膏对接,添加治具测试仪次数限制,调整锡膏柜对接

yhluo 3 недель назад
Родитель
Сommit
139dbc0c81
1 измененных файлов с 47 добавлено и 20 удалено
  1. 47 20
      src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

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

@@ -150,28 +150,43 @@ public class MESHelperServiceImpl implements MESHelperService {
 		SysName=map.get("SysName").toString();
 
 		//SqlRowList rs=baseDao.queryForRowSet("select bar_id,bar_prodcode,bar_remain,pr_spec,to_char(nvl(bar_madedate,sysdate),'yyyy-mm-dd')bar_madedate from barcode@ERP_JMDZ_HF left join product on bar_prodcode = pr_code where bar_code=?",SolderCode);
-		SqlRowList rs=baseDao.queryForRowSet("SELECT spb_id,nvl(spb_use_count,1) spb_use_count FROM spmbarcode WHERE spb_barcode = ?",SolderCode);
+		SqlRowList rs=baseDao.queryForRowSet("SELECT spb_id,nvl(spb_use_count,0) spb_use_count FROM spmbarcode WHERE spb_barcode = ?",SolderCode);
 		if(rs.next()){
-			String curCount = rs.getString("spb_use_count");
-			if(Node.contains("回温开始")){
-				int spb_use_count = Integer.parseInt(curCount) + 1;
-				baseDao.updateByCondition("spmbarcode", "spb_status = '"+Node+"',spb_update_time = to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss'),spb_use_count = '"+ spb_use_count +"'", "spb_barcode='" + SolderCode + "'");
-
-				baseDao.execute("INSERT INTO spmlog ( spl_id, spl_date, spl_operation, spl_operator, spl_barcode, spl_user_count, spl_equipment,spl_sysname) VALUES ( spmlog_seq.NEXTVAL, TO_DATE(?, 'yyyy-mm-dd hh24:mi:ss'), ?, ?, ?, ?, ?,?)",ScanTime,Node,UserName,SolderCode,spb_use_count,Station,SysName);
-				rmap.put("Result","OK");
-				rmap.put("Meassage", Node +": 记录成功");
+			String spl_content = null;
+			Object num = baseDao.getFieldDataByCondition("spmlog","count(*) num","spl_barcode='"+SolderCode+"'");
+			if(Node.contains("冷藏")){
+				if(Integer.parseInt(num.toString()) == 0){
+					spl_content = "新条码:" +SolderCode+ "冷藏入库成功";
+				}else{
+					spl_content = "条码:" +SolderCode+ "回存冷藏成功";
+				}
 			}else{
-				baseDao.updateByCondition("spmbarcode", "spb_status = '"+Node+"',spb_update_time = to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss'),spb_use_count = '"+ curCount +"'", "spb_barcode='" + SolderCode + "'");
+				spl_content = "条码:" +SolderCode + Node +"成功";
+			}
 
-				baseDao.execute("INSERT INTO spmlog (spl_id, spl_date, spl_operation, spl_operator, spl_barcode, spl_user_count, spl_equipment,spl_sysname) VALUES ( spmlog_seq.NEXTVAL, TO_DATE(?, 'yyyy-mm-dd hh24:mi:ss'), ?, ?, ?, ?, ?,?)",ScanTime,Node,UserName,SolderCode,curCount,Station,SysName);
-				if(Node.contains("领用")){
-					baseDao.updateByCondition("spmbarcode", "spb_status = '已开封',spb_update_time = sysdate,spb_use_count = '"+ curCount +"'", "spb_barcode='" + SolderCode + "'");
-					baseDao.execute("INSERT INTO spmlog ( spl_id, spl_date, spl_operation, spl_operator, spl_barcode, spl_user_count, spl_equipment,spl_sysname) VALUES ( spmlog_seq.NEXTVAL, TO_DATE(?, 'yyyy-mm-dd hh24:mi:ss'), ?, ?, ?, ?, ?,?)",ScanTime,"已开封",UserName,SolderCode,curCount,Station,SysName);
-				}
-				rmap.put("Result","OK");
-				rmap.put("Meassage",Node +": 记录成功");
+			int spb_use_count = Integer.parseInt(rs.getString("spb_use_count"));
+			if(Node.contains("回温开始")){
+				spb_use_count += 1;
+			}
+
+			if(Node.contains("回温结束")){
+				Object prevDate = baseDao.getFieldDataByCondition("spmbarcode","round((to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss') - spb_update_time) * 24, 2)","spb_barcode='"+SolderCode+"'");
+				baseDao.updateByCondition("spmbarcode", "SPB_REWARMINGDATE = to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss'),SPB_REWARMINTIME = '"+prevDate+"'", "spb_barcode='" + SolderCode + "'");
 			}
 
+			/*if(Node.contains("领用")){
+				Object prevDate = baseDao.getFieldDataByCondition("spmbarcode","round((to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss') - spb_update_time) * 24, 2)","spb_barcode='"+SolderCode+"'");
+				baseDao.updateByCondition("spmbarcode", "SPB_OPENDATE = to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss'),SPB_OPENTIME = '"+prevDate+"'", "spb_barcode='" + SolderCode + "'");
+			}*/
+
+			baseDao.updateByCondition("spmbarcode", "spb_status = '"+Node+"',spb_update_time = to_date('"+ScanTime+"','yyyy-mm-dd hh24:mi:ss')," +
+					"spb_use_count = '"+ spb_use_count +"',spb_rewarmintime = '',spb_opentime = ''", "spb_barcode='" + SolderCode + "'");
+
+			baseDao.execute("INSERT INTO spmlog (spl_id, spl_date, spl_operation, spl_operator, spl_barcode, spl_user_count, spl_equipment,spl_sysname,spl_content) " +
+					"VALUES ( spmlog_seq.NEXTVAL, TO_DATE(?, 'yyyy-mm-dd hh24:mi:ss'), ?, ?, ?, ?, ?,?,?)",ScanTime,Node,UserName,SolderCode,spb_use_count,Station,SysName,spl_content);
+
+			rmap.put("Result","OK");
+			rmap.put("Meassage",Node +": 记录成功");
 		}else {
 			rmap.put("Result","NG");
 			rmap.put("Meassage","锡膏条码不存在,请先录入锡膏");
@@ -204,6 +219,17 @@ public class MESHelperServiceImpl implements MESHelperService {
 			useofproduct = rs2.getString("ma_prodcode");
 		}
 
+		Object st_maxusecount = baseDao.getFieldDataByCondition("stencil", "nvl(st_maxusecount, 0)", "st_code = '"+MeshCode+"'");
+		Object st_usecount = baseDao.getFieldDataByCondition("stencil", "nvl(st_usecount, 0)", "st_code = '"+MeshCode+"'");
+		int stMaxusecount = Integer.parseInt(st_maxusecount.toString());
+		int stusecount = Integer.parseInt(st_usecount.toString());
+		if (stMaxusecount - stusecount <= 0)
+		{
+			rmap.put("Result","NG");
+			rmap.put("Meassage","可使用次数不足,使用次数上限为:"+st_maxusecount+",当前使用次数为:"+st_usecount+"");
+			return rmap;
+		}
+
 		Map<Object, Object> paramsMap = new HashMap<Object, Object>();
 		Map<Object, Object> paramsMap1 = new HashMap<Object, Object>();
 		try{
@@ -780,7 +806,8 @@ public class MESHelperServiceImpl implements MESHelperService {
 //					baseDao.updateByCondition("stencil", "st_line = '"+stLine+"',ST_MACODE='"+stWo+"'", "st_code='" + StencilSN + "'");
 				}
 			}
-			if(PasteSN != null){
+
+			/*if(PasteSN != null){
 				baseDao.updateByCondition("spmbarcode", "spb_status = '上线',spb_update_time = sysdate,spb_use_count = spb_use_count,SPB_LINECODE = '"+Line+"'", "spb_barcode='" + PasteSN + "'");
 				SqlRowList rs3 = baseDao.queryForRowSet("SELECT spmlog_seq.NEXTVAL seq FROM dual");
 				Map<Object, Object> paramsMap = new HashMap<Object, Object>();
@@ -796,14 +823,14 @@ public class MESHelperServiceImpl implements MESHelperService {
 					paramsMap.put("spl_operation", "上线");
 					paramsMap.put("spl_operator", MachineSN);
 					paramsMap.put("spl_barcode", PasteSN);
-//					paramsMap.put("spl_user_count", "spl_user_count");
+					paramsMap.put("spl_user_count", "spl_user_count");
 					paramsMap.put("spl_linecode", Line);
 					paramsMap.put("spl_equipment", MachineType);
 					paramsMap.put("spl_sysname", MachineSN);
 					paramsMap.put("spl_makecode", newStWo);
 					baseDao.execute(SqlUtil.getInsertSqlByMap(paramsMap,"spmlog"));
 				}
-			}
+			}*/
 
 			Map<Object, Object> rmap1 = new HashMap<Object, Object>();
 			rmap1.put("Command","MaterialVerify");