package com.billion.main.api;
|
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpResponse;
|
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.billion.common.core.domain.entity.SysDictData;
|
import com.billion.framework.websocket.WebSocketUsers;
|
import com.billion.main.api.domain.*;
|
import com.billion.main.api.service.IWorkOrdersInfoService;
|
import com.billion.main.bs.domain.BsFormulaChildInfo;
|
import com.billion.main.da.domain.DaFailRecord;
|
import com.billion.main.da.service.IDaFailRecordService;
|
import com.billion.main.plc.constant.Constants;
|
import com.billion.system.service.ISysDictDataService;
|
import com.billion.system.service.ISysDictTypeService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.websocket.Session;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
|
@RestController
|
@RequestMapping("/dmMes")
|
public class RestfulAPI {
|
Map<String, Session> map = WebSocketUsers.getUsers();
|
|
@Autowired
|
private IWorkOrdersInfoService iWorkOrdersInfoService;
|
@Autowired
|
private IDaFailRecordService failRecordService;
|
@Autowired
|
private ISysDictDataService dictDataService;
|
@Autowired
|
private ISysDictTypeService dictTypeService;
|
|
public static final String getQualityData = "IP地址/CollectQualityData";
|
/**
|
* 接收工单信息
|
* 1、工厂MES调用接收工单接口,将工单信息发送给产线MES
|
* 2、产线MES将接收到的工单信息存入到工单表和BOM表
|
*/
|
@GetMapping("/receiveWorkOrdersInfo")
|
public ApiResponse receiveWorkOrdersInfo(@RequestBody WorkOrdersInfo workOrdersInfo) {
|
try {
|
// 调用service层保存数据
|
boolean saveResult = iWorkOrdersInfoService.saveWorkOrders(workOrdersInfo);
|
// 构建响应数据
|
ApiResponse response = new ApiResponse();
|
List<ApiResponse.ResponseData> dataList = new ArrayList<>();
|
ApiResponse.ResponseData responseData = new ApiResponse.ResponseData();
|
if (saveResult) {
|
response.setCode("success");
|
response.setMessage("API调用成功");
|
responseData.setProductionID(workOrdersInfo.getProductionID());
|
responseData.setResultCode("S");
|
responseData.setResultText("采集完成");
|
} else {
|
response.setCode("fail");
|
response.setMessage("API调用失败");
|
responseData.setProductionID(workOrdersInfo.getProductionID());
|
responseData.setResultCode("F");
|
responseData.setResultText("采集失败");
|
}
|
dataList.add(responseData);
|
response.setData(dataList);
|
return response;
|
} catch (Exception e) {
|
// 异常处理
|
ApiResponse response = new ApiResponse();
|
response.setCode("fail");
|
response.setMessage("API调用失败");
|
List<ApiResponse.ResponseData> dataList = new ArrayList<>();
|
ApiResponse.ResponseData responseData = new ApiResponse.ResponseData();
|
responseData.setProductionID(workOrdersInfo.getProductionID());
|
responseData.setResultCode("F");
|
responseData.setResultText("采集失败");
|
dataList.add(responseData);
|
response.setData(dataList);
|
return response;
|
}
|
}
|
@PostMapping("/postSy")
|
public Object postSy(){
|
WebSocketUsers.sendMessageToUserByText(map.get("IGBT"), "测试推送");
|
|
return "234";
|
}
|
|
@PostMapping("/sendWebSocket")
|
public void sendWebSocket(@RequestBody BsFormulaChildInfo bsFormulaChildInfo)
|
{
|
WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), bsFormulaChildInfo.getResults());
|
}
|
|
public void updateFailRecordRetryCount(DaFailRecord failRecord){
|
failRecord.setRetryCount(failRecord.getRetryCount()+1);
|
boolean b = failRecordService.saveOrUpdate(failRecord);
|
System.out.println(b);
|
}
|
|
|
}
|