Browse Source

新增接口获取SN

koul 1 year ago
parent
commit
d4ded0d6d9

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

@@ -181,4 +181,15 @@ public class MESHelperController {
         String xmlString = stringWriter.toString();
         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 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();
 	}
 
-
+	@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;
+	}
 
 }