From 41cf0200e1b45c24fb521815465b83a5898dd501 Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期五, 30 一月 2026 16:28:06 +0800
Subject: [PATCH] 增加备料模拟
---
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/MesReportServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 82 insertions(+), 4 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/MesReportServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/MesReportServiceImpl.java
index 1a1ec55..4393a85 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/MesReportServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/MesReportServiceImpl.java
@@ -26,18 +26,18 @@
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.lang.reflect.Field;
+import java.util.*;
import org.springframework.http.client.ClientHttpResponse;
-import java.util.Objects;
@Service
@Slf4j
public class MesReportServiceImpl implements MesReportService {
private static String MES_REPORT_URL;
+ @Resource
+ private PlatformProperties.WmsApi wmsApi;
@Resource
private PlatformProperties.MesApi mesApi;
@@ -294,4 +294,82 @@
}
}
+ public String callMaterial(MatPreparationOrder order) {
+ if (Objects.isNull(order.getOrderNo()) || order.getOrderNo().isEmpty()) {
+ throw new CoolException("璁㈠崟鍙蜂笉鑳戒负绌猴紒锛�");
+ }
+ /**WMS鍩虹閰嶇疆閾炬帴*/
+ String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + "/rsf-server/mes/callMaterial";
+ HttpHeaders headers = new HttpHeaders();
+ headers.add("Content-Type", "application/json");
+ headers.add("api-version", "v2.0");
+
+// List<Map<String, Object>> maps = new ArrayList<>();
+// Map<String, Object> mapParams = new HashMap<>();
+////// mapParams.put("orderNo", params.getOrderNo());
+////// mapParams.put("anfme", params.getAnfme());
+////// mapParams.put("type", params.getType());
+////// mapParams.put("wkType", params.getWkType());
+////// mapParams.put("exceStatus", params.getExceStatus());
+////// mapParams.put("orderItems", params.getOrderItems());
+////// maps.add(mapParams);
+////
+//// JSONObject params = JSONObject.parseObject(JSON.toJSONString(order));
+//// JSONObject mappedData = ParamsMapUtils.apiMaps("mes", "orderId", params);
+//// mappedData.put("updateBy", "mes");
+//// mapParams = objectToMap(mappedData);
+//// maps.add(mapParams);
+// log.info("淇敼璁㈠崟淇℃伅鍙婄姸鎬侊細 {}锛� 璇锋眰鍙傛暟锛� {}", wmsUrl, JSONArray.toJSONString(order));
+// HttpEntity<List<Map<String, Object>>> httpEntity = new HttpEntity<>(maps, headers);
+//// ArrayList<Order> orders = new ArrayList<>();
+//// orders.add(order);
+ HttpEntity httpEntity = new HttpEntity<>(order, headers);
+ // mes/callMaterial
+ ResponseEntity<String> exchange = restTemplate.exchange(wmsUrl, HttpMethod.POST, httpEntity, String.class);//cs
+ log.info("澶囨枡鍗曡繑鍥炵粨鏋滐細 {}", exchange);
+ if (Objects.isNull(exchange.getBody())) {
+ throw new CoolException("鏌ヨ澶辫触锛侊紒");
+ } else {
+ ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.coercionConfigDefaults().setCoercion(CoercionInputShape.EmptyString, CoercionAction.AsEmpty);
+ try {
+ CommonResponse result = objectMapper.readValue(exchange.getBody(), CommonResponse.class);
+ if (result.getCode() == 200) {
+// JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(result.getData()));
+ return "200";
+ } else {
+ return result.getMsg();
+// throw new CoolException("鏌ヨ澶辫触锛侊紒");
+ }
+ } catch (JsonProcessingException e) {
+ return e.getMessage();
+// throw new CoolException(e.getMessage());
+ }
+ }
+
+
+// ErpOpParams erpOpParams = new ErpOpParams();
+// erpOpParams.set
+//
+// wmsErpService.updateOrderDetl(ErpOpParams params);
+
+// CommonResponse updateOrderDetl()
+//
+// asnOrderService.saveOrderAndItems(params, getLoginUserId());
+ }
+
+ public static Map<String, Object> objectToMap(Object obj) {
+ Map<String, Object> map = new HashMap<>();
+ Field[] fields = obj.getClass().getDeclaredFields();
+ for (Field field : fields) {
+ field.setAccessible(true); // 璁剧疆绉佹湁瀛楁涔熷彲浠ヨ闂�
+ try {
+ map.put(field.getName(), field.get(obj));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ return map;
+ }
+
}
--
Gitblit v1.9.1