hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/BigStorageAndDetailsDTO.java
@@ -1,9 +1,7 @@ package com.mes.bigstorage.entity.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.mes.bigstorage.entity.BigStorageCage; import com.mes.bigstorage.entity.BigStorageCageDetails; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -183,56 +183,4 @@ e.printStackTrace(); } } // @Scheduled(fixedDelay = 1000) public void temperingIsRun() { JSONObject jsonObject = new JSONObject(); //进片任务数据 List<BigStorageCageDetails> bigStorageCageDetailsFeedTask = bigStorageCageDetailsService.selectFeedTask(); jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask); //出片任务数据 List<BigStorageCageDetails> bigStorageCageDetailsOutTask = bigStorageCageDetailsService.selectOutTask(); jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); } else { log.info("Home is closed"); } } } } // @Scheduled(fixedDelay = Long.MAX_VALUE) public void scanCodeTask() { log.info("扫描任务已启动"); while (true) { JSONObject jsonObject = new JSONObject(); try (Socket socket = new Socket(scanIp, scanPort); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) { // 接收服务器响应 log.info("等待扫码中......"); String glassId = in.readLine(); log.info("扫描到的玻璃id:{}", glassId); List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage"); if (CollectionUtils.isNotEmpty(sendwServer)) { //按照玻璃id获取玻璃信息返回给前端界面,具体需要哪些数据待确认 GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>() .eq(GlassInfo::getGlassId, glassId).last("limit 1")); if (null == glassInfo) { log.info("按照玻璃id:{},无法找到玻璃信息", glassId); } else { for (WebSocketServer webserver : sendwServer) { jsonObject.append("scanGlass", glassInfo); webserver.sendMessage(jsonObject.toString()); } } } } catch (Exception exception) { log.info("读取异常,原因为{}", exception.getMessage()); } } } } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageController.java
@@ -1,8 +1,18 @@ package com.mes.hollow.controller; import com.mes.hollow.entity.dto.HollowBigStorageAndDetailsDTO; import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO; import com.mes.hollow.service.HollowBigStorageCageService; import com.mes.utils.Result; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * (HollowBigStorageCage)表控制层 @@ -13,6 +23,13 @@ @RestController @RequestMapping("hollowBigStorageCage") public class HollowBigStorageCageController { @Resource HollowBigStorageCageService hollowBigStorageCageService; @ApiOperation("按照查询条件(设备id、流程卡、膜系)获取设备对应的笼子玻璃信息") @PostMapping("/queryHollowBigStorageCageDetail") public Result<List<HollowBigStorageAndDetailsDTO>> queryHollowBigStorageCageDetail(@RequestBody HollowBigStorageDetailsQueryVO query) { return Result.build(200, "查询成功", hollowBigStorageCageService.queryHollowBigStorageCageDetail(query)); } } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/entity/HollowBigStorageCage.java
@@ -1,8 +1,12 @@ package com.mes.hollow.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * (HollowBigStorageCage)表实体类 @@ -42,6 +46,10 @@ */ private Integer remainWidth; @ApiModelProperty(hidden = true) @TableField(exist = false) private List<HollowBigStorageCageDetails> hollowBigStorageCageDetails; } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/entity/dto/HollowBigStorageAndDetailsDTO.java
New file @@ -0,0 +1,18 @@ package com.mes.hollow.entity.dto; import com.mes.hollow.entity.HollowBigStorageCage; import com.mes.hollow.entity.HollowBigStorageCageDetails; import lombok.Data; import java.util.List; /** * @Author : zhoush * @Date: 2024/6/11 16:45 * @Description: */ @Data public class HollowBigStorageAndDetailsDTO extends HollowBigStorageCage { private List<HollowBigStorageCageDetails> hollowBigStorageCageDetails; } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/entity/vo/HollowBigStorageDetailsQueryVO.java
New file @@ -0,0 +1,25 @@ package com.mes.hollow.entity.vo; import lombok.Data; /** * @Author : zhoush * @Date: 2024/12/23 10:48 * @Description: */ @Data public class HollowBigStorageDetailsQueryVO { /** * 设备id */ private Integer deviceId; /** * 流程卡 */ private String flowCardId; /** * 膜系 */ private String filmsId; } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/mapper/HollowBigStorageCageMapper.java
@@ -1,6 +1,6 @@ package com.mes.hollow.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.yulichang.base.MPJBaseMapper; import com.mes.hollow.entity.HollowBigStorageCage; /** @@ -9,7 +9,7 @@ * @author makejava * @since 2024-11-21 09:22:40 */ public interface HollowBigStorageCageMapper extends BaseMapper<HollowBigStorageCage> { public interface HollowBigStorageCageMapper extends MPJBaseMapper<HollowBigStorageCage> { } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageService.java
@@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.mes.hollow.entity.HollowBigStorageCage; import com.mes.hollow.entity.dto.HollowBigStorageAndDetailsDTO; import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO; import java.util.List; /** * (HollowBigStorageCage)表服务接口 @@ -11,5 +15,6 @@ */ public interface HollowBigStorageCageService extends IService<HollowBigStorageCage> { List<HollowBigStorageAndDetailsDTO> queryHollowBigStorageCageDetail(HollowBigStorageDetailsQueryVO query); } hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java
@@ -1,10 +1,18 @@ package com.mes.hollow.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.mes.common.config.Const; import com.mes.hollow.entity.HollowBigStorageCage; import com.mes.hollow.entity.HollowBigStorageCageDetails; import com.mes.hollow.entity.dto.HollowBigStorageAndDetailsDTO; import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO; import com.mes.hollow.mapper.HollowBigStorageCageMapper; import com.mes.hollow.service.HollowBigStorageCageService; import org.springframework.stereotype.Service; import java.util.List; /** * (HollowBigStorageCage)表服务实现类 @@ -15,5 +23,18 @@ @Service public class HollowBigStorageCageServiceImpl extends ServiceImpl<HollowBigStorageCageMapper, HollowBigStorageCage> implements HollowBigStorageCageService { @Override public List<HollowBigStorageAndDetailsDTO> queryHollowBigStorageCageDetail(HollowBigStorageDetailsQueryVO query) { MPJLambdaWrapper<HollowBigStorageCage> wrapper = new MPJLambdaWrapper<>(); wrapper.selectAll(HollowBigStorageCage.class).selectCollection(HollowBigStorageCageDetails.class, HollowBigStorageCage::getHollowBigStorageCageDetails) .leftJoin(HollowBigStorageCageDetails.class, on -> on.eq(HollowBigStorageCageDetails::getSlot, HollowBigStorageCage::getSlot) .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId()) .like(StringUtils.isNotBlank(query.getFlowCardId()), HollowBigStorageCageDetails::getFlowCardId, query.getFlowCardId()) .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING)) .eq(HollowBigStorageCage::getDeviceId, query.getDeviceId()) .orderByAsc(HollowBigStorageCage::getDeviceId) .orderByAsc(HollowBigStorageCage::getSlot); return baseMapper.selectJoinList(HollowBigStorageAndDetailsDTO.class, wrapper); } }