From 051613aa73be3e75af5a6dfdb86a722bcb5af094 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 23 八月 2024 16:46:51 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java |  191 +++++++++++++++++------------------------------
 1 files changed, 69 insertions(+), 122 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index afcddd1..cbcb1ff 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -4,8 +4,9 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.downglassinfo.service.DownGlassTaskService;
@@ -16,6 +17,7 @@
 import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
 import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.service.GlassInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,13 +27,14 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 @Slf4j
 @Service
 public class DownWorkstationServiceImpl extends ServiceImpl<DownWorkstationMapper, DownWorkstation> implements DownWorkstationService {
 
     @Autowired
     private DownWorkstationMapper downWorkstationMapper;
-    @Autowired
+    @Autowired(required = false)
     private DownWorkstationTaskMapper downWorkstationTaskMapper;
     @Autowired
     private DownGlassInfoService downGlassInfoService;
@@ -39,68 +42,72 @@
     private DownGlassInfoMapper downGlassInfoMapper;
     @Autowired
     private DownGlassTaskService downGlassTaskService;
-
+    @Autowired
+    private GlassInfoService glassInfoService;
+    @Autowired
+    private DamageService damageservice;
 
     @Autowired
     private DownWorkstationTaskService downWorkstationTaskService;
 
-//    @Override
+    //    @Override
 //    public List<DownWorkstation> gettwoDownWorkstations() {
 //        return downWorkstationMapper.getDownWorkstationsInRange(6,10);
 //    }
 //鑾峰彇鎬绘暟閲�
     @Override
     public int getTotalQuantity(int workstationId) {
-        QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("total_quantity")
-                .eq("workstation_id", workstationId);
+        DownWorkstation result = baseMapper.selectOne(new QueryWrapper<DownWorkstation>().lambda()
+                .select(DownWorkstation::getTotalQuantity)
+                .eq(DownWorkstation::getWorkstationId, workstationId));
 
-        DownWorkstation result = baseMapper.selectOne(queryWrapper);
-        return result != null ? result.getTotalquantity() : 0;
+        return result != null ? result.getTotalQuantity() : 0;
     }
-//宸ヤ綅鏄剧ず
+
+
+    //宸ヤ綅鏄剧ず
     @Override
-    public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation() {
-        MPJQueryWrapper<DownWorkstionAndDownGlassinfo> queryWrapper = new MPJQueryWrapper<>();
+    public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start, int end) {
+        MPJQueryWrapper<DownWorkstation> queryWrapper = new MPJQueryWrapper<>();
         queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight")
                 .leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
-                .groupBy("t.workstation_id", "t.flow_card_id");
+                .groupBy("t.workstation_id", "t.flow_card_id")
+                .orderByAsc("t.workstation_id").between("t.workstation_id", start, end)
+
+        ;
 
         List<DownWorkstionAndDownGlassinfo> workstationList = downWorkstationMapper.selectJoinList(DownWorkstionAndDownGlassinfo.class, queryWrapper);
-
+        // List<DownWorkstionAndDownGlassinfo> workstationList = null;
         List<Map<String, Object>> result = new ArrayList<>();
         for (DownWorkstionAndDownGlassinfo downWorkstionAndDownGlassinfo : workstationList) {
             Map<String, Object> rack = new HashMap<>();
-
-            // 鍒涘缓瀛愰」锛坕tem锛夊璞�
             Map<String, Object> item = new HashMap<>();
-            item.put("height",  downWorkstionAndDownGlassinfo.getTotalheight()); // 璁剧疆瀛愰」楂樺害锛屾牴鎹疄闄呮儏鍐佃缃�
-            item.put("width",  downWorkstionAndDownGlassinfo.getTotalwidth()); // 璁剧疆瀛愰」瀹藉害锛屾牴鎹疄闄呮儏鍐佃缃�
-            item.put("fillColor", "yellow"); // 璁剧疆瀛愰」棰滆壊
-            item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId()); // 浣跨敤娴佺▼鍗″彿浣滀负瀛愰」鍐呭
+            item.put("height", downWorkstionAndDownGlassinfo.getTotalheight());
+            item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth());
+            item.put("fillColor", "yellow");
+            item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId());
 
-            rack.put("item", item); // 灏嗗瓙椤瑰璞℃斁鍏ヨ揣鏋跺璞′腑
+            // 鏌ヨ DownGlassInfo 骞舵坊鍔犲埌 item 涓�
+            MPJQueryWrapper<DownGlassInfo> glassInfoQueryWrapper = new MPJQueryWrapper<>();
+            glassInfoQueryWrapper.select("*"); // 鏌ヨ鎵�鏈夊垪
+            glassInfoQueryWrapper.eq("flow_card_id", downWorkstionAndDownGlassinfo.getFlowCardId());
+            List<DownGlassInfo> downGlassInfoList = downGlassInfoMapper.selectList(glassInfoQueryWrapper);
 
-            result.add(rack); // 灏嗚揣鏋跺璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
-            //log.info("璐ф灦瀵硅薄: {}", rack);
+
+            if (!downGlassInfoList.isEmpty()) {
+
+                item.put("downGlassInfoList", downGlassInfoList);
+
+            }
+
+            rack.put("item", item);
+            result.add(rack);
         }
-
+        log.info("result" + (result));
         return result; // 杩斿洖鏈�缁堢粨鏋�
     }
 
 
-
-//    @Override
-//    public int getTotalQuantity(int workstationId) {
-//        Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
-//        return totalQuantity != null ? totalQuantity : 0;
-//    }
-
-//    @Override
-//    public int getRacksNumber(int workstationId) {
-//        Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
-//        return racksNumber != null ? racksNumber : 0;
-//    }
     //鏍规嵁鏉′欢鑾峰彇钀芥灦鏁伴噺
     @Override
     public int getRacksNumber(int workstationId) {
@@ -109,9 +116,10 @@
                 .eq("workstation_id", workstationId);
 
         DownWorkstation result = baseMapper.selectOne(queryWrapper);
-        return result != null ? result.getRacksnumber() : 0;
+        return result != null ? result.getRacksNumber() : 0;
     }
-//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+
+    //鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
     @Override
     public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
         QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
@@ -127,20 +135,28 @@
     @Override
     public void updateracksnumber(String flowCardId, int racksNumber) {
         UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("racks_number",racksNumber).eq("flow_card_id", flowCardId);
-        baseMapper.update(null, updateWrapper);
+        updateWrapper.set("racks_number", racksNumber).eq("flow_card_id", flowCardId);
+        baseMapper.update(new DownWorkstation(), updateWrapper);
     }
 
 
-
     @Override
-    public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+    public void updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
+        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+        QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("process_id", flowCardId);
+        queryWrapper.eq("technology_number", layer);
+
+        int otherNumber = damageservice.count(queryWrapper);
         UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
         updateWrapper.set("total_quantity", glassInfoCount)
                 .set("flow_card_id", flowCardId)
+                .set("layer", layer)
+                .set("other_number", otherNumber)
                 .eq("workstation_id", workstationId);
 
-        return baseMapper.update(null, updateWrapper);
+        this.update(updateWrapper);
+
     }
 
     @Override
@@ -151,23 +167,17 @@
                 .set("racks_number", 0)
                 .eq("workstation_id", workstationId);
 
-        baseMapper.update(null, updateWrapper);
+        baseMapper.update(new DownWorkstation(), updateWrapper);
     }
 
 
-
+    @Override
     public DownWorkstation selectByFlowCardId(String flowcardid) {
         QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("flow_card_id", flowcardid);
 
         return baseMapper.selectOne(queryWrapper);
     }
-
-
-
-
-
-
 
 
     @Transactional
@@ -181,86 +191,23 @@
     }
 
 
-
-
-
-
     @Override
-    public void insertdownglassinfo() {
+    public boolean updateDownWorkstationstate(DownWorkstation downWorkstation) {
 
+        DownWorkstation downWork = baseMapper.selectById(downWorkstation.getId());
 
+        if (downWork != null) {
 
-        List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
-//
+            downWork.setEnableState(downWorkstation.getEnableState());
 
+            baseMapper.updateById(downWork);
 
-        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
+            return true;
+        } else {
 
-//
-
-            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
-                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
-                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
-
-                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
-                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
-                // 鍒濆鍖栭『搴忓瓧娈靛��
-                int sequence = maxSequence != null ? maxSequence + 1 : 1;
-//                newdownGlassInfo.setId(downGlassInfo.getId());
-                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
-                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
-                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
-                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
-                // 璁剧疆椤哄簭瀛楁鍊�
-                newdownGlassInfo.setSequence(sequence);
-
-                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
-                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
-                //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
-
-                downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
-                //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getId());
-                //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                downGlassTaskService.deleteTask(downGlassInfo.getFlowCardId());
-
-                sequence++; // 閫掑椤哄簭瀛楁鍊�
-
-
-            }
-        }
-
-
-
-
-        try {
-            //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏋跺瓙鏄惁缁戝畾浜嗘祦绋嬪崱鍙� 宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
-            List<DownWorkstationTask> taskdownWorkstation = downWorkstationTaskService.getTaskState();
-            if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
-                //锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                for (DownWorkstationTask downWorkstation : taskdownWorkstation) {
-                    //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
-                    DownWorkstation downWorkstation1 = selectByFlowCardId(downWorkstation.getFlowCardId());
-                    updateracksnumber(downWorkstation.getFlowCardId(),downWorkstation1.getRacksnumber()  + 1);
-                    //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
-                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getId());
-                    //鍒犻櫎鏈烘浠诲姟琛�
-                    downWorkstationTaskService.removeById(downWorkstation.getId());
-
-
-                }
-            }
-        } catch (Exception e) {
-            // 鎵撳嵃寮傚父淇℃伅
-            e.printStackTrace();
-            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
+            return false;
         }
     }
-
-
-
-
-
 
 
 }

--
Gitblit v1.8.0