UI-Project/src/views/Caching/caching.vue
@@ -13,27 +13,39 @@ const tableData = ref([]) // 发送获取表格数据的请求 const fetchTableData = async () => { try { // 发送获取表格数据的请求,并等待响应 // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData); const response = await request.get("/unLoadGlass/unLoadGlass/downstorage"); // const fetchTableData = async () => { // try { // // 发送获取表格数据的请求,并等待响应 // // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData); // const response = await request.get("unLoadGlass/downStorage/selectStorageCage"); // 检查响应状态 if (response.code === 200) { // 更新表格数据 console.log('成功获取表格数据:', response.data); tableData.splice(0, tableData.length, ...response.data); // // 检查响应状态 // if (response.code === 200) { // // 更新表格数据 // console.log('成功获取表格数据:', response.data); // tableData.splice(0, tableData.length, ...response.data); // } else { // // 请求失败,显示错误消息 // ElMessage.error(response.msg); // } // } catch (error) { // // 处理请求失败的情况 // ElMessage.error('获取表格数据失败,请重试'); // } // }; // onMounted(fetchTableData); request.get("unLoadGlass/downStorage/selectStorageCage").then((res) => { if (res.code == 200) { console.log(res.data); tableData.value = res.data } else { // 请求失败,显示错误消息 ElMessage.error(response.msg); ElMessage.warning(res.msg) } } catch (error) { // 处理请求失败的情况 ElMessage.error('获取表格数据失败,请重试'); } }; onMounted(fetchTableData); }); const dialogForm = () => { ElMessageBox.confirm( @@ -139,9 +151,9 @@ @selection-change="handleSelectionChange" :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="id" align="center" label="玻璃ID" min-width="80" /> <el-table-column prop="long" align="center" label="位置" min-width="120" /> <el-table-column prop="wide" align="center" label="宽" min-width="120" /> <el-table-column prop="type" align="center" label="长" min-width="120" /> <el-table-column prop="sequence" align="center" label="位置" min-width="120" /> <el-table-column prop="width" align="center" label="宽" min-width="120" /> <el-table-column prop="height" align="center" label="长" min-width="120" /> <el-table-column fixed="right" label="操作" align="center" width="200"> <template #default> <el-button size="mini" type="text" plain @click="dialogForm">报缺</el-button> UI-Project/src/views/Returns/returns.vue
@@ -15,6 +15,16 @@ import { ref, onMounted } from "vue"; // import http from "@/http/index"; let ruleForm = ref({ workstationId: '', patternHeigth: '', patternWidth: '', filmsId: '', patternThickness: '', number: '', }) const tableDataa = ref([]) const requestData = { @@ -54,6 +64,7 @@ if (res.code == 200) { console.log(res.data); tableDataa.value = res.data // workstationId.value = res.data[0].workstationId } else { ElMessage.warning(res.msg) router.push("/login") @@ -107,8 +118,63 @@ // } // } const workstationId = ref(''); const patternHeigth = ref(''); const patternWidth = ref(''); const filmsId = ref(''); const patternThickness = ref(''); const number = ref(''); // 添加 const handleConfirm = async () => { try { const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { workstationId: workstationId.value, patternHeigth: patternHeigth.value, patternWidth: patternWidth.value, filmsId: filmsId.value, patternThickness: patternThickness.value, number: number.value }); if (response.code == 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); add.value = false; } else { // 请求失败,显示错误消息 ElMessage.error(response.msg); } } catch (error) { // 处理错误 console.error(error); } }; // 删除 const handleConfirma = async () => { try { const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', { workstationId: workstationId.value, patternHeigth: 0, patternWidth: 0, filmsId: "", patternThickness: 0, number: 0 }); if (response.code == 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); adda.value = false; } else { // 请求失败,显示错误消息 ElMessage.error(response.msg); } } catch (error) { // 处理错误 console.error(error); } }; onMounted(fetchTableData); interface User { id: string @@ -169,20 +235,6 @@ }) }) } const getTableRow = (type) =>{ switch (type) { case 'edit' :{ //alert('我接收到子组件传送的编辑信息') // router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) break state: true } case 'delete':{ alert('我接收到子组件传送的删除信息') break } } } const gridOptions = reactive({ border: "full",//表格加边框 @@ -240,13 +292,6 @@ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" >停止任务</el-button> <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> <!-- <el-table height="150" ref="table" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" :data="tableData" :span-method="objectSpanMethod" > --> <el-table height="150" ref="table" @@ -273,8 +318,6 @@ </el-card> <div id="parent"> <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;"> <!-- <el-button style="margin-top: -830px;margin-left: -40px;" size="mini" id="searchButton" @click="add = true">添加原片</el-button> --> <!-- <el-button style="margin-top: -10px;margin-left: -80px;" size="mini" id="searchButton" @click="adda = true">添加原片</el-button> --> </div> <div style="margin-top: -350px;margin-left: 650px;"> <el-table :data="tableDataa" border style="width: 60%" @@ -287,7 +330,7 @@ <el-table-column fixed="right" label="操作" align="center" width="150"> <template #default> <el-button size="mini" type="text" plain @click="add = true">添加</el-button> <el-button size="mini" type="text" plain @click="open">删除</el-button> <el-button size="mini" type="text" plain @click="adda = true">删除</el-button> </template> </el-table-column> </el-table> @@ -307,19 +350,6 @@ :value="item.projectNo" /> </el-select> <!-- <el-select clearable placeholder="请选择工程" style="width: 300px" v-model="form.id" > <el-option v-for="item in billall" :key="item.id" :label="item.projectNo" :value="item.projectNo" /> </el-select> --> </el-form-item> </div> <template #footer> @@ -340,14 +370,14 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="长:" :required="true" style="width: 14vw"> <el-input autocomplete="off" /> <el-input v-model="patternHeigth" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item label="宽:" :required="true" style="width: 14vw"> <el-input autocomplete="off" /> <el-input v-model="patternWidth" autocomplete="off" /> </el-form-item></div> </div> </el-col> @@ -357,14 +387,14 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="膜系:" :required="true" style="width: 14vw;"> <el-input autocomplete="off" /> <el-input v-model="filmsId" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item label="厚度:" :required="true" style="width: 14vw"> <el-input autocomplete="off" /> <el-input v-model="patternThickness" autocomplete="off" /> </el-form-item></div></div> </el-col> </el-row> @@ -373,7 +403,7 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="数量:" :required="true" style="width: 14vw;"> <el-input autocomplete="off" /> <el-input v-model="number" autocomplete="off" /> </el-form-item></div></div> </el-col> </el-row> @@ -382,65 +412,17 @@ </div> <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="getTableRow('edit')"> <el-button type="primary" @click="handleConfirm"> 确认 </el-button> <el-button @click="add = false">取消</el-button> </div> </template> </el-dialog> <el-dialog v-model="adda" top="23vh" width="45%" title="添加原片" > <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" > <el-form label-width="70px" label-position="right"> <el-row style="margin-top: -15px;margin-bottom: -2px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="长:" :required="true" style="width: 14vw"> <el-input autocomplete="off" style="width: 180px" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item label="宽:" :required="true" style="width: 14vw"> <el-input autocomplete="off" style="width: 180px" /> </el-form-item></div> </div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="膜系:" :required="true" style="width: 14vw;"> <el-input autocomplete="off" style="width: 180px" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item label="厚度:" :required="true" style="width: 14vw"> <el-input autocomplete="off" style="width: 180px" /> </el-form-item></div></div> </el-col> </el-row> <el-row style="margin-top: 10px;"> <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> <el-form-item label="数量:" :required="true" style="width: 14vw;"> <el-input autocomplete="off" style="width: 180px" /> </el-form-item></div></div> </el-col> </el-row> </el-form> </el-form> </div> <el-dialog v-model="adda" top="25vh" width="25%" title="是否删除" > <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="adda = false"> <el-button type="primary" @click="handleConfirma"> 确认 </el-button> <el-button @click="adda = false">取消</el-button> hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -22,10 +22,10 @@ // 2、全局配置 // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("D:\\Documents\\hangzhoumesParent1\\"); gc.setOutputDir("D:\\Documents\\hangzhoumesParent2\\"); gc.setServiceName("%sService"); //去掉Service接口的首字母I gc.setAuthor("zhoush"); gc.setAuthor("wu"); gc.setOpen(false); mpg.setGlobalConfig(gc); @@ -41,7 +41,7 @@ // 4、包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.mes"); pc.setModuleName("userinfo"); //模块名 pc.setModuleName("engineering"); //模块名 pc.setController("controller"); pc.setService("service"); pc.setMapper("mapper"); @@ -50,7 +50,7 @@ // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("up_patten_usage"); strategy.setInclude("engineering"); strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
@@ -19,9 +19,14 @@ <version>1.1.6</version> </dependency> <dependency> <groupId>com.github.yulichang</groupId> <artifactId>mybatis-plus-join</artifactId> <version>1.1.6</version> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency> </dependencies> <properties> hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -17,6 +19,7 @@ * @author zhoush * @since 2024-03-27 */ @ApiModel(description = "<p> 大理片笼 </p>") @Data @EqualsAndHashCode(callSuper = false) public class BigStorageCage implements Serializable { @@ -26,29 +29,35 @@ /** * 大理片笼表id */ @ApiModelProperty(value = "大理片笼表id", position = 2) @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 设备id */ @ApiModelProperty(value = "设备id", position = 3) private Integer deviceId; /** * 栅格号 */ @ApiModelProperty(value = "栅格号", position = 4) private Integer slot; /** * 启用状态 */ @ApiModelProperty(value = "启用状态", position = 5) private String enableState; /** * 剩余宽度 */ @ApiModelProperty(value = "剩余宽度", position = 6) private Integer remainWidth; @ApiModelProperty(hidden = true) @TableField(exist = false) private List<BigStorageCageDetails> bigStorageCageDetails; hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -3,6 +3,9 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -14,6 +17,7 @@ * @author zhoush * @since 2024-03-27 */ @ApiModel(description = "<p> 大理片笼详情 </p>") @Data @EqualsAndHashCode(callSuper = false) public class BigStorageCageDetails implements Serializable { @@ -23,72 +27,86 @@ /** * 大理片笼详情表id */ @ApiModelProperty(value = "大理片笼详情表id", position = 2) @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 设备id */ @ApiModelProperty(value = "设备id", position = 3) private Integer deviceId; /** * 栅格号 */ @ApiModelProperty(value = "栅格号", position = 4) private Integer slot; /** * 玻璃id */ @ApiModelProperty(value = "玻璃id", position = 5) private String glassId; /** * 小片在格内的顺序 */ @ApiModelProperty(value = "小片在格内的顺序", position = 6) private Integer sequence; /** * 流程卡号 */ @ApiModelProperty(value = "流程卡号", position = 7) private String flowCardId; /** * 玻璃类型 */ @ApiModelProperty(value = "玻璃类型", position = 8) private Integer glassType; /** * 宽 */ @ApiModelProperty(value = "宽", position = 9) private Double width; /** * 高 */ @ApiModelProperty(value = "高", position = 10) private Double height; /** * 厚度 */ @ApiModelProperty(value = "厚度", position = 11) private Double thickness; /** * 钢化版图id */ @ApiModelProperty(value = "钢化版图id", position = 12) private Integer temperingLayoutId; /** * 钢化版图片序 */ @ApiModelProperty(value = "钢化版图片序", position = 13) private Integer temperingFeedSequence; /** * 状态 */ @ApiModelProperty(value = "状态", position = 14) private Integer state; /** * 玻璃间隙 */ @ApiModelProperty(value = "玻璃间隙", position = 15) private Integer gap; hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
@@ -38,7 +38,7 @@ @Override public List<BigStorageCageFeedTask> querybigStorageCageFeedTask(int taskState){ LambdaQueryWrapper<BigStorageCageFeedTask> getFeedTaskWrapper=new LambdaQueryWrapper<>(); getFeedTaskWrapper.eq(BigStorageCageFeedTask::getTaskState,1); getFeedTaskWrapper.eq(BigStorageCageFeedTask::getTaskState,taskState); return baseMapper.selectList(getFeedTaskWrapper); } } hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
New file @@ -0,0 +1,28 @@ package com.mes; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Arrays; import java.util.List; import java.util.Map; /** * @Author : zhoush * @Date: 2024/3/27 16:37 * @Description: */ @Slf4j @RunWith(SpringRunner.class) @SpringBootTest(classes = CacheVerticalClassModuleApplication.class) public class CacheVerticalGlassModuleApplicationTest { @Test public void testFindPath() { log.info("完整路径:{}", Arrays.asList("123")); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
New file @@ -0,0 +1,37 @@ package com.mes.engineering.controller; import com.mes.engineering.entity.Engineering; import com.mes.engineering.service.impl.EngineeringServiceImpl; import com.mes.utils.Result; import com.mes.workstation.service.UpWorkstationService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.mes.engineering.service.EngineeringService; /** * <p> * 前端控制器 * </p> * * @author wu * @since 2024-04-22 */ @RestController @Slf4j @RequestMapping("/engineering/engineering") public class EngineeringController { @Autowired private EngineeringService engineeringService; @ApiOperation("开始/暂停任务/传递工程号和状态,开始是1 暂停是0") @PostMapping("/changeTask") //调用上片任务 @ResponseBody public Result <Engineering> changeTask(String projectId , Integer state) { boolean work=engineeringService.changeTask(projectId,state); log.info("开始任务返回:{}", work); return Result.build(200, "",null); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
New file @@ -0,0 +1,100 @@ package com.mes.engineering.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; /** * <p> * * </p> * * @author wu * @since 2024-04-22 */ @Data @EqualsAndHashCode(callSuper = false) public class Engineering implements Serializable { private static final long serialVersionUID = 1L; /** * 工程表id */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 工程号 */ private String engineerId; /** * 工程名称 */ private String engineerName; /** * 平均利用率 */ private Double avgAvailability; /** * 有效利用率 */ private Double validAvailability; /** * 尾片利用率 */ private Double lastAvailability; /** * 状态 */ private Integer state; /** * 小片总数 */ private Integer glassTotal; /** * 小片总面积 */ private Double glassTotalArea; /** * 计划原片总数 */ private Integer planPatternTotal; /** * 计划原片总面积 */ private Double planPatternTotalArea; /** * 实际原片总数 */ private Integer realityPatternTotal; /** * 实际原片总面积 */ private Double realityPatternTotalArea; /** * 膜系id */ private Integer filmsId; /** * 备注 */ private String notes; } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
New file @@ -0,0 +1,16 @@ package com.mes.engineering.mapper; import com.mes.engineering.entity.Engineering; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * Mapper 接口 * </p> * * @author wu * @since 2024-04-22 */ public interface EngineeringMapper extends BaseMapper<Engineering> { } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.mes.engineering.mapper.EngineeringMapper"> </mapper> hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
New file @@ -0,0 +1,17 @@ package com.mes.engineering.service; import com.mes.engineering.entity.Engineering; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 服务类 * </p> * * @author wu * @since 2024-04-22 */ public interface EngineeringService extends IService<Engineering> { boolean changeTask(String projectId,Integer state); } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
New file @@ -0,0 +1,29 @@ package com.mes.engineering.service.impl; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.mes.engineering.entity.Engineering; import com.mes.engineering.mapper.EngineeringMapper; import com.mes.engineering.service.EngineeringService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author wu * @since 2024-04-22 */ @Service public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService { //开始/暂停任务 @Override public boolean changeTask(String projectId, Integer state) { LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper()); wrapper.set(Engineering::getState,state); wrapper.eq(Engineering::getEngineerId,projectId); return wrapper.update(); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
@@ -3,6 +3,7 @@ import com.mes.utils.Result; import com.mes.workstation.entity.GlassInfo; import com.mes.workstation.entity.UpWorkSequence; import com.mes.workstation.entity.UpWorkstation; import com.mes.workstation.service.UpWorkstationService; import io.swagger.annotations.ApiOperation; @@ -26,7 +27,6 @@ public class UpWorkstationController { @Autowired private UpWorkstationService upWorkstationService; private GlassInfo glassInfo; @ApiOperation("显示工位上的玻璃信息") @GetMapping("/list") //查询现在上片机的玻璃信息 public Result<List<UpWorkstation>> list() { @@ -40,15 +40,19 @@ @ApiOperation("修改工位表增加玻璃信息或者删除玻璃信息,传递Upworkstation类,只修改宽高厚数量膜系") @PostMapping("/updateGlassMessage") @ResponseBody public void updateGlassMessage(@RequestBody UpWorkstation upwork) { public Result<UpWorkstation> updateGlassMessage(@RequestBody UpWorkstation upwork) { upWorkstationService.updateGlassMessage(upwork); return Result.build(200, "", upwork); } @ApiOperation("开始上片任务") @PostMapping("/selectPriority") //开始上片任务 @PostMapping("/selectPriority") //调用上片任务 @ResponseBody public void selectPriority() { upWorkstationService.selectPriority(); UpWorkSequence work=upWorkstationService.selectPriority(); log.info("显示可上的玻璃信息:{}", work); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkSequence.java
@@ -9,7 +9,7 @@ public class UpWorkSequence { private int sequence; private int workId; private int number; } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -16,7 +16,8 @@ * @since 2024-04-07 */ public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> { //获取工位信息 UpWorkSequence selectPriority(@Param("id") int id); List<UpWorkSequence> selectPriority(@Param("id") int id); //获取下一片玻璃信息 } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
@@ -1,6 +1,7 @@ package com.mes.workstation.service; import com.baomidou.mybatisplus.extension.service.IService; import com.mes.workstation.entity.UpWorkSequence; import com.mes.workstation.entity.UpWorkstation; /** @@ -14,12 +15,10 @@ public interface UpWorkstationService extends IService<UpWorkstation> { //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; //删除人工搬走的玻璃信息 // public void deleteGlass(int id); //判断是否可以吸片进行任务 //判断优先吸片位置后发送出片任务 public void selectPriority(); public UpWorkSequence selectPriority(); //查询正在进行的工程 @@ -29,5 +28,9 @@ * * @param upwork */ //修改工位表增加玻璃信息或者删除玻璃信息 void updateGlassMessage(UpWorkstation upwork); } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -33,29 +33,14 @@ //判断优先吸片位置后发送出片任务 public void selectPriority() { //todo:判断是否可以吸片进行任务 // String loadstart="吸片信号";//plcmes.getPlcParameter("吸片信号").getValue(); // if (!"1".equals(loadstart)) { // return; // } UpWorkSequence loadid1 = this.baseMapper.selectPriority(1).get(0); UpWorkSequence loadid2 = this.baseMapper.selectPriority(2).get(0); //判断一二号工位哪边的顺序更先 // if(loadid1.getSequence()>loadid2.getSequence()) { // S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2); // }else if(loadid1.getSequence()==loadid2.getSequence()){ // //当两个工位上的玻璃数相同时,判断哪个工位上的玻璃数更少,优先清空一个架子 // int glassnum1=loadid1.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue()); // int glassnum2=loadid2.getNumber();//Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue()); // if(glassnum1>glassnum2){ // S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)2); // }else{ // S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1); // } // }else{ // S7object.getinstance().plccontrol.WriteWord(DB_100_10, (short)1); // } public UpWorkSequence selectPriority() { UpWorkSequence upwork= this.baseMapper.selectPriority(1); String start = "吸片信号";//plcmes.getPlcParameter("吸片信号").getValue(); if(upwork!=null&&start.equals("1")){ //发送出片任务 //plcmes.getPlcParameter("出片信号").setValue("1"); } return upwork; } /** @@ -69,4 +54,5 @@ int update = this.baseMapper.update(upwork, updateWrapper); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml
@@ -3,20 +3,19 @@ <mapper namespace="com.mes.workstation.mapper.UpWorkstationMapper"> <resultMap id="sequenceMap" type="com.mes.workstation.entity.UpWorkSequence"> <id property="sequence" column="layout_sequence"/> <result property="number" column="number"/> <id property="workId" column="workstation_id"/> <!-- <result property="number" column="number"/>--> </resultMap> <select id="selectPriority" resultMap="sequenceMap"> SELECT b.layout_sequence,a."number" b.workstation_id FROM up_workstation a LEFT JOIN up_patten_usage b ON a.pattern_width = b.width AND a.pattern_heigth = b.width AND a.pattern_thickness = b.thickness WHERE a.workstation_id = #{id} ( SELECT * FROM up_patten_usage a WHERE state = 1 ORDER BY a.layout_sequence LIMIT 1 )as a LEFT JOIN up_workstation b ON a.width =b.pattern_width AND a.height = b.pattern_heigth AND a.thickness = b.pattern_thickness AND a.films_id = b.films_id </select>