package com.jcdm.main.restful.qingYan.service;
|
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpResponse;
|
import cn.hutool.json.JSONUtil;
|
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.core.domain.AjaxResult;
|
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.ParentVO;
|
import com.jcdm.main.restful.qingYan.doman.PostEntity;
|
import com.jcdm.main.rm.repairData.domain.RmRepairData;
|
import org.aspectj.weaver.loadtime.Aj;
|
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;
|
|
String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
|
|
/**
|
* 导出点检任务列表
|
*/
|
@PostMapping("/deviceResultFeedback")
|
public AjaxResult hdy(@RequestBody ParentVO parentVO)
|
{
|
HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
|
return AjaxResult.success(execute.body());
|
}
|
|
|
@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;
|
}
|
|
}
|