From 258f2699264d2ea1066ba5a726f6bf1cbc23afef Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期二, 16 四月 2024 10:34:46 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java |  114 ++++++++++++++++++++++++++++++++++++++
 jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/doman/PostEntity.java          |   19 ++++++
 2 files changed, 133 insertions(+), 0 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/doman/PostEntity.java b/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/doman/PostEntity.java
new file mode 100644
index 0000000..f2cfe7c
--- /dev/null
+++ b/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;
+
+
+}
+
diff --git a/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java b/jcdm-main/src/main/java/com/jcdm/main/restful/qingYan/service/ExternalInterface.java
new file mode 100644
index 0000000..f90542d
--- /dev/null
+++ b/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 灞炴�у�硷紝濡傛灉鑾峰彇澶辫触鍒欒繑鍥瀗ull
+     */
+    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;
+    }
+
+}

--
Gitblit v1.9.3