UI-Project/config.js
@@ -1,10 +1,10 @@ export default { // serverUrl: "10.153.19.150:88/api", serverUrl: "192.168.2.100:88", // serverUrl: "127.0.0.1:88", // serverUrl: "192.168.2.100:88", serverUrl: "127.0.0.1:88", // serverUrl2: "10.153.19.150:88" serverUrl2: "192.168.2.100:88" // serverUrl2: "127.0.0.1:88" // serverUrl2: "192.168.2.100:88" serverUrl2: "127.0.0.1:88" //serverUrl:"res.abeim.cn" } UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@ export const WebSocketHost = "192.168.2.100"; // export const WebSocketHost = "192.168.2.100"; // export const WebSocketHost = "10.153.19.150"; // export const WebSocketHost = "127.0.0.1"; export const WebSocketHost = "127.0.0.1"; export const host = "88"; UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -207,7 +207,7 @@ const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId)); const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId)); const newRects = data.waitingGlass[0].map(rect => { const scaleFactor = 1390/5190; const scaleFactor = 1390/6200; const scaleFactorY = 750/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; let newX = rect.yCoordinate; @@ -223,13 +223,13 @@ adjustedHeight = heighta * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5190 - (rect.yCoordinate + widtha); newX = 6000 - (rect.yCoordinate + widtha); } else { adjustedWidth = heighta * scaleFactor; adjustedHeight = widtha * scaleFactorY; // adjustedWidtha = widtha; // adjustedHeighta = heighta; newX = 5190 - (rect.yCoordinate + heighta); newX = 6000 - (rect.yCoordinate + heighta); } return { ...rect, @@ -260,7 +260,7 @@ const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId)); // 计算新的矩形 const newRects = data.outGlass[0].map(rect => { const scaleFactor = 1390/5190; const scaleFactor = 1390/6000; const scaleFactory = 750/2800; let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY; let newX = rect.yCoordinate; UI-Project/src/views/Slicecage/slicecage.vue
@@ -29,6 +29,7 @@ const tableDatas = ref([]) const carPosition = ref([]) const ganghua = ref('') const diaodu = ref('') const adjustedRects = ref([]); const project = ref([]); const adjust = ref([]); @@ -735,6 +736,7 @@ function handleRowClick(row) { selectedRow.value = row; // 更新选中的行数据 } // 钢化开关 const handleChange = async () => { try { const body = { @@ -747,6 +749,28 @@ // 绑定成功,处理逻辑 ElMessage.success(response.message); ganghua.value = response.data }else { ElMessage.error(response.message); } } catch (error) { // 处理错误 console.error(error); } } // 调度开关 const handlediaodu = async () => { try { const body = { flag: diaodu.value, }; var url="/cacheVerticalGlass/bigStorageCageDetails/dispatchSwitch?flag="+diaodu.value; const response = await request.post(url) if (response.code == 200) { // 绑定成功,处理逻辑 ElMessage.success(response.message); diaodu.value = response.data }else { ElMessage.error(response.message); } @@ -827,6 +851,7 @@ }else{ ganghua.value = '' } if(data.bigStorageCageInfos!=null){ window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length) let length = window.localStorage.getItem('length') @@ -957,7 +982,7 @@ <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button> <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisibles=true;fetchFlows()">{{ $t('searchOrder.searchlayout') }}</el-button> <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" /> <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.Schedulingswitch')" @change="handleChange" /> <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="diaodu" class="mb-2" :inactive-text="$t('searchOrder.Schedulingswitch')" @change="handlediaodu" /> <el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisibleaDownGlasss = true">{{ $t('searchOrder.Labelprinting') }} </el-button> @@ -968,69 +993,28 @@ :data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="140" /> <el-table-column prop="bigStorageCageOutTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.endSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" :label="$t('searchOrder.trips')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.serialNumber" align="center" :label="$t('searchOrder.number')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" /> <el-table-column prop="bigStorageCageOutTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="157"> <!-- <template #default="scope"> <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}111</el-tag> </template> --> </el-table-column> <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/> --> <el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/> <el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/> <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/> <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/> <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/> <el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/> <el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="100"/> <el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="100"/> <el-table-column prop="thickness" align="center" :label="$t('searchOrder.thickness')" min-width="100"/> <el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/> <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/> <el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/> <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150"> <template #default="scope"> <el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button> <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag> </template> </el-table-column> --> </el-table-column> </el-table> </div> </el-card> <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="140" /> <el-table-column prop="bigStorageCageFeedTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" /> <el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" /> <!-- <el-table-column prop="task_type" align="center" label="任务类型" min-width="120" />没有返回字段 --> <el-table-column prop="bigStorageCageFeedTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120"> <template #default="scope"> <el-tag type="success" >{{ scope.row.bigStorageCageFeedTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag> </template> </el-table-column> <el-table-column prop="bigStorageCageFeedTask.line" align="center" :label="$t('searchOrder.line')" min-width="120" /> <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/> --> <el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/> <el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/> <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/> <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/> <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/> <el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/> <el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="100"/> <el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="100"/> <el-table-column prop="thickness" align="center" :label="$t('searchOrder.thickness')" min-width="100"/> <el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/> <el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/> <el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/> <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150"> <template #default="scope"> <el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button> </template> </el-table-column> --> </el-table> </div> </el-card> </div> <div style="padding: 10px;display: flex;height:130px;"> UI-Project/src/views/hollow/hollowequipment.vue
@@ -51,7 +51,7 @@ <el-table-column prop="width" :label="$t('hellow.width')" align="center"/> <el-table-column prop="state" :label="$t('hellow.state')" align="center"/> </el-table> <div style="display: flex;margin-left: 500px;margin-top: 10px;"> <div style="display: flex;margin-left: 40%;margin-top: 10px;"> <!-- <div style="float: center;"> --> <div style="margin-top: 5px;margin-right: 5px;">线路</div> <el-pagination @@ -171,6 +171,7 @@ </div> </template> </el-dialog> <!-- 缺片详情 --> <el-dialog v-model="dialogFormVisibleb" top="7vh" width="70%" height="500"> <div style="margin-top: -20px;text-align: center;margin-left: 400px;"> <el-form-item :label="$t('hellow.cardnumbera')" style="width: 14vw"> @@ -298,6 +299,7 @@ dialogFormVisiblea.value = true; fetchFlowCardId(); }; // 缺片详情 const handleBindRack = (row) => { const { projectNumber, layer } = row; currentRow.projectNumber = row.projectNumber; hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -62,7 +62,7 @@ carPostion.add(0.5); jsonObject.append("carPostion", carPostion); //界面展示笼子信息 jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail()); // jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail()); //进片任务数据 List<BigStorageCageTask> inTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_in_one_task"); @@ -74,10 +74,10 @@ //理片笼使用情况 List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage(); jsonObject.append("bigStorageCageUsage", bigStorageCageUsage); // jsonObject.append("bigStorageCageUsage", bigStorageCageUsage); //理片笼表格信息 jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll()); // jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll()); //钢化开关 boolean temperingSwitch = false; @@ -87,6 +87,14 @@ temperingSwitch = redisUtil.getCacheObject("temperingSwitch"); } jsonObject.append("temperingSwitch", temperingSwitch); //调度开关 boolean dispatchSwitch = false; if (redisUtil.getCacheObject("dispatchSwitch") == null) { redisUtil.setCacheObject("dispatchSwitch", false); } else { dispatchSwitch = redisUtil.getCacheObject("dispatchSwitch"); } jsonObject.append("dispatchSwitch", dispatchSwitch); //打印开关 boolean autoPrint = false; if (redisUtil.getCacheObject("autoPrint") == null) { hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -96,7 +96,7 @@ private Integer artificialOutTargetPosition; @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void inBigStorageTask() throws Exception { ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl"); if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) { @@ -201,7 +201,7 @@ miloService.writeToOpcWord(list); } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void outBigStorageTask() throws Exception { Date startDate = new Date(); ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl"); @@ -322,7 +322,7 @@ return; } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void finishInBigStorageTask() throws Exception { ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl"); if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) { @@ -411,7 +411,7 @@ miloService.writeToOpcWord(list); } @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-dev.yml
@@ -10,7 +10,7 @@ password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver salve_hangzhoumes: url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes username: sa password: beibo.123/ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@ spring: profiles: active: yw active: dev application: name: cacheVerticalGlass liquibase: @@ -35,7 +35,7 @@ port: 5000 kangaroohy: milo: enabled: true enabled: false primary: default config: default: hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
@@ -36,7 +36,7 @@ * fixedDelay : 上一个调用结束后再次调用的延时 */ @Scheduled(fixedDelay = 10000) // @Scheduled(fixedDelay = 10000) public void screenHome() { JSONObject jsonObject = new JSONObject(); Reportingdamage reportingdamage = new Reportingdamage(); hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -55,7 +55,7 @@ @Value("${mes.height}") private Integer temperingHeight; @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void temperingGlassBefore() { Date startDate = new Date(); log.info("本次任务开始执行时间:{}", startDate); @@ -136,7 +136,7 @@ //暂不处理 } @Scheduled(fixedDelay = 1000) // @Scheduled(fixedDelay = 1000) public void dealDamageTask() { Date startDate = new Date(); log.info("钢化破损玻璃清除任务开始执行时间:{}", startDate); hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-prod.yml
@@ -27,7 +27,7 @@ cloud: nacos: discovery: server-addr: 10.153.19.150:8848 server-addr: 127.0.0.1:8848 application: name: temperingGlass redis: hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -6,7 +6,7 @@ application: name: temperingGlass liquibase: enabled: true enabled: false mybatis-plus: mapper-locations: classpath*:mapper/*.xml configuration: