From bd2f54cccfcbe5a1b41c516e1146c0c335856274 Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期三, 29 五月 2024 09:25:20 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                    |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java                              |    7 +
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java |   12 ++
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java                                |   64 +++++++++++++---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java              |    7 +
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java    |   30 +------
 hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java                      |   28 ++++--
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java          |    6 +
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java                     |   17 +++
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java        |   43 ++++++++++
 10 files changed, 162 insertions(+), 54 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index f93019e..be26553 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -37,7 +37,7 @@
             optimizeGlassinfos = optimizeProjectMapper.selectJoinList(OptimizeGlassinfo.class, new MPJQueryWrapper<OptimizeProject>()
                     .select("b.process_id,t.type,b.width,b.height,t.glass_thickness,t.glass_type,b.p_width,b.p_height,b.layer, b.total_layer, b.stock_id,b.heat_layout_id,b.heat_layout_sort,b.x_axis,b.y_axis,b.project_no,b.glass_id")
                     .leftJoin("optimize_detail b on t.project_no=b.project_no")
-                    .eq("t.state",100)
+                    //.eq("t.state",100)
                     .eq("t.project_no", engineeringId));
         }
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
index 94fe110..bdab088 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
@@ -3,6 +3,7 @@
 import com.github.yulichang.base.MPJBaseService;
 import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.entity.request.OptimizeRequest;
+import com.mes.uppattenusage.entity.UpPattenUsage;
 
 import java.util.List;
 
@@ -26,4 +27,10 @@
      * 灏嗗伐绋嬩俊鎭洿鏂扮姸鎬佷负宸查鍙�
      */
     void changeTask(String engineeringId, int i);
+    /**
+     * 瀹屾垚宸ョ▼浠诲姟鏀逛负300
+     *
+     * @return
+     */
+    boolean overTask(UpPattenUsage sequence, int state);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
index 4bb7aa3..22f9d8e 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -9,6 +9,7 @@
 import com.mes.pp.entity.request.OptimizeRequest;
 import com.mes.pp.mapper.OptimizeProjectMapper;
 import com.mes.pp.service.OptimizeProjectService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -29,13 +30,14 @@
 
     @Override
     public List<OptimizeProject> listByState(OptimizeRequest optimizeRequest) {
-        log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
+        //灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ
         LambdaQueryWrapper<OptimizeProject> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(OptimizeProject::getState,optimizeRequest.getState())
+                .or(qw -> qw.eq(OptimizeProject::getState, 200))
                 .like(StringUtils.isNotBlank(optimizeRequest.getProjectNo()),OptimizeProject::getProjectNo,optimizeRequest.getProjectNo())
                 //.groupBy(OptimizeProject::getProjectNo)
         ;
-        log.info("杩斿洖宸ョ▼淇℃伅");
+        //杩斿洖宸ョ▼淇℃伅
         return this.list(wrapper);
     }
 
@@ -50,6 +52,17 @@
 
     }
 
+    @Override
+    public boolean overTask(UpPattenUsage sequence, int state) {
+        if(sequence.getState()==100){
+            UpdateWrapper<OptimizeProject> wrapper=new  UpdateWrapper<>();
+            wrapper.eq("project_no",sequence.getEngineeringId())
+                    .set("state",state);
+            boolean updateSuccess = this.update(wrapper);
+            log.info("宸ョ▼瀹屾垚鏇存柊鐘舵�亄}",updateSuccess);
+        }
+        return false;
+    }
 
 
 }
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 08268b3..66aef59 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -3,6 +3,9 @@
 
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.pp.service.OptimizeProjectService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.service.UpPattenUsageService;
 import com.mes.utils.Result;
@@ -29,17 +32,51 @@
     private EngineeringService engineeringService;
     @Autowired
     private UpPattenUsageService upPattenUsageService;
-
+    @Autowired
+    private GlassInfoService glassInfoService;
+    @Autowired
+    private OptimizeProjectService optimizeProjectService;
     @ApiOperation("寮�濮�/鏆傚仠浠诲姟/浼犻�掑伐绋嬪彿鍜岀姸鎬�,寮�濮嬫槸1 鏆傚仠鏄�0")
-    @PostMapping("/changeTask") //璋冪敤涓婄墖浠诲姟
+    @PostMapping("/pauseTask") //璋冪敤涓婄墖浠诲姟
     @ResponseBody
-    public  Result <List<UpPattenUsage>> changeTask(@RequestBody Engineering engineering) {
+    public  Result <List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
         boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
         List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
         log.info("StartorStop:{},{}", work,engineering);
         return Result.build(200, engineering.getEngineerId(),glass);
     }
 
+    @ApiOperation("寮�濮嬩笂鐗�")
+    @PostMapping("/changeTask") //璋冪敤涓婄墖浠诲姟
+    @ResponseBody
+    public  Result <Boolean> changeTask(@RequestBody Engineering engineering) {
+        log.info("engineeringId:{}", engineering);
+        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
+        if (upPattenUsage != null) {
+            boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
+            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
+            return Result.build(200, "宸蹭繚瀛樿繃", work);
+        } else {
+            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
+            log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
+            upPattenUsageService.saveUpPattenUsage(upPattenUsages);
+            log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+            List<GlassInfo> glassinfo = glassInfoService.selectGlassInfo(engineering.getEngineerId());
+            glassInfoService.saveGlassInfo(glassinfo);
+            log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
+            List<Engineering> listEngineering = engineeringService.selectEngineering(engineering.getEngineerId());
+            engineeringService.saveEngineering(listEngineering);
+            log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
+            //灏唀ngineering琛ㄧ姸鎬佷负姝e湪涓婄墖
+            boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
+            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
+            return Result.build(200, "淇濆瓨鎴愬姛", work);
+        }
+
+    }
+
     @ApiOperation("鏌ヨ鍙互涓婄墖鐨勫伐绋嬪彿")
     @GetMapping("/selectTask") //璋冪敤涓婄墖浠诲姟
     @ResponseBody
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
index b36640b..806503a 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -20,7 +20,7 @@
      * 寮�濮�/鏆傚仠浠诲姟
      * @return boolean
      */
-    boolean  changeTask(String projectId, Integer state);
+    boolean changeTask(String projectId, Integer state);
     /**
      * 鏌ヨ閽㈠寲淇℃伅
      * @return List<Engineering>
@@ -35,6 +35,9 @@
      * @return Engineering
      */
     Engineering selectInitiate(Integer state);
-
+    /**
+     * 鏌ヨ涓婄墖浠诲姟
+     * @return Engineering
+     */
     List<Engineering> selectTask();
 }
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index a019c7c..c05fbee 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -1,9 +1,13 @@
 package com.mes.job;
 
+import cn.hutool.json.JSONObject;
 import com.mes.common.S7object;
 import com.mes.device.PlcParameterObject;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.service.OptimizeProjectService;
+import com.mes.tools.WebSocketServer;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.service.UpPattenUsageService;
 import com.mes.workstation.entity.UpWorkstation;
@@ -12,6 +16,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @author SNG-010
@@ -26,6 +33,9 @@
     private EngineeringService engineeringService;
     @Autowired
     private UpPattenUsageService upPattenUsageService;
+    @Autowired
+    private OptimizeProjectService optimizeProjectService;
+
 
     PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
 
@@ -52,16 +62,16 @@
                     int workId = upwork.getWorkstationId();//宸ヤ綅id
                     double width = upwork.getPatternWidth();//瀹藉害
                     double height = upwork.getPatternHeight();//楂樺害
-                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("WorkId").getAddress(), (short) workId);
-                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (short) width);
-                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (short) height);
-                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), (short) 1);
+                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("WorkId").getAddress(), workId);
+                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (long) width);
+                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (long) height);
+                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 1);
                     //鏇存敼涓婄墖琛ㄧ姸鎬�
                     upPattenUsageService.updateUpPattenUsageState(upPattenUsage, workId);
 
                 }
             }
-            if ("1".equals(mesToPlc) && "0".equals(loadRequest)) {
+            if("1".equals(mesToPlc)&& "0".equals(loadRequest)){
                 //璇锋眰瀛椾负闆舵椂锛屼换鍔″瓧娓呴浂
                 S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 0);
             }
@@ -73,7 +83,7 @@
     }
 
     @Scheduled(fixedDelay = 300)
-    public void plcLoadGlassReport() {
+    public void plcLoadGlassReport(){
         //鑾峰彇鏄惁鏈夋眹鎶�
         String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
         if (loadStatus != null) {
@@ -81,7 +91,8 @@
             switch (loadStatus) {
                 case "1":
                     log.info("鏀跺埌姹囨姤浠诲姟瀹屾垚");
-                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
+                    //鍑忓皯宸ヤ綅鏁伴噺,瀹屾垚浠诲姟鐘舵��
+                    overTask(loadStatus, 100);
                     break;
                 case "2":
                     log.info("鏀跺埌姹囨姤鏈畬鎴愪换鍔�");
@@ -93,15 +104,40 @@
                     overTask(loadStatus, 0);
                     break;
                 case "0":
-                    log.info("鏀跺埌姹囨姤娓�0鐘舵��");
-                    //鍑忓皯宸ヤ綅鏁伴噺,瀹屾垚浠诲姟鐘舵��
-                    overTask(loadStatus, 100);
+                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 0);
                     break;
             }
         }
     }
 
-    public void overTask(String loadStatus, int state) {
+    @Scheduled(fixedDelay = 300)
+    public void loadGlassHome(){
+        JSONObject jsonObject = new JSONObject();
+        //姝e湪杩涜鐨勪换鍔�
+        List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist();
+        jsonObject.append("prioritylist", upPattenUsages);
+        //宸ヤ綅淇℃伅
+        List<UpWorkstation> upWorkstations = upWorkstationService.list();
+        jsonObject.append("list", upWorkstations);
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("Home is closed");
+                }
+            }
+        }
+    }
+
+    public void overTask(String loadStatus, int state)  {
+
         UpPattenUsage upPattenUsage = upPattenUsageService.selectOverTask();
         if (upPattenUsage != null) {
             log.info("鏀跺埌姹囨姤娓厈}鐘舵��", loadStatus);
@@ -109,8 +145,12 @@
             upWorkstationService.reduceWorkstationNumber(upPattenUsage.getState());
             //瀹屾垚涓婄墖琛ㄧ姸鎬�
             upPattenUsageService.updateUpPattenUsageState(upPattenUsage, state);
-            S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 0);
+            //鍒ゆ柇鏄惁鏄渶鍚庝竴鍧楃幓鐠�
+            UpPattenUsage sequence=upPattenUsageService.selectSequence(upPattenUsage);
+            //濡傛灉鏄渶鍚庝竴鍧楁椂瀹屾垚宸ョ▼浠诲姟
+            optimizeProjectService.overTask(sequence,300);
         }
+        S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
     }
 
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
index 33610c6..5851554 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -45,32 +45,14 @@
         return Result.build(200, "", glass);
     }
 
-    @ApiOperation("鐐瑰嚮閫夋嫨宸ョ▼淇濆瓨鍚庤繘琛岃皟鐢�,浼犲叆宸ョ▼鍙�")
-    @PostMapping("/saveUpPattenUsage") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+    @ApiOperation("閫夋嫨宸ョ▼鍙峰悗鏄剧ず涓婄墖椤哄簭棰勮")
+    @PostMapping("/selectUpPattenUsage") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
     @ResponseBody
-    public Result<Engineering> saveUpPattenUsage(@RequestBody Engineering engineering) {
-        log.info("engineeringId:{}", engineering);
-        UpPattenUsage upPattenUsage= upPattenUsageService.selectedEngineering(engineering.getEngineerId());
-        if (upPattenUsage!=null){
-            log.info("宸蹭繚瀛樿繃");
-            return Result.build(200, "宸蹭繚瀛樼殑宸ョ▼", null);
-        }else {
-            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
-            log.info("灏嗘煡璇㈠嚭鐨刄pPattenUsage鏁版嵁淇濆瓨鍒版暟鎹簱琛ㄩ噷");
-            upPattenUsageService.saveUpPattenUsage(upPattenUsages);
-            log.info("浠嶱P琛ㄦ煡璇lassinfo鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
-            List<GlassInfo> glassinfo=glassInfoService.selectGlassInfo(engineering.getEngineerId());
-            glassInfoService.saveGlassInfo(glassinfo);
-            log.info("浠嶱P琛ㄦ煡璇ngineering鐨勬暟鎹苟淇濆瓨鍒拌〃閲�");
-            List<Engineering> listEngineering= engineeringService.selectEngineering(engineering.getEngineerId());
-            engineeringService.saveEngineering(listEngineering);
-            log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
-            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
-//            List<UpPattenUsage> data=upPattenUsageService.prioritylist();
-//            log.info("鏄剧ず淇濆瓨鍚庣殑涓婄墖椤哄簭琛�");
-            return Result.build(200, "", engineering);
+    public Result<List<UpPattenUsage>> selectUpPattenUsage(@RequestBody Engineering engineering) {
+        List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
+        return Result.build(200, "", upPattenUsages);
         }
 
-    }
+
 }
 
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
index d5506a4..69c8aa0 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -41,5 +41,11 @@
       * @return UpPattenUsage
       */
      UpPattenUsage selectOverTask();
+     /**
+      * 鏌ヨ涓婄墖鏈�鍚庝竴鍧楃殑鐜荤拑
+      * @return UpPattenUsage
+      */
+     UpPattenUsage selectSequence(UpPattenUsage upPattenUsage);
+
 }
 
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
index 8a5142b..322ebc0 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -40,7 +40,7 @@
     public List<UpPattenUsage> prioritylist() {
         //鑾峰彇姝e湪涓婄墖鐨勪换鍔d
         Engineering engineering= engineeringService.selectInitiate(1);
-        log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering);
+        //log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering);
         if(engineering!=null){
             LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(UpPattenUsage::getEngineeringId,engineering.getEngineerId());
@@ -117,5 +117,15 @@
         return this.getOne(wrapper);
     }
 
+    @Override
+    //鑾峰彇鏈�鍚庝竴鍧楃幓鐠�
+    public UpPattenUsage selectSequence(UpPattenUsage upPattenUsage) {
+        QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>();
+        wrapper.eq("engineering_id",upPattenUsage.getEngineeringId())
+                .orderByDesc("layout_sequence")
+                .last("limit 1");
+        return this.getOne(wrapper);
+    }
+
 
 }
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
index 9725c57..ab63b5f 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -4,6 +4,8 @@
 import com.mes.engineering.service.EngineeringService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.entity.request.OptimizeRequest;
 import com.mes.pp.service.OptimizeProjectService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.service.impl.UpPattenUsageServiceImpl;
@@ -72,23 +74,31 @@
         engineeringService.saveEngineering(glass);
         log.info("glassinfo锛歿}", Arrays.asList(glass));
     }
-    @Test
-    public  void  textengineering2(){
-        //鏇存柊宸ョ▼琛ㄧ姸鎬佷负宸查鍙�
-        //optimizeProjectService.changeTask("P24050801",200);
-        engineeringService.changeTask("P24051102",1);
-    }
+
     @Test
     public  void  textengineering3(){
-        //鍒ゆ柇鏄惁宸蹭繚瀛樿繃宸ョ▼鍙峰埌涓婄墖琛�
-        UpPattenUsage upPattenUsage=upPattenUsageService.selectOverTask();
-        log.info("涓婄墖琛ㄤ换鍔′腑鐨勬暟鎹畕}",upPattenUsage);
+        //涓婄墖琛ㄦ渶鍚庝竴鐗�
+        UpPattenUsage upPattenUsage=new UpPattenUsage();
+        upPattenUsage.setEngineeringId("P24051103");
+        UpPattenUsage upPattenUsage1=upPattenUsageService.selectSequence(upPattenUsage);
+        log.info("涓婄墖琛ㄤ换鍔′腑鐨勬暟鎹畕}",upPattenUsage1);
+        boolean isOver= optimizeProjectService.overTask(upPattenUsage1,300);
+        log.info("鏇存敼鏄惁鎴愬姛{}",isOver);
     }
     @Test
     public  void  textengineering4(){
         //鍒ゆ柇鏄惁宸蹭繚瀛樿繃宸ョ▼鍙峰埌涓婄墖琛�
         List<Engineering> engineerings=engineeringService.selectTask();
         log.info("涓婄墖琛ㄤ换鍔′腑鐨勬暟鎹畕}",engineerings);
+
+    }
+    @Test
+    public  void  textengineering5(){
+        //鏄剧ず閫夋嫨宸ョ▼
+        OptimizeRequest optimizeRequest=new OptimizeRequest();
+        optimizeRequest.setState(100);
+        List<OptimizeProject> engineerings=optimizeProjectService.listByState(optimizeRequest);
+        log.info("涓婄墖琛ㄤ换鍔′腑鐨勬暟鎹畕}",engineerings);
     }
 
 }

--
Gitblit v1.8.0