dbs
2024-12-23 73734f096b25cb3c350ddceec46e47f4de004b7d
src/main/java/com/itstyle/mdm/utils/MdmUtils.java
@@ -33,14 +33,14 @@
     * MDM局域物料名称编码数据获取
     * @return
     */
    public String queryMaterial(){
    public String queryMaterial(String name){
        StringBuffer returnJson = new StringBuffer();
        Map<String,String> params = new HashMap<>();
        params.put("code","1560000581165.1560000576507.a94a779e9e6d3ecbb646e39477dad6ec");//授权码
        params.put("current","1");//页码
        params.put("size","1000");//每页记录数(最大1000)
        params.put("queryValue","");//模糊查询
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress("局域物料名称编码数据获取");
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress(name);
        String address = anEnum.getAddress();
        try {
            HttpClientResult httpClientResult = MdmApiUtils.doPost(MDM_ADRESS+address, null, params);
@@ -50,27 +50,34 @@
                String records = httpClientResult.getContent();
                records = records.replaceAll("\\p{Z}", "");
                JSONObject jsonObj = JSON.parseObject(records);
                records = jsonObj.getString("records");
                records = records.replaceAll("attri2","unitName");
                records = records.replaceAll("brand","supplierName");
                records = records.replaceAll("jzgg","specification");
                records = records.replaceAll("model","specificationDisplayName");
                records = records.replaceAll("namecn","code");
                records = records.replaceAll("hyflmc","typeCode");
                JSONArray recordArray = JSON.parseArray(records);//物料数据信息
                //将数据保存至数据库
                JSONArray newJson = mdmService.saveMdmData(recordArray,"局域物料名称编码数据获取");
                JSONArray newJson = mdmService.saveMdmData(recordArray,name);
                if(newJson.size()!=0){
                    //定义返回json格式
                    returnJson.append("{\n" +
                    /*returnJson.append("{\n" +
                            "    \"current\": 1,\n" +
                            "    \"orders\": [],\n" +
                            "    \"pages\": 303,");
                    returnJson.append("\"records\": "+newJson.toJSONString());
                    returnJson.append(",\n" +
                            "    \"pages\": 303,");*/
                    returnJson.append("{\"records\": "+newJson.toJSONString()+"}");
                    /*returnJson.append(",\n" +
                            "    \"searchCount\": true,\n" +
                            "    \"size\": 1,\n" +
                            "    \"total\": 303\n" +
                            "}");
                            "}");*/
                    //返回json格式参数
                    String toString = returnJson.toString();
                    System.out.println(toString);
                    System.out.println("响应参数分发:"+toString);
                    //分发增量数据至异构系统
                    distributeDataToSys(toString,"局域物料名称编码数据获取");
                    distributeDataToSys(toString,name);
                }
            }
        } catch (Exception e) {
@@ -83,8 +90,8 @@
     * MDM计量单位数据获取
     * @return
     */
    public String queryUnit(){
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress("计量单位业务基础数据编码获取");
    public String queryUnit(String name){
        MdmEnum anEnum = MdmEnum.getMdmEnumByAddress(name);
        StringBuffer returnJson = new StringBuffer();
        Map<String,String> params = new HashMap<>();
        params.put("code","1560000581165.1560000576507.a94a779e9e6d3ecbb646e39477dad6ec");//授权码
@@ -101,7 +108,7 @@
                records = jsonObj.getString("data");
                JSONArray recordArray = JSON.parseArray(records);//物料数据信息
                //将数据保存至数据库
                JSONArray newJson = mdmService.saveMdmUnitData(recordArray,"计量单位业务基础数据编码获取");
                JSONArray newJson = mdmService.saveMdmUnitData(recordArray,name);
                if(newJson.size()!=0){
                    //定义返回json格式
                    returnJson.append("{\n" +
@@ -113,9 +120,8 @@
                            "}");
                    //返回json格式参数
                    String toString = returnJson.toString();
                    System.out.println(toString);
                    //分发增量数据至异构系统
                    distributeDataToSys(toString,"计量单位业务基础数据编码获取");
                    distributeDataToSys(toString,name);
                }
            }
        } catch (Exception e) {
@@ -139,9 +145,22 @@
                String uuid = UUID.randomUUID().toString();
                try {
                    //数据分发
                    httpClientResult = MdmApiUtils.doPostJson(address, jsonParam);
                    if("MES系统".equals(sysName)){
                        //处理json为MES系统想要的格式
                        jsonParam=MdmApiUtils.getMesJson(jsonParam);
                        //拼接webservice
                        String xmlStr=MdmApiUtils.getMesSoapBody(jsonParam);
                        //请求webservice
                        httpClientResult = MdmApiUtils.doPostXmlJson(address, xmlStr);
                    }else{
                        httpClientResult = MdmApiUtils.doPostJson(address, jsonParam);
                    }
                    //响应结果
                    String content = httpClientResult.getContent();
                    if("MES系统".equals(sysName)){
                        content = MdmApiUtils.getMesResponseJson(content);
                    }
                    int code = httpClientResult.getCode();
                    if(200 == code){
                        //成功
@@ -152,7 +171,7 @@
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    this.saveInterfaceLog(uuid,interfaceName,address,jsonParam,"{\"batchId\":\""+uuid+"\",\"msg\":\" 接口调用网络异常!!! \"}");
                    this.saveInterfaceLog(uuid,interfaceName,address,jsonParam,"{\"batchId\":\""+uuid+"\",\"msg\":\" 接口调用网络异常!!!/"+e.getMessage()+"/ \"}");
                }
            }