zhoushihao
2024-12-29 7a8ce5a3760aa10a8109f9d34f13d19652975404
1、erp报工接口改造,ip改为配置
2个文件已修改
89 ■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/resources/application.yml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -20,8 +20,8 @@
import com.mes.work_assignment.mapper.WorkAssignmentMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.io.BufferedReader;
@@ -54,8 +54,8 @@
    @Resource
    WorkAssignmentMapper workAssignmentMapper;
    @Resource
    RestTemplate restTemplate;
    @Value("${mes.glassGap}")
    private String erpUrl;
    /**
@@ -170,7 +170,7 @@
    }
    @Override
    public void autoSubmitReport(String glassId, int deviceId, String workingProcedure, String remark,int type) {
    public void autoSubmitReport(String glassId, int deviceId, String workingProcedure, String remark, int type) {
        Damage damage = new Damage();
        damage.setGlassId(glassId);
        damage.setWorkingProcedure(workingProcedure);
@@ -180,6 +180,7 @@
        damage.setStatus(0);
        this.insertDamage(damage);
    }
    /**
     * 添加报工信息
     */
@@ -307,7 +308,7 @@
        log.info("报工数据reportingWork:{},reportingWorkDetails:{}", reportingWork, reportingWorkDetails);
        try {
            // 目标系统的API URL
            String url = "http://192.168.2.100:8086/reportingWork/mesSaveReportingWorkWorn";
            String url = erpUrl + "/reportingWork/mesReportingWork";
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
@@ -369,80 +370,6 @@
                    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();
            // 设置请求方法和请求头
            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;
hangzhoumesParent/common/servicebase/src/main/resources/application.yml
@@ -5,4 +5,6 @@
    db-config:
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0
      logic-not-delete-value: 0
mes:
  erpUrl: http://192.168.2.100:8086