From e08c30f6a36a15be4e019b5e0d631f32f6d06029 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 24 十一月 2025 14:51:09 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/dto/DamageDTO.java | 29 ++++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 2
hangzhoumesParent/common/servicebase/src/main/resources/mapper/DamageMapper.xml | 48 ++++++++
UI-Project/src/views/ReportWork/reportWork.vue | 22 ++-
UI-Project/src/views/hollow/hollowequipment.vue | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java | 3
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java | 9 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java | 3
UI-Project/src/views/hollow/hollowequipmenthree.vue | 4
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/ProcessCardReport.java | 89 ++++++++++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 50 +++++--
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java | 55 ++++++--
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java | 8 -
UI-Project/src/views/hollow/hollowequipmenttwo.vue | 4
14 files changed, 276 insertions(+), 55 deletions(-)
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index 7a6ed85..0842f92 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -36,15 +36,15 @@
<el-table height="700" ref="table" :data="reportData"
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
<el-table-column prop="teamsGroupsName" align="center" :label="$t('reportmanage.reporteam')"
- min-width="135" />
+ min-width="100" />
<el-table-column prop="deviceName" align="center" :label="$t('reportmanage.reportingequipment')"
- min-width="156" />
+ min-width="100" />
<el-table-column prop="line" align="center" :label="$t('reportmanage.line')" min-width="120" />
- <el-table-column prop="workingProcedure" align="center" :label="$t('reportmanage.process')" min-width="120" />
- <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
- <el-table-column prop="engineerId" align="center" :label="$t('reportmanage.projectnumber')" min-width="120" />
+ <el-table-column prop="workingProcedure" align="center" :label="$t('reportmanage.process')" min-width="100" />
+ <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="100" />
+ <el-table-column prop="engineerId" align="center" :label="$t('reportmanage.projectnumber')" min-width="100" />
<el-table-column prop="temperingLayoutId" align="center" :label="$t('reportmanage.layoutID')"
- min-width="120" />
+ min-width="100" />
<el-table-column prop="formattedCreateTime" align="center" :label="$t('reportmanage.productiontime')"
min-width="230" />
<el-table-column
@@ -71,10 +71,12 @@
</el-tag>
</template>
</el-table-column>
- <el-table-column prop="processId" align="center" :label="$t('reportmanage.processcards')" min-width="140" />
- <el-table-column prop="orderNumber" align="center" :label="$t('reportmanage.number')" min-width="120" />
- <el-table-column prop="technologyNumber" align="center" :label="$t('reportmanage.layer')" min-width="120" />
- <el-table-column prop="breakageType" align="center" :label="$t('reportmanage.typebreakage')" min-width="180">
+ <el-table-column prop="processId" align="center" :label="$t('reportmanage.processcards')" min-width="100" />
+ <el-table-column prop="orderNumber" align="center" :label="$t('reportmanage.number')" min-width="100" />
+ <el-table-column prop="technologyNumber" align="center" :label="$t('reportmanage.layer')" min-width="50" />
+ <el-table-column prop="width" align="center" :label="$t('processCard.width')" min-width="70" />
+ <el-table-column prop="height" align="center" :label="$t('processCard.height')" min-width="70" />
+ <el-table-column prop="breakageType" align="center" :label="$t('reportmanage.typebreakage')" min-width="100">
<template #default="{ row }">
<el-select v-model="row.breakageType" filterable :placeholder="$t('reportmanage.pcausebreakage')" :disabled="selectedType"
clearable @input="handleInputChangea($event, row.id)">
diff --git a/UI-Project/src/views/hollow/hollowequipment.vue b/UI-Project/src/views/hollow/hollowequipment.vue
index 98817f1..bac2e30 100644
--- a/UI-Project/src/views/hollow/hollowequipment.vue
+++ b/UI-Project/src/views/hollow/hollowequipment.vue
@@ -1885,7 +1885,9 @@
const blinde = ref(false)
const labelPrint = ref(false);
const handleBinde = (flowCard) => {
- const summary = flowCard.reduce((map, item) => {
+ const summary = flowCard
+ .filter(item => item.isPair !== 0)
+ .reduce((map, item) => {
const key = `${item.hollowSequence}`;
if (!map[key]) {
map[key] = {
@@ -1898,6 +1900,7 @@
return map;
}, {});
listFlow.value = Object.values(summary);
+ console.log(listFlow.value)
blinde.value = true;
getTags();
hiprint.init();
diff --git a/UI-Project/src/views/hollow/hollowequipmenthree.vue b/UI-Project/src/views/hollow/hollowequipmenthree.vue
index fd07dd5..e98ff56 100644
--- a/UI-Project/src/views/hollow/hollowequipmenthree.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenthree.vue
@@ -1144,7 +1144,9 @@
const blinde = ref(false)
const labelPrint = ref(false);
const handleBinde = (flowCard) => {
- const summary = flowCard.reduce((map, item) => {
+ const summary = flowCard
+ .filter(item => item.isPair !== 0)
+ .reduce((map, item) => {
const key = `${item.hollowSequence}`;
if (!map[key]) {
map[key] = {
diff --git a/UI-Project/src/views/hollow/hollowequipmenttwo.vue b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
index 34a577a..283009d 100644
--- a/UI-Project/src/views/hollow/hollowequipmenttwo.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -681,7 +681,9 @@
blindc.value = true;
};
const handleBinde = (flowCard) => {
- const summary = flowCard.reduce((map, item) => {
+ const summary = flowCard
+ .filter(item => item.isPair !== 0)
+ .reduce((map, item) => {
const key = `${item.hollowSequence}`;
if (!map[key]) {
map[key] = {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index 0a55b53..7fde5fe 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mes.damage.entity.Damage;
import com.mes.damage.entity.DamagePrint;
+import com.mes.damage.entity.dto.DamageDTO;
import com.mes.damage.service.DamageService;
import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
import com.mes.utils.Result;
@@ -34,7 +35,7 @@
@ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
@PostMapping("/selectDamage")
- public Result<Page<Damage>> selectDamage(@RequestBody Map map) {
+ public Result<Page<DamageDTO>> selectDamage(@RequestBody Map map) {
String startTime = map.get("startTime").toString();
String endTime = map.get("endTime").toString();
int type = Integer.parseInt(map.get("type").toString());
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/dto/DamageDTO.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/dto/DamageDTO.java
new file mode 100644
index 0000000..d60dc2d
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/dto/DamageDTO.java
@@ -0,0 +1,29 @@
+package com.mes.damage.entity.dto;
+
+import com.mes.damage.entity.Damage;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DamageDTO extends Damage {
+
+ /**
+ * 瀹�
+ */
+ private Integer width;
+
+ /**
+ * 瀹�
+ */
+ private Integer height;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
index 7c19797..3d06089 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.damage.entity.Damage;
+import com.mes.damage.entity.dto.DamageDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -19,4 +20,12 @@
public interface DamageMapper extends MPJBaseMapper<Damage> {
List<Damage> queryUnTempByFlowCardId(@Param("flowCardId") String flowCardId);
+
+ List<DamageDTO> selectDamageList(
+ @Param("startTime") String startTime,
+ @Param("endTime") String endTime,
+ @Param("type") int type,
+ @Param("status") int status,
+ @Param("workingProcedure") String workingProcedure
+ );
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index f46bafc..6644013 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -4,6 +4,7 @@
import com.github.yulichang.base.MPJBaseService;
import com.mes.damage.entity.Damage;
import com.mes.damage.entity.DamagePrint;
+import com.mes.damage.entity.dto.DamageDTO;
import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
import com.mes.pp.entity.ReportingWork;
import com.mes.pp.entity.ReportingWorkDetail;
@@ -21,7 +22,7 @@
*/
public interface DamageService extends MPJBaseService<Damage> {
- Page<Damage> selectDamage(
+ Page<DamageDTO> selectDamage(
String startTime,
String endTime,
int type,
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 3996f10..ff53524 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -11,6 +12,7 @@
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.entity.DamagePrint;
+import com.mes.damage.entity.dto.DamageDTO;
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
import com.mes.glassinfo.entity.GlassInfo;
@@ -36,6 +38,7 @@
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -67,17 +70,18 @@
/**
* 鍒嗛〉鏌ヨ鎹熷潖璁板綍
- * @param startTime 寮�濮嬫椂闂达紙鏍煎紡锛歽yyy-MM-dd HH:mm:ss锛�
- * @param endTime 缁撴潫鏃堕棿锛堟牸寮忥細yyyy-MM-dd HH:mm:ss锛�
- * @param type 鎹熷潖绫诲瀷锛�0琛ㄧず鏌ヨ鎵�鏈夌被鍨嬶級
- * @param status 鐘舵�侊紙0琛ㄧず鏌ヨ鎵�鏈夌姸鎬侊級
+ *
+ * @param startTime 寮�濮嬫椂闂达紙鏍煎紡锛歽yyy-MM-dd HH:mm:ss锛�
+ * @param endTime 缁撴潫鏃堕棿锛堟牸寮忥細yyyy-MM-dd HH:mm:ss锛�
+ * @param type 鎹熷潖绫诲瀷锛�0琛ㄧず鏌ヨ鎵�鏈夌被鍨嬶級
+ * @param status 鐘舵�侊紙0琛ㄧず鏌ヨ鎵�鏈夌姸鎬侊級
* @param workingProcedure 宸ュ簭锛�"0"琛ㄧず鏌ヨ鎵�鏈夊伐搴忥級
- * @param pageNum 椤电爜锛堜粠1寮�濮嬶級
- * @param pageSize 姣忛〉鏉℃暟
+ * @param pageNum 椤电爜锛堜粠1寮�濮嬶級
+ * @param pageSize 姣忛〉鏉℃暟
* @return 鍒嗛〉鍚庣殑鎹熷潖璁板綍鍒楄〃
*/
@Override
- public Page<Damage> selectDamage(
+ public Page<DamageDTO> selectDamage(
String startTime,
String endTime,
int type,
@@ -86,15 +90,27 @@
int pageNum, // 鏂板锛氬姩鎬侀〉鐮�
int pageSize // 鏂板锛氬姩鎬佹瘡椤垫潯鏁�
) {
- Page<Damage> page = new Page<>(pageNum, pageSize);
-
- LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
- damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime)
- .eq(type != 0, Damage::getType, type)
- .eq(status != 0, Damage::getStatus, status)
- .eq(!"0".equals(workingProcedure), Damage::getWorkingProcedure, workingProcedure);
-
- return this.page(page, damageSelectWrapper);
+ if (workingProcedure == null || workingProcedure.trim().isEmpty() || "0".equals(workingProcedure)) {
+ workingProcedure = null;
+ }
+ Page<DamageDTO> page = new Page<>(pageNum, pageSize);
+ List<DamageDTO> damages = this.baseMapper.selectDamageList(
+ startTime,
+ endTime,
+ type,
+ status,
+ workingProcedure
+ );
+ page.setTotal(damages.size());
+ int startIndex = (int) ((pageNum - 1) * pageSize);
+ int endIndex = Math.min((int) (pageNum * pageSize), damages.size());
+ if (startIndex < endIndex) {
+ List<DamageDTO> pageRecords = damages.subList(startIndex, endIndex);
+ page.setRecords(pageRecords);
+ } else {
+ page.setRecords(Collections.emptyList());
+ }
+ return page;
}
/**
@@ -432,7 +448,7 @@
}
@Override
- public List<Damage> queryUnTempByFlowCardId(String flowCardId){
+ public List<Damage> queryUnTempByFlowCardId(String flowCardId) {
return baseMapper.queryUnTempByFlowCardId(flowCardId);
}
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/ProcessCardReport.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/ProcessCardReport.java
new file mode 100644
index 0000000..bcf5441
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/ProcessCardReport.java
@@ -0,0 +1,89 @@
+package com.mes.order.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ProcessCardReport implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * <璁㈠崟琛�>
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璁㈠崟Id
+ */
+ private String orderId;
+
+ /**
+ * 娴佺▼鍗″彿
+ */
+ private String processId;
+
+ /**
+ * 璁㈠崟搴忓彿
+ */
+ private Integer orderNumber;
+
+ /**
+ * 灞傚彿
+ */
+ private Integer technologyNumber;
+
+ /**
+ * 宸ヨ壓
+ */
+ private String process;
+
+ /**
+ * 绱鎶ュ伐鏁�
+ */
+ private Integer reportWorkNumCount;
+
+ /**
+ * 鎶ュ伐鏁�
+ */
+ private Integer reportWorkNum;
+
+ /**
+ * 鐮存崯鏁伴噺
+ */
+ private Integer brokenNum;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Data createTime;
+
+ /**
+ * 鏈�鍚庝竴娆℃姤宸ユ椂闂�
+ */
+ private Data updateTime;
+
+ /**
+ * 娴佺▼鍗℃暟閲�
+ */
+ private Integer quantity;
+
+ /**
+ * 缂虹墖鏁伴噺
+ */
+ private Integer lackQuantity;
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/DamageMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/DamageMapper.xml
new file mode 100644
index 0000000..223b6c4
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/DamageMapper.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.damage.mapper.DamageMapper">
+
+ <select id="queryUnTempByFlowCardId" resultType="com.mes.damage.entity.Damage">
+ SELECT glass_id,
+ order_number,
+ technology_number,
+ working_procedure
+ FROM (
+ SELECT glass_id,
+ order_number,
+ technology_number,
+ working_procedure,
+ ROW_NUMBER() OVER (
+ PARTITION BY glass_id
+ ORDER BY damage_time DESC
+ ) AS rn
+ FROM damage
+ WHERE process_id = #{flowCardId}
+ AND glass_id NOT IN (
+ SELECT DISTINCT glass_id
+ FROM damage
+ WHERE process_id = #{flowCardId}
+ AND working_procedure = "閽㈠寲"
+ )
+ ) t
+ WHERE rn = 1;
+ </select>
+ <select id="selectDamageList" resultType="com.mes.damage.entity.dto.DamageDTO">
+ SELECT
+ t.*,t1.width,t1.height
+ FROM
+ damage t left join glass_info t1 on t.glass_id=t1.glass_id
+ <where>
+ damage_time BETWEEN #{startTime} AND #{endTime}
+ <if test="type != null and type != 0">
+ AND t.type = #{type}
+ </if>
+ <if test="status != null and status != 0">
+ AND t.status = #{status}
+ </if>
+ <if test="workingProcedure != null">
+ AND t.working_procedure = #{workingProcedure}
+ </if>
+ </where>
+ </select>
+</mapper>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index 07c694b..442fbb7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -3,8 +3,8 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
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.toolkit.CollectionUtils;
import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
import com.github.yulichang.toolkit.JoinWrappers;
import com.kangaroohy.milo.model.ReadWriteEntity;
@@ -414,6 +414,8 @@
LambdaQueryWrapper<BigStorageCage> queryWrapper = new LambdaQueryWrapper<BigStorageCage>()
.eq(BigStorageCage::getRemainWidth, slotWidth)
.eq(BigStorageCage::getEnableState, Const.SLOT_ON)
+ .le(BigStorageCage::getMinThickness, info.getThickness())
+ .ge(BigStorageCage::getMaxThickness, info.getThickness())
.orderByAsc(BigStorageCage::getDeviceId).orderByAsc(BigStorageCage::getSlot)
.last("limit 1");
@@ -478,13 +480,30 @@
String temperingEngineerId = redisUtil.getCacheObject("temperingEngineerId");
if (StringUtils.isNotBlank(temperingEngineerId)) {
- TemperingGlassInfo temperingGlassInfo = temperingGlassInfoService.getOne(new QueryWrapper<TemperingGlassInfo>()
- .select("Top 1 *")
- .eq("engineer_id", temperingEngineerId)
- .orderByDesc("tempering_layout_id"));
+ List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(
+ new LambdaQueryWrapper<TemperingGlassInfo>()
+ .eq(TemperingGlassInfo::getEngineerId, temperingEngineerId)
+ .orderByAsc(TemperingGlassInfo::getId)
+ );
int temperingLayoutId = 1;
- if (temperingGlassInfo != null) {
- temperingLayoutId = temperingGlassInfo.getTemperingLayoutId() + 1;
+ if (CollectionUtils.isEmpty(temperingGlassInfoList)) {
+ temperingLayoutId = 1;
+ } else {
+ List<Integer> tempIds = temperingGlassInfoList.stream()
+ .map(TemperingGlassInfo::getTemperingLayoutId)
+ .distinct()
+ .sorted()
+ .collect(Collectors.toList());
+
+ int expected = 1;
+ for (int current : tempIds) {
+ if (current > expected) {
+ break; // 鎵惧埌绗竴涓己澶卞�硷紝璺冲嚭寰幆
+ } else if (current == expected) {
+ expected++; // 杩炵画鍒欓�掑鏈熸湜鐨勫��
+ }
+ }
+ temperingLayoutId = expected; // 缂哄け鍒欎负expected锛岃繛缁垯涓簃ax+1
}
List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getEngineerId, temperingEngineerId).eq(GlassInfo::getTemperingLayoutId, temperingLayoutId));
if (CollectionUtil.isEmpty(glassInfos)) {
@@ -575,6 +594,7 @@
.eq(BigStorageCage::getEnableState, Const.SLOT_ON));
//瀹氫箟10涓牸瀛愪负闃堝��
if (count <= 10) {
+ log.info("绗煎瓙瓒呰繃闃堝�硷紝鎵ц4鍙风瀛愯皟搴﹂�昏緫");
//鑾峰彇搴忓彿涓�1鐨勬牸瀛� 灏嗘牸瀛愬唴鐨勬墍鏈夌幓鐠冮�佸埌瀵瑰簲鐨勭瀛�
BigStorageCage bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
.eq(BigStorageCage::getRemainWidth, slotWidth)
@@ -582,15 +602,18 @@
.in(BigStorageCage::getDeviceId, Arrays.asList(5, 6))
.orderByAsc(BigStorageCage::getDeviceId).orderByAsc(BigStorageCage::getSlot)
.last("limit 1"));
-
- list = bigStorageCageDetailsService.queryNeedDispatch();
- computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
- bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
- List<Integer> slotList = new ArrayList<>();
- slotList.add(bigStorageCage.getSlot());
- slotList.add(list.get(0).getSlot());
- updateSlotRemainBySlots(slotList);
- return;
+ if (null != bigStorageCage) {
+ list = bigStorageCageDetailsService.queryNeedDispatch();
+ if (CollectionUtil.isNotEmpty(list)) {
+ computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
+ bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
+ List<Integer> slotList = new ArrayList<>();
+ slotList.add(bigStorageCage.getSlot());
+ slotList.add(list.get(0).getSlot());
+ updateSlotRemainBySlots(slotList);
+ return;
+ }
+ }
}
//鐢熸垚璋冨害浠诲姟鎸夌収缁勫彿缁勫簭鐢�1寮�濮嬩緷娆″線5鍙风瀛愰�佸皬鐗�
BigStorageSlotDTO slotDTO = bigStorageCageDetailsService.queryNeedDispatchSlotBySequence();
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 4c2d064..02a1e8a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -308,7 +308,7 @@
FROM big_storage_cage_details
WHERE STATE = 100
AND SLOT =
- (SELECT SLOT FROM big_storage_cage_details WHERE STATE = 100 AND sequence = 1 order by slot desc LIMIT 1)
+ (SELECT SLOT FROM big_storage_cage_details WHERE STATE = 100 AND sequence = 1 AND device_id = 4 order by slot desc LIMIT 1)
ORDER BY tempering_feed_sequence
</select>
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index 0fb1f76..3f8fe30 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -1079,7 +1079,7 @@
}
private List<HollowGlassQueueInfo> computeOutHollowQueue(List<HollowGlassQueueInfo> queueInfoList, HollowGlassOutRelationInfo hollowGlassOutRelationInfo) {
- if (CollectionUtil.isNotEmpty(queueInfoList)) {
+ if (CollectionUtil.isEmpty(queueInfoList)) {
return new ArrayList<>();
}
//浠诲姟涓哄己鍒讹紝鍙洿鎺ヨ繑鍥炲師鏈夌殑闃熷垪
@@ -1093,11 +1093,6 @@
List<HollowGlassQueueInfo> resultQueue = new ArrayList<>();
for (List<HollowGlassQueueInfo> items : gridGroups.values()) {
- // 鎯呭喌1锛氭牸瀛愬唴鍙湁涓�涓暟鎹笖鏈厤瀵� - 杩囨护鎺�
- if (items.size() == 1 && 0 == items.get(0).getSlot()) {
- continue;
- }
-
// 鎯呭喌2锛氭牸瀛愬唴鍏ㄩ儴涓烘湭閰嶅鐨勬暟鎹� - 杩囨护鎺�
boolean allUnpaired = items.stream().noneMatch(e -> e.getIsPair() == 1);
if (allUnpaired) {
@@ -1106,6 +1101,7 @@
// 鍚﹀垯淇濈暀杩欎釜鏍煎瓙鍐呯殑鎵�鏈夋暟鎹�
resultQueue.addAll(items);
}
+ Collections.sort(resultQueue, Comparator.comparing(HollowGlassQueueInfo::getId));
return resultQueue;
}
--
Gitblit v1.8.0