huang
2025-05-22 16b32f4511aa90b95b13a15751850cf6db0829e2
MengJiaLaMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/RotatingRackServiceImpl.java
@@ -28,7 +28,7 @@
public  class RotatingRackServiceImpl extends ServiceImpl<RotatingRackMapper, RotatingRack> implements RotatingRackService {
    private static final Logger log = LoggerFactory.getLogger(RotatingRackServiceImpl.class);
    private static final String BASE_API_URL = "http://172.17.58.75/api/Robot";
    private static final String BASE_API_URL = "http://10.3.58.110/api/Robot";
    @Autowired
    private RotatingRackMapper rotatingRackMapper;
@@ -289,19 +289,17 @@
            if (!erpSendSuccess) {
                // ERP发送失败,保存到本地数据库,并标记为发送失败
                log.warn("发送数据到ERP失败,任务数据将保存到本地数据库。任务ID: {}", rotatingRack.getId());
                log.warn("发送数据到ERP失败,任务数据保存到数据库。任务ID: {}", rotatingRack.getId());
                rotatingRack.setErpSentStatus(2); // 标记为发送失败
                rotatingRackMapper.insert(rotatingRack);
                return false;
            }
            // 发送成功,标记为已发送
            rotatingRack.setErpSentStatus(1);
            rotatingRackMapper.insert(rotatingRack);
            // 发送成功,直接返回true,不保存到数据库
            return true;
        } catch (Exception e) {
            log.error("完成任务处理失败: {}", e.getMessage(), e);
            // 发生异常时也保存到本地数据库
            // 发生异常时保存到本地数据库
            try {
                rotatingRack.setErpSentStatus(2); // 标记为发送失败
                rotatingRackMapper.insert(rotatingRack);
@@ -321,8 +319,8 @@
    private boolean sendToERP(Map<String, Object> data) {
        try {
            // 设置API地址
            String erpUrl = "http://172.17.58.75/api/Robot/Insert";
            // String erpUrl = "https://0f1b83b5-7a9b-4ac7-9ca0-fcda13725a04.mock.pstmn.io/sendData";
            String erpUrl = "http://10.3.58.110/api/Robot/Insert";
            // 使用ObjectMapper手动序列化JSON
            ObjectMapper objectMapper = new ObjectMapper();
@@ -336,14 +334,14 @@
            HttpEntity<String> requestEntity = new HttpEntity<>(jsonData, headers);
            // 记录发送的数据,帮助调试
            log.info("准备发送数据到ERP: {}", jsonData);
            //log.info("准备发送数据到ERP: {}", jsonData);
            // 发送POST请求
            ResponseEntity<String> response = restTemplate.postForEntity(erpUrl, requestEntity, String.class);
            // 检查响应状态码
            if (response.getStatusCode() == HttpStatus.OK) {
                log.info("数据成功发送到ERP,响应内容:{}", response.getBody());
                //log.info("数据成功发送到ERP,响应内容:{}", response.getBody());
                return true;
            } else {
                log.error("ERP接口返回非成功状态码:{}, 响应内容: {}", response.getStatusCode(), response.getBody());
@@ -380,7 +378,7 @@
            List<RotatingRack> failedRecords = rotatingRackMapper.selectList(queryWrapper);
            
            if (failedRecords.isEmpty()) {
                log.info("没有需要重试发送的数据");
                //log.info("没有需要重试发送的数据");
                return;
            }