From 422f525686f9f7d426c106bb50432ec0ecc73d7d Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 01 七月 2024 09:37:58 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 76 ++++++++++++++++++++++++++++++++------
1 files changed, 64 insertions(+), 12 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 3c7b2d0..64317a2 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,33 +1,85 @@
package com.mes.downglassinfo.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.common.config.Const;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.job.DownLoadCacheGlassTask;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
@Service
public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
- // 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
+ @Autowired
+ DownLoadCacheGlassTask downLoadCacheGlassTask;
+
+ @Autowired
+ DownStorageCageDetailsService downStorageCageDetailsService;
+
+ /**
+ * 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
+ */
@Override
- public Integer getMaxSequenceByFlowCardId(String flowCardId) {
- QueryWrapper<DownGlassInfo> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("flow_card_id", flowCardId);
- queryWrapper.select("MAX(sequence)"); // 閫夋嫨鏈�澶у簭鍙�
- DownGlassInfo downGlassInfo = baseMapper.selectOne(queryWrapper);
- if (downGlassInfo != null) {
- return downGlassInfo.getSequence(); // 杩斿洖鏈�澶у簭鍙�
- }
- return 0; // 濡傛灉娌℃湁鎵惧埌璁板綍锛岃繑鍥�0鎴栬�呭叾浠栭�傚綋鐨勫��
+ public Integer getMaxSequenceByFlowCardId(String flowCardId, int layer) {
+ LambdaQueryWrapper<DownGlassInfo> lambdaQueryWrapper = Wrappers.lambdaQuery();
+ lambdaQueryWrapper.eq(DownGlassInfo::getFlowCardId, flowCardId)
+ .eq(DownGlassInfo::getLayer, flowCardId)
+ .select(DownGlassInfo::getSequence)
+ .orderByDesc(DownGlassInfo::getSequence)
+ .last("LIMIT 1");
+
+ DownGlassInfo downGlassInfo = baseMapper.selectOne(lambdaQueryWrapper);
+ return downGlassInfo != null ? downGlassInfo.getSequence() : 0;
}
+
@Override
public void insertDownGlassInfo(DownGlassInfo downGlassInfo) {
baseMapper.insert(downGlassInfo);
}
+ @Override
+ public DownGlassInfoDTO queryDownGlassMaxLayer(String flowCardId) {
+ return baseMapper.queryDownGlassMaxLayer(flowCardId);
+ }
+ @Override
+ public Integer queryMaxSequence(String flowCardId, int layer) {
+ return baseMapper.queryMaxSequence(flowCardId, layer);
+ }
+ @Override
+ public List<DownGlassInfoDTO> queryWorkStationIsIn(Boolean isDownload) {
+ return baseMapper.queryWorkStationIsIn(isDownload);
+ }
-
+ @Override
+ public boolean generateOutGlassTask(String glassId) {
+ //鏇存柊鍗у紡鐞嗙墖绗煎唴鐜荤拑鐘舵��
+ downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>()
+ .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT).eq(DownStorageCageDetails::getGlassId, glassId));
+ DownStorageCageDetails details = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>()
+ .eq(DownStorageCageDetails::getGlassId, glassId));
+ //鐢熸垚涓嬬墖淇℃伅
+ DownGlassInfo downGlassInfo = new DownGlassInfo();
+ BeanUtils.copyProperties(details, downGlassInfo);
+ //鑾峰彇褰撳墠娴佺▼鍗℃渶澶х墖搴�
+ downGlassInfo.setSequence(this.getMaxSequenceByFlowCardId(details.getFlowCardId(), details.getLayer()) + 1);
+ this.save(downGlassInfo);
+ //鐢熸垚浠诲姟淇℃伅 骞跺悜plc鍙戦�佸嚭鐗囦换鍔�
+ GlassInfo glassInfo = new GlassInfo();
+ BeanUtils.copyProperties(details, glassInfo);
+ return downLoadCacheGlassTask.initDownGlassTask(glassInfo, details.getSlot(), 3001, 2);
+ }
}
--
Gitblit v1.8.0