From 16c79495b4a88229042b4087e791ff86471bb702 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 05 六月 2024 08:20:09 +0800
Subject: [PATCH] 修改进出片逻辑,修改前端调用的接口

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |  199 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 190 insertions(+), 9 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index 1145f00..012ef6c 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -1,28 +1,209 @@
 package com.mes.bigstorage.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
-import com.mes.bigstorage.mapper.BigStorageCageMapper;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
-import com.mes.uppattenusage.entity.GlassInfo;
-import com.mes.uppattenusage.mapper.GlassInfoMapper;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
+import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Collections;
+import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-03-27
  */
 @Service
-public abstract class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
+public class BigStorageCageDetailsServiceImpl extends MPJBaseServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
 
+    @Resource
+    private BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
+    @Resource
+    private BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+    @Resource
+    private TemperingGlassInfoMapper temperingGlassInfoMapper;
+    @Resource
+    private BigStorageCageService bigStorageCageService;
+    @Resource
+    private GlassInfoMapper glassInfoMapper;
+
+    /**
+     * 鏌ヨ杩�/鍑虹墖浠诲姟
+     */
+    @Override
+    public List<BigStorageCageDetails> selectTask(int taskType) {
+        if(taskType==1){
+            //杩涚墖浠诲姟鏁版嵁
+            LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+            feedWrapper.eq(BigStorageCageDetails::getState, 1)
+                    .or()
+                    .eq(BigStorageCageDetails::getState, 2);
+            List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+            List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(null);
+
+            Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+                    .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+
+            for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+                BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+                bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+            }
+            return bigStorageCageDetailsList;
+        }else{
+            //鍑虹墖浠诲姟鏁版嵁
+            LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
+            outWrapper.eq(BigStorageCageDetails::getState, 3)
+                    .or()
+                    .eq(BigStorageCageDetails::getState, 4);
+            List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(outWrapper);
+            List<BigStorageCageOutTask> bigStorageCageOutTaskList=bigStorageCageOutTaskMapper.selectList(null);
+
+            Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
+                    .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
+            for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+                BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+                bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+            }
+            return bigStorageCageDetailsList;
+        }
+
+    }
+
+    /**
+     * 鍒ゆ柇褰撳墠鐜荤拑鏄惁鑳戒笂杞�
+     */
+    @Override
+    public double selectGetBoard(String plcFeedReqLine){
+        double carWidth=5000;
+        LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+        feedWrapper.eq(BigStorageCageDetails::getState, plcFeedReqLine);
+        List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(feedWrapper);
+
+        LambdaQueryWrapper<BigStorageCageFeedTask> bigStorageCageFeedTaskWrapper = new LambdaQueryWrapper<>();
+        bigStorageCageFeedTaskWrapper
+                .eq(BigStorageCageFeedTask::getTaskState,plcFeedReqLine)
+                .eq(BigStorageCageFeedTask::getLine,plcFeedReqLine);
+
+        List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskMapper.selectList(bigStorageCageFeedTaskWrapper);
+        Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+                .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+        for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+            BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+            bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+        }
+        for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+             ) {
+            if(bigStorageCageDetails.getBigStorageCageFeedTask().getTaskState()==0){
+                carWidth -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+            }
+        }
+        return carWidth;
+
+    }
+
+
+    //鏍撻櫎鍑虹墖浠诲姟.鏇存柊鏍煎瓙瀹藉害
+    @Override
+    public void deleteBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails){
+        baseMapper.deleteById(bigStorageCageDetails.getId());
+        bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
+    }
+
+    //鐞嗙墖绗艰鎯呯牬鎹�
+    @Override
+    public void damageBigStorageCageDetails(String glassId){
+        LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper=new LambdaQueryWrapper<>();
+        temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId,glassId);
+        TemperingGlassInfo temperingGlassInfo=temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
+
+        LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper=new LambdaQueryWrapper<>();
+        bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId,glassId);
+        BigStorageCageDetails bigStorageCageDetails=baseMapper.selectOne(bigStorageCageDetailsWrapper);
+
+        if(temperingGlassInfo.getState()==-2){
+            temperingGlassInfoMapper.deleteById(temperingGlassInfo);
+        }else{
+            temperingGlassInfo.setState(5);
+            temperingGlassInfoMapper.updateById(temperingGlassInfo);
+        }
+        baseMapper.deleteById(bigStorageCageDetails.getId());
+        bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
+        //todo:鎻掑叆鐮存崯鏁版嵁
+
+    }
+
+    //鏌ヨ鐜荤拑淇℃伅
+    @Override
+    public BigStorageCageDetails selectBigStorageCageDetails(String glassId){
+        LambdaQueryWrapper<GlassInfo> glassInfoWrapper=new LambdaQueryWrapper<>();
+        glassInfoWrapper.eq(GlassInfo::getGlassId,glassId);
+        GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoWrapper);
+        BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+        BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+        bigStorageCageDetails.setState(0);
+        bigStorageCageDetails.setGap(20);
+        return bigStorageCageDetails;
+    }
+
+    //鐞嗙墖绗艰鎯呮坊鍔�
+    @Override
+    public void insertBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails){
+        baseMapper.insert(bigStorageCageDetails);
+        bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
+    }
+
+    //鐞嗙墖绗艰鎯呭畬鎴�
+    @Override
+    public void finishBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails){
+        if(bigStorageCageDetails.getState()==1||bigStorageCageDetails.getState()==2){
+            bigStorageCageDetails.setState(0);
+            baseMapper.updateById(bigStorageCageDetails);
+            bigStorageCageFeedTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageFeedTask().getId());
+        }else{
+            baseMapper.deleteById(bigStorageCageDetails.getId());
+            bigStorageCageOutTaskMapper.deleteById(bigStorageCageDetails.getBigStorageCageOutTask().getId());
+        }
+
+    }
+
+    //鎵嬪姩鍑虹墖
+    @Override
+    public void outBigStorageCageDetails(BigStorageCageDetails bigStorageCageDetails){
+        LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoWrapper =new LambdaQueryWrapper<>();
+        temperingGlassInfoWrapper
+                .eq(TemperingGlassInfo::getGlassId,bigStorageCageDetails.getGlassId());
+        TemperingGlassInfo temperingGlassInfo=temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper);
+        if(temperingGlassInfo.getGlassId()==null){
+            LambdaQueryWrapper<GlassInfo> glassInfoWrapper=new LambdaQueryWrapper<>();
+            glassInfoWrapper
+                    .eq(GlassInfo::getGlassId,bigStorageCageDetails.getGlassId());
+            GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoWrapper);
+            TemperingGlassInfo temperingGlassInfo1=new TemperingGlassInfo();
+            BeanUtils.copyProperties(glassInfo, temperingGlassInfo1);
+
+            if(temperingGlassInfo.getTemperingLayoutId()!=null){
+                temperingGlassInfo1.setState(-1);
+            }else{
+                temperingGlassInfo1.setState(-2);
+            }
+            temperingGlassInfoMapper.insert(temperingGlassInfo1);
+        }
+    }
 }

--
Gitblit v1.8.0