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