rsf-open-api/src/main/java/com/vincent/rsf/openApi/config/PlatformProperties.java
@@ -51,4 +51,19 @@ } @Data @Configuration @ConfigurationProperties(prefix = "platform.erp") public class ErpApi { /** * rcs调用路径 */ private String host; /**rcs调用端口**/ private String port; } } rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java
@@ -1,6 +1,7 @@ package com.vincent.rsf.openApi.controller; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.openApi.entity.dto.CommonResponse; import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; import java.util.Objects; @RestController @@ -93,4 +95,20 @@ return wmsErpService.syncMatnrs(parms); } @ApiOperation("物料信息上报") @PostMapping("/report/order") public CommonResponse reportOrders(@RequestBody Map<String, Object> params) { if (Objects.isNull(params)) { throw new CoolException("参数不能为空!!"); } return wmsErpService.reportOrders(params); } @ApiOperation("盘点差异修改") @PostMapping("/report/check") public CommonResponse reportCheck(@RequestBody ErpOpParams params) { return wmsErpService.reportCheck(params); } } rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java
@@ -22,6 +22,9 @@ //物料信息同步 public static String UPDATE_MATNR_INFO = "/rsf-server/base/mat/sync/auth/v1"; //订单完成回写 public static String REPORT_ORDER_CALLBACK = "/C3Api?SysCode=WMS"; } rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java
@@ -4,6 +4,8 @@ import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; import com.vincent.rsf.openApi.entity.params.ErpOpParams; import java.util.Map; public interface WmsErpService { CommonResponse getOrderInfo(ErpOpParams params); @@ -13,4 +15,8 @@ CommonResponse orderDel(ErpOpParams params); CommonResponse syncMatnrs(ErpMatnrParms parms); CommonResponse reportOrders(Map<String, Object> params); CommonResponse reportCheck(ErpOpParams params); } rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
@@ -33,6 +33,9 @@ private PlatformProperties.WmsApi wmsApi; @Autowired private PlatformProperties.ErpApi erpApi; @Autowired private RestTemplate restTemplate; /** @@ -203,4 +206,54 @@ } } /** * @author Ryan * @date 2025/10/27 * @description: 上报单据状态 * @version 1.0 */ @Override public CommonResponse reportOrders(Map<String, Object> params) { if (Objects.isNull(params)) { throw new CoolException("参数不能为空!!"); } /**WMS基础配置链接*/ String rcsUrl = erpApi.getHost() + ":" + erpApi.getPort() + WmsConstant.REPORT_ORDER_CALLBACK; 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()); } } } /** * @author Ryan * @date 2025/10/27 * @description: 盘点差异单修改 * @version 1.0 */ @Override public CommonResponse reportCheck(ErpOpParams params) { return null; } } rsf-open-api/src/main/resources/application-dev.yml
@@ -65,4 +65,9 @@ #链接 host: http://127.0.0.1 #端口 port: 8085 port: 8085 erp: #链接 host: http://www.itsdg.cn #端口 port: 3741 rsf-open-api/src/main/resources/application-prod.yml
@@ -80,3 +80,8 @@ host: http://127.0.0.1 #端口 port: 8085 erp: #链接 host: http://www.itsdg.cn #端口 port: 3741