skyouc
3 天以前 2ccc26e480e1ce329a2fa813bdda0dbe4711a3df
新增物料更新接口
4个文件已修改
2个文件已添加
135 ■■■■■ 已修改文件
rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ErpMatnrParms.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/ContainerType.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}