hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -1,21 +1,18 @@ package com.mes.bigstorage.controller; import com.mes.bigstorage.entity.BigStorageCage; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; 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> * 前端控制器 * 前端控制器 * </p> * * @author zhoush @@ -25,8 +22,8 @@ @RequestMapping("/bigStorageCage") public class BigStorageCageController { @Autowired private BigStorageCageService bigStorageCageService; private BigStorageCageDetailsService bigStorageCageDetailsService; //todo: 实例代码 待删除 @ApiOperation("测试") @@ -36,21 +33,10 @@ } @ApiOperation("理片笼信息") @GetMapping("/BigStorageCage") public List<BigStorageCage> BigStorageCage() { return bigStorageCageService.list(); } @ApiOperation("理片笼详情") @GetMapping("/BigStorageCageDetails") public List<BigStorageCageDetails> BigStorageCageDetails() { return bigStorageCageDetailsService.list(); } @ApiOperation("小车实时位置") @GetMapping("/CarPosition") public List<Integer> CarPosition() { return bigStorageCageDetailsService.getCarposition(); @GetMapping("/bigStorageCage") public List<BigStorageCage> querybigStorageCageDetail() { // return bigStorageCageService.list(); return bigStorageCageService.querybigStorageCageDetail(); } @ApiOperation("手动完成任务") hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -1,21 +1,44 @@ package com.mes.bigstorage.controller; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; 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> * 前端控制器 * 前端控制器 * </p> * * @author zhoush * @since 2024-03-27 */ @ApiModel(description = "理片笼详情") @RestController @RequestMapping("/bigStorageCageDetails") public class BigStorageCageDetailsController { @Autowired private BigStorageCageDetailsService bigStorageCageDetailsService; @ApiOperation("理片笼详情") @GetMapping("/BigStorageCageDetails") public List<BigStorageCageDetails> BigStorageCageDetails() { return bigStorageCageDetailsService.list(); } @ApiOperation("小车实时位置") @GetMapping("/CarPosition") public List<Integer> CarPosition() { return bigStorageCageDetailsService.getCarposition(); } } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -1,14 +1,17 @@ package com.mes.bigstorage.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.List; /** * <p> * * * </p> * * @author zhoush @@ -46,5 +49,8 @@ */ private Integer remainWidth; @TableField(exist = false) private List<BigStorageCageDetails> bigStorageCageDetails; } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -3,24 +3,23 @@ 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> * 服务类 * 服务类 * </p> * * @author zhoush * @since 2024-03-27 */ public interface BigStorageCageService extends IService<BigStorageCage> { public void updateRemainWidth(int Slot); public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails); void updateRemainWidth(int Slot); BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails); List<BigStorageCage> querybigStorageCageDetail(); } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -7,47 +7,53 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; import javax.annotation.Resource; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * <p> * 服务实现类 * 服务实现类 * </p> * * @author zhoush * @since 2024-03-27 */ @Service @Slf4j public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService { @Autowired @Resource private BigStorageCageMapper bigStorageCageMapper; @Autowired @Resource private BigStorageCageDetailsMapper bigStorageCageDetailsMapper; @Override public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) { //获取同钢化版图id可进片的格子 BigStorageCageDetails layoutSlotInfo =bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo); BigStorageCageDetails layoutSlotInfo = bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo); //有符合条件的格子时 if (layoutSlotInfo!=null) { if (layoutSlotInfo != null) { //将玻璃信息填入理片笼详情表 bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot()); }else{ } else { //获取不到时: //获取可进片格子信息 BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot(); if (EmptySlotInfo!=null){ BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.SelectEmptyFeedSlot(); if (EmptySlotInfo != null) { bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot()); }else{ } else { //获取其他笼格子- BigStorageCageDetails OtherSlotInfo=bigStorageCageMapper.SelectOtherFeedSlot(); BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.SelectOtherFeedSlot(); bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot()); } //将玻璃信息放入该格子 @@ -58,18 +64,35 @@ return bigStorageCageDetails; } @Override public List<BigStorageCage> querybigStorageCageDetail() { //1、获取大理片笼信息 // List<BigStorageCage> bigStorageCages = bigStorageCageMapper.querybigStorageCageDetail(null); List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null); log.info("1、获取大理片笼信息完成,获取到的数据{}", bigStorageCages.size()); //2获取理片笼所有信息 List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null); Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot)); for (BigStorageCage bigStorageCage : bigStorageCages) { List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot()); bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails); } return bigStorageCages; } //修改格子剩余宽度 @Override public void updateRemainWidth(int Slot){ public void updateRemainWidth(int Slot) { //获取该格子内玻璃信息 int width=5000; List<BigStorageCageDetails> bigStorageCageDetailsList= Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot)); for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList int width = 5000; List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot)); for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList ) { width-=Integer.parseInt(bigStorageCageDetails.getWidth().toString())+bigStorageCageDetails.getGap(); width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap(); } //修改格子剩余宽度 bigStorageCageMapper.UpdateRemainWidth(Slot,width); bigStorageCageMapper.UpdateRemainWidth(Slot, width); } }