wangxichen 3 дней назад
Родитель
Сommit
f7f4e26c58

+ 20 - 2
src/main/java/com/jeesite/modules/mes/web/MesLineProcessController.java

@@ -376,14 +376,32 @@ public class MesLineProcessController extends BaseController {
 
 		logger.info("mlps:"+ JSON.toJSONString(mlps));
 		Integer auth = 0;
+
+		// 先匹配直接授权的工位
 		MesLineProcess mesLineProcess = new MesLineProcess();
 		mesLineProcess.getSqlMap().getWhere().and("id", QueryType.IN,mlps);
-		mesLineProcess.setOprno(oprno);
-		mesLineProcess.setLineSn(lineSn);
+		mesLineProcess.getSqlMap().getWhere().and("oprno", QueryType.EQ, oprno);
+		mesLineProcess.getSqlMap().getWhere().and("b.sn", QueryType.EQ, lineSn);
 		MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
 		logger.info("mesLineProcess1:"+ JSON.toJSONString(mesLineProcess1));
+
 		if(!ObjectUtils.isEmpty(mesLineProcess1)){
 			auth = 1;
+		} else {
+			// 如果直接匹配失败,查找该工位的父工位是否在授权列表中
+			MesLineProcess targetProcess = new MesLineProcess();
+			targetProcess.setOprno(oprno);
+			targetProcess.getSqlMap().getWhere().and("b.sn", QueryType.EQ, lineSn);
+			MesLineProcess target = mesLineProcessService.findInfo(targetProcess);
+			logger.info("target:"+ JSON.toJSONString(target));
+
+			if(!ObjectUtils.isEmpty(target) && !StringUtils.isEmpty(target.getPid())){
+				// 检查父工位是否在授权列表中
+				if(mlps.contains(target.getPid())){
+					auth = 1;
+					logger.info("父工位授权通过: pid=" + target.getPid());
+				}
+			}
 		}
 
 		map.put("auth",auth);