From 2b69dc9ab54baea88dcbb58bb43ba8c232a65d0f Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 13 六月 2024 17:04:32 +0800
Subject: [PATCH] 代码规范
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 95 insertions(+), 6 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index fd2bdf0..5f802b5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -1,12 +1,26 @@
package com.mes.temperingglass.service.impl;
+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.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
+import com.mes.bigstorage.mapper.BigStorageCageMapper;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import com.mes.temperingglass.service.TemperingGlassInfoService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -16,24 +30,99 @@
* @author zhoush
* @since 2024-03-27
*/
+@Slf4j
@Service
public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
+ @Resource
+ private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
+ @Resource
+ private BigStorageCageMapper bigStorageCageMapper;
+
+ @Override
public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList) {
- double carwidth=5000;
- double gay=50;
+ double carWidth=5000;
+ double gap=50;
//鍐欏叆浠诲姟鍒颁换鍔¤〃
for (TemperingGlassInfo temperingGlassInfo:temperingGlassInfoList
) {
- if((carwidth-gay-temperingGlassInfo.getWidth())>0){
- //娣诲姞浠诲姟鍒颁换鍔¤〃
+ log.info("1銆佸綋鍑虹墖杞﹀搴﹀ぇ浜庣幓鐠冨搴︽椂");
+ if((carWidth-temperingGlassInfo.getWidth())>0){
+ carWidth-=temperingGlassInfo.getWidth()+gap;
+ log.info("2銆佹坊鍔犻挗鍖栧皬鐗囪〃淇℃伅鍒颁换鍔¤〃");
+ temperingGlassInfo.setState(-1);
+ baseMapper.updateById(temperingGlassInfo);
+ log.info("3銆佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��");
+ BigStorageCageOutTask bigStorageCageOutTask =new BigStorageCageOutTask();
+ bigStorageCageOutTask.setId(temperingGlassInfo.getId());
}else{
break;
}
}
}
- public List<TemperingGlassInfo> SelectTemperingGlassInfo() {
- return null;
+ //璋冨害
+ @Override
+ public void schedulingTask(){
+ QueryWrapper<BigStorageCageDetails> detailsWrapper1 = Wrappers.query();
+ detailsWrapper1.select("tempering_layout_id", "count(distinct slot)")
+ .groupBy("tempering_layout_id");
+ List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(detailsWrapper1);
+
+ boolean key=false;
+ for (Map<String, Object> row : temperingLayoutIdList) {
+ for (Map.Entry<String, Object> entry : row.entrySet()) {
+ String temperingId = entry.getKey();
+ int temperingNo = Integer.parseInt(entry.getValue().toString());
+ if(temperingNo>8){
+ QueryWrapper<BigStorageCageDetails> detailsWrapper2 = Wrappers.query();
+ detailsWrapper2.select("tempering_layout_id", "slot")
+ .select("max(tempering_feed_sequence) as max_sequence", "min(tempering_feed_sequence) as min_sequence")
+ .groupBy("tempering_layout_id", "slot")
+ .orderByAsc("tempering_layout_id")
+ .orderByDesc("min_sequence");
+
+ List<Map<String, Object>> result = bigStorageCageDetailsMapper.selectMaps(detailsWrapper2);
+ for (Map<String, Object> rows : result) {
+ // 鑾峰彇姣忚鐨勫��
+ Object temperingLayoutId = rows.get("tempering_layout_id");
+ int slot = Integer.parseInt(rows.get("slot").toString());
+ int maxSequence = Integer.parseInt(rows.get("max_sequence").toString());
+ int minSequence = Integer.parseInt(rows.get("min_sequence").toString());
+
+ LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper=new LambdaQueryWrapper<>();
+ bigStorageCageWrapper.eq(BigStorageCage::getSlot,slot);
+ BigStorageCage bigStorageCage=bigStorageCageMapper.selectOne(bigStorageCageWrapper);
+ Integer remainWidth=5000-bigStorageCage.getRemainWidth();
+
+ BigStorageCage bigStorageCages=bigStorageCageMapper.selectJoinOne(BigStorageCage.class, new MPJLambdaWrapper<BigStorageCage>()
+ .selectAll(BigStorageCage.class)
+ .leftJoin(BigStorageCageDetails.class, on -> on
+ .eq(BigStorageCage::getDeviceId, BigStorageCageDetails::getDeviceId)
+ .eq(BigStorageCage::getSlot, BigStorageCageDetails::getSlot))
+ .gt(BigStorageCage::getRemainWidth,remainWidth)
+ .eq(BigStorageCageDetails::getTemperingLayoutId,temperingLayoutId)
+ .eq(BigStorageCageDetails::getTemperingFeedSequence,minSequence-1)
+ );
+
+ if(bigStorageCages.getSlot()!=null){
+ LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper<>();
+ bigStorageCageDetailsWrapper
+ .eq(BigStorageCageDetails::getSlot,slot)
+ .orderByDesc(BigStorageCageDetails::getTemperingFeedSequence);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
+ for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+ ) {
+ BigStorageCageOutTask bigStorageCageOutTask=new BigStorageCageOutTask();
+ bigStorageCageOutTask.setTaskState(-3);
+ bigStorageCageOutTask.setStartSlot(slot);
+ bigStorageCageOutTask.setEndSlot(bigStorageCages.getSlot());
+ }
+ return;
+ }
+ }
+ }
+ }
+ }
}
}
--
Gitblit v1.8.0