Jelajahi Sumber

写入工单信息接口

callm 11 bulan lalu
induk
melakukan
deeaf1c160

+ 27 - 16
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -137,28 +137,39 @@ public class MESHelperServiceImpl implements MESHelperService {
 
 	private Map<Object,Object> WriteMakeInfo(JSONObject map){
 		Map<Object, Object> rmap = new HashMap<Object, Object>();
-		String iSN=null;
 		String oErrMessage=null;
-		if(map.get("iSN")==null){
-			oErrMessage = "SN不能为空";
+		if(map.get("iMakeCode")==null){
+			oErrMessage = "工单号不能为空";
 			rmap.put("oErrMessage",oErrMessage);
 			return rmap;
 		}
-		iSN=map.get("iSN").toString();
-		String makecode=baseDao.getFieldDataByCondition("makeserial","ms_makecode","ms_id=(select max(ms_id) from makeserial where ms_sncode='"+iSN+"')").toString();
-		SqlRowList rs=baseDao.queryForRowSet("select mid_item,mid_value from makeitem left join makeitemdetail on mi_id=mid_miid " +
-				"where mi_makecode='"+makecode+"' and mid_item is not null");
-		while(rs.next()){
-			rmap.put(rs.getString("mid_item"),rs.getString("mid_value"));
+		String MO=map.get("iMakeCode").toString();
+		String Item=map.get("Item").toString();
+
+		SqlRowList rs=baseDao.queryForRowSet("select * from makeitem where mi_makecode='"+MO+"'");
+		//如果已经存在工单了
+		if(rs.next()){
+			String[] str=Item.split("\\|");
+			String mi_id=rs.getString("mi_id");
+			baseDao.execute("delete from makeitemdetail where mid_miid='"+mi_id+"'");
+			for (int i=0;i<str.length;i++) {
+				Object key = str[i].split("#")[0];
+				Object value = str[i].split("#")[1];
+				baseDao.execute("insert into makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
+						"values(makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
+			}
+		}else {
+			int mi_id = baseDao.getSeqId("makeitem_seq");
+			String[] str=Item.split("\\|");
+			baseDao.execute("insert into makeitem(mi_id,mi_makecode,mi_indate)values("+mi_id+",'"+MO+"',sysdate)");
+			for (int i=0;i<str.length;i++) {
+				Object key = str[i].split("#")[0];
+				Object value = str[i].split("#")[1];
+				baseDao.execute("insert into makeitemdetail(mid_id,mid_miid,mid_item,mid_value)" +
+						"values(makeitemdetail_seq.nextval,'"+mi_id+"','"+key.toString()+"','"+value.toString()+"')");
+			}
 		}
 		return rmap;
-		/*if(rs.next()){
-
-		}else{
-			oErrMessage = "SN未查询到关联信息";
-			rmap.put("oErrMessage",oErrMessage);
-			return rmap;
-		}*/
 	}
 
 	private Map<Object,Object> GetFeeReason(JSONObject map){