From bd1709073c25581232fc95089c9b6e0046e9ee22 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 20 十月 2024 21:06:51 +0800
Subject: [PATCH] 原片仓储任务改造
---
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java | 18 --
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java | 3
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml | 4
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java | 17 --
hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml | 4
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java | 13 +
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java | 10 -
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java | 3
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java | 5
/dev/null | 35 -----
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 14 ++
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java | 176 +++++++++++++++++++++++++----
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java | 4
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql | 2
14 files changed, 193 insertions(+), 115 deletions(-)
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 46c9d01..ccd0419 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -198,5 +198,19 @@
public static final Integer ENGINEERING_NEW = 0;
public static final Integer ENGINEERING_RUNNING = 1;
+ /**
+ * 鍘熺墖浠撳偍浠诲姟绫诲瀷
+ * 鍦ㄧ鍐�100
+ * 鍑虹101
+ * 鍑嗗鍑虹102
+ * 鎵ц涓�103
+ * 鍦ㄨ溅涓�104
+ */
+ public static final Integer RAW_GLASS_STATE_IN = 100;
+ public static final Integer RAW_GLASS_STATE_OUT = 101;
+ public static final Integer RAW_GLASS_STATE_WAIT_OUT = 102;
+ public static final Integer RAW_GLASS_STATE_RUNNING = 103;
+ public static final Integer RAW_GLASS_STATE_CAR = 104;
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
index c9321fa..b0032a8 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -96,6 +96,10 @@
* 澶囨敞
*/
private String notes;
+ /**
+ * 涓婄墖鏈虹嚎璺�
+ */
+ private String stationCell;
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
index 66e13c4..0bf747d 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -2,11 +2,12 @@
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
import com.mes.common.config.Const;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
-import com.mes.milo.model.ReadWriteEntity;
-import com.mes.milo.service.MiloService;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.rawglassstation.entity.RawGlassStorageStation;
@@ -53,8 +54,10 @@
@Autowired
private MiloService miloService;
- private static final List<String> liftingStation = Arrays.asList("1", "2");
- private static final List<String> loadGlassStation = Arrays.asList("3", "4", "5", "6");
+ private static final List<String> LIFTING_STATION = Arrays.asList("4");
+ private static final List<String> LOAD_STATION_01 = Arrays.asList("101", "102");
+ private static final List<String> LOAD_STATION_02 = Arrays.asList("103", "104");
+ private static final List<Integer> LOAD_STATION_MAX = Arrays.asList(102, 104);
/**
* 鍏ュ簱浠诲姟锛氬悐瑁呬綅鏈夌幓鐠冿紝鍏堝幓宸ヤ綅琛ㄦ煡璇㈢┖鏍煎瓙锛岀敓鎴愬叆搴撲换鍔′粠鍚婅浣嶅埌鐩爣鏍煎瓙
@@ -64,29 +67,38 @@
@Scheduled(fixedDelay = 1000)
public void warehouseTask() throws Exception {
ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
- String value = entity.getValueString();
+ String value = entity.getValue() + "";
if (!"1".equals(value)) {
log.info("澶ц溅蹇欑");
return;
}
List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
.eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
- .inSql(RawGlassStorageDetails::getSlotId, "select slot from raw_glass_storage_station where enable_state = 1 and slot in (1,2)"));
+ .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1 and device_id = 4"));
if (CollectionUtil.isEmpty(rawGlassList)) {
log.info("鍚婅浣嶈绂佺敤鎴栨病鏈夌幓鐠�");
return;
}
//鏌ヨ宸ヤ綅淇℃伅鏄惁鏈�
- List<RawGlassStorageStation> stationList = rawGlassStorageStationService.list(new LambdaQueryWrapper<RawGlassStorageStation>().notInSql(RawGlassStorageStation::getSlot, "select slot_id from raw_glass_storage_details where state = '100'")
+ List<RawGlassStorageStation> stationList = rawGlassStorageStationService.list(new LambdaQueryWrapper<RawGlassStorageStation>().notInSql(RawGlassStorageStation::getSlot, "select slot from raw_glass_storage_details where " +
+ "state in('100','102','103')")
.eq(RawGlassStorageStation::getEnableState, Const.SLOT_ON));
if (CollectionUtil.isEmpty(stationList)) {
log.info("娌℃湁绌虹殑宸ヤ綅");
return;
}
//鐢熸垚杩涚浠诲姟
- generateTask(rawGlassList.get(0).getSlotId(), stationList.get(0).getSlot(),
- rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_IN);
+ generateTask(rawGlassList.get(0).getSlot(), stationList.get(0).getSlot(),
+ rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_STATE_RUNNING);
//鐢熸垚宸ヤ綅浠诲姟锛屽皢鍚婅浣嶇殑鐜荤拑鐘舵�佹敼浣嶈繘绗间腑
+// 淇敼鍚婅浣嶇殑鍘熺墖鐘舵�佷负103 鍑虹墖涓�
+ //淇敼鍑虹墖浠诲姟鐘舵��
+ rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+ .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
+ .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN)
+ .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
+// RawGlassStorageDetails details = new RawGlassStorageDetails();
+// BeanUtils.copyProperties(rawGlassList.get(0), details);
}
@@ -96,25 +108,31 @@
@Scheduled(fixedDelay = 1000)
public void outboundTask() throws Exception {
ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
- String value = entity.getValueString();
+ String value = entity.getValue() + "";
if (!"2".equals(value)) {
log.info("澶ц溅蹇欑");
return;
}
List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
- .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT_ING)
- .inSql(RawGlassStorageDetails::getSlotId, "select slot from raw_glass_storage_station where enable_state = 1 and slot not in (1,2)"));
+ .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT));
+// .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1 and device_id = 4"));
if (CollectionUtil.isEmpty(rawGlassList)) {
log.info("绯荤粺娌℃湁闇�瑕佸嚭搴撶殑鍘熺墖淇℃伅");
return;
}
- List<Integer> emptyLeftingList = rawGlassStorageDetailsService.listBySlotState(liftingStation, Arrays.asList(Const.GLASS_STATE_IN));
+ List<Integer> emptyLeftingList = rawGlassStorageDetailsService.listBySlotState(LIFTING_STATION, Arrays.asList(Const.RAW_GLASS_STATE_IN, Const.RAW_GLASS_STATE_RUNNING));
if (CollectionUtil.isEmpty(emptyLeftingList)) {
log.info("鍚婅浣嶅綋鍓嶉兘鏈夊師鐗囷紝缁撴潫鍑虹墖浠诲姟");
+ return;
}
//鐢熸垚鍑哄簱浠诲姟
- generateTask(rawGlassList.get(0).getSlotId(), emptyLeftingList.get(0),
+ generateTask(rawGlassList.get(0).getSlot(), emptyLeftingList.get(0),
rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT);
+ //淇敼鍑虹墖浠诲姟鐘舵��
+ rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
+ .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
+ .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT)
+ .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
}
/**
@@ -123,19 +141,25 @@
@Scheduled(fixedDelay = 1000)
public void rawGlassDispatchTask() throws Exception {
ReadWriteEntity entity = miloService.readFromOpcUa("rawglass.device.request");
- String value = entity.getValueString();
+ String value = entity.getValue() + "";
if (!"2".equals(value)) {
log.info("澶ц溅蹇欑");
return;
}
//鏌ヨ褰撳墠绯荤粺姝e湪鎵ц鐨勮鍗�
- Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING).last("order by id limit 1"));
- if (null == engineering) {
+ List<Engineering> engineeringList = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>()
+ .eq(Engineering::getState, Const.ENGINEERING_RUNNING).last("order by id"));
+ if (CollectionUtils.isEmpty(engineeringList)) {
log.info("娌℃湁姝e湪鎵ц鐨勫伐绋�");
return;
}
+ //绾胯矾 + 宸ョ▼鍚�
+ //todo:鎸夌収璺嚎鍙婂伐绋嬪彿锛岃繘琛屽嚭鐗囦换鍔�
+ String stationCell = engineeringList.get(0).getStationCell();
+ String enginneerId = engineeringList.get(0).getEngineerId();
+
//褰撳墠灏哄闇�瑕佷笂鐗囩殑鏁伴噺
- List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(engineering.getEngineerId());
+ List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(enginneerId);
if (CollectionUtils.isEmpty(pattenUsageList)) {
log.info("姝e湪鎵ц鐨勫伐绋嬪師鐗囨棤鍙笂鐗囩殑鍘熺墖淇℃伅");
return;
@@ -146,7 +170,7 @@
//todo:褰撲竴鍙蜂笂鐗囦綅鏋跺瓙涓婄殑鐜荤拑浣嶇┖鎴栬�呭綋鍓嶅昂瀵哥敤瀹屾椂鏃讹紝灏�2鍙凤紙鏈夌幓鐠冿級涓婄墖浣嶈皟搴﹀埌1鍙蜂笂鐗囦綅
//1銆佹煡璇�4涓笂鐗囩殑鍘熺墖璇︽儏
List<RawGlassStorageDetails> rawGlassDetailsList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
- .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN).in(RawGlassStorageDetails::getSlotId, loadGlassStation));
+ .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN).in(RawGlassStorageDetails::getSlot, LOAD_STATION_01));
if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
//琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
@@ -160,10 +184,10 @@
.orderByAsc(RawGlassStorageDetails::getRemainQuantity)
.last("limit 1")
);
- generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
//缁撴潫璋冨害浠诲姟
}
- Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlotId));
+ Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlot));
RawGlassStorageDetails rawGlass03Details = listMap.get(3).get(0);
RawGlassStorageDetails rawGlass04Details = listMap.get(4).get(0);
// RawGlassStorageDetails rawGlass05Details = listMap.get(5).get(0);
@@ -183,7 +207,7 @@
.orderByAsc(RawGlassStorageDetails::getRemainQuantity)
.last("limit 1")
);
- generateTask(details.getSlotId(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
//缁撴潫璋冨害浠诲姟
} else {
//灏�2鍙蜂笂鐗囦綅鐨勫師鐗囨斁鍏�1鍙蜂笂鐗囦綅
@@ -206,10 +230,114 @@
.orderByAsc(RawGlassStorageDetails::getRemainQuantity)
.last("limit 1")
);
- generateTask(details.getSlotId(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ generateTask(details.getSlot(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
}
}
+
+ }
+
+ private boolean queryDispatchTask(String stationCell, String enginneerId) {
+ //todo:鎸夌収宸ョ▼鍙锋寜鐓у伐绋嬩笅鏈畬鎴愮殑灏哄鐨勯『搴忥紝褰�1鍙蜂笂鐗囦綅鏋跺瓙涓婄殑褰撳墠灏哄鐜荤拑灏戜簬3鐗囦笖2鍙蜂笂鐗囦綅鏃犲師鐗囩幓鐠冿紝鍒欏皢鍘昏皟搴︾幓鐠冨幓2鍙蜂笂鐗囦綅锛�
+ //todo:褰撲竴鍙蜂笂鐗囦綅鏋跺瓙涓婄殑鐜荤拑浣嶇┖鎴栬�呭綋鍓嶅昂瀵哥敤瀹屾椂鏃讹紝灏�2鍙凤紙鏈夌幓鐠冿級涓婄墖浣嶈皟搴﹀埌1鍙蜂笂鐗囦綅
+ //1銆佹煡璇笂鐗囩嚎璺搴斿伐浣嶇殑鍘熺墖淇℃伅
+ LambdaQueryWrapper<RawGlassStorageDetails> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN);
+ if ("1".equals(stationCell)) {
+ wrapper.in(RawGlassStorageDetails::getSlot, LOAD_STATION_01);
+ } else {
+ wrapper.in(RawGlassStorageDetails::getSlot, LOAD_STATION_02);
+ }
+ List<RawGlassStorageDetails> rawGlassDetailsList = rawGlassStorageDetailsService.list(wrapper);
+ if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
+ //鐩存帴鐢熸垚璋冨害浠诲姟
+ generateTask(1, 2, 34, 4);
+ return Boolean.TRUE;
+ }
+ if (rawGlassDetailsList.size() == 2) {
+ return Boolean.FALSE;
+ }
+ int maxStationSlot = rawGlassDetailsList.stream().mapToInt(RawGlassStorageDetails::getSlot).max().orElse(0);
+ if (LOAD_STATION_MAX.contains(maxStationSlot)) {
+ return Boolean.FALSE;
+ }
+ //浜屽彿涓婄墖锛氱洿鎺ョ敓鎴愯皟搴︿换鍔�
+ generateTask(1, 2, 34, 4);
+ return Boolean.TRUE;
+
+
+ //褰撳墠灏哄闇�瑕佷笂鐗囩殑鏁伴噺
+ List<UpPattenUsageVO> pattenUsageList = upPattenUsageMapper.queryRawGlassByEngineeringId(enginneerId);
+ if (CollectionUtils.isEmpty(pattenUsageList)) {
+ log.info("姝e湪鎵ц鐨勫伐绋嬪師鐗囨棤鍙笂鐗囩殑鍘熺墖淇℃伅");
+ return Boolean.FALSE;
+ }
+ Map<String, List<UpPattenUsageVO>> upListMap = pattenUsageList.stream()
+ .collect(Collectors.groupingBy(UpPattenUsageVO::getGroupNumber));
+
+
+ if (CollectionUtils.isEmpty(rawGlassDetailsList)) {
+ //琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
+ List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
+ UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+ RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+ .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+ .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+ .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+ .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+ .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+ .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+ .last("limit 1")
+ );
+ generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ //缁撴潫璋冨害浠诲姟
+ }
+ Map<Integer, List<RawGlassStorageDetails>> listMap = rawGlassDetailsList.stream().collect(Collectors.groupingBy(RawGlassStorageDetails::getSlot));
+ RawGlassStorageDetails rawGlass03Details = listMap.get(3).get(0);
+ RawGlassStorageDetails rawGlass04Details = listMap.get(4).get(0);
+// RawGlassStorageDetails rawGlass05Details = listMap.get(5).get(0);
+// RawGlassStorageDetails rawGlass06Details = listMap.get(6).get(0);
+ //todo:涓婄墖1鍙蜂綅2绉嶆竻绌烘柟寮忥細鏂瑰紡涓�锛氬師鐗囩敤瀹� 鏂瑰紡浜岋細褰撳墠灏哄鐢ㄥ畬
+ if (null == rawGlass03Details) {
+ if (null == rawGlass04Details) {
+ //琛ㄧず1涓婄墖浣嶆病鏈夊師鐗囷紝鐩存帴鎵惧師鐗囨斁鍏ュ搴旂殑涓婄墖浣�
+ List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("1");
+ UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+ RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+ .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+ .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+ .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+ .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+ .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+ .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+ .last("limit 1")
+ );
+ generateTask(details.getSlot(), 1, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ //缁撴潫璋冨害浠诲姟
+ } else {
+ //灏�2鍙蜂笂鐗囦綅鐨勫師鐗囨斁鍏�1鍙蜂笂鐗囦綅
+ generateTask(2, 1, rawGlass04Details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ //缁撴潫璋冨害浠诲姟
+ }
+ } else {
+ if (null == rawGlass04Details) {
+ List<UpPattenUsageVO> upPattenUsage01VOS = upListMap.get("2");
+ if (CollectionUtils.isEmpty(upPattenUsage01VOS)) {
+ return;
+ }
+ UpPattenUsageVO usageVO = upPattenUsage01VOS.get(0);
+ RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
+ .eq(RawGlassStorageDetails::getFilmsId, usageVO.getFilmsId())
+ .eq(RawGlassStorageDetails::getPatternWidth, usageVO.getWidth())
+ .eq(RawGlassStorageDetails::getPatternHeight, usageVO.getHeight())
+ .eq(RawGlassStorageDetails::getPatternThickness, usageVO.getThickness())
+ .gt(RawGlassStorageDetails::getRemainQuantity, upPattenUsage01VOS.size())
+ .orderByAsc(RawGlassStorageDetails::getRemainQuantity)
+ .last("limit 1")
+ );
+ generateTask(details.getSlot(), 2, details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
+ }
+ }
}
@@ -225,7 +353,7 @@
*/
private boolean generateTask(int startSlot, int endSlot, Integer patternQuantity, int taskType) {
RawGlassStorageTask task = RawGlassStorageTask.builder()
- .originateSlot(startSlot)
+ .startSlot(startSlot)
.endSlot(endSlot)
.patternQuantity(patternQuantity)
.taskType(taskType)
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
index 2a339bb..cb33349 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/RawGlassStorageDetails.java
@@ -10,7 +10,7 @@
/**
* <p>
- *
+ *
* </p>
*
* @author wf
@@ -22,54 +22,44 @@
private static final long serialVersionUID = 1L;
- @TableId(value = "id", type = IdType.AUTO)
+ @TableId(value = "id", type = IdType.AUTO)
private Long id;
-
/**
* 璁惧id
*/
private Integer deviceId;
-
/**
* 鏍煎瓙id
*/
- private Integer slotId;
-
+ private Integer slot;
/**
* 鍘熺墖瀹�
*/
private Double patternWidth;
-
/**
* 鍘熺墖楂�
*/
private Double patternHeight;
-
/**
* 鍘熺墖鍘氬害
*/
private Double patternThickness;
-
/**
* 鑶滅郴
*/
private String filmsId;
-
/**
* 鍒涘缓鏃堕棿
*/
private Date createTime;
-
/**
* 鍓╀綑鏁伴噺
*/
private Integer remainQuantity;
-
-
/**
* 鐘舵��
*/
- private int state;
+ private Integer state;
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
index 36204b8..0d8e2cc 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
@@ -1,6 +1,5 @@
package com.mes.rawglassdetails.entity.request;
-import com.mes.userinfo.entity.vo.SysUserVO;
import lombok.Data;
/**
@@ -9,7 +8,7 @@
* @Description:
*/
@Data
-public class RawGlassRequest extends SysUserVO {
+public class RawGlassRequest {
/**
* 鍘熺墖瀹�
@@ -39,5 +38,5 @@
/**
* 鏍呮牸鍙�
*/
- private String slotId;
+ private String slot;
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml
deleted file mode 100644
index ba48273..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageStationMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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="glassdetails.mapper.RawGlassStorageStationMapper">
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml
deleted file mode 100644
index e057e23..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageTaskMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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="glassdetails.mapper.RawGlassStorageTaskMapper">
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
index cd7ad71..e592f49 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -14,15 +14,12 @@
List<RawGlassStorageDetails> selectDetails();
-
/**
* 鍒犻櫎琛� 鍏堝湪杩欓噷鍒� 鐒跺悗鐐归偅涓浉鍏抽棶棰�
*
* @return boolean
*/
boolean deleteRawGlassStorageDetails(String device_id);
-
-
/**
* 鍘熺墖鍏ュ簱
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
index e608d50..702e9d7 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -55,21 +55,24 @@
update(
new LambdaUpdateWrapper<RawGlassStorageDetails>()
.set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
- .eq(RawGlassStorageDetails::getSlotId, request.getSlotId()));
+ .eq(RawGlassStorageDetails::getSlot, request.getSlot())
+ .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
return "success";
}
@Override
public String deleteWarehousing(Long slotId) {
- update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
- .set(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT));
+ update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
+ .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
+ .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
return "success";
}
@Override
public String outWarehousing(Long slotId) {
- update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlotId, slotId)
- .set(RawGlassStorageDetails::getState, Const.GLASS_STATE_OUT_ING));
+ update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
+ .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+ .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_WAIT_OUT));
return "success";
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
index e721e70..b94c59a 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
@@ -29,9 +29,6 @@
} else {
return Result.build(200, "绂佺敤", result);
}
-
-
-
}
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
index 8f1db02..446cdbf 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
@@ -17,33 +17,20 @@
private static final long serialVersionUID = 1L;
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
/**
* 璁惧id
*/
private Integer deviceId;
-
/**
* 鏍呮牸鍙�
*/
private Integer slot;
-
/**
* 鍚敤鏍囪
*/
private String enableState;
-
- /**
- * 寮�濮嬪伐浣�
- */
- private Integer startSlot;
-
- /**
- * 鐩爣宸ヤ綅
- */
- private Integer endSlot;
}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
index 5346dee..dbb2816 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/RawGlassStorageTask.java
@@ -27,32 +27,26 @@
@TableId(value = "id", type = IdType.AUTO)
private Long id;
-
/**
* 璧峰鏍煎瓙
*/
- private Integer originateSlot;
-
+ private Integer startSlot;
/**
* 鐩爣鏍煎瓙
*/
private Integer endSlot;
-
/**
* 鍘熺墖鏁伴噺
*/
private Integer patternQuantity;
-
/**
* 浠诲姟绫诲瀷
*/
private Integer taskType;
-
/**
* 浠诲姟鐘舵��
*/
- private Integer taskState;
-
+ private Integer enableState;
/**
* 鍒涘缓鏃堕棿
*/
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
similarity index 89%
rename from hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml
rename to hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
index f13945e..c157460 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/mapper/xml/RawGlassStorageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageDetailsMapper.xml
@@ -6,8 +6,8 @@
select t.slot
from raw_glass_storage_station t
inner JOIN raw_glass_storage_details t1
- on t.slot = t1.slot_id and t.enable_state = 1
- and t.slot in
+ on t.slot = t1.slot and t.enable_state = 1
+ and t.device_id in
<foreach collection="leftingStation" item="item" open='(' close=')' separator=','>
#{item}
</foreach>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
index 1b7b53f..56c2e88 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/RawGlassStorageStationMapper.xml
@@ -4,7 +4,7 @@
<resultMap id="baseMap" type="com.mes.rawglassdetails.entity.RawGlassStorageDetails">
<result column="device_id" property="deviceId"/>
- <result column="slot" property="slotId"/>
+ <result column="slot" property="slot"/>
<result column="pattern_width" property="patternWidth"/>
<result column="pattern_height" property="patternHeight"/>
<result column="pattern_thickness" property="patternThickness"/>
@@ -27,7 +27,7 @@
T.ENABLE_STATE
FROM RAW_GLASS_STORAGE_STATION T
LEFT JOIN RAW_GLASS_STORAGE_DETAILS T1 ON T.DEVICE_ID = T1.DEVICE_ID
- AND T.SLOT = T1.SLOT_ID
+ AND T.SLOT = T1.SLOT
AND T1.STATE = 100
</select>
</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml
deleted file mode 100644
index 576b9a9..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/ShelfRackMapper.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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.shelfrack.mapper.ShelfRackMapper">
-
- <resultMap id="ShelfRackResultMap" type="com.mes.shelfrack.entity.request.RawUsageAndShelfRack">
- <result property="number" column="number"/>
- <result property="rawType" column="raw_type"/>
- <result property="rawWidth" column="raw_width"/>
- <result property="rawHeight" column="raw_height"/>
- <result property="rawThickness" column="raw_thickness"/>
- <result property="enableState" column="enable_state"/>
- <result property="pieces" column="pieces"/>
- <result property="createTime" column="createTime" />
- <result property="batchId" column="batch_id"/>
- </resultMap>
- <select id="selectshelf_rack" resultMap="ShelfRackResultMap">
- <![CDATA[
- SELECT a.number, b.raw_type, b.raw_width, b.raw_height, b.raw_thickness, a.enable_state, b.pieces,
- b.batch_id,DATE_FORMAT(b.create_time, '%Y-%m-%d %H:%i:%s') as createTime
- FROM shelf_rack AS a
- LEFT JOIN raw_usage AS b ON a.raw_package_id = b.id
- ]]>
-</select>
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml
deleted file mode 100644
index a526c7c..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/mapper/StorageTaskMapper.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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.storagetask.mapper.StorageTaskMapper">
-
-
- <resultMap id="StorageTaskRequest" type="com.mes.storagetask.entity.request.StorageTaskRequest">
- <result property="loadRack" column="load_rack"/>
- <result property="color" column="color"/>
- <result property="taskState" column="task_state"/>
- <result property="shelfRack" column="shelf_rack"/>
- <result property="startTime" column="start_time"/>
- <result property="rawThickness" column="raw_thickness"/>
- <result property="routeGroup" column="route_group"/>
- <result property="id" column="id" />
- <result property="taskType" column="task_type"/>
- </resultMap>
-
-
-
- <select id="selectTasks" resultMap="StorageTaskRequest">
- <![CDATA[
- SELECT d.*, g.raw_thickness, g.color
- FROM (
- (SELECT * FROM storage_task AS a WHERE a.task_state = '宸插畬鎴�' ORDER BY a.id DESC LIMIT 1)
- UNION ALL
- (SELECT * FROM storage_task AS c WHERE c.task_state = '姝e湪宸ヤ綔')
- UNION ALL
- (SELECT * FROM storage_task AS b WHERE b.task_state = '绛夊緟涓�')
- ) AS d
- LEFT JOIN shelf_rack AS f ON f.id = d.shelf_rack
- LEFT JOIN raw_usage AS g ON g.id = f.raw_package_id
- ]]>
- </select>
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
index b4ea6a1..3c2df0c 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/changelog/changelog.sql
@@ -195,7 +195,7 @@
start_slot int NULL DEFAULT NULL COMMENT '璧峰鏍煎瓙',
end_slot int NULL DEFAULT NULL COMMENT '鐩爣鏍煎瓙',
pattern_quantity int NULL DEFAULT NULL COMMENT '鍘熺墖鏁伴噺',
- enable_type int NULL DEFAULT NULL COMMENT '浠诲姟绫诲瀷',
+ task_type int NULL DEFAULT NULL COMMENT '浠诲姟绫诲瀷',
enable_state int NULL DEFAULT NULL COMMENT '浠诲姟鐘舵��',
create_time datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
PRIMARY KEY (id) USING BTREE
--
Gitblit v1.8.0