From 8785b6b5ee9298308752b53bf546953ae49b8c88 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 21 十月 2024 09:56:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 87 ++++++++++++++++++++++++++++++++++---------
1 files changed, 69 insertions(+), 18 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index 95facd4..9e3bf8d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -81,7 +81,6 @@
@Scheduled(fixedDelay = 300)
- @Async
public void plcHomeEdgTask() {
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String requestWord = plcParameterObject.getPlcParameter("requestWord").getValue();
@@ -98,7 +97,6 @@
log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);
-
if ("0".equals(requestWord)) {
if ("0".equals(confirmationWrodValue)) {
log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屼笖纭瀛椾负0锛屼笉鎵ц浠诲姟");
@@ -131,18 +129,18 @@
}
@Scheduled(fixedDelay = 300)
- @Async
public void plcShelfFull() {
List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
+ S7control s7control = S7object.getinstance().plccontrol;
+ PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
if (CollectionUtils.isNotEmpty(list)) {
- S7control s7control = S7object.getinstance().plccontrol;
- PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
+ } else {
+ s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 0);
}
}
@Scheduled(fixedDelay = 1000)
- @Async
public void dealDamageTask() {
Date startDate = new Date();
log.info("涓嬬墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -158,7 +156,7 @@
//涓嬬墖鏁伴噺-1
for (DownGlassTask downGlassTask : downGlassTaskList
) {
- if (Const.GLASS_CACHE_TYPE_OUT_ALL.equals(downGlassTask.getTaskType())) {
+ if (Const.GLASS_CACHE_TYPE_OUT_ALL.contains(downGlassTask.getTaskType())) {
downWorkstationService.update(
new LambdaUpdateWrapper<DownWorkstation>()
.setSql("racks_number = racks_number-1")
@@ -187,7 +185,6 @@
* 鏇存柊宸茬粦瀹氬伐浣嶆祦绋嬪崱鐨勭牬鎹�/鎷胯蛋鐨勬暟閲忎俊鎭�
*/
@Scheduled(fixedDelay = 1000)
- @Async
public void updateWorkStationOtherCount() {
Date startDate = new Date();
log.info("涓嬬墖鐮存洿鏂版崯鐜荤拑鏁伴噺浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -200,7 +197,10 @@
//鏇存柊宸ヤ綅鍏朵粬鐜荤拑淇℃伅鐨勬暟閲�
QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("process_id", downWorkstation.getFlowCardId());
- queryWrapper.eq("technology_number", downWorkstation.getLayer());
+ queryWrapper.gt("type", 3);
+ if (downWorkstation.getLayer() != 0) {
+ queryWrapper.eq("technology_number", downWorkstation.getLayer());
+ }
int otherNumber = damageService.count(queryWrapper);
downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getOtherNumber, otherNumber)
.eq(DownWorkstation::getWorkstationId, downWorkstation.getWorkstationId()));
@@ -230,9 +230,16 @@
} else {
log.info("璇ョ幓鐠冨昂瀵搁潪浜哄伐涓嬬墖");
//鑾峰彇璇ョ幓鐠冪殑娴佺▼鍗℃槸鍚﹀凡缁戝畾鏋跺瓙
- DownWorkstation one = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>()
- .eq(DownWorkstation::getLayer, glassInfo.getLayer())
- .eq(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId()));
+ DownWorkstation one;
+ if (glassInfo.getCombine() != 0) {
+ one = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>()
+ .eq(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId()));
+ } else {
+ one = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>()
+ .eq(DownWorkstation::getLayer, glassInfo.getLayer())
+ .eq(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId()));
+ }
+
//鏄惁宸茬粡缁戝畾 true锛氬凡缁戝畾 false:鏈粦瀹�
Boolean isBind = Boolean.FALSE;
if (null != one) {
@@ -247,8 +254,12 @@
if (CollectionUtils.isNotEmpty(list)) {
log.info("鏈夌┖鏋跺瓙,灏嗘祦绋嬪崱涓庢灦瀛愬ソ缁戝畾锛屾墽琛岃繘鐗囦换鍔� 缁撴潫");
//缁戝畾娴佺▼鍗�
- downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), list.get(0).getWorkstationId(), glassInfo.getLayer());
-// downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), list.get(0).getId(), glassInfo.getLayer());
+ if (glassInfo.getCombine() == 0) {
+ downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), list.get(0).getWorkstationId(), glassInfo.getLayer());
+ } else {
+ downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), list.get(0).getWorkstationId(), 0);
+ }
+// downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), list.get(0).getId(), glassInfo.getLayer());
checkFlag = Boolean.TRUE;
}
}
@@ -297,6 +308,10 @@
//灏嗕换鍔℃彃鍏ョ悊鐗囩璇︽儏琛�
DownStorageCageDetails downStorageCageDetails = new DownStorageCageDetails();
BeanUtils.copyProperties(glassInfo, downStorageCageDetails);
+ //褰撻渶瑕佸悎骞惰惤鏋舵椂涓嶇粦瀹氬眰鍙�
+ if (glassInfo.getCombine() != 0) {
+ downStorageCageDetails.setLayer(0);
+ }
downStorageCageDetails.setState(Const.GLASS_STATE_IN);
downStorageCageDetails.setSlot(nearestEmpty.getSlot());
downStorageCageDetails.setDeviceId(nearestEmpty.getDeviceId());
@@ -321,6 +336,10 @@
if (StringUtils.isNotBlank(glassId)) {
GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
BeanUtils.copyProperties(glassInfo, cageDetails);
+ //褰撻渶瑕佸悎骞惰惤鏋舵椂涓嶇粦瀹氬眰鍙�
+ if (glassInfo.getCombine() != 0) {
+ cageDetails.setLayer(0);
+ }
//鑾峰彇褰撳墠绗煎瓙绌烘牸淇℃伅
DownStorageCage empty = downStorageCageService.selectCacheEmpty(Integer.parseInt(currentSlot), Boolean.TRUE);
cageDetails.setSlot(empty.getSlot());
@@ -337,6 +356,7 @@
//2銆�08鍙扮┖闂诧紝鍏堣蛋鎵斿伐涓嬬墖鎴�2鍙锋満姊拌噦锛屾棤鐜荤拑鍑虹墖 鍦ㄨ蛋1鍙锋満姊拌噦
//鏈烘鑷傝绂佺敤鐨勬儏鍐典笅涓嶈兘缁х画鍚戠鐢ㄧ殑鏈烘鑷傛斁鐜荤拑
Boolean flag08 = "1".equals(out08Glassstate) ? Boolean.TRUE : Boolean.FALSE;
+ flag08 = true;
if (!flag08) {
generateTaskByShelf(glassStatus06, glassStatus11, flag08, glassStatus13, tempList, cageDetails, glassId);
} else {
@@ -437,6 +457,7 @@
Map<String, List<DownWorkstation>> listMap = downWorkstationList.stream()
.filter(item -> StringUtils.isNotBlank(item.getFlowCardId())).collect(Collectors.groupingBy(item -> item.getFlowCardId() + ":" + item.getLayer()));
//杩囨护绛涢�夎幏鍙栨灦瀛愪笂瀵瑰簲娴佺▼鍗�+灞傛暟鐨勭瀛愬唴鐨勭幓鐠冧俊鎭�
+
list = tempList.stream().filter(item -> listMap.containsKey(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(list) && flag08 && !"2".equals(glassStatus13)) {
list = tempList.stream().filter(item -> {
@@ -623,9 +644,16 @@
return Boolean.FALSE;
}
} else {
- DownWorkstation workstation = downWorkstationService.getOne(new LambdaUpdateWrapper<DownWorkstation>()
- .eq(DownWorkstation::getFlowCardId, downStorageCageDetails.getFlowCardId()).eq(DownWorkstation::getLayer, downStorageCageDetails.getLayer()));
- endCell = workstation.getWorkstationId();
+ double firstLength = Math.max(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+ double secondLength = Math.min(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+ if (firstLength > maxWidth || secondLength > maxHeight) {
+ endCell = Const.G13_WORK_STATION;
+ } else {
+ DownWorkstation workstation;
+ workstation = downWorkstationService.getOne(new LambdaUpdateWrapper<DownWorkstation>()
+ .eq(DownWorkstation::getFlowCardId, downStorageCageDetails.getFlowCardId()).eq(DownWorkstation::getLayer, downStorageCageDetails.getLayer()));
+ endCell = workstation.getWorkstationId();
+ }
}
//鏇存柊钀芥灦鐜荤拑鏁伴噺
if (endCell == Const.G13_WORK_STATION) {
@@ -640,7 +668,22 @@
DownGlassInfo downGlassInfo = new DownGlassInfo();
BeanUtils.copyProperties(downStorageCageDetails, downGlassInfo);
//钀芥灦鐗囧簭
- downGlassInfo.setSequence(downGlassInfoService.queryMaxSequence(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer()));
+ LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>();
+ wrapper.eq(DownGlassInfo::getFlowCardId, downGlassInfo.getFlowCardId())
+ .orderByDesc(DownGlassInfo::getSequence)
+ .last("limit 1");
+ if (downStorageCageDetails.getLayer() != 0) {
+ wrapper.eq(DownGlassInfo::getLayer, downGlassInfo.getLayer());
+ }
+// downGlassInfo.setSequence(downGlassInfoService.queryMaxSequence(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer()));
+ int k = 0;
+ DownGlassInfo downGlassInfo1 = downGlassInfoService.getOne(wrapper);
+ if (downGlassInfo1 != null) {
+ k = 1;
+ } else {
+ k = 1;
+ }
+ downGlassInfo.setSequence(k);
downGlassInfo.setWorkStationId(endCell);
downGlassInfo.setGmtCreate(new Date());
downGlassInfoService.save(downGlassInfo);
@@ -666,6 +709,14 @@
downGlassTask.setTaskStatus(0);
downGlassTask.setCreateTime(new Date());
downGlassTaskService.save(downGlassTask);
+ //娣诲姞鎶ュ伐鏁版嵁
+ Damage damage = new Damage();
+ damage.setGlassId(glassInfo.getGlassId());
+ damage.setWorkingProcedure("閽㈠寲");
+ damage.setLine(4001);
+ damage.setType(1);
+ damage.setRemark("閽㈠寲鍚庡崸寮忕悊鐗�");
+ damageService.insertDamage(damage);
//鍚憄lc鍙戦�佸懡浠�
return sendMessageToPlc((int) glassInfo.getWidth(), (int) glassInfo.getHeight(), (int) glassInfo.getThickness(),
startCell, endCell, taskType);
--
Gitblit v1.8.0