From 1ae949067cb76a5b89dfff64b56d11e81ad8fc37 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 5 Nov 2026 16:02:31 +0800 Subject: [PATCH] =?UTF-8?q?2026-11-05=20TID=E6=8E=A5=E5=8F=A3=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=94=B9=E4=B8=BA=E8=A1=A8=E5=8D=95=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ScheduleServiceImpl.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java index 32e0ba7..0344404 100644 --- a/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java +++ b/src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java @@ -52,6 +52,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; @@ -5084,6 +5086,8 @@ public class ScheduleServiceImpl implements ScheduleService { body.put("process", workCenterNo); body.put("rollLabels", rollNos); body.put("machineNo", resourceId); + logger.info("TID分卷校验请求: site={}, orderNo={}, seqNo={}", + inData.getSite(), inData.getOrderNo(), inData.getSeqNo()); postMesLogs("/checkRolls", body, "TID分卷校验"); scheduleMapper.updateTidPassFlag(inData.getSite(), inData.getSeqNo(), rollNos); } @@ -5177,11 +5181,22 @@ public class ScheduleServiceImpl implements ScheduleService { private void postMesLogs(String path, Map body, String failLabel) { HttpHeaders headers = new HttpHeaders(); headers.setBasicAuth(mesLogsUsername, mesLogsPassword, StandardCharsets.UTF_8); - headers.setContentType(MediaType.APPLICATION_JSON); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + MultiValueMap form = new LinkedMultiValueMap<>(); + Map formLog = new LinkedHashMap<>(); + if (body != null) { + for (Map.Entry entry : body.entrySet()) { + String fieldValue = toMesFormFieldValue(entry.getValue()); + form.add(entry.getKey(), fieldValue); + formLog.put(entry.getKey(), fieldValue); + } + } String requestUrl = buildMesLogsUrl(path); + logger.info("{}请求: url={}, contentType=multipart/form-data, form={}", + failLabel, requestUrl, JSON.toJSONString(formLog)); ResponseEntity response; try { - response = restTemplate.exchange(requestUrl, HttpMethod.POST, new HttpEntity<>(body, headers), String.class); + response = restTemplate.exchange(requestUrl, HttpMethod.POST, new HttpEntity<>(form, headers), String.class); } catch (Exception e) { logger.error("{}调用失败", failLabel, e); throw new XJException(failLabel + "失败: " + e.getMessage()); @@ -5218,6 +5233,16 @@ public class ScheduleServiceImpl implements ScheduleService { } } + private String toMesFormFieldValue(Object value) { + if (value == null) { + return ""; + } + if (value instanceof CharSequence || value instanceof Number || value instanceof Boolean) { + return String.valueOf(value); + } + return JSON.toJSONString(value); + } + private String buildMesLogsUrl(String path) { String baseUrl = StringUtils.hasText(mesLogsBaseUrl) ? mesLogsBaseUrl.trim() : "http://logs.bt.in/api/logs"; if (baseUrl.endsWith("/")) {