koul 2 лет назад
Родитель
Сommit
d4ded0d6d9

+ 11 - 0
src/main/java/com/uas/eis/controller/MESHelperController.java

@@ -181,4 +181,15 @@ public class MESHelperController {
         String xmlString = stringWriter.toString();
         String xmlString = stringWriter.toString();
         return xmlString;
         return xmlString;
     }
     }
+
+    /**
+     * 获取MES生成的SN条码
+     * @param request
+     * @param json
+     * @return
+     */
+    @RequestMapping(value="/getMESSnCode")
+    public Map<Object,Object> GetMESSnCode(HttpServletRequest request,  @RequestBody String json){
+        return mesHelperService.getMESSnCode(json);
+    }
 }
 }

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

@@ -27,4 +27,7 @@ public interface MESHelperService {
 
 
 	String AOI(String Username,String Shiftname, String MachineNO, String LineNO, String procedure,String Moname,
 	String AOI(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);
 							String Lotsn,String Side,String Result,String Defect,String elementQTY,String TestQTY,String Type,String Time);
+
+	Map<Object, Object> getMESSnCode(String data);
+
 }
 }

+ 62 - 1
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -1618,6 +1618,67 @@ public class MESHelperServiceImpl implements MESHelperService {
 		return AE_MASTER.toString();
 		return AE_MASTER.toString();
 	}
 	}
 
 
-
+	@Override
+	public Map<Object,Object> getMESSnCode(String data) {
+		Map<String, Object> map=null;
+		Map<Object, Object> rmap = new HashMap<Object, Object>();
+		try{
+			map =BaseUtil.convertJsonToMap(data);
+		}catch (Exception e){
+			rmap.put("code",-1);
+			rmap.put("message",e.getMessage());
+			System.out.printf(e.getMessage()) ;
+			return rmap;
+		}
+		String macode = map.get("moid") == null ? "" : String.valueOf(map.get("moid"));
+		if("".equals(macode)){
+			rmap.put("code",-1);
+			rmap.put("message","工单不能为空");
+			return rmap;
+		}
+		if (!baseDao.checkIf("make","ma_code='"+macode+"'")){
+			rmap.put("code",-1);
+			rmap.put("message","工单不存在");
+			return rmap;
+		}
+		if (baseDao.checkIf("make","nvl(ma_statuscode,' ')<>'STARTED' and ma_code='"+macode+"'")){
+			rmap.put("code",-1);
+			rmap.put("message","工单不是已下放状态");
+			return rmap;
+		}
+		if (!baseDao.checkIf("MakeSnList","msl_makecode='"+macode+"'")){
+			rmap.put("code",-1);
+			rmap.put("message","工单未维护SN");
+			return rmap;
+		}
+		double sncount = map.get("count") == null ? 0 : Double.parseDouble(map.get("count").toString());
+		if(sncount<=0){
+			rmap.put("code",-1);
+			rmap.put("message","SN数量必须大于0");
+			return rmap;
+		}
+		int count = baseDao.getCountByCondition("MakeSnList", "msl_makecode='" + macode + "' and nvl(msl_status,0)=0");
+		if (count<sncount){
+			rmap.put("code",-1);
+			rmap.put("message","SN不足!");
+			return rmap;
+		}
+		List<String> sqls = new ArrayList<>();
+		List<Map<String, Object>> maps = new ArrayList<>();
+		Map<String, Object> snmap=null;
+		SqlRowList rs = baseDao.queryForRowSet("select msl_sncode,msl_id from (select msl_sncode,msl_id from MakeSnList where msl_makecode='" + macode + "' and nvl(msl_status,0)=0 order by msl_id) where rownum<="+sncount);
+		while (rs.next()){
+			snmap=new HashMap<String, Object>();
+			snmap.put("serialNo",rs.getGeneralString("msl_sncode"));
+			maps.add(snmap);
+			sqls.add("update MakeSnList set msl_status=-1 where msl_id="+rs.getGeneralInt("msl_id"));
+		}
+		if (sqls!=null&&sqls.size()>0){
+			baseDao.execute(sqls);
+		}
+		rmap.put("code",0);
+		rmap.put("data",maps);
+		return rmap;
+	}
 
 
 }
 }