From 2ccc26e480e1ce329a2fa813bdda0dbe4711a3df Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 21 十月 2025 14:03:22 +0800
Subject: [PATCH] 新增物料更新接口
---
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java | 41 +++++++++++++
rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java | 12 ++++
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java | 55 ++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java | 20 ++++++
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java | 4 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java | 3 +
6 files changed, 135 insertions(+), 0 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java
index f48b330..011fa3f 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java
@@ -3,6 +3,7 @@
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.openApi.entity.dto.CommonResponse;
+import com.vincent.rsf.openApi.entity.params.ErpMatnrParms;
import com.vincent.rsf.openApi.entity.params.ErpOpParams;
import com.vincent.rsf.openApi.service.WmsErpService;
import io.swagger.annotations.ApiOperation;
@@ -80,4 +81,15 @@
}
return wmsErpService.orderDel(params);
}
+
+ @ApiOperation("鍩虹鐗╂枡淇℃伅鏇存柊")
+ @PostMapping("/mat/sync/auth/v1")
+ public CommonResponse syncMatnrs(@RequestBody ErpMatnrParms parms) {
+ if (Objects.isNull(parms)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return wmsErpService.syncMatnrs(parms);
+ }
+
+
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java
index 381c93c..a8e0072 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java
@@ -19,5 +19,9 @@
//鑾峰彇鍑哄叆搴撴祦姘�
public static String IN_OUT_HISTORIES = "/rsf-server/monitor/inOut/page";
+ //鐗╂枡淇℃伅鍚屾
+ public static String UPDATE_MATNR_INFO = "/rsf-server/base/mat/sync/auth/v1";
+
+
}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java
new file mode 100644
index 0000000..0c7af17
--- /dev/null
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java
@@ -0,0 +1,55 @@
+package com.vincent.rsf.openApi.entity.params;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+public class ErpMatnrParms {
+
+ @ApiModelProperty("鐗╂枡鍚嶇О")
+ private String maktx;
+
+ @ApiModelProperty("鐗╂枡缂栫爜*")
+ private String matnr;
+
+ @ApiModelProperty("鐗╂枡鍒嗙粍")
+ private String groupName;
+
+ @ApiModelProperty("鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("閲嶉噺")
+ private String weight;
+
+ @ApiModelProperty("棰滆壊")
+ private String color;
+
+ @ApiModelProperty("灏哄")
+ private String size;
+
+ @ApiModelProperty("瑙勬牸")
+ private String spec;
+
+ @ApiModelProperty("鎻忚堪")
+ private String describle;
+
+ @ApiModelProperty("鏍囧寘鏁伴噺")
+ private String nromNum;
+
+ @ApiModelProperty("鍗曚綅")
+ private String unit;
+
+ @ApiModelProperty("ABC绫�")
+ private String stockLevel;
+
+ @ApiModelProperty("鏈夋晥鏈�")
+ private String valid;
+
+ @ApiModelProperty("鏉″舰鐮�")
+ private String barcode;
+
+
+}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java
index 9997c7d..614a707 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.openApi.service;
import com.vincent.rsf.openApi.entity.dto.CommonResponse;
+import com.vincent.rsf.openApi.entity.params.ErpMatnrParms;
import com.vincent.rsf.openApi.entity.params.ErpOpParams;
public interface WmsErpService {
@@ -10,4 +11,6 @@
CommonResponse updateOrderDetl(ErpOpParams params);
CommonResponse orderDel(ErpOpParams params);
+
+ CommonResponse syncMatnrs(ErpMatnrParms parms);
}
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..8674d61 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
@@ -10,6 +10,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;
@@ -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());
+ }
+ }
+ }
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java
new file mode 100644
index 0000000..6a785fa
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java
@@ -0,0 +1,20 @@
+package com.vincent.rsf.server.manager.enums;
+
+/**
+ * 瀹瑰櫒绫诲瀷
+ */
+public enum ContainerType {
+ //濉戞枡鏂欑
+ CONTAINER_TYPE_NORMAL("3", "濉戞枡鏂欑"),
+ CONTAINER_TYPE_HEIGHT("2", "濉戞枡鏂欑-楂�"),
+ ;
+ ContainerType(String val, String desc) {
+ this.val = Long.valueOf(val);
+ this.desc = desc;
+ }
+
+ public Long val;
+
+ public String desc;
+
+}
--
Gitblit v1.9.1