hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,6 +1,9 @@ package com.mes.edgglasstask.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -42,9 +42,9 @@ } LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>() .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList()) .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList()) .between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate()) .orderByDesc(EdgGlassTaskInfo::getTime); .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getState, request.getStateList()) .between(null != request.getBeginDate(), EdgGlassTaskInfo::getCreateTime, request.getBeginDate(), request.getEndDate()) .orderByDesc(EdgGlassTaskInfo::getCreateTime); return this.list(edgGlassWrapper); } hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -494,7 +494,7 @@ damageService.insertDamage(damage); //修改磨边队列数据状态 edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>() .set(EdgGlassTaskInfo::getStatus, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId())); .set(EdgGlassTaskInfo::getState, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId())); return "success"; } hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -30,7 +30,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -100,7 +99,7 @@ public static String engineerId = ""; @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void plcHomeEdgTask() { Date startDate = new Date(); log.info("本次任务开始执行时间:{}", startDate); @@ -161,7 +160,7 @@ } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void dealDamageTask() { Date startDate = new Date(); log.info("卧式理片破损玻璃清除任务开始执行时间:{}", startDate); @@ -842,9 +841,10 @@ edgGlassTaskInfo.setHeight((int) (glassInfo.getHeight() * ratio)); edgGlassTaskInfo.setWidth((int) (glassInfo.getWidth() * ratio)); edgGlassTaskInfo.setThickness((int) (glassInfo.getThickness() * ratio)); edgGlassTaskInfo.setStatus(Const.EDG_GLASS_BEFORE); edgGlassTaskInfo.setState(Const.EDG_GLASS_BEFORE); edgGlassTaskInfo.setLine(endcell); edgGlassTaskInfo.setTime(new Date()); edgGlassTaskInfo.setCreateTime(new Date()); edgGlassTaskInfo.setUpdateTime(new Date()); //先将历史对列表中本玻璃的数据删除,重新新增一份最新的数据 edgGlassTaskInfoService.remove(new LambdaQueryWrapper<EdgGlassTaskInfo>().eq(EdgGlassTaskInfo::getGlassId, glassInfo.getGlassId())); return edgGlassTaskInfoService.save(edgGlassTaskInfo); @@ -872,7 +872,7 @@ } } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void CacheGlassTasks() { JSONObject jsonObject = new JSONObject(); List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory(); @@ -899,7 +899,7 @@ } } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void cacheGlassIsRun() { JSONObject jsonObject = new JSONObject(); //正在进行的任务 @@ -917,7 +917,7 @@ } } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void CacheGlassTaskss() { JSONObject jsonObject = new JSONObject(); //log.info("本次识别版图{},++++{}",engineerId,currentCutTerritorys); hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
@@ -32,7 +32,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * @Author : zhoush @@ -211,10 +210,6 @@ .eq(EdgStorageCage::getDeviceId, deviceId) .eq(EdgStorageCage::getEnableState, Const.SLOT_ON) .ge(EdgStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())).last("order by abs(slot - " + task.getCurrentCell() + ")")); // //直通任务 // if (flag && CollectionUtil.isNotEmpty(emptyList)) { // return emptyList.get(0); // } if (CollectionUtil.isEmpty(storageCageList) || storageCageList.size() == 1) { log.info("没有多余的空格子"); return Boolean.FALSE; @@ -233,7 +228,7 @@ task.setStartCell(edgStorageCage.getSlot()); task.setTaskRunning(Const.GLASS_CACHE_TYPE_IN); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); saveHistoryTask(task); saveHistoryTask(task, deviceId); return Boolean.TRUE; } @@ -372,7 +367,7 @@ task.setTaskRunning(taskType); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); saveHistoryTask(task); saveHistoryTask(task, deviceId); //更新详情表任务出片中 edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT) @@ -399,16 +394,20 @@ Integer cell = task.getStartCell(); Integer state = task.getTaskState(); task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY); String glassIdOut = task.getGlassIdOut(); task.setGlassIdOut(""); task.setStartCell(0); edgStorageDeviceTaskService.updateTaskMessage(tableName, task); EdgStorageDeviceTaskHistory taskHistory = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>() .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1")); edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>() .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW) .set(EdgStorageDeviceTaskHistory::getTaskState, Const.GLASS_CACHE_TYPE_FINISH.equals(state) ? Const.RAW_GLASS_TASK_SUCCESS : Const.RAW_GLASS_TASK_FAILURE) ); int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; updateCellRemainWidth(cell, device); updateCellRemainWidth(cell, device, taskHistory); return Boolean.TRUE; } @@ -435,7 +434,7 @@ "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight() + " and state != 100") .orderByAsc(GlassInfo::getTemperingLayoutId) .orderBy(Boolean.TRUE, Boolean.TRUE, GlassInfo::getTemperingFeedSequence) .orderByAsc(GlassInfo::getTemperingFeedSequence) .last("Limit 1"); GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper); if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) { @@ -514,26 +513,33 @@ } } public boolean saveHistoryTask(EdgStorageDeviceTask task) { public boolean saveHistoryTask(EdgStorageDeviceTask task, int deviceId) { EdgStorageDeviceTaskHistory taskHistory = new EdgStorageDeviceTaskHistory(); BeanUtils.copyProperties(task, taskHistory); taskHistory.setTaskType(task.getTaskRunning()); taskHistory.setCreateTime(new Date()); taskHistory.setTaskState(Const.RAW_GLASS_TASK_NEW); taskHistory.setDeviceId(deviceId); edgStorageDeviceTaskHistoryService.save(taskHistory); return Boolean.TRUE; } private boolean updateCellRemainWidth(int slot, int device) { private boolean updateCellRemainWidth(int slot, int device, EdgStorageDeviceTaskHistory taskHistory) { List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, slot) .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)); List<Integer> slotList = new ArrayList<>(); int remainWidth = cellLength; if (CollectionUtil.isNotEmpty(list)) { slotList = list.stream().map(EdgStorageCageDetails::getSlot).distinct().collect(Collectors.toList()); if (2 == taskHistory.getTaskType()) { remainWidth = 0; } else { EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>() .eq(EdgStorageCage::getDeviceId, device).eq(EdgStorageCage::getSlot, slot)); EdgStorageCageDetails bigDetails = list.stream().filter(e -> e.getGlassId().equals(taskHistory.getGlassIdIn())).findFirst().orElse(null); remainWidth = storageCage.getRemainWidth() - glassGap - (int) Math.max(bigDetails.getWidth(), bigDetails.getHeight()); } } list.removeAll(slotList); edgStorageCageService.update(new LambdaUpdateWrapper<EdgStorageCage>(). set(EdgStorageCage::getRemainWidth, cellLength).eq(EdgStorageCage::getSlot, slot).eq(EdgStorageCage::getDeviceId, device)); set(EdgStorageCage::getRemainWidth, remainWidth).eq(EdgStorageCage::getSlot, slot).eq(EdgStorageCage::getDeviceId, device)); return Boolean.TRUE; } hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java
@@ -58,6 +58,11 @@ */ private Date updateTime; /** * 设备信息 */ private Integer deviceId; } hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,32 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://192.168.2.100:1433;databasename=mes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver cloud: nacos: discovery: server-addr: 192.168.2.100:8848 application: name: cacheGlass redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,5 +1,7 @@ package com.mes.edgglasstask.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -22,11 +24,13 @@ @EqualsAndHashCode(callSuper = false) public class EdgGlassTaskInfo implements Serializable { private static final long serialVersionUID = 1L; /** * 磨边任务id */ private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 玻璃id */ @@ -51,29 +55,29 @@ @ApiModelProperty(value = "厚度", position = 5) private Integer thickness; /** * 玻璃类型 */ @ApiModelProperty(value = "玻璃类型", position = 6) private Integer glassType; /** * 状态 */ @ApiModelProperty(value = "状态", position = 7) private Integer status; @ApiModelProperty(value = "状态", position = 6) private Integer state; /** * 线路 */ @ApiModelProperty(value = "线路", position = 8) @ApiModelProperty(value = "线路", position = 7) private Integer line; /** * 线路 */ @ApiModelProperty(value = "时间", position = 9) private Date time; @ApiModelProperty(value = "开始时间", position = 8) private Date createTime; /** * 线路 */ @ApiModelProperty(value = "更新时间", position = 9) private Date updateTime; @TableLogic private int deleted; hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.edgglasstask.entity.EdgGlassTaskInfo; import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper; import com.mes.edgglasstask.service.EdgGlassTaskInfoService; @@ -29,8 +28,8 @@ public int judgeTasktype(String plcFeedReqLine){ LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassTaskInfoWrapper=new LambdaQueryWrapper<>(); edgGlassTaskInfoWrapper .eq(EdgGlassTaskInfo::getLine,plcFeedReqLine) .orderByDesc(EdgGlassTaskInfo::getTime); .eq(EdgGlassTaskInfo::getLine, plcFeedReqLine) .orderByDesc(EdgGlassTaskInfo::getCreateTime); EdgGlassTaskInfo edgGlassTaskInfo=baseMapper.selectOne(edgGlassTaskInfoWrapper); double width=bigStorageCageDetailsService.selectGetBoard(plcFeedReqLine); if(edgGlassTaskInfo.getWidth()<width){ @@ -48,8 +47,8 @@ LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassTaskInfoWrapper=new LambdaQueryWrapper<>(); edgGlassTaskInfoWrapper .eq(EdgGlassTaskInfo::getLine,1) .orderByDesc(EdgGlassTaskInfo::getTime); .eq(EdgGlassTaskInfo::getLine, 1) .orderByDesc(EdgGlassTaskInfo::getCreateTime); List<EdgGlassTaskInfo> edgGlassTaskInfoList1=baseMapper.selectList(edgGlassTaskInfoWrapper); int i=0; for (EdgGlassTaskInfo edgGlassTaskInfo:edgGlassTaskInfoList1 @@ -64,8 +63,8 @@ } edgGlassTaskInfoWrapper .eq(EdgGlassTaskInfo::getLine,2) .orderByDesc(EdgGlassTaskInfo::getTime); .eq(EdgGlassTaskInfo::getLine, 2) .orderByDesc(EdgGlassTaskInfo::getCreateTime); List<EdgGlassTaskInfo> edgGlassTaskInfoList2=baseMapper.selectList(edgGlassTaskInfoWrapper); i=0; for (EdgGlassTaskInfo edgGlassTaskInfo:edgGlassTaskInfoList2 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java
@@ -148,7 +148,7 @@ miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 1)); } // @Scheduled(fixedDelay = 1000) @Scheduled(fixedDelay = 1000) public void outBigStorageTask() throws Exception { Date startDate = new Date(); ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl"); @@ -312,7 +312,7 @@ miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 0)); } // @Scheduled(fixedDelay = 1000) @Scheduled(fixedDelay = 1000) public void finishOutBigStorageTask() throws Exception { ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl"); if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) { hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,25 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver cloud: nacos: discovery: server-addr: 192.168.2.100:8848 redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456 hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,28 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8&allowMultiQueries=true username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://192.168.2.100:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver druid: wall: multi-statement-allow: true cloud: nacos: discovery: server-addr: 192.168.2.100:8848 redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -7,7 +7,6 @@ import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.query.MPJQueryWrapper; import com.mes.engineering.entity.Engineering; import com.mes.engineering.mapper.EngineeringMapper; import com.mes.engineering.service.EngineeringService; import com.mes.pp.entity.OptimizeProject; import com.mes.pp.mapper.OptimizeProjectMapper; @@ -157,6 +156,10 @@ } @Override public List<Engineering> setRawGlassTaskRequest(Engineering request) { return null; } public Object Engineering(Engineering request) { return null; } hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,33 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8&allowMultiQueries=true username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver sd: url: jdbc:mysql://192.168.2.100:3306/sd?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver druid: wall: multi-statement-allow: true cloud: nacos: discovery: server-addr: 192.168.2.100:8848 redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,32 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver sd: url: jdbc:mysql://192.168.2.100:3306/sd?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver cloud: nacos: discovery: server-addr: 192.168.2.100:8848 application: name: temperingGlass redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-yw.yml
New file @@ -0,0 +1,25 @@ spring: datasource: dynamic: primary: hangzhoumes #设置默认的数据源或者数据源组,默认值即为master strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: hangzhoumes: url: jdbc:mysql://192.168.2.100:3306/hangzhoumes?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver pp: url: jdbc:mysql://192.168.2.100:3306/pp?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver cloud: nacos: discovery: server-addr: 192.168.2.100:8848 redis: database: 0 host: 192.168.2.100 port: 6379 password: 123456