| @@ -1027,6 +1027,7 @@ open class ProductProcessService( | |||||
| val user = userRepository.findByStaffNo(request.staffNo ?: "").orElse(null) | val user = userRepository.findByStaffNo(request.staffNo ?: "").orElse(null) | ||||
| val bomProcess = bomProcessRepository.findById(productProcessLine?.bomProcess?.id ?: 0L).orElse(null) | val bomProcess = bomProcessRepository.findById(productProcessLine?.bomProcess?.id ?: 0L).orElse(null) | ||||
| val bomProcessEquipment = bomProcess?.equipment | val bomProcessEquipment = bomProcess?.equipment | ||||
| val requiresEquipment = bomProcessEquipment != null | |||||
| // ===== 校验区 ===== | // ===== 校验区 ===== | ||||
| // 情况:设备有 + 人空 → 不通过 | // 情况:设备有 + 人空 → 不通过 | ||||
| @@ -1055,6 +1056,17 @@ open class ProductProcessService( | |||||
| errorPosition = "equipmentId" | errorPosition = "equipmentId" | ||||
| ) | ) | ||||
| } | } | ||||
| // *** 新增:这道工序需要设备,但是只扫了人、没扫设备码 → 不通过 *** | |||||
| if (requiresEquipment && user != null && equipmentDetail == null) { | |||||
| return MessageResponse( | |||||
| id = request.productProcessLineId, | |||||
| code = "400", | |||||
| name = "Equipment Required", | |||||
| type = "error", | |||||
| message = "Equipment is required for this process", | |||||
| errorPosition = "equipmentId" | |||||
| ) | |||||
| } | |||||
| // 情况:设备空 + 人空 → 不通过(如你不需要这个,可以去掉或改成通过) | // 情况:设备空 + 人空 → 不通过(如你不需要这个,可以去掉或改成通过) | ||||
| if (equipmentDetail == null && user == null) { | if (equipmentDetail == null && user == null) { | ||||