From c462b499e6812f073efdcceecd94f655883c0d36 Mon Sep 17 00:00:00 2001 From: zc <zyzc> Date: 星期二, 21 十月 2025 16:34:08 +0800 Subject: [PATCH] erp物料对接修改 --- rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 45 insertions(+), 4 deletions(-) diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java index f939215..8688b10 100644 --- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java +++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java @@ -1,5 +1,6 @@ package com.vincent.rsf.openApi.service.impl; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -10,6 +11,7 @@ import com.vincent.rsf.openApi.entity.constant.WmsConstant; import com.vincent.rsf.openApi.entity.dto.CommonResponse; import com.vincent.rsf.openApi.entity.dto.OrderDto; +import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; import com.vincent.rsf.openApi.entity.params.ErpOpParams; import com.vincent.rsf.openApi.service.WmsErpService; import lombok.extern.slf4j.Slf4j; @@ -88,22 +90,21 @@ } /**WMS鍩虹閰嶇疆閾炬帴*/ String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.MODIFY_ORDER_DETLS; - log.info("淇敼璁㈠崟淇℃伅鍙婄姸鎬侊細 {}锛� 璇锋眰鍙傛暟锛� {}", wmsUrl, JSONObject.toJSONString(params)); 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", Arrays.asList(params.getOrderNo())); + 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); - - HttpEntity httpEntity = new HttpEntity(maps, headers); + log.info("淇敼璁㈠崟淇℃伅鍙婄姸鎬侊細 {}锛� 璇锋眰鍙傛暟锛� {}", wmsUrl, JSONArray.toJSONString(maps)); + HttpEntity<List<Map<String, Object>>> httpEntity = new HttpEntity<>(maps, headers); ResponseEntity<String> exchange = restTemplate.exchange(wmsUrl, HttpMethod.POST, httpEntity, String.class); log.info("璁㈠崟淇敼杩斿洖缁撴灉锛� {}", exchange); if (Objects.isNull(exchange.getBody())) { @@ -162,4 +163,44 @@ } } + /** + * 鐗╂枡淇℃伅淇敼 + * @param params + * @return + */ + @Override + public CommonResponse syncMatnrs(ErpMatnrParms params) { + if (Objects.isNull(params.getMatnr()) ) { + throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(params.getMaktx())) { + throw new CoolException("鐗╂枡鍚嶇О涓嶈兘涓虹┖锛侊紒"); + } + /**WMS鍩虹閰嶇疆閾炬帴*/ + String rcsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.UPDATE_MATNR_INFO; + log.info("鐗╂枡淇敼锛歿}锛� 璇锋眰鍙傛暟锛� {}", rcsUrl, JSONObject.toJSONString(params)); + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/json"); + headers.add("api-version", "v2.0"); + HttpEntity httpEntity = new HttpEntity(params, headers); + ResponseEntity<String> exchange = restTemplate.exchange(rcsUrl, HttpMethod.POST, httpEntity, String.class); + 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) { + return result; + } else { + throw new CoolException("淇敼澶辫触锛侊紒"); + } + } catch (JsonProcessingException e) { + throw new CoolException(e.getMessage()); + } + } + } + } -- Gitblit v1.9.1