hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -22,7 +22,7 @@ // 2、全局配置 // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("D:\\Documents\\hangzhoumesParent3\\"); gc.setOutputDir("D:\\Documents\\hangzhoumesParent4\\"); gc.setServiceName("%sService"); //去掉Service接口的首字母I gc.setAuthor("wu"); hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -37,7 +37,7 @@ @Autowired private OptimizeProjectService optimizeProjectService; @ApiOperation("开始/暂停任务/传递工程号和状态,开始是1 暂停是0") @PostMapping("/pauseTask") //调用上片任务 @PostMapping("/pauseTask") //暂停上片任务 @ResponseBody public Result <List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) { boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState()); @@ -46,6 +46,16 @@ return Result.build(200, engineering.getEngineerId(),glass); } @ApiOperation("暂停") @PostMapping("/pause") //暂停上片任务 @ResponseBody public Result <List<UpPattenUsage>> pause(@RequestBody Engineering engineering) { boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState()); List<UpPattenUsage> glass = upPattenUsageService.prioritylist(); log.info("StartorStop:{},{}", work,engineering); return Result.build(200, engineering.getEngineerId(),glass); } @ApiOperation("开始上片") @PostMapping("/changeTask") //调用上片任务 @ResponseBody hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/TemperingGlassModuleApplication.java
@@ -5,6 +5,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.scheduling.annotation.EnableScheduling; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** @@ -16,6 +17,7 @@ @SpringBootApplication @EnableSwagger2 @EnableDiscoveryClient @EnableScheduling @MapperScan(basePackages = "com.mes.*.mapper") public class TemperingGlassModuleApplication { public static void main(String[] args) { hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
New file @@ -0,0 +1,57 @@ package com.mes.job; import cn.hutool.json.JSONObject; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.service.TemperingAgoService; import com.mes.tools.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * @author SNG-010 */ @Component @Slf4j public class PlcTemperingGlassTask { @Autowired private TemperingAgoService temperingAgoService; /** * fixedRate : 上一个调用开始后再次调用的延时(不用等待上一次调用完成) * fixedDelay : 上一个调用结束后再次调用的延时 */ @Scheduled(fixedDelay = 1000) public void loadGlassHome(){ JSONObject jsonObject = new JSONObject(); //正在等待进片的玻璃 List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass(); jsonObject.append("waitingGlass", waitingGlass); //进炉中的玻璃 List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(); jsonObject.append("intoGlass", intoGlass); //出炉后的玻璃 List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass(); jsonObject.append("outGlass", outGlass); //过旋转台钢化后的玻璃 TemperingGlassInfo overGlass = temperingAgoService.selectOverGlass(); jsonObject.append("overGlass", overGlass); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); } else { log.info("Home is closed"); } } } } } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -25,8 +25,6 @@ @Autowired TemperingService temperingService; @Autowired private TemperingOverService temperingOverService; @Autowired private TemperingAgoService temperingAgoService; @ApiOperation("查询钢化等片中的版图信息,状态为1的为已到,状态为0的为等待中") @@ -46,7 +44,7 @@ @ApiOperation("//钢化后显示出炉的版图信息。") @GetMapping("/selectOutGlass") //钢化后显示出炉的版图信息 public Result <List<TemperingGlassInfo>> selectOutGlass() { List<TemperingGlassInfo> glass = temperingAgoService.SelectOutGlass(); List<TemperingGlassInfo> glass = temperingAgoService.selectOutGlass(); log.info("钢化出炉后的玻璃信息{}",glass); return Result.build(200, "", glass); } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -1,5 +1,6 @@ package com.mes.temperingglass.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.yulichang.base.MPJBaseMapper; import com.mes.temperingglass.entity.TemperingGlassInfo; @@ -12,6 +13,7 @@ * @author zhoush * @since 2024-04-07 */ @DS("salve_hangzhoumes") public interface TemperingGlassInfoMapper extends BaseMapper<TemperingGlassInfo>, MPJBaseMapper<TemperingGlassInfo> { } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java
@@ -1,5 +1,6 @@ package com.mes.temperingglass.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mes.temperingglass.entity.TemperingGlassInfo; import org.apache.ibatis.annotations.Mapper; @@ -8,27 +9,7 @@ import java.util.List; @Mapper @DS("salve_hangzhoumes") public interface TemperingMapper extends BaseMapper<TemperingGlassInfo> { //查询该玻璃的尺寸和坐标 //@Select("select *from glass_info where id=#{glassid};") //GlassInfo SelectGlass(String glassid); //是否可以发送进炉信号 @Select("select count(*) from glass_info where id=#{glassid};") int SelectTempering(String glassid); //查询等待中的钢化版图玻璃信息 @Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2") List<TemperingGlassInfo> SelectWaitingGlass(); //查询进炉中的钢化版图玻璃信息 @Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1") List<TemperingGlassInfo> SelectInGlass(); //查询钢化后的钢化版图信息 @Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2") List<TemperingGlassInfo> SelectOutGlass(); } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingAgoService.java
@@ -1,6 +1,4 @@ package com.mes.temperingglass.service; import com.baomidou.mybatisplus.extension.service.IService; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.github.yulichang.base.MPJBaseService; import java.util.List; @@ -19,5 +17,7 @@ List<TemperingGlassInfo> selectIntoGlass(); List<TemperingGlassInfo> SelectOutGlass(); List<TemperingGlassInfo> selectOutGlass(); TemperingGlassInfo selectOverGlass(); } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingAgoServiceImpl.java
@@ -1,9 +1,7 @@ package com.mes.temperingglass.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.query.MPJQueryWrapper; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.mapper.TemperingMapper; @@ -11,8 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.github.yulichang.base.MPJBaseServiceImpl; import java.util.Collections; import java.util.List; /** @@ -24,6 +20,7 @@ * @since 2024-04-07 */ @Service @DS("salve_hangzhoumes") public class TemperingAgoServiceImpl extends MPJBaseServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingAgoService { @Autowired TemperingMapper temperingMapper; @@ -32,7 +29,8 @@ public List<TemperingGlassInfo> selectWaitingGlass() { //获取等待进炉中的玻璃信息 QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>(); wrapper.inSql("flowcard_id", "select flowcard_id from tempering_glass_info GROUP BY flowcard_id,state having count(state) = 2"); //wrapper.eq("state",1); wrapper.in("state",1,0); return temperingMapper.selectList(wrapper); } @@ -40,16 +38,27 @@ public List<TemperingGlassInfo> selectIntoGlass() { //获取进炉中的玻璃信息 QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>(); wrapper.inSql("flowcard_id", "select flowcard_id from tempering_glass_info where state=1 GROUP BY flowcard_id,state having count(state) = 1"); wrapper.eq("state",2) .orderByAsc("tempering_layout_id","tempering_feed_sequence"); return temperingMapper.selectList(wrapper); } @Override public List<TemperingGlassInfo> SelectOutGlass() { public List<TemperingGlassInfo> selectOutGlass() { //获取出炉中的玻璃信息 QueryWrapper<TemperingGlassInfo> wapper = new QueryWrapper<>(); wapper.eq("state", 3); wapper.eq("state", 3) .orderByAsc("tempering_layout_id","tempering_feed_sequence"); return temperingMapper.selectList(wapper); } @Override public TemperingGlassInfo selectOverGlass() { //获取过旋转台的玻璃 QueryWrapper<TemperingGlassInfo> wapper = new QueryWrapper<>(); wapper.select("top 1 *").eq("state", 4) .orderByAsc("tempering_layout_id") .orderByDesc("tempering_feed_sequence"); return temperingMapper.selectOne(wapper); } } hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
@@ -9,6 +9,11 @@ username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver cloud: nacos: discovery: hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-loc.yml
@@ -9,6 +9,12 @@ username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver cloud: nacos: discovery: hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml
@@ -9,6 +9,12 @@ username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver cloud: nacos: discovery: hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java
@@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; @@ -25,12 +24,8 @@ @SpringBootTest(classes = TemperingGlassModuleApplication.class) public class TemperingApplicationTest { @Resource private OptimizeProjectMapper optimizeProjectMapper; @Autowired private TemperingAgoService temperingAgoService; @Autowired private GlassInfoService glassInfoService; @Test @@ -40,7 +35,7 @@ } @Test public void testFindPa2() { List<TemperingGlassInfo> glass = temperingAgoService.SelectOutGlass(); List<TemperingGlassInfo> glass = temperingAgoService.selectOutGlass(); log.info("已出中的玻璃:{}", Arrays.asList(glass)); } @@ -49,4 +44,9 @@ List<TemperingGlassInfo> glass = temperingAgoService.selectWaitingGlass(); log.info("等待中的玻璃:{}", Arrays.asList(glass)); } @Test public void testFindPa4() { TemperingGlassInfo glass = temperingAgoService.selectOverGlass(); log.info("等待中的玻璃:{}", Arrays.asList(glass)); } }