| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | if (mesData == null || mesData.isEmpty()) { |
| | | log.error("等待MES写入玻璃信息超时: deviceId={}, timeout={}ms", |
| | | deviceConfig.getId(), config.getScanIntervalMs()); |
| | | // 超时也要清空plcRequest |
| | | clearPlcRequestFields(deviceConfig, serializer); |
| | | return buildResult(deviceConfig, "scanOnce", false, |
| | | String.format("等待MES写入玻璃信息超时(%dms)", config.getScanIntervalMs()), null); |
| | | } |
| | |
| | | // 3. 读取MES回写的玻璃信息 |
| | | String glassId = parseString(mesData.get("mesGlassId")); |
| | | if (!StringUtils.hasText(glassId)) { |
| | | // MES未提供玻璃ID也要清空plcRequest |
| | | clearPlcRequestFields(deviceConfig, serializer); |
| | | return buildResult(deviceConfig, "scanOnce", false, "MES写区未提供玻璃ID", null); |
| | | } |
| | | // 读取MES尺寸数据:mesWidth=表宽,mesHeight=长 |
| | |
| | | if (height != null) { |
| | | glassInfo.setGlassLength(height); // 长 |
| | | } |
| | | glassInfo.setStatus(GlassInfo.Status.ACTIVE); |
| | | glassInfo.setStatus(GlassInfo.Status.PENDING); |
| | | if (workLine != null) { |
| | | glassInfo.setDescription("workLine=" + workLine); |
| | | glassInfo.setWorkLine(workLine); |
| | | } |
| | | Date now = new Date(); |
| | | glassInfo.setCreatedTime(now); |
| | | glassInfo.setUpdatedTime(now); |
| | | glassInfo.setCreatedBy("system"); |
| | | glassInfo.setUpdatedBy("system"); |
| | | return glassInfo; |
| | | } |
| | | |