From f68d3c71819feb59e7a227a5d992b059b900916c Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 28 三月 2025 08:28:26 +0800
Subject: [PATCH] 修改报表,界面添加查询流程卡个数,调整推送数据到前端的间隔

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 89 insertions(+), 11 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 56a0fdd..65738ad 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
@@ -1,15 +1,18 @@
 package com.mes.downworkstation.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 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.common.S7object;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
+import com.mes.device.PlcParameterObject;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.service.DownGlassInfoService;
-import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.DownWorkstationTask;
 import com.mes.downworkstation.entity.DownWorkstionAndDownGlassinfo;
@@ -17,12 +20,15 @@
 import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
 import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.utils.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -37,11 +43,9 @@
     @Autowired(required = false)
     private DownWorkstationTaskMapper downWorkstationTaskMapper;
     @Autowired
-    private DownGlassInfoService downGlassInfoService;
-    @Autowired
     private DownGlassInfoMapper downGlassInfoMapper;
     @Autowired
-    private DownGlassTaskService downGlassTaskService;
+    private DownGlassInfoService downGlassInfoService;
     @Autowired
     private GlassInfoService glassInfoService;
     @Autowired
@@ -49,6 +53,8 @@
 
     @Autowired
     private DownWorkstationTaskService downWorkstationTaskService;
+    @Resource
+    private RedisUtil redisUtil;
 
     //    @Override
 //    public List<DownWorkstation> gettwoDownWorkstations() {
@@ -69,7 +75,7 @@
     @Override
     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")
+        queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight,total_quantity,racks_number,other_number")
                 .leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
                 .groupBy("t.workstation_id", "t.flow_card_id")
                 .orderByAsc("t.workstation_id").between("t.workstation_id", start, end)
@@ -86,6 +92,11 @@
             item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth());
             item.put("fillColor", "yellow");
             item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId());
+            if (downWorkstionAndDownGlassinfo.getFlowCardId() != "" && downWorkstionAndDownGlassinfo.getFlowCardId() != null && downWorkstionAndDownGlassinfo.getTotalQuantity() == downWorkstionAndDownGlassinfo.getRacksNumber() + downWorkstionAndDownGlassinfo.getOtherNumber()) {
+                item.put("fullCardColor", "red");
+            } else {
+                item.put("fullCardColor", "blue");
+            }
 
             // 鏌ヨ DownGlassInfo 骞舵坊鍔犲埌 item 涓�
             MPJQueryWrapper<DownGlassInfo> glassInfoQueryWrapper = new MPJQueryWrapper<>();
@@ -141,21 +152,42 @@
 
 
     @Override
-    public int updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
-        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+    public void updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
+        GlassInfo glassInfo = glassInfoService.getOne(
+                new LambdaQueryWrapper<GlassInfo>()
+                        .eq(GlassInfo::getFlowCardId, flowCardId)
+                        .last("limit 1")
+        );
         QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("process_id", flowCardId);
-        queryWrapper.eq("technology_number", layer);
 
-        int otherNumber = damageservice.count(queryWrapper);
+        LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper();
+        wrapper.eq(DownGlassInfo::getFlowCardId, flowCardId);
+        wrapper.lt(DownGlassInfo::getWorkStationId, 7);
+
         UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+        int glassInfoCount = 0;
+        if (glassInfo.getCombine() == 0) {
+            glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+            queryWrapper.eq("technology_number", layer);
+            wrapper.eq(DownGlassInfo::getLayer, layer);
+            updateWrapper.set("layer", layer);
+        } else {
+            glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, 0);
+            updateWrapper.set("layer", 0);
+        }
+        int otherNumber = damageservice.count(queryWrapper);
+        int racksNumber = downGlassInfoService.count(wrapper);
+
         updateWrapper.set("total_quantity", glassInfoCount)
                 .set("flow_card_id", flowCardId)
-                .set("layer", layer)
+
                 .set("other_number", otherNumber)
+                .set("racks_number", racksNumber)
                 .eq("workstation_id", workstationId);
+//        .eq("id", workstationId);
         this.update(updateWrapper);
-        return 1;
+
     }
 
     @Override
@@ -164,6 +196,8 @@
         updateWrapper.set("flow_card_id", null)
                 .set("total_quantity", 0)
                 .set("racks_number", 0)
+                .set("other_number", 0)
+                .set("layer", null)
                 .eq("workstation_id", workstationId);
 
         baseMapper.update(new DownWorkstation(), updateWrapper);
@@ -190,4 +224,48 @@
     }
 
 
+    @Override
+    public boolean updateDownWorkstationstate(DownWorkstation downWorkstation) {
+
+        DownWorkstation downWork = baseMapper.selectById(downWorkstation.getId());
+
+        if (downWork != null) {
+
+            downWork.setEnableState(downWorkstation.getEnableState());
+
+            baseMapper.updateById(downWork);
+
+            return true;
+        } else {
+
+            return false;
+        }
+    }
+
+    @Override
+    public String closeAlarmSignal() {
+        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("alarm_signal").getAddress(), 0);
+        return "success";
+    }
+
+    @Override
+    public void autoPrint(Boolean flag) {
+        redisUtil.setCacheObject("autoPrint", flag);
+    }
+
+    @Override
+    public void insertDownWorkstation() {
+        DownWorkstation downWorkstation = new DownWorkstation();
+        downWorkstation.setWorkstationId(7);
+        downWorkstation.setTotalQuantity(0);
+        downWorkstation.setRacksNumber(0);
+        downWorkstation.setOtherNumber(0);
+        downWorkstation.setDeviceId(3);
+        downWorkstation.setEnableState(1);
+        downWorkstation.setWorkState(1);
+        baseMapper.insert(downWorkstation);
+    }
+
+
 }

--
Gitblit v1.8.0