wu
2025-02-27 597694f4d57a16aeb1bdccdebfcb5375abc1fce9
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -55,7 +55,8 @@
    WorkAssignmentMapper workAssignmentMapper;
    private final static String ERP_URL = "http://192.168.2.100:8086";
        private final static String ERP_URL = "http://192.168.2.100:8086";
//    private final static String ERP_URL = "http://10.153.19.174:8086";
    /**
@@ -98,9 +99,9 @@
            reportingWork.setProductionId(damages.get(0).getProcessId().substring(0, 11));
            reportingWork.setProcessId(damages.get(0).getProcessId() + "/" + damages.get(0).getTechnologyNumber());
//            reportingWork.setDeviceName(damages.get(0).getDeviceName());
            if (StringUtils.isBlank(damages.get(0).getDeviceName())){
            if (StringUtils.isBlank(damages.get(0).getDeviceName())) {
                reportingWork.setDeviceName("auto");
            }else{
            } else {
                reportingWork.setDeviceName(damages.get(0).getDeviceName());
            }
            reportingWork.setThisProcess(damages.get(0).getWorkingProcedure());
@@ -144,7 +145,7 @@
            }
            reportingWorkDetails.add(reportingWorkDetail);
            reportingWorkDetail.setDamageDetailsList(damageDetailses);
            sendToERP(reportingWork, reportingWorkDetails);
            sendToERP(reportingWork, reportingWorkDetails, Boolean.FALSE);
        }
    }
@@ -154,9 +155,9 @@
        reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
        reportingWork.setProductionId(damage.getProcessId().substring(0, 11));
        reportingWork.setProcessId(damage.getProcessId() + "/" + damage.getTechnologyNumber());
        if (StringUtils.isBlank(damage.getDeviceName())){
        if (StringUtils.isBlank(damage.getDeviceName())) {
            reportingWork.setDeviceName("auto");
        }else{
        } else {
            reportingWork.setDeviceName(damage.getDeviceName());
        }
        reportingWork.setThisProcess(damage.getWorkingProcedure());
@@ -174,7 +175,7 @@
        reportingWorkDetail.setCompletedQuantity(1);
        reportingWorkDetail.setBreakageQuantity(0);
        reportingWorkDetails.add(reportingWorkDetail);
        return sendToERP(reportingWork, reportingWorkDetails);
        return sendToERP(reportingWork, reportingWorkDetails, Boolean.TRUE);
    }
    @Override
@@ -185,7 +186,7 @@
        damage.setLine(deviceId);
        damage.setType(type);
        damage.setRemark(remark);
        damage.setStatus(0);
        damage.setStatus(1);
        this.insertDamage(damage);
    }
@@ -215,7 +216,7 @@
            glassInfoSelectWrapper.eq(GlassInfo::getGlassId, damage.getGlassId());
            GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoSelectWrapper);
            BeanUtils.copyProperties(glassInfo, damage);
            damage.setStatus(1);
            LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper = new LambdaQueryWrapper<>();
            workAssignmentSelectWrapper
                    .eq(WorkAssignment::getLine, damage.getLine())
@@ -312,12 +313,20 @@
    }
    @Override
    public Boolean sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails) {
    public Boolean sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails, Boolean type) {
        log.info("报工数据reportingWork:{},reportingWorkDetails:{}", reportingWork, reportingWorkDetails);
        try {
            // 目标系统的API URL
//            String url = ERP_URL + "/reportingWork/mesReportingWork";
            String url = ERP_URL + "/reportingWork/mesSaveReportingWorkWorn";
            String url1 = ERP_URL + "/reportingWork/mesReportingWork";
            String url2 = ERP_URL + "/reportingWork/mesSaveReportingWorkWorn";
            String url;
            if (type) {
                url = url1;
            } else {
                url = url2;
            }
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
@@ -333,19 +342,26 @@
            ObjectMapper objectMapper = new ObjectMapper();
            // 将 ReportingWork 转换为 JSONObject
            // 将 ReportingWorkDetail 列表转换为 JSONArray
            if (type) {
                JSONObject detailsJsonObject = new JSONObject(objectMapper.writeValueAsString(reportingWorkDetails.get(0)));
                result.put("detail", detailsJsonObject);
                reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 14));
            } else {
                JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
                result.put("detail", detailsJsonArray);
            }
            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);
@@ -372,7 +388,7 @@
                // 提取 code 和 message
                int code = jsonResponse.getInt("code");
                String message = jsonResponse.getStr("data");
                log.info("报工失败:{},{}", code, message);
                log.info("报工情况:{},{}", code, message);
                if (code == 200 && message.equals("true")) {
                    return true;
                } else {