From 44b3fa1452e1e52746f5037caa673a8e8d1bfbcf Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 08 十二月 2025 08:20:11 +0800
Subject: [PATCH] 1、修改进出片任务汇报破损时的类型和钢化提交破损时的类型
---
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java | 71 +++++++++++++++--------------------
1 files changed, 31 insertions(+), 40 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 86343e1..63ee9ba 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,39 +69,29 @@
//灏嗙‘璁ゅ瓧缃负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 maxGlassInfo = temperingGlassInfoList.stream().max(Comparator.comparingLong(TemperingGlassInfo::getId)).get();
+ TemperingGlassInfo minGlassInfo = temperingGlassInfoList.stream().min(Comparator.comparingLong(TemperingGlassInfo::getState)).get();
+ if (minGlassInfo.getState() < Const.TEMPERING_DROP) {
+ log.info("褰撳墠鐐夌幓鐠冩湭鍒伴綈锛岀◢鍚庡湪鎵ц");
+ return;
+ }
//鎷垮埌宸ョ▼id鍙婄倝鍙�
-// List<EngineerTemperingDTO> engineerTemperingList = temperingGlassInfoList.stream().map(e -> {
-// EngineerTemperingDTO engineerTemperingDTO = new EngineerTemperingDTO();
-// BeanUtils.copyProperties(e, engineerTemperingDTO);
-// return engineerTemperingDTO;
-// }).distinct().collect(Collectors.toList());
- //灏嗘鍦ㄩ挗鍖栫殑鐐夊彿杩囨护鎺夛紝浠呰幏鍙栧緟閽㈠寲鐨勭幓鐠�
-// List<TemperingRecord> temperingRecords = temperingRecordService.list(new LambdaQueryWrapper<TemperingRecord>().and(i -> i.isNull(TemperingRecord::getCoolEnergy).or().eq(TemperingRecord::getCoolEnergy, "")));
-// List<EngineerTemperingDTO> temperingList = new ArrayList<>();
-// if (CollectionUtils.isNotEmpty(temperingRecords)) {
-// temperingList = temperingRecords.stream().map(e -> {
-// EngineerTemperingDTO engineerTemperingDTO = new EngineerTemperingDTO();
-// BeanUtils.copyProperties(e, engineerTemperingDTO);
-// return engineerTemperingDTO;
-// }).collect(Collectors.toList());
-// }
-// engineerTemperingList.removeAll(temperingList);
-// if (CollectionUtils.isEmpty(engineerTemperingList)) {
-// log.info("娌℃湁寰呴挗鍖栫殑浠诲姟锛岀粨鏉�");
-// return;
-// }
-// if (engineerTemperingList.size() > 1) {
-// log.info("瀛樺湪澶氱倝寰呴挗鍖栫殑浠诲姟锛岃妫�鏌ョ幇鍦烘槸鍚︽湁寮傚父鏁版嵁鏈鐞�");
-// return;
-// }
-// EngineerTemperingDTO temperingDTO = engineerTemperingList.get(0);
+ 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()));
+ if (CollectionUtils.isNotEmpty(temperingRecordList)) {
+ log.info("娌℃湁寰呴挗鍖栫殑浠诲姟锛岀粨鏉�");
+ return;
+ }
//鑾峰彇寰呴挗鍖栫殑鎵�鏈夌幓鐠冧俊鎭�
List<TemperingGlassInfo> temperingGlassList = temperingGlassInfoList.stream()
.filter(e -> e.getEngineerId().equals(maxGlassInfo.getEngineerId())
@@ -110,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());
@@ -141,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);
@@ -162,8 +153,8 @@
damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
damage.setWorkingProcedure("閽㈠寲");
damage.setRemark("閽㈠寲");
- damage.setStatus(0);
- damage.setType(e.getState());
+ damage.setStatus(1);
+ damage.setType(Const.GLASS_STATE_DAMAGE);
return damage;
}).collect(Collectors.toList());
damageService.batchInsertDamage(damageList);
--
Gitblit v1.8.0