From 06168f70aa1eb3c79edef3dc94fc2c1ba206b069 Mon Sep 17 00:00:00 2001
From: cl <418351270@qq.com>
Date: 星期二, 16 七月 2024 18:12:39 +0800
Subject: [PATCH] 修改参数采集

---
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java |   67 ++++++++++-----------------------
 1 files changed, 21 insertions(+), 46 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
index 85f9e6c..93ac1dd 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -3,8 +3,10 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +15,7 @@
 import com.jcdm.common.utils.ServletUtils;
 import com.jcdm.common.utils.StringUtils;
 import com.jcdm.framework.websocket.WebSocketUsers;
+import com.jcdm.main.constant.Constants;
 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfoExcelImport;
 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
@@ -118,50 +121,18 @@
         util.exportExcel(response, list, "鐢熶骇宸ュ崟鏁版嵁");
     }
 
-    @GetMapping("/receivingWorkOrders")
-    public AjaxResult receivingWorkOrders()
-    {
-        String paramProductNum = "";
-        // 鏌ヨ鏈�鏂扮殑宸ュ崟淇℃伅
-        OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
-        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
-        JSONObject jsonObject = new JSONObject(orderJsonString);
-        // 浠嶫SONObject涓幏鍙杁ata瀵硅薄
-        JSONObject dataObject = jsonObject.getJSONObject("data");
-        String code = jsonObject.getStr("code");
-        // 鍒ゆ柇鎺ュ崟鏄惁鎴愬姛
-        if(code.equals("success")){
-            logger.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俻ack{}鍑哄弬pack锛歿}",paramProductNum,dataObject.getStr("productNum"));
-            List<OmProductionOrdeInfo> check = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum,dataObject.getStr("productNum")));
-            if(check.size() == 0){
-                OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
-                omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum"));
-                omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum"));
-                omProductionOrdeInfo.setStationCode(dataObject.getStr("stationCode"));
-                omProductionOrdeInfo.setMaterialCode(dataObject.getStr("materialCode"));
-                omProductionOrdeInfo.setOnlineCompletionMark("0");
-                omProductionOrdeInfo.setSfResult("0");
-                if(dataObject.getStr("model").equals("PE01A")){
-                    omProductionOrdeInfo.setProductCode("1P102S");
-                }else {
-                    omProductionOrdeInfo.setProductCode(dataObject.getStr("model"));
-                }
-                omProductionOrdeInfo.setCreateTime(new Date());
-                omProductionOrdeInfo.setCreateUser("宸ュ巶MES");
-                omProductionOrdeInfoService.save(omProductionOrdeInfo);
-            }
-        }else {
-            return AjaxResult.error("鎺ュ崟澶辫触,璇疯仈绯荤鐞嗗憳");
-        }
-        return AjaxResult.success(dataObject.getStr("productNum"));
-    }
-
     @GetMapping("/mozuReceivingWorkOrders")
-    public AjaxResult mozuReceivingWorkOrders(OmProductionOrdeInfo paramOrder)
-    {
+    public AjaxResult mozuReceivingWorkOrders(OmProductionOrdeInfo paramOrder) throws Exception {
         String paramProductNum = "";
+        Object productTypeObjcet = miloService.readFromOpcUa("MOZU1." + paramOrder.getLineCode() + ".ProductType").getValue();//浜у搧绫诲瀷
+        if (ObjectUtil.isNull(productTypeObjcet)) {
+            return AjaxResult.error("鎺ュ崟澶辫触,PLC鏈紶杈撶敓浜х被鍨嬶紝璇疯仈绯荤鐞嗗憳!");
+        }
+        String productType = productTypeObjcet.toString();//浜у搧绫诲瀷
+        String materialCode = Constants.materialMap.get(productType);
+
         OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
-        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
+        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "M1OP100",materialCode);
         JSONObject jsonObject = new JSONObject(orderJsonString);
         // 浠嶫SONObject涓幏鍙杁ata瀵硅薄
         JSONObject dataObject = jsonObject.getJSONObject("data");
@@ -170,26 +141,30 @@
         if(code.equals("success")){
             logger.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俻ack{}鍑哄弬pack锛歿}",paramProductNum,dataObject.getStr("productNum"));
             List<OmProductionOrdeInfo> check = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum,dataObject.getStr("productNum")));
-            if(check.size() == 0){
+            if(check.isEmpty()){
                 try {
                     log.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俻ack{}鍑哄弬pack锛歿}", paramProductNum, dataObject.getStr("productNum"));
                     OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
                     omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum"));
                     omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum"));
                     omProductionOrdeInfo.setStationCode(dataObject.getStr("stationCode"));
-                    omProductionOrdeInfo.setMaterialCode(dataObject.getStr("materialCode"));
+                    omProductionOrdeInfo.setProductCode(dataObject.getStr("materialCode"));
+                    omProductionOrdeInfo.setPlanQty(Long.valueOf(dataObject.getStr("plannedQuantity")));
                     omProductionOrdeInfo.setOnlineCompletionMark("0");
                     omProductionOrdeInfo.setSfResult("0");
-                    omProductionOrdeInfo.setProductCode(dataObject.getStr("model"));
+                    omProductionOrdeInfo.setProductModel(dataObject.getStr("model"));
                     omProductionOrdeInfo.setCreateTime(new Date());
                     omProductionOrdeInfo.setCreateUser("宸ュ巶MES");
                     omProductionOrdeInfoService.save(omProductionOrdeInfo);
+
                     //鍐橮LC
-                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".MES_WorkOrderNumber").value(dataObject.getStr("productionOrderNum")).build());
-                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".MES_ModuleCode").value(dataObject.getStr("productNum")).build());
+                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".WorkOrderNumber").value(dataObject.getStr("productionOrderNum")).build());
+                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".ModuleCode").value(dataObject.getStr("productNum")).build());
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }
+            }else{
+                return AjaxResult.error("宸ュ崟閲嶅,璇烽噸鏂版帴鏀�");
             }
         }else {
             return AjaxResult.error("鎺ュ崟澶辫触,璇疯仈绯荤鐞嗗憳");

--
Gitblit v1.9.3