From c136e33dd6aab00015d3e40fee00349eff2bf137 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期六, 14 九月 2024 09:20:47 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/JiuMuMES

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java |  307 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 208 insertions(+), 99 deletions(-)

diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
index 582b0ed..900cf68 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/TaskingServiceImpl.java
@@ -3,10 +3,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.S7object;
 import com.mes.device.PlcParameterObject;
 import com.mes.md.entity.GlassInfo;
+import com.mes.md.entity.LineConfiguration;
+import com.mes.md.entity.Machine;
 import com.mes.md.entity.Tasking;
 import com.mes.md.mapper.GlassInfoMapper;
 import com.mes.md.mapper.TaskingMapper;
@@ -33,48 +35,201 @@
     GlassInfoMapper glassInfoMapper;
     @Autowired
     GlassInfoService glassInfoService;
-    PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-    @Override
-    public boolean updateStatus(Integer state) {
-        //鏇存敼涓婄墖妯″紡
-        //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
-        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
-        //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
-        String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
-        return state == Integer.parseInt(loadStatus);
-
-    }
 
     /**
-     * @param state
+     * @param machine
+     * 鏌ヨ褰撳墠璁惧锛岀嚎涓婃湭瀹屽伐鐨勪换鍔�   (绾夸笂/姝e父)
      * @return
      */
     @Override
-    public boolean updateLoadState(Integer state) {
-        //鏇存敼鑱旀満鐘舵��
-        //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
-        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
-        //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
-        String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
-        return state == Integer.parseInt(loadState);
-
+    public List<Tasking> findMachineTask(Machine machine) {
+        List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>()
+                .selectAll(Tasking.class)
+                .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+                .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+                .eq(LineConfiguration::getMachineId,machine.getId())
+                .eq(Tasking::getGlassState,"姝e父")
+                .eq(Tasking::getState,"绾夸笂")
+                .ne(Tasking::getWorkState,"瀹屽伐")
+                .orderByAsc(Tasking::getTaskSequence));
+        return list;
     }
 
+    /**
+     * @param machine锛寃orkState
+     * 鏌ヨ褰撳墠璁惧锛岀嚎涓娿�愮瓑寰�/宸ヤ綔/瀹屽伐銆戠殑浠诲姟 鍗囧簭   (绾夸笂/姝e父)
+     * @return
+     */
     @Override
-    public boolean updateDamage(Tasking tasking) {
-        UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
-        queryWrapper.eq("glass_id",tasking.getGlassId())
-                .set("work_state",tasking.getWorkState());
-        return this.update(queryWrapper);
+    public List<Tasking> findMachineWorkStateTask(Machine machine, String workState) {
+        List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>()
+                .selectAll(Tasking.class)
+                .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+                .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+                .eq(LineConfiguration::getMachineId,machine.getId())
+                .eq(Tasking::getGlassState,"姝e父")
+                .eq(Tasking::getState,"绾夸笂")
+                .eq(Tasking::getWorkState,workState)
+                .orderByAsc(Tasking::getTaskSequence));
+        return list;
     }
 
+
+    /**
+     * @param machine
+     * 褰撳墠璁惧鏍囪姝e湪宸ヤ綔锛氱嚎涓婄瓑寰呯殑浠诲姟绗竴鏉�   (绾夸笂/姝e父)
+     * @return
+     */
     @Override
-    public List<Tasking> selectTasking() {
-        QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
-        queryWrapper.orderByDesc("task_sequence");
-        return list(queryWrapper);
+    public Tasking startMachineTask(Machine machine) {
+        List<Tasking> list=this.findMachineWorkStateTask(machine,"绛夊緟");
+        if(!list.isEmpty()){
+            Tasking tasking=list.get(0);
+            tasking.setWorkState("姝e湪宸ヤ綔");
+            if(baseMapper.updateById(tasking)>0){
+                return tasking;
+            };
+        }
+        return null;
     }
 
+    /**
+     * @param machine
+     * 褰撳墠璁惧鏍囪瀹屾垚锛氭鍦ㄥ伐浣滅殑绗竴涓换鍔�   (绾夸笂/姝e父)   杩斿洖瀹屾垚鏁伴噺
+     * @return
+     */
+    @Override
+    public int finishMachineTask(Machine machine) {
+        List<Tasking> list=this.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
+        if(!list.isEmpty()){
+            Tasking tasking=list.get(0);
+            tasking.setWorkState("瀹屽伐");
+            return baseMapper.updateById(tasking);
+        }
+        return 0;
+    }
+    /**
+     * @param machine
+     * 褰撳墠璁惧鏍囪澶辫触锛屾鍦ㄥ伐浣滅殑鏈�鍚庝竴涓换鍔�   (绾夸笂/姝e父)   杩斿洖澶辫触鏁伴噺
+     * @return
+     */
+    @Override
+    public int loseMachineTask(Machine machine) {
+        List<Tasking> list=baseMapper.selectJoinList(Tasking.class,new MPJLambdaWrapper<Tasking>()
+                .selectAll(Tasking.class)
+                .innerJoin(LineConfiguration.class,LineConfiguration::getId,Tasking::getLineConfigurationId)
+                .innerJoin(Machine.class,Machine::getId,LineConfiguration::getMachineId)
+                .eq(LineConfiguration::getMachineId,machine.getId())
+                .eq(Tasking::getGlassState,"姝e父")
+                .eq(Tasking::getState,"绾夸笂")
+                .eq(Tasking::getWorkState,"姝e湪宸ヤ綔")
+                .orderByDesc(Tasking::getTaskSequence));
+        if(!list.isEmpty()){
+            Tasking tasking=list.get(0);
+            tasking.setWorkState("绛夊緟");
+            return baseMapper.updateById(tasking);
+        }
+        return 0;
+    }
+
+    /**
+     * @param tasking
+     * 鐮存崯鐜荤拑锛�  (绾夸笂/姝e父)   杩斿洖鐮存崯鏁伴噺
+     * @return
+     */
+    @Override
+    public int damagedTask(Tasking tasking) {
+        Tasking oldTasking=baseMapper.selectById(tasking);
+        if(!Objects.isNull(oldTasking)){
+            oldTasking.setGlassState("鐮存崯");
+            return baseMapper.updateById(oldTasking);
+        }
+        return 0;
+    }
+    /**
+     * @param tasking
+     * 淇敼鐘舵�� 銆愪笅绾裤��
+     * @return
+     */
+    @Override
+    public int glassDownLine(Tasking tasking) {
+        Tasking oldTasking=baseMapper.selectById(tasking);
+        if (!Objects.isNull(oldTasking)){
+            oldTasking.setState(tasking.getState());
+            return baseMapper.updateById(oldTasking);
+        }
+        return 0;
+    }
+
+    /**
+     * @param taskingList
+     * 鎵归噺淇敼鐘舵�� 銆愪笂绾裤��
+     * @return
+     */
+    @Override
+    public int glassTopLine(List<Tasking> taskingList) {
+        int resultCount=0;
+        for (Tasking tasking:taskingList){
+            Tasking oldTasking=baseMapper.selectById(tasking);
+            if (!Objects.isNull(oldTasking)){
+                oldTasking.setState(tasking.getState());
+                resultCount+=baseMapper.updateById(oldTasking);
+            }
+        }
+        return resultCount;
+    }
+
+
+//
+//    @Override
+//    public boolean updateStatus(Integer state) {
+//        //鏇存敼涓婄墖妯″紡
+//        //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+//        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
+//        //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+//        String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
+//        return state == Integer.parseInt(loadStatus);
+//
+//    }
+//
+//    /**
+//     * @param state
+//     * @return
+//     */
+//    @Override
+//    public boolean updateLoadState(Integer state) {
+//        //鏇存敼鑱旀満鐘舵��
+//        //鍚戣澶囧彂閫侀�夋嫨鐨勭姸鎬�
+//        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
+//        //鍙戦�佸悗閲嶆柊璇诲彇鍒ゆ柇鏄惁鏇存敼鎴愬姛
+//        String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
+//        return state == Integer.parseInt(loadState);
+//
+//    }
+//
+//    @Override
+//    public boolean updateDamage(Tasking tasking) {
+//        UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
+//        queryWrapper.eq("glass_id",tasking.getGlassId())
+//                .set("work_state",tasking.getWorkState());
+//        return this.update(queryWrapper);
+//    }
+//
+//    @Override
+//    public List<Tasking> selectTasking() {
+//        QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.orderByDesc("task_sequence");
+//        return list(queryWrapper);
+//    }
+//    @Override
+//    public Tasking selectTasking(Tasking tasking) {
+//        QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("line_configuration_id",tasking.getLineConfigurationId())
+//                .eq("state",tasking.getState())
+//                .eq("work_state",tasking.getWorkState())
+//                .orderByAsc("glass_id");
+//        return getOne(queryWrapper);
+//    }
     @Override
     public Boolean insertTasking(String status) {
         Tasking tasking = new Tasking();
@@ -100,13 +255,13 @@
             tasking.setSilkScreenY(glassInfo.getSilkScreenY());
             tasking.setIsMarking(glassInfo.getIsMarking());
             tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
-            tasking.setCurrentCraft("涓婄墖");
+            tasking.setLineConfigurationId(1L);
 
         }
         }
         else {
             tasking.setTaskType("瀹氬埗");
-            tasking.setCurrentCraft("涓婄墖");
+            tasking.setLineConfigurationId(1L);
         }
         return save(tasking);
     }
@@ -114,32 +269,32 @@
     @Override
     public boolean updateTasking(String scanId) {
         Tasking glass=new Tasking();
-        glass.setCurrentCraft("涓婄墖");
-        glass.setState("瀹屾垚");
+        glass.setLineConfigurationId(1L);
+        //glass.setCurrentCraft("涓婄墖");
+        glass.setWorkState("瀹屽伐");
         glass.setTaskType("瀹氬埗");
         //鑾峰彇褰撳墠涓婄墖鐨勫畾鍒朵换鍔d
-        Tasking tasking= selectTasking(glass);
         //鑾峰彇褰撳墠鎵弿鐨勭幓鐠冩暟鎹�
         GlassInfo glassInfo = glassInfoService.selectTaskingByGlass(scanId);
         if(glassInfo!=null){
-            tasking.setBatchNumber(glassInfo.getBatchNumber());
-            tasking.setScanId(glassInfo.getScanId());
-            tasking.setProgramId(glassInfo.getProgramId());
-            tasking.setTaskType(glassInfo.getTaskType());
-            tasking.setTaskSequence(glassInfo.getTaskSequence());
-            tasking.setTaskQuantity(glassInfo.getTaskQuantity());
-            tasking.setLength(glassInfo.getLength());
-            tasking.setWidth(glassInfo.getWidth());
-            tasking.setThickness(glassInfo.getThickness());
-            tasking.setDrawingGlue(glassInfo.getDrawingGlue());
-            tasking.setDrawingMarking(glassInfo.getDrawingMarking());
-            tasking.setSilkScreenX(glassInfo.getSilkScreenX());
-            tasking.setSilkScreenY(glassInfo.getSilkScreenY());
-            tasking.setIsMarking(glassInfo.getIsMarking());
-            tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
-            tasking.setCurrentCraft("鎵爜");
+            glass.setBatchNumber(glassInfo.getBatchNumber());
+            glass.setScanId(glassInfo.getScanId());
+            glass.setProgramId(glassInfo.getProgramId());
+            glass.setTaskType(glassInfo.getTaskType());
+            glass.setTaskSequence(glassInfo.getTaskSequence());
+            glass.setTaskQuantity(glassInfo.getTaskQuantity());
+            glass.setLength(glassInfo.getLength());
+            glass.setWidth(glassInfo.getWidth());
+            glass.setThickness(glassInfo.getThickness());
+            glass.setDrawingGlue(glassInfo.getDrawingGlue());
+            glass.setDrawingMarking(glassInfo.getDrawingMarking());
+            glass.setSilkScreenX(glassInfo.getSilkScreenX());
+            glass.setSilkScreenY(glassInfo.getSilkScreenY());
+            glass.setIsMarking(glassInfo.getIsMarking());
+            glass.setIsSilkScreen(glassInfo.getIsSilkScreen());
+            glass.setLineConfigurationId(2L);
         }
-        return updateById(tasking);
+        return updateById(glass);
 
     }
 
@@ -151,58 +306,12 @@
     }
 
 
-    @Override
-    public Tasking selectTasking(Tasking tasking) {
-        QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("current_craft",tasking.getCurrentCraft())
-                .eq("state",tasking.getState())
-                .eq("work_state",tasking.getWorkState())
-                .orderByAsc("glass_id");
-        return getOne(queryWrapper);
-    }
+
 
     @Override
     public Boolean insertTaskingPro(String tasking) {
         return null;
     }
 
-
-    /**
-     * @param tasking
-     * 鏌ヨ褰撳墠宸ヨ壓锛岀嚎涓婃湭瀹屽伐鐨勪换鍔�
-     * @return
-     */
-    @Override
-    public List<Tasking> findCraftTasking(Tasking tasking) {
-        return baseMapper.selectList(new MPJLambdaQueryWrapper<Tasking>()
-                .selectAll(Tasking.class)
-                .eq(Tasking::getCurrentCraft,tasking.getCurrentCraft())
-                .ne(Tasking::getWorkState,"瀹屽伐")
-                .orderByAsc(Tasking::getGlassId));
-    }
-
-    /**
-     * @param tasking
-     * 淇敼浠诲姟鐘舵�� 銆愮牬鎹�/澶辫触/瀹屽伐銆�
-     * @return
-     */
-    @Override
-    public int updateCraftTasking(Tasking tasking) {
-        Tasking oldTasking=baseMapper.selectById(tasking);
-        oldTasking.setWorkState(tasking.getWorkState());
-        return baseMapper.updateById(oldTasking);
-    }
-
-    /**
-     * @param tasking
-     * 淇敼鐘舵�� 銆愪笅绾裤��
-     * @return
-     */
-    @Override
-    public int updateDownLine(Tasking tasking) {
-        Tasking oldTasking=baseMapper.selectById(tasking);
-        oldTasking.setState(tasking.getState());
-        return baseMapper.updateById(oldTasking);
-    }
 
 }

--
Gitblit v1.8.0