自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-12-08 7366c9e61e5f022a0b4a98b36772bc1d65164056
#
2个文件已修改
71 ■■■■■ 已修改文件
src/main/java/com/zy/common/service/erp/ErpSqlServer.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/erp/entity/Goods.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/erp/ErpSqlServer.java
@@ -1,5 +1,6 @@
package com.zy.common.service.erp;
import com.core.common.Cools;
import com.zy.common.properties.ErpDbProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -9,13 +10,8 @@
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -50,7 +46,7 @@
        List<T> list = new ArrayList<>();
        if (null != result) {
            for (Map<String, Object> entity : result) {
                list.add(conver(entity, cls));
                list.add(Cools.conver(entity, cls));
            }
        }
        return list;
@@ -74,61 +70,6 @@
    /**
     * map 转 对象
     */
    public static <T> T conver(Map<? extends String, ?> map, Class<T> cls){
        T instance = null;
        try {
            Constructor<T> constructor = cls.getDeclaredConstructor();
            boolean constructorAccessible = constructor.isAccessible();
            constructor.setAccessible(true);
            instance = constructor.newInstance();
            constructor.setAccessible(constructorAccessible);
        } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) {
            e.printStackTrace();
        }
        Class<?> prototype = cls;
        do {
            for (Field field : prototype.getDeclaredFields()){
                if (Modifier.isFinal(field.getModifiers())
                        || Modifier.isStatic(field.getModifiers())
                        || Modifier.isTransient(field.getModifiers())){
                    continue;
                }
                String fieldName = field.getName();
                Object val = null;
                if (map.containsKey(fieldName)){
                    val = map.get(fieldName);
                }
                if (val != null){
                    boolean fieldAccessible = field.isAccessible();
                    field.setAccessible(true);
                    Class<?> type = field.getType();
                    try {
                        if (type.equals(Date.class)) {
                            Constructor<?> constructor = type.getDeclaredConstructor(Date.class);
                            boolean constructorAccessible = constructor.isAccessible();
                            constructor.setAccessible(true);
                            field.set(instance, constructor.newInstance(val));
                            constructor.setAccessible(constructorAccessible);
                        } else {
                            Constructor<?> constructor = type.getDeclaredConstructor(String.class);
                            boolean constructorAccessible = constructor.isAccessible();
                            constructor.setAccessible(true);
                            field.set(instance, constructor.newInstance(String.valueOf(val)));
                            constructor.setAccessible(constructorAccessible);
                        }
                    } catch (IllegalAccessException
                            | InstantiationException
                            | InvocationTargetException
                            | NoSuchMethodException e) {
                        System.err.println("convert error ===> Class["+prototype+"],Field:["+fieldName+"],Type:["+type+"],Value:["+val+"]");
                    }
                    field.setAccessible(fieldAccessible);
                }
            }
            prototype = prototype.getSuperclass();
        } while (!Object.class.equals(prototype));
        return instance;
    }
    private List<Map<String, Object>> executeQuery(String sql) {
        Connection conn = null;
src/main/java/com/zy/common/service/erp/entity/Goods.java
@@ -2,8 +2,6 @@
import lombok.Data;
import java.util.Date;
/**
 * Created by vincent on 2022/12/8
 */
@@ -22,7 +20,7 @@
    private Double GWT;
    private Date ProdDate;
    private String ProdDate;
    private String LINE;
@@ -36,7 +34,7 @@
    private String PACKING_TYPE;
    private Date PACKING_DATE;
    private String PACKING_DATE;
    private String State;
@@ -44,7 +42,7 @@
    private String PreVoucherID;
    private Date LastUpdatedDate;
    private String LastUpdatedDate;
    private Integer IsGetData;