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