UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -64,8 +64,17 @@ <!-- <el-button type="success" size="mini" @click="addglass()">添加原片</el-button> --> </template> </el-table-column> </el-table> </el-table> <el-pagination v-if="totalItems > 0" background layout="prev, pager, next" :total="totalItems" :page-size="pageSize" @current-change="handleCurrentChange" ></el-pagination> </el-dialog> @@ -257,6 +266,17 @@ const Hidden = ref(false) const totalItems = ref(0); totalItems.value = 10; const pageSize = 10; let currentPage = ref(1); const handleCurrentChange = (val) => { currentPage.value = val; }; const getTagType2 =(status) => { switch (status) { case 'completed': UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -156,6 +156,45 @@ console.log("关闭了") closeWebSocket(); }); const getTagType =(status) => { return status === 1 ? 'success' : 'danger'; // 根据状态值决定标签类型,这里假设状态为1时为成功(绿色),否则为失败(红色) } const toggleStatus = (row) => { // 切换料架状态的逻辑 row.enableState = 1 - row.enableState; // Toggle between 0 and 1 // 此处可以添加保存状态的逻辑,比如调用 API 更新数据 updateRowStatus(row); }; const updateRowStatus = async (row) => { try { // 假设你的后端 API 接收 PUT 请求,并且需要传递 row.id 和 row.enableState 参数 const response = await request.post('unLoadGlass/downWorkStation/updateDownWorkstation', { enableState: row.enableState, id: row.id }); console.log('Updated row status:', response.data); // 可以根据后端返回的数据进行进一步处理,比如更新本地状态等 } catch (error) { console.error('Error updating row status:', error); // 处理错误情况,比如提示用户更新失败 } }; // beforeUnmount(() => { // closeWebSocket(); // }); @@ -172,11 +211,11 @@ <el-table-column prop="workstationId" align="center" :label="$t('reportWork.lowerbit')" min-width="80" /> <el-table-column prop="workstationId" align="center" :label="$t('reportWork.shelfnumber')" min-width="120" /> <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" /> <el-table-column prop="totalquantity" align="center" :label="$t('reportWork.totalquantity')" min-width="120" /> <el-table-column prop="racksnumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" /> <el-table-column prop="totalQuantity" align="center" :label="$t('reportWork.totalquantity')" min-width="120" /> <el-table-column prop="racksNumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" /> <el-table-column prop="layer" align="center" label="层数" min-width="120" /> <el-table-column prop="artificialnumber" align="center" label="人工下片数" min-width="120" /> <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" /> <el-table-column prop="otherNumber" align="center" label="人工下片数" min-width="120" /> <!-- <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" /> --> <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" /> <el-table-column align="center" @@ -185,7 +224,10 @@ prop="enableState" > <template #default="scope"> <el-tag type="success" >{{ scope.row.enableState==1? $t('reportWork.enable') : $t('reportWork.unenable')}}</el-tag> <el-tag :type="getTagType(scope.row.enableState)" @click="toggleStatus(scope.row)"> {{ scope.row.enableState === 1 ? $t('reportWork.enable') : $t('reportWork.unenable') }} </el-tag> </template> </el-table-column> <el-table-column fixed="right" :label="$t('reportWork.operate')" align="center" width="200"> hangzhoumesParent/gateway/src/main/resources/application.yml
@@ -47,6 +47,14 @@ filters: - StripPrefix=2 - id: glassStorage uri: lb://glassStorage predicates: - Path=/api/glassStorage/** filters: - StripPrefix=2 # - id: unLoadGlass # uri: lb://unLoadGlass # predicates: hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/StorageTaskService.java
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; import java.util.Map; import java.util.Optional; /** * @author system * @since 2024-07-09 14:51:27 @@ -12,5 +15,5 @@ List<StorageTask> findList(StorageTask params); Map<String, Optional<StorageTask>> findLatestTasks(); } hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java
@@ -6,15 +6,21 @@ import com.mes.storagetask.mapper.StorageTaskMapper; import com.mes.storagetask.entity.StorageTask; import com.mes.storagetask.service.StorageTaskService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; /** * @author system * @since 2024-07-09 14:51:27 */ @Service @Slf4j public class StorageTaskServiceImpl extends ServiceImpl<StorageTaskMapper, StorageTask> implements StorageTaskService { @Autowired @@ -27,5 +33,28 @@ } public Map<String, Optional<StorageTask>> findLatestTasks() { Map<String, Optional<StorageTask>> latestTasks = new HashMap<>(); // 查询最新的已完成任务 LambdaQueryWrapper<StorageTask> completedWrapper = new LambdaQueryWrapper<>(); completedWrapper.eq(StorageTask::getTaskType, "已完成") .orderByDesc(StorageTask::getId) .last("LIMIT 1"); Optional<StorageTask> latestCompletedTask = Optional.ofNullable(storageTaskMapper.selectOne(completedWrapper)); latestTasks.put("已完成", latestCompletedTask); // 查询最新的等待中任务 LambdaQueryWrapper<StorageTask> pendingWrapper = new LambdaQueryWrapper<>(); pendingWrapper.eq(StorageTask::getTaskType, "等待中") .orderByDesc(StorageTask::getId); Optional<StorageTask> latestPendingTask = Optional.ofNullable(storageTaskMapper.selectOne(pendingWrapper)); latestTasks.put("等待中", latestPendingTask); log.info(latestTasks+""); return latestTasks; } } hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application-dev.yml
@@ -17,7 +17,7 @@ cloud: nacos: discovery: server-addr: 127.0.0.1:8848 server-addr: 10.153.19.150:8848 redis: database: 0 host: 127.0.0.1 hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
New file @@ -0,0 +1,55 @@ package mes; import com.mes.GlassStorageApplication; import com.mes.storagetask.entity.StorageTask; import com.mes.storagetask.service.StorageTaskService; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Arrays; /** * @Author : zhoush * @Date: 2024/3/27 16:37 * @Description: */ @Slf4j @RunWith(SpringRunner.class) @SpringBootTest(classes = GlassStorageApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class GlassStorageModuleApplicationTest { @Autowired private StorageTaskService storageTaskService; @Test public void testFindPath() { log.info("完整路径:{}", Arrays.asList("123")); } @Test public void testCacheGlass() { // storageTaskService.getBaseMapper().selectById(1); //StorageTask storageTask=new StorageTask(); // storageTask.setId(Long.valueOf("1")); // storageTask.setTaskState("1"); // storageTaskService.updateById(storageTask); // storageTaskService.getBaseMapper().deleteById(1); // storageTaskService.findList(storageTask); storageTaskService.findLatestTasks(); } } hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -92,6 +92,7 @@ String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue(); log.info("1、获取到的请求字为:{},获取到的扫描ID为:{},获取到的确认字为:{},获取到的出片状态分别为:g06:{}、g08:{}、g11:{}、g13:{},当前格子号为:{}", requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);