From 4e3b8155722b66e25df3c6fd42cc586b68dea391 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期五, 06 六月 2025 13:55:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java | 36 ++++++++++++++++++++++-------------- 1 files changed, 22 insertions(+), 14 deletions(-) diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java index 2ff37a9..48ff215 100644 --- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java +++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java @@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mes.common.S7object; import com.mes.common.config.Const; +import com.mes.common.config.ConstSysConfig; import com.mes.damage.entity.Damage; import com.mes.damage.service.DamageService; import com.mes.device.PlcParameterObject; +import com.mes.sysconfig.service.SysConfigService; import com.mes.sysdict.entity.SysDictData; import com.mes.sysdict.service.SysDictDataService; import com.mes.temperingglass.entity.TemperingGlassInfo; @@ -18,8 +20,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Comparator; @@ -48,14 +48,13 @@ @Autowired private SysDictDataService sysDictDataService; + @Autowired + private SysConfigService sysConfigService; + private static final String ALONE_STATE = "0"; - @Value("${mes.width}") - private Integer temperingWidth; - @Value("${mes.height}") - private Integer temperingHeight; - @Scheduled(fixedDelay = 1000) + // @Scheduled(fixedDelay = 1000) public void temperingGlassBefore() { Date startDate = new Date(); log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate); @@ -70,15 +69,22 @@ //灏嗙‘璁ゅ瓧缃负0 plcControl.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 0); //鍙兘鏈夊嚑鐐夌幓鐠冨悓鏃跺湪閽紝闇�瑕佽幏鍙栭挗鍖栧皬鐗囪〃涓殑鏁版嵁淇℃伅鐘舵�佷负2锛堟棆杞彴鐜荤拑宸查�佸嚭鏈挗鍖栵紝姝e湪閽㈠寲锛� - List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>() - .eq(TemperingGlassInfo::getState, Const.TEMPERING_START)); + List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list( + new LambdaQueryWrapper<TemperingGlassInfo>() + .inSql(TemperingGlassInfo::getTemperingLayoutId, "select distinct tempering_layout_id from tempering_glass_info where state=1") + .lt(TemperingGlassInfo::getState, Const.TEMPERING_START) + ); if (CollectionUtils.isEmpty(temperingGlassInfoList)) { log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅"); return; } + TemperingGlassInfo minGlassInfo = temperingGlassInfoList.stream().min(Comparator.comparingLong(TemperingGlassInfo::getState)).get(); + if (minGlassInfo.getState() < Const.TEMPERING_DROP) { + log.info("褰撳墠鐐夌幓鐠冩湭鍒伴綈锛岀◢鍚庡湪鎵ц"); + return; + } //鎷垮埌宸ョ▼id鍙婄倝鍙� TemperingGlassInfo maxGlassInfo = temperingGlassInfoList.stream().max(Comparator.comparingLong(TemperingGlassInfo::getId)).get(); - //灏嗘鍦ㄩ挗鍖栫殑鐐夊彿杩囨护鎺夛紝浠呰幏鍙栧緟閽㈠寲鐨勭幓鐠�:鍒ゆ柇寰呴挗鐨勭幓鐠冩槸鍚﹀凡鍙戦�佸鎺ユ暟鎹� List<TemperingRecord> temperingRecordList = temperingRecordService.list(new LambdaQueryWrapper<TemperingRecord>().eq(TemperingRecord::getEngineerId, maxGlassInfo.getEngineerId()) .eq(TemperingRecord::getTemperingLayoutId, maxGlassInfo.getTemperingLayoutId())); @@ -93,12 +99,14 @@ .sorted(Comparator.comparing(TemperingGlassInfo::getTemperingFeedSequence)).collect(Collectors.toList()); //鎸夌収鑶滅郴鑾峰彇鐜荤拑鏉愯川 SysDictData glassTypeSysDictData = sysDictDataService.getOne(new QueryWrapper<SysDictData>() - .eq(StringUtils.isNotBlank(temperingGlassList.get(0).getFilmsid()), "dict_label", temperingGlassList.get(0).getFilmsid())); + .eq(StringUtils.isNotBlank(temperingGlassList.get(0).getFilmsId()), "dict_label", temperingGlassList.get(0).getFilmsId())); double sumArea = temperingGlassList.stream().mapToDouble(e -> e.getWidth() * e.getHeight()).sum(); double maxArea = temperingGlassList.stream().mapToDouble(e -> e.getWidth() * e.getHeight()).max().orElse(0.0); double minArea = temperingGlassList.stream().mapToDouble(e -> e.getWidth() * e.getHeight()).min().orElse(0.0); double areaDifference = (10000 * (maxArea - minArea) / maxArea); + Integer temperingHeight = sysConfigService.queryConfigValue(ConstSysConfig.TEMPERING_HEIGHT); + Integer temperingWidth = sysConfigService.queryConfigValue(ConstSysConfig.TEMPERING_HEIGHT); double loadingRate = (int) (10000 * sumArea / (temperingHeight * temperingWidth)); TemperingRecord temperingRecord = new TemperingRecord(); temperingRecord.setEngineerId(maxGlassInfo.getEngineerId()); @@ -124,12 +132,12 @@ log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime()); } - @Scheduled(fixedDelay = 1000) +// @Scheduled(fixedDelay = 1000) public void temperingGlassAfter() { //鏆備笉澶勭悊 } - @Scheduled(fixedDelay = 1000) +// @Scheduled(fixedDelay = 1000) public void dealDamageTask() { Date startDate = new Date(); log.info("閽㈠寲鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate); @@ -145,7 +153,7 @@ damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION); damage.setWorkingProcedure("閽㈠寲"); damage.setRemark("閽㈠寲"); - damage.setStatus(0); + damage.setStatus(1); damage.setType(e.getState()); return damage; }).collect(Collectors.toList()); -- Gitblit v1.8.0