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); } } 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"; } rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java
New file @@ -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; } 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); } 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()); } } } } rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java
New file @@ -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; }