1
9 小时以前 fdaef787cf4ffe516a395559abe75db531af9af8
lsh#
7个文件已修改
159 ■■■■■ 已修改文件
rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/ErpReportService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/BaseInfoController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/phyz/ERPController.java
@@ -98,7 +98,11 @@
        JSONArray params = paramsFormat(objParams);
        List<Customer> customerList = JSON.parseArray(params.toJSONString(), Customer.class);
        // 数据处理,转发server
        return CommonResponse.ok();
        String resultMsg = erpReportService.syncCustomer(customerList);
        if ("200".equals(resultMsg)){
            return  CommonResponse.ok(resultMsg);
        }
        return CommonResponse.error(resultMsg);
    }
    @ApiOperation("供应商信息同步")
@@ -115,6 +119,10 @@
        JSONArray params = paramsFormat(objParams);
        List<Supplier> supplierList = JSON.parseArray(params.toJSONString(), Supplier.class);
        // 数据处理,转发server
        String resultMsg = erpReportService.syncSupplier(supplierList);
        if ("200".equals(resultMsg)){
            return  CommonResponse.ok(resultMsg);
        }
        return CommonResponse.ok();
    }
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/constant/WmsConstant.java
@@ -10,12 +10,15 @@
    //基础信息:库位信息同步
    public static String SYNC_LOCS = "/rsf-server/base/sync/locs";
    //基础信息:仓库信息同步
    //基础信息:物料信息同步
    public static String SYNC_MATNRS = "/rsf-server/base/sync/base/matnrs";
    //基础信息:仓库信息同步
    public static String SYNC_WAREHOUSE = "/rsf-server/base/sync/warehouse";
    //基础信息:企业信息同步
    public static String SYNC_COMPANIES = "/rsf-server/base/sync/companies";
    //订单信息查询
    public static String QUERY_ORDER_AND_DETLS = "/rsf-server/erp/query/order";
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Customer.java
@@ -17,16 +17,17 @@
    // 客户编码,唯一标识
    @NotNull
    @JsonProperty("customerId")
    private String customerId;
    private String customerId;//对应private String code;企业编码
    // 客户名称
    @JsonProperty("customerName")
    private String customerName;
    private String customerName;//private String name;//企业名称
    // 客户昵称
    private String customerNickName;
    private String customerNickName;//private String breifCode;//企业助记码
    // 客户分组,国内,国外
    private String customerGroup;
    private String type = "customer";//type  固定值
    // 联系人
    private String contact;
    private String contact;//联系人
    // 联系电话
    private String telephone;
    // 邮箱
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Supplier.java
@@ -25,6 +25,7 @@
    private String supplierNickName;
    // 供应商分组,国内,国外
    private String supplierGroup;
    private String type = "supplier";
    // 联系人
    private String contact;
    // 联系电话
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/ErpReportService.java
@@ -2,9 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.vincent.rsf.openApi.entity.dto.CommonResponse;
import com.vincent.rsf.openApi.entity.phyz.Material;
import com.vincent.rsf.openApi.entity.phyz.Order;
import com.vincent.rsf.openApi.entity.phyz.Warehouse;
import com.vincent.rsf.openApi.entity.phyz.*;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
@@ -14,6 +12,8 @@
    String syncMaterial(List<Material> materialList);
    String syncWareHouse(List<Warehouse> warehouseList);
    String syncCustomer(List<Customer> customerList);
    String syncSupplier(List<Supplier> supplierList);
    String addOrderToServer(Order order);
    JSONObject loginBySign() throws UnsupportedEncodingException, NoSuchAlgorithmException;
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/phyz/impl/ErpReportServiceImpl.java
@@ -11,10 +11,7 @@
import com.vincent.rsf.openApi.config.PlatformProperties;
import com.vincent.rsf.openApi.entity.constant.WmsConstant;
import com.vincent.rsf.openApi.entity.dto.CommonResponse;
import com.vincent.rsf.openApi.entity.phyz.ErpReportParams;
import com.vincent.rsf.openApi.entity.phyz.Material;
import com.vincent.rsf.openApi.entity.phyz.Order;
import com.vincent.rsf.openApi.entity.phyz.Warehouse;
import com.vincent.rsf.openApi.entity.phyz.*;
import com.vincent.rsf.openApi.service.WmsErpService;
import com.vincent.rsf.openApi.service.phyz.ErpReportService;
import com.vincent.rsf.openApi.utils.ParamsMapUtils;
@@ -170,6 +167,71 @@
            }
        }
    }
    @Override
    public String syncCustomer(List<Customer> customerList){
        if (customerList.isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
        /**WMS基础配置链接*/
        String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.SYNC_COMPANIES;
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        headers.add("api-version", "v2.0");
        // Customer -> CompaniesParam 字段一一对应后再下发
        List<Map<String, Object>> companiesParamsList = customerToCompaniesParams(customerList);
        HttpEntity httpEntity2 = new HttpEntity<>(companiesParamsList, headers);//cs
        ResponseEntity<String> exchange = restTemplate.exchange(wmsUrl, HttpMethod.POST, httpEntity2, String.class);//cs
        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 "200";
                } else {
                    return result.getMsg();
                }
            } catch (JsonProcessingException e) {
                return e.getMessage();
            }
        }
    }
    @Override
    public String syncSupplier(List<Supplier> supplierList){
        if (supplierList.isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
        /**WMS基础配置链接*/
        String wmsUrl = wmsApi.getHost() + ":" + wmsApi.getPort() + WmsConstant.SYNC_COMPANIES;
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        headers.add("api-version", "v2.0");
        // Supplier -> supplierParams 字段一一对应后再下发
        List<Map<String, Object>> supplierParamsList = customerToSupplierParams(supplierList);
        HttpEntity httpEntity2 = new HttpEntity<>(supplierParamsList, headers);//cs
        ResponseEntity<String> exchange = restTemplate.exchange(wmsUrl, HttpMethod.POST, httpEntity2, String.class);//cs
        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 "200";
                } else {
                    return result.getMsg();
                }
            } catch (JsonProcessingException e) {
                return e.getMessage();
            }
        }
    }
    /**
     * Warehouse 字段映射为 server 端 WarehouseParams 字段
@@ -193,6 +255,62 @@
        return mappedList;
    }
    /**
     * Customer 字段映射为 server 端 CompaniesParam 字段
     */
    private List<Map<String, Object>> customerToCompaniesParams(List<Customer> customerList) {
        List<Map<String, Object>> mappedList = new ArrayList<>();
        for (Customer customer : customerList) {
            if (Objects.isNull(customer)) {
                continue;
            }
            Map<String, Object> map = new HashMap<>();
            map.put("name", customer.getCustomerName());
            map.put("nameEn", null);
            map.put("breifCode", customer.getCustomerNickName());
            // server 端类型转换使用中文描述
            map.put("type", customer.getType());
            map.put("contact", customer.getContact());
            map.put("tel", customer.getTelephone());
            map.put("email", customer.getEmail());
            map.put("pcode", null);
            map.put("city", customer.getCustomerGroup());
            map.put("province", null);
            map.put("address", customer.getAddress());
            map.put("code", customer.getCustomerId());
            mappedList.add(map);
        }
        return mappedList;
    }
    /**
     * Customer 字段映射为 server 端 CompaniesParam 字段
     */
    private List<Map<String, Object>> customerToSupplierParams(List<Supplier> supplierList) {
        List<Map<String, Object>> mappedList = new ArrayList<>();
        for (Supplier supplier : supplierList) {
            if (Objects.isNull(supplier)) {
                continue;
            }
            Map<String, Object> map = new HashMap<>();
            map.put("name", supplier.getSupplierName());
            map.put("nameEn", null);
            map.put("breifCode", supplier.getSupplierName());
            // server 端类型转换使用中文描述
            map.put("type", supplier.getType());
            map.put("contact", supplier.getContact());
            map.put("tel", supplier.getTelephone());
            map.put("email", supplier.getEmail());
            map.put("pcode", null);
            map.put("city", supplier.getSupplierGroup());
            map.put("province", null);
            map.put("address", supplier.getAddress());
            map.put("code", supplier.getSupplierId());
            mappedList.add(map);
        }
        return mappedList;
    }
    @Override
    public String addOrderToServer(Order order) {
        if (Objects.isNull(order.getOrderNo()) || order.getOrderNo().isEmpty()) {
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/BaseInfoController.java
@@ -114,7 +114,7 @@
    /**
     * @author Ryan
     * @date 2025/8/19
     * @description: 仓库信息同步
     * @description: 企业信息同步
     * @version 1.0
     */
    @ApiOperation(value = "企业信息同步")