From affdf1b75c69708552cc3475afde5b4b4b1e30a7 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期四, 08 八月 2024 16:48:49 +0800 Subject: [PATCH] 磨边队列添加条件筛选查询磨边队列信息 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 161 ++++++++++++++++++++++++----------------------------- 1 files changed, 74 insertions(+), 87 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 5800c38..2307334 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,11 @@ 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.entity.DownGlassTask; import com.mes.downglassinfo.mapper.DownGlassInfoMapper; import com.mes.downglassinfo.service.DownGlassInfoService; import com.mes.downglassinfo.service.DownGlassTaskService; @@ -16,6 +19,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; @@ -32,7 +36,7 @@ @Autowired private DownWorkstationMapper downWorkstationMapper; - @Autowired + @Autowired(required = false) private DownWorkstationTaskMapper downWorkstationTaskMapper; @Autowired private DownGlassInfoService downGlassInfoService; @@ -40,7 +44,10 @@ private DownGlassInfoMapper downGlassInfoMapper; @Autowired private DownGlassTaskService downGlassTaskService; - + @Autowired + private GlassInfoService glassInfoService; + @Autowired + private DamageService damageservice; @Autowired private DownWorkstationTaskService downWorkstationTaskService; @@ -52,41 +59,58 @@ //鑾峰彇鎬绘暟閲� @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() { + 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"); + .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<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()); + if (downWorkstionAndDownGlassinfo.getTotalQuantity() == downWorkstionAndDownGlassinfo.getRacksNumber() + downWorkstionAndDownGlassinfo.getRacksNumber()) { + item.put("fullCardColor", "red"); + } else { + item.put("fullCardColor", "blue"); + } - 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; // 杩斿洖鏈�缁堢粨鏋� } @@ -99,7 +123,7 @@ .eq("workstation_id", workstationId); DownWorkstation result = baseMapper.selectOne(queryWrapper); - return result != null ? result.getRacksnumber() : 0; + return result != null ? result.getRacksNumber() : 0; } //鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅 @@ -124,13 +148,22 @@ @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(new DownWorkstation(), updateWrapper); + this.update(updateWrapper); + } @Override @@ -145,9 +178,7 @@ } - - - + @Override public DownWorkstation selectByFlowCardId(String flowcardid) { QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("flow_card_id", flowcardid); @@ -168,72 +199,28 @@ @Override - public void insertdownglassinfo() { + public boolean updateDownWorkstationstate(DownWorkstation downWorkstation) { + DownWorkstation downWork = baseMapper.selectById(downWorkstation.getId()); - List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState(); -// + if (downWork != null) { + downWork.setEnableState(downWorkstation.getEnableState()); - if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) { + baseMapper.updateById(downWork); -// + 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++; // 閫掑椤哄簭瀛楁鍊� - - - } + return false; } + } - - 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(); - // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅 - } + @Override + public String closeAlarmSignal() { + PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; + S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("alarm_signal").getAddress(), 0); + return "success"; } -- Gitblit v1.8.0