-
admin
2024-04-16 258f2699264d2ea1066ba5a726f6bf1cbc23afef
-
已添加2个文件
133 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/doman/PostEntity.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/doman/PostEntity.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.jcdm.main.restful.qingYan.doman;
import lombok.Data;
@Data
public class PostEntity {
    public String PEOL_PackID;
    public String PEOL_GC;
    public String CJXLJ_GDBH;
    public String CJXLJ_CPXH;
    public String CJXLJ_SBBH;
}
jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.jcdm.main.restful.qingYan.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonObject;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
import com.jcdm.main.restful.qingYan.doman.PostEntity;
import com.jcdm.main.rm.repairData.domain.RmRepairData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;
import java.util.List;
@RestController
@RequestMapping("/jcdmMes")
public class ExternalInterface {
    @Autowired
    private IDaParamCollectionService daParamCollectionService;
    @Autowired
    private IOmProductionOrdeInfoService productionOrdeInfoService;
    @PostMapping("/pushParamData")
    public void receivingData(@RequestBody PostEntity postEntity) throws JsonProcessingException {
//        ObjectMapper objectMapper = new ObjectMapper();
//        PostEntity person = objectMapper.readValue(postEntity, PostEntity.class);
        Class<?> entityClass = PostEntity.class; // æ›¿æ¢ä¸ºä½ çš„实体类
        String packId = postEntity.getPEOL_PackID();
        OmProductionOrdeInfo one = productionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packId));
        String productType = "type";
        String workOrderNo = one.getWorkOrderNo();
        for (Field field : entityClass.getDeclaredFields()) {
            String fieldName = field.getName();
            DaParamCollection daParamCollection = new DaParamCollection();
            daParamCollection.setWorkOrderNo(workOrderNo);
            daParamCollection.setProductCode(productType);
            daParamCollection.setSfcCode(packId);
            daParamCollection.setParamCode(field.getName());
            daParamCollection.setParamValue((String) getFieldValue(postEntity, fieldName));
            if(fieldName.contains("GDBH")){
                daParamCollection.setParamValue(workOrderNo);
            }
            if(fieldName.contains("CPXH")){
                daParamCollection.setParamValue(productType);
            }
            daParamCollectionService.save(daParamCollection);
        }
    }
    /**
     * ä½¿ç”¨åå°„获取对象的属性值
     *
     * @param obj       ç›®æ ‡å¯¹è±¡
     * @param fieldName å±žæ€§å
     * @return å±žæ€§å€¼ï¼Œå¦‚果获取失败则返回null
     */
    public static Object getFieldValue(Object obj, String fieldName) {
        if (obj == null) {
            throw new IllegalArgumentException("Object must not be null");
        }
        try {
            Field field = obj.getClass().getDeclaredField(fieldName);
            field.setAccessible(true); // è®¾ç½®å¯è®¿é—®æ€§ï¼Œä»¥ä¾¿è®¿é—®ç§æœ‰å­—段
            return field.get(obj);
        } catch (NoSuchFieldException e) {
            // å¦‚果当前类没有该字段,则尝试从父类中获取
            Class<?> superClass = obj.getClass().getSuperclass();
            if (superClass != null && !superClass.equals(Object.class)) {
                return getFieldValue(obj, fieldName, superClass);
            }
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
    private static Object getFieldValue(Object obj, String fieldName, Class<?> superClass) {
        try {
            Field field = superClass.getDeclaredField(fieldName);
            field.setAccessible(true);
            return field.get(obj);
        } catch (NoSuchFieldException e) {
            // å¦‚果父类也没有该字段,则继续向上查找
            Class<?> grandParentClass = superClass.getSuperclass();
            if (grandParentClass != null && !grandParentClass.equals(Object.class)) {
                return getFieldValue(obj, fieldName, grandParentClass);
            }
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
}