From 5b544fc8d6029a71669b3992c5cfea9a044aaf3f Mon Sep 17 00:00:00 2001
From: cl <418351270@qq.com>
Date: 星期四, 04 七月 2024 16:39:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 49 insertions(+), 5 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 46ff5d3..85f9e6c 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
@@ -12,11 +12,14 @@
 import com.jcdm.common.core.domain.model.LoginUser;
 import com.jcdm.common.utils.ServletUtils;
 import com.jcdm.common.utils.StringUtils;
+import com.jcdm.framework.websocket.WebSocketUsers;
 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
 import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfoExcelImport;
 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
 import com.jcdm.main.restful.factoryMes.service.RestfulService;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.weaver.loadtime.Aj;
 import org.slf4j.Logger;
@@ -54,6 +57,9 @@
 
     @Autowired
     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
+
+    @Autowired
+    private MiloService miloService;
 
     /**
      * 鏌ヨ鐢熶骇宸ュ崟鍒楄〃
@@ -117,11 +123,8 @@
     {
         String paramProductNum = "";
         // 鏌ヨ鏈�鏂扮殑宸ュ崟淇℃伅
-        List<OmProductionOrdeInfo> list = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().orderByAsc(OmProductionOrdeInfo::getCreateTime));
-        if(list.size() > 0){
-            paramProductNum = list.get(list.size()-1).getProductNum();
-        }
-        String orderJsonString = RestfulService.getProductionWorkOrderRequest(paramProductNum, "OP230");
+        OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
+        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
         JSONObject jsonObject = new JSONObject(orderJsonString);
         // 浠嶫SONObject涓幏鍙杁ata瀵硅薄
         JSONObject dataObject = jsonObject.getJSONObject("data");
@@ -153,6 +156,47 @@
         return AjaxResult.success(dataObject.getStr("productNum"));
     }
 
+    @GetMapping("/mozuReceivingWorkOrders")
+    public AjaxResult mozuReceivingWorkOrders(OmProductionOrdeInfo paramOrder)
+    {
+        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){
+                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.setOnlineCompletionMark("0");
+                    omProductionOrdeInfo.setSfResult("0");
+                    omProductionOrdeInfo.setProductCode(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());
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }else {
+            return AjaxResult.error("鎺ュ崟澶辫触,璇疯仈绯荤鐞嗗憳");
+        }
+        return AjaxResult.success(dataObject.getStr("productNum"));
+    }
+
     @GetMapping(value = "/jieBang/{id}")
     public AjaxResult jieBang(@PathVariable("id") Long id)
     {

--
Gitblit v1.9.3