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