zhanghe 5 mēneši atpakaļ
vecāks
revīzija
74be111e44

+ 27 - 0
src/main/java/com/jeesite/modules/mes/service/MesProductRecordService.java

@@ -1300,4 +1300,31 @@ public class MesProductRecordService extends CrudService<MesProductRecordDao, Me
 			}
 		}
 	}
+
+	//只查询加工结果为OK,craft为100000,
+	public List<String> selectOprno(String content,String craft,String sn,String lineSn){
+
+		//创建list列表用于存储所有的oprno的数据
+		List<String> oprnos = new ArrayList<>();
+		MesProductRecord mesProductRecord = new MesProductRecord();
+		mesProductRecord.setContent(content);
+		mesProductRecord.setCraft(craft);
+		mesProductRecord.setLineSn(lineSn);
+		List<MesProductRecord> list =null;
+
+
+			mesProductRecord.setSn(sn);
+			list = mesProductRecordDao.findList(mesProductRecord);
+
+
+		if(list.size() > 0){
+			for(MesProductRecord mesProductRecord1 : list){
+				oprnos.add(mesProductRecord1.getOprno());
+			}
+			return oprnos;
+		}
+
+		return null;
+	}
+
 }

+ 83 - 9
src/main/java/com/jeesite/modules/mes/web/MesLineProcessController.java

@@ -279,6 +279,11 @@ public class MesLineProcessController extends BaseController {
 	@ResponseBody
 	public CommonResp processList(HttpServletRequest req) {
 		CommonResp<Map<String, Object>> resp = new CommonResp<>();
+		String lineSn = req.getParameter("lineSn");
+		String sn = req.getParameter("sn");//工件碼
+		MesLine mesLine = new MesLine();
+		mesLine.setSn(lineSn);
+		mesLine = mesLineService.findInfo(mesLine);
 //		User user = UserUtils.getUser();
 //		MesLineProcessUser mesLineProcessUser = new MesLineProcessUser();
 //		mesLineProcessUser.setUserCode(user.getUserCode());
@@ -300,17 +305,86 @@ public class MesLineProcessController extends BaseController {
 		Map<String, Object> map = MapUtils.newHashMap();
 		MesLineProcess mesLineProcess = new MesLineProcess();
 		mesLineProcess.setStatus("0");
+		mesLineProcess.setLineId(mesLine.getId());
 		mesLineProcess.getSqlMap().getWhere().and("a.pid",QueryType.IS_NOT_NULL,"");
 		List<MesLineProcess> lists = mesLineProcessService.findList(mesLineProcess);
-		if(ListUtils.isEmpty(lists)){
-			List<MesLineProcess> list1 = new ArrayList<>();
-			map.put("lists", list1);
-		}else{
-			map.put("lists", lists);
+
+		if(sn!= null){
+//先查所有加工结果,查询记录为OK
+			List<String> strings = mesProductRecordService.selectOprno("OK", "100000", sn,lineSn);
+
+			if (strings != null && !strings.isEmpty()){
+
+				//需要过滤MesLineProcess中的oprno与strings中的oprno对比,如果存在就添加进列不存在就直接过滤掉
+				// 过滤MesLineProcess,只保留oprno在finishedOprnos中的工序
+				List<MesLineProcess> filteredLists = new ArrayList<>();
+				for (MesLineProcess process : lists) {
+					if (strings.contains(process.getOprno())) {
+						filteredLists.add(process);
+					}
+				}
+// 按照oprno中的数字部分从小到大排序
+				if (filteredLists.size() > 0){
+					filteredLists.sort((p1, p2) -> {
+						String oprno1 = p1.getOprno();
+						String oprno2 = p2.getOprno();
+
+						// 提取oprno中的数字部分
+						int num1 = extractNumberFromOprno(oprno1);
+						int num2 = extractNumberFromOprno(oprno2);
+
+						return Integer.compare(num1, num2);
+					});
+				}
+				map.put("lists", filteredLists);
+			}else {
+				map.put("lists", lists);
+			}
+			resp.setData(map);
+			resp.setResult(Global.TRUE);
+			return resp;
+		}else {
+			if(ListUtils.isEmpty(lists)){
+				List<MesLineProcess> list1 = new ArrayList<>();
+				map.put("lists", list1);
+			}else{
+				map.put("lists", lists);
+			}
+			resp.setData(map);
+			resp.setResult(Global.TRUE);
+			return resp;
+		}
+
+
+
+//		if(ListUtils.isEmpty(lists)){
+//			List<MesLineProcess> list1 = new ArrayList<>();
+//			map.put("lists", list1);
+//		}else{
+//			map.put("lists", lists);
+//		}
+//		resp.setData(map);
+//		resp.setResult(Global.TRUE);
+//		return resp;
+	}
+
+	private int extractNumberFromOprno(String oprno) {
+		if (oprno == null || oprno.isEmpty()) {
+			return 0;
+		}
+
+		StringBuilder numberBuilder = new StringBuilder();
+		for (char c : oprno.toCharArray()) {
+			if (Character.isDigit(c)) {
+				numberBuilder.append(c);
+			}
+		}
+
+		try {
+			return numberBuilder.length() > 0 ? Integer.parseInt(numberBuilder.toString()) : 0;
+		} catch (NumberFormatException e) {
+			return 0;
 		}
-		resp.setData(map);
-		resp.setResult(Global.TRUE);
-		return resp;
 	}
 	@RequiresPermissions("mes:mesLineProcess:api")
 	@PostMapping(value = "editDevices")
@@ -539,4 +613,4 @@ public class MesLineProcessController extends BaseController {
 	}
 
 
-}
+}

+ 6 - 4
src/main/java/com/jeesite/modules/mes/web/MesQualityController.java

@@ -73,7 +73,7 @@ public class MesQualityController extends BaseController {
 	public MesQuality get(String id, boolean isNewRecord) {
 		return mesQualityService.get(id, isNewRecord);
 	}
-	
+
 	/**
 	 * 查询列表
 	 */
@@ -83,7 +83,7 @@ public class MesQualityController extends BaseController {
 		model.addAttribute("mesQuality", mesQuality);
 		return "modules/mes/mesQualityList";
 	}
-	
+
 	/**
 	 * 查询列表数据
 	 */
@@ -237,9 +237,11 @@ public class MesQualityController extends BaseController {
 	@ResponseBody
 	public CommonResp cjList(HttpServletRequest request, HttpServletResponse response) {
 		CommonResp<Map<String, Object>> resp = new CommonResp<>();
+		String lineSn = request.getParameter("lineSn");
 		Map<String, Object> map = MapUtils.newHashMap();
 		User user = UserUtils.getUser();
 		MesQuality mesQuality = new MesQuality();
+		mesQuality.setLineSn(lineSn);
 		mesQuality.setCreateBy(user.getUserCode());
 		mesQuality.setPage(new Page<>(request, response));
 		Page<MesQuality> list = mesQualityService.findPage(mesQuality);
@@ -342,5 +344,5 @@ public class MesQualityController extends BaseController {
 
 		return renderResult(Global.TRUE, text("操作成功!"));
 	}
-	
-}
+
+}