From ec4752a2780a1336bbdca510e6888423a794c16d Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 02 八月 2024 09:23:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 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
new file mode 100644
index 0000000..df92487
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -0,0 +1,85 @@
+package com.mes.downglassinfo.service.impl;
+
+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, int layer) {
+ LambdaQueryWrapper<DownGlassInfo> lambdaQueryWrapper = Wrappers.lambdaQuery();
+ lambdaQueryWrapper.eq(DownGlassInfo::getFlowCardId, flowCardId)
+ .eq(DownGlassInfo::getLayer, layer)
+ .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