| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.BufferedReader; |
| | |
| | | GlassInfoMapper glassInfoMapper; |
| | | @Resource |
| | | WorkAssignmentMapper workAssignmentMapper; |
| | | |
| | | @Resource |
| | | RestTemplate restTemplate; |
| | | |
| | | |
| | | /** |
| | |
| | | return sendToERP(reportingWork, reportingWorkDetails); |
| | | } |
| | | |
| | | @Override |
| | | public void autoSubmitReport(String glassId, int deviceId, String workingProcedure, String remark,int type) { |
| | | Damage damage = new Damage(); |
| | | damage.setGlassId(glassId); |
| | | damage.setWorkingProcedure(workingProcedure); |
| | | damage.setLine(deviceId); |
| | | damage.setType(type); |
| | | damage.setRemark(remark); |
| | | damage.setStatus(0); |
| | | this.insertDamage(damage); |
| | | } |
| | | /** |
| | | * 添加报工信息 |
| | | */ |
| | |
| | | log.info("报工数据reportingWork:{},reportingWorkDetails:{}", reportingWork, reportingWorkDetails); |
| | | try { |
| | | // 目标系统的API URL |
| | | String url = "http://192.168.1.199:8086/reportingWork/mesSaveReportingWorkWorn"; |
| | | String url = "http://192.168.2.100:8086/reportingWork/mesSaveReportingWorkWorn"; |
| | | URL obj = new URL(url); |
| | | HttpURLConnection con = (HttpURLConnection) obj.openConnection(); |
| | | |
| | | // 设置请求方法和请求头 |
| | | con.setRequestMethod("POST"); |
| | | con.setRequestProperty("Content-Type", "application/json; utf-8"); |
| | | con.setRequestProperty("Accept", "application/json"); |
| | | con.setDoOutput(true); |
| | | |
| | | // 创建 JSON 对象 |
| | | JSONObject result = new JSONObject(); |
| | | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | // 将 ReportingWork 转换为 JSONObject |
| | | JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork)); |
| | | reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); |
| | | // 将 ReportingWorkDetail 列表转换为 JSONArray |
| | | JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails)); |
| | | |
| | | // 将 JSON 对象和数组添加到结果对象中 |
| | | result.put("title", reportingWorkJson); |
| | | result.put("detail", detailsJsonArray); |
| | | result.put("type", 0); |
| | | result.put("userId", "admin"); |
| | | result.put("userName", "admin"); |
| | | result.put("qualityInsStatus", 0); |
| | | |
| | | // 将 result 对象转换为字符串 |
| | | String jsonInputString = result.toString(); |
| | | System.out.println("jsonInputString : " + result); |
| | | // 发送请求 |
| | | try (OutputStream os = con.getOutputStream()) { |
| | | byte[] input = jsonInputString.getBytes("utf-8"); |
| | | os.write(input, 0, input.length); |
| | | } |
| | | |
| | | // 获取响应码 |
| | | int responseCode = con.getResponseCode(); |
| | | System.out.println("Response Code : " + responseCode); |
| | | |
| | | // 获取响应内容 |
| | | try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) { |
| | | StringBuilder response = new StringBuilder(); |
| | | String inputLine; |
| | | while ((inputLine = in.readLine()) != null) { |
| | | response.append(inputLine); |
| | | } |
| | | // 解析响应内容 |
| | | JSONObject jsonResponse = new JSONObject(response.toString()); |
| | | |
| | | // 提取 code 和 message |
| | | int code = jsonResponse.getInt("code"); |
| | | String message = jsonResponse.getStr("data"); |
| | | log.info("报工失败:{},{}", code, message); |
| | | if (code == 200 && message.equals("true")) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public Boolean sendToERPRest(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails) { |
| | | log.info("报工数据reportingWork:{},reportingWorkDetails:{}", reportingWork, reportingWorkDetails); |
| | | try { |
| | | // 目标系统的API URL |
| | | String url = "http://192.168.2.100:8086/reportingWork/mesSaveReportingWorkWorn"; |
| | | URL obj = new URL(url); |
| | | HttpURLConnection con = (HttpURLConnection) obj.openConnection(); |
| | | |