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