From b90de5d0380a48b5ded94540ade05d80f810a9a9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 27 二月 2025 09:22:44 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java |  148 +++++++++++++++----------------------------------
 1 files changed, 45 insertions(+), 103 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index a4bc42f..34cf57b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -19,9 +19,9 @@
 import com.mes.work_assignment.entity.WorkAssignment;
 import com.mes.work_assignment.mapper.WorkAssignmentMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import java.io.BufferedReader;
@@ -54,8 +54,9 @@
     @Resource
     WorkAssignmentMapper workAssignmentMapper;
 
-    @Resource
-    RestTemplate restTemplate;
+
+    private final static String ERP_URL = "http://192.168.2.100:8086";
+//    private final static String ERP_URL = "http://10.153.19.174:8086";
 
 
     /**
@@ -73,11 +74,6 @@
         }
         if (!"0".equals(workingProcedure)) {
             damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure);
-        }
-        List<Damage> damageList = baseMapper.selectList(damageSelectWrapper);
-
-        for (Damage damage : damageList) {
-            damage.setStatus(2);
         }
         return baseMapper.selectList(damageSelectWrapper);
     }
@@ -97,7 +93,12 @@
             reportingWork.setOrderId(damages.get(0).getProcessId().substring(0, 10));
             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());
+//            reportingWork.setDeviceName(damages.get(0).getDeviceName());
+            if (StringUtils.isBlank(damages.get(0).getDeviceName())) {
+                reportingWork.setDeviceName("auto");
+            } else {
+                reportingWork.setDeviceName(damages.get(0).getDeviceName());
+            }
             reportingWork.setThisProcess(damages.get(0).getWorkingProcedure());
             reportingWork.setThisCompletedQuantity(0);
             reportingWork.setThisWornQuantity(0);
@@ -139,7 +140,7 @@
             }
             reportingWorkDetails.add(reportingWorkDetail);
             reportingWorkDetail.setDamageDetailsList(damageDetailses);
-            sendToERP(reportingWork, reportingWorkDetails);
+            sendToERP(reportingWork, reportingWorkDetails, Boolean.FALSE);
         }
     }
 
@@ -149,9 +150,12 @@
         reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
         reportingWork.setProductionId(damage.getProcessId().substring(0, 11));
         reportingWork.setProcessId(damage.getProcessId() + "/" + damage.getTechnologyNumber());
-        reportingWork.setDeviceName(damage.getDeviceName());
+        if (StringUtils.isBlank(damage.getDeviceName())) {
+            reportingWork.setDeviceName("auto");
+        } else {
+            reportingWork.setDeviceName(damage.getDeviceName());
+        }
         reportingWork.setThisProcess(damage.getWorkingProcedure());
-//        reportingWork.setNextProcess("纾ㄨ竟");
         reportingWork.setThisCompletedQuantity(1);
         reportingWork.setThisWornQuantity(0);
         reportingWork.setClasses("鏃╃彮");
@@ -166,20 +170,21 @@
         reportingWorkDetail.setCompletedQuantity(1);
         reportingWorkDetail.setBreakageQuantity(0);
         reportingWorkDetails.add(reportingWorkDetail);
-        return sendToERP(reportingWork, reportingWorkDetails);
+        return sendToERP(reportingWork, reportingWorkDetails, Boolean.TRUE);
     }
 
     @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);
         damage.setLine(deviceId);
         damage.setType(type);
         damage.setRemark(remark);
-        damage.setStatus(0);
+        damage.setStatus(1);
         this.insertDamage(damage);
     }
+
     /**
      * 娣诲姞鎶ュ伐淇℃伅
      */
@@ -206,7 +211,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())
@@ -303,14 +308,20 @@
     }
 
     @Override
-    public Boolean sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails) {
+    public Boolean sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails, Boolean type) {
         log.info("鎶ュ伐鏁版嵁reportingWork锛歿}锛宺eportingWorkDetails锛歿}", reportingWork, reportingWorkDetails);
         try {
             // 鐩爣绯荤粺鐨凙PI URL
-            String url = "http://192.168.2.100:8086/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();
-
             // 璁剧疆璇锋眰鏂规硶鍜岃姹傚ご
             con.setRequestMethod("POST");
             con.setRequestProperty("Content-Type", "application/json; utf-8");
@@ -319,26 +330,31 @@
 
             // 鍒涘缓 JSON 瀵硅薄
             JSONObject result = new JSONObject();
-
             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);
+            log.info("jsonInputString :{} ", result);
             // 鍙戦�佽姹�
             try (OutputStream os = con.getOutputStream()) {
                 byte[] input = jsonInputString.getBytes("utf-8");
@@ -347,7 +363,7 @@
 
             // 鑾峰彇鍝嶅簲鐮�
             int responseCode = con.getResponseCode();
-            System.out.println("Response Code : " + responseCode);
+            log.info("Response Code :{} ", responseCode);
 
             // 鑾峰彇鍝嶅簲鍐呭
             try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
@@ -362,87 +378,13 @@
                 // 鎻愬彇 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 {
                     return false;
                 }
             }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    public Boolean sendToERPRest(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails) {
-        log.info("鎶ュ伐鏁版嵁reportingWork锛歿}锛宺eportingWorkDetails锛歿}", reportingWork, reportingWorkDetails);
-        try {
-            // 鐩爣绯荤粺鐨凙PI 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);
-                }
-                // 瑙f瀽鍝嶅簲鍐呭
-                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;

--
Gitblit v1.8.0