ZengTao
2024-04-11 fd8289ff75b2cae1d88e50795fc1e634fe05df64
移动代码到新架构
9个文件已修改
1个文件已添加
207 ■■■■■ 已修改文件
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
@@ -25,6 +25,5 @@
        }catch (Exception e){
            log.error(e.getMessage());
        }
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -1,11 +1,17 @@
package com.mes.bigstorage.controller;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.impl.BigStorageCageDetailsServiceImpl;
import com.mes.bigstorage.service.impl.BigStorageCageServiceImpl;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
@@ -19,11 +25,37 @@
@RequestMapping("/bigStorageCage")
public class BigStorageCageController {
    private BigStorageCageServiceImpl bigStorageCageServiceImpl;
    private BigStorageCageDetailsServiceImpl bigStorageCageDetailsServiceImpl;
        //todo: 实例代码 待删除
    @ApiOperation("测试")
    @GetMapping("/index")
    public String index() {
        return "hello world";
    }
    @ApiOperation("理片笼信息")
    @GetMapping("/BigStorageCage")
    public List<BigStorageCage> BigStorageCage() {
        return bigStorageCageServiceImpl.list();
}
    @ApiOperation("理片笼详情")
    @GetMapping("/BigStorageCageDetails")
    public List<BigStorageCageDetails> BigStorageCageDetails() {
        return bigStorageCageDetailsServiceImpl.list();
    }
    @ApiOperation("小车实时位置")
    @GetMapping("/CarPosition")
    public List<Integer> CarPosition() {
        return bigStorageCageDetailsServiceImpl.GetCarposition();
    }
    @ApiOperation("手动完成任务")
    @GetMapping("/FinishTask")
    public void FinishTask(int type, int id) {
        //    bigStorageCageDetailsService.FinishTask();
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import feign.Param;
/**
@@ -14,4 +15,7 @@
 */
public interface BigStorageCageDetailsMapper extends BaseMapper<BigStorageCageDetails> {
    BigStorageCageDetails SelectTemperingFeedSlot(@Param("bigStorageCageDetails") BigStorageCageDetails bigStorageCageDetails);
    BigStorageCageDetails SelectEmptyFeedSlot();
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.uppattenusage.entity.GlassInfo;
import org.apache.ibatis.annotations.Update;
/**
 * <p>
@@ -13,4 +16,13 @@
 */
public interface BigStorageCageMapper extends BaseMapper<BigStorageCage> {
    BigStorageCageDetails SelectEmptyFeedSlot();
    @Update("update big_storage_cage set remain_width = #{width} where slot=#{slot}")
    public void UpdateRemainWidth(int slot,int width);
    BigStorageCageDetails SelectTemperingFeedSlot(GlassInfo glassInfo);
    BigStorageCageDetails SelectOtherFeedSlot();
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import java.util.List;
/**
 * <p>
@@ -12,5 +15,9 @@
 * @since 2024-03-27
 */
public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
    List<Integer> GetCarposition();
    //获取小车实时位置
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -2,6 +2,15 @@
import com.baomidou.mybatisplus.extension.service.IService;
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.uppattenusage.entity.GlassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * <p>
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -3,9 +3,17 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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 org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * <p>
 *  服务实现类
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -2,9 +2,17 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.bigstorage.service.BigStorageCageService;
import com.mes.uppattenusage.entity.GlassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * <p>
@@ -16,5 +24,50 @@
 */
@Service
public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
    @Autowired
    private BigStorageCageMapper;
    @Autowired
    private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
    public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
        BigStorageCageDetails bigStorageCageDetails=new ArrayList<>();
        //获取同钢化版图id可进片的格子
        BigStorageCageDetails layoutSlotInfo =bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo);
        //有符合条件的格子时
        if (layoutSlotInfo!=null) {
            //将玻璃信息填入理片笼详情表
            bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
        }else{
            //获取不到时:
            //获取可进片格子信息
            BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot();
            if (EmptySlotInfo!=null){
                bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
            }else{
                //获取其他笼格子-
                BigStorageCageDetails OtherSlotInfo=bigStorageCageMapper.SelectOtherFeedSlot();
                bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
            }
            //将玻璃信息放入该格子
        }
        updateRemainWidth(bigStorageCageDetails.getSlot());
        return bigStorageCageDetails;
    }
    //修改格子剩余宽度
    private void updateRemainWidth(int Slot){
        //获取该格子内玻璃信息
        int width=5000;
        List<BigStorageCageDetails> bigStorageCageDetailsList= Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot));
        for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
        ) {
            width-=Integer.parseInt(bigStorageCageDetails.getWidth().toString())+bigStorageCageDetails.getGap();
        }
        //修改格子剩余宽度
        bigStorageCageMapper.UpdateRemainWidth(Slot,width);
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
New file
@@ -0,0 +1,62 @@
package com.mes.component;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.impl.BigStorageCageServiceImpl;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.impl.TemperingGlassInfoServiceImpl;
import com.mes.uppattenusage.entity.GlassInfo;
import com.mes.uppattenusage.service.impl.GlassInfoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
public class PlcStorageCage extends Thread {
    @Autowired
    private BigStorageCageServiceImpl bigStorageCageServiceImpl;
    @Autowired
    private TemperingGlassInfoServiceImpl temperingGlassInfoServiceImpl;
    @Autowired
    private GlassInfoServiceImpl glassInfoServiceImpl;
    @Override
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(500);
                String plcFeedReq ="0";
                String plcFeedGlassid ="111";
                //Plc进片请求时
                if("1".equals(plcFeedReq)){
                    BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
                    //传入玻璃id
                    GlassInfo glassInfo=glassInfoServiceImpl.getById(plcFeedGlassid);
                    BigStorageCageDetails SlotInfo=bigStorageCageServiceImpl.FeedGlass(glassInfo,bigStorageCageDetails);
                    if(SlotInfo!=null){
                        //发送任务给Plc
                    }
                }
                //出片请求
                String plcOutReq ="0";
                if("1".equals(plcOutReq)){
                    //获取钢化小片表未出笼信息
                    List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoServiceImpl.SelectTemperingGlassInfo();
                    //没有可出的玻璃时
                    if(temperingGlassInfoList!=null){
                        //查询是否有小片全部到齐的钢化版图
                    }else{
                        //继续当前钢化版图的任务
                        temperingGlassInfoServiceImpl.addOutTask(temperingGlassInfoList);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -6,6 +6,8 @@
import com.mes.temperingglass.service.TemperingGlassInfoService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 *  服务类
@@ -17,4 +19,21 @@
@Service
public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
    public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList) {
        double carwidth=5000;
        double gay=50;
        //写入任务到任务表
        for (TemperingGlassInfo temperingGlassInfo:temperingGlassInfoList
        ) {
            if((carwidth-gay-temperingGlassInfo.getWidth())>0){
                //添加任务到任务表
            }else{
                break;
            }
        }
    }
    public List<TemperingGlassInfo> SelectTemperingGlassInfo() {
    }
}