ny
2024-12-12 f78656b3aff688567b0e8ff2e83646014ec098eb
src/main/java/com/itstyle/mdm/service/impl/MdmServiceImpl.java
@@ -1,6 +1,7 @@
package com.itstyle.mdm.service.impl;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -29,7 +30,7 @@
    @Override
    @Transactional
    public JSONArray saveMdmData(JSONArray recordArray) {
    public JSONArray saveMdmData(JSONArray recordArray,String name) {
        JSONArray newJsonArray = new JSONArray();
        int size = recordArray.size();
        Object[] params = new  Object[]{};
@@ -38,12 +39,12 @@
            for (int i = 0; i < size; i++) {
                String json = recordArray.get(i).toString();
                JSONObject jsonObj = JSON.parseObject(json);
                String id = jsonObj.getString("id");
                String id = jsonObj.getString("tgctwoclasscode");
                String tgcoriginalcode = jsonObj.getString("tgcoriginalcode");
                String updatedat = jsonObj.getString("updatedat");
                String updatetime = jsonObj.getString("updatetime");
                mdmData = new MdmData();
                mdmData.setType("局域物料名称编码数据获取");
                mdmData.setType(name);
                mdmData.setId(id);
                mdmData.setTgcoriginalCode(tgcoriginalcode);
                mdmData.setUpdatedat(updatedat);
@@ -59,6 +60,60 @@
                            continue;
                        }
                        jsonObj.put("renewstatus","update");
                        //wms需求:过滤件装规格为空的数据
                        if(!StringUtils.isEmpty(jsonObj.getString("specification"))){
                            newJsonArray.add(jsonObj);
                        }
                        //数据存在变化
                        dynamicQuery.update(mdm);//更新数据
                    }
                }else {
                    jsonObj.put("renewstatus","new");
                    //wms需求:过滤件装规格为空的数据
                    if(!StringUtils.isEmpty(jsonObj.getString("specification"))){
                        newJsonArray.add(jsonObj);
                    }
                    //说明该数据为新数据
                    mdmData.setUuid(UUID.randomUUID().toString());
                    dynamicQuery.save(mdmData);
                }
            }
        }
        return newJsonArray;
    }
    @Override
    @Transactional
    public JSONArray saveMdmUnitData(JSONArray recordArray, String name) {
        JSONArray newJsonArray = new JSONArray();
        int size = recordArray.size();
        Object[] params = new  Object[]{};
        MdmData mdmData = null;
        if(size != 0){
            for (int i = 0; i < size; i++) {
                String json = recordArray.get(i).toString();
                JSONObject jsonObj = JSON.parseObject(json);
                String id = jsonObj.getString("code");
                String tgcoriginalcode = jsonObj.getString("originalcode");
                //String updatedat = jsonObj.getString("updatedat");
                String updatetime = jsonObj.getString("updatetime");
                mdmData = new MdmData();
                mdmData.setType(name);
                mdmData.setId(id);
                mdmData.setTgcoriginalCode(tgcoriginalcode);
                mdmData.setUpdatedat("");
                mdmData.setUpdatetime(updatetime);
                String countSql = "SELECT mdm.uuid,mdm.id,mdm.tgcoriginalCode,mdm.updatedat,mdm.updatetime FROM mdm_data AS mdm where mdm.tgcoriginalCode='"+tgcoriginalcode+"' ";
                List<MdmData> list = dynamicQuery.nativeQueryList(MdmData.class,countSql,params);
                if(list.size()>0){
                    //说明存在数据
                    for (MdmData mdm : list) {
                        String updatetime1 = mdm.getUpdatetime();
                        if(updatetime1.equals(updatetime)){
                            //数据无变化
                            continue;
                        }
                        jsonObj.put("renewstatus","update");
                        newJsonArray.add(jsonObj);
                        //数据存在变化
                        dynamicQuery.update(mdm);//更新数据