¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |