From ef47083c90ff7e70362a32741a0a4d5770037e7f Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期一, 18 三月 2024 10:44:04 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes
---
springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java | 24 +
Albania_Mes-ui/src/lang/locales/en-US.json | 19 +
Albania_Mes-ui/src/views/home/index.vue | 434 ++++++++++++++--------
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java | 134 +-----
springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java | 17
springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java | 2
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java | 6
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 22
springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java | 2
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 36 +
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 60 +++
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 42 ++
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 109 +++++
Albania_Mes-ui/src/api/home.js | 57 +++
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 2
springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java | 17
springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 81 ++-
springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java | 45 ++
18 files changed, 771 insertions(+), 338 deletions(-)
diff --git a/Albania_Mes-ui/src/api/home.js b/Albania_Mes-ui/src/api/home.js
index 8dc939e..843d369 100644
--- a/Albania_Mes-ui/src/api/home.js
+++ b/Albania_Mes-ui/src/api/home.js
@@ -294,3 +294,60 @@
})
}
+export function UpdateStroageCageByCell(cell,num) {
+ return request({
+ url: '/home/UpdateStroageCageByCell?cell='+cell+'&num='+num,
+ method: 'post',
+ data:""
+ })
+}
+
+export function FinishTask(tasktype,id) {
+ return request({
+ url: '/home/FinishTask?tasktype='+tasktype+'&id='+id,
+ method: 'post',
+ data:""
+ })
+}
+
+export function SelectGlassInfo(width,height,thickness,films) {
+ return request({
+ url: '/home/SelectGlassInfo?width='+width+'&height='+height+'&thickness='+thickness+'&films='+films,
+ method: 'post',
+ data:""
+ })
+}
+
+export function StorageCageAddGlass(cell,data) {
+ return request({
+ url: '/home/StorageCageAddGlass?cell='+cell,
+ method: 'post',
+ data
+ })
+}
+
+export function ClaimTasks(flowcard,state) {
+ return request({
+ url: '/home/ClaimTasks?flowcard='+flowcard+'&state='+state,
+ method: 'post',
+ data:""
+ })
+}
+
+export function ModeChange(flowcard,method) {
+ return request({
+ url: '/home/ModeChange?flowcard='+flowcard+'&method='+method,
+ method: 'post',
+ data:""
+ })
+}
+
+
+
+export function UpdateQueue(data) {
+ return request({
+ url: '/home/UpdateQueue',
+ method: 'post',
+ data
+ })
+}
\ No newline at end of file
diff --git a/Albania_Mes-ui/src/lang/locales/en-US.json b/Albania_Mes-ui/src/lang/locales/en-US.json
index e7faca3..aeba614 100644
--- a/Albania_Mes-ui/src/lang/locales/en-US.json
+++ b/Albania_Mes-ui/src/lang/locales/en-US.json
@@ -1,4 +1,23 @@
{
+ "Flowcard":"Flowcard",
+ "Glasstype":"Glasstype",
+ "Mode Change":"Mode Change",
+ "Start Task":"Start Task",
+ "Stop Task":"Stop Task",
+ "No Of Cage":"No Of Cage",
+ "Task State":"Task State",
+ "Task Method":"Task Method",
+ "Task Line":"Task Line",
+ "'No Of Cage":"'No Of Cage",
+ "Finish No":"Finish No",
+ "Mate No":"Mate No",
+ "Order":"Order",
+ "Select":"Select",
+ "GlassType":"GlassType",
+ "Films":"Films",
+ "StorageCageAdd":"StorageCageAdd",
+ "Reduce":"Reduce",
+ "number":"number",
"Import order":"Importorder",
"Measure":"Measure",
"StorageCage":"StorageCage",
diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index cca7c7e..f4765e5 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -6,7 +6,7 @@
.occupy {
height: 100%;
- width: 10%;
+ width: 20%;
background-color: white;
margin: 0px 8px 0px 8px;
border: 1px #EBEEF5 solid;
@@ -64,15 +64,16 @@
}
.blocks {
- background-image: url('../../img/xmjc.png');
- margin: 0 auto;
+ background-image: url('../../img/device.png');
+ /* margin: 0 auto; */
+ /* clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); */
background-repeat: no-repeat;
background-attachment: local;
- min-height: 55vh;
- width: 1400px;
- max-width: 94vw;
- background-size: 1200px 510px;
- margin: 0 auto;
+ min-height: 118vh;
+ width: 1124px;
+ max-width: 57%;
+ background-size: 1050px 1400px;
+ margin-top: -280px;
/* width: 1660px;
max-width: 100vw;
background-size: 1660px 560px; */
@@ -198,12 +199,13 @@
font-size: 25px;
}
+/*
@media screen and (min-width: 1900px) {
.blocks {
transform: scale(1.5, 1.05);
width: 1210px;
}
-}
+} */
.el-message-box__btns {
padding: 0px 15px 0;
@@ -256,71 +258,70 @@
<el-button type="primary" @click="showform(2)" :disabled="SoftEmergencyStopState"
:class="SoftEmergencyStopState == true ? 'hide' : ''">
{{ $t('Measure') }}</el-button>
- <el-button type="primary" @click="showform(2)" :disabled="SoftEmergencyStopState"
+ <el-button type="primary" @click="showform(3)" :disabled="SoftEmergencyStopState"
:class="SoftEmergencyStopState == true ? 'hide' : ''">
{{ $t('StorageCage') }}</el-button>
- <el-button type="primary" @click="showform(2)" :disabled="SoftEmergencyStopState"
+ <el-button type="primary" @click="showform(4)" :disabled="SoftEmergencyStopState"
:class="SoftEmergencyStopState == true ? 'hide' : ''">
{{ $t('Task queue') }}</el-button>
</div>
- <div>
- <el-table :data="this.tasklist1" border style="width: 100%">
- <el-table-column :min-width="180" prop="glassId" :label="$t('Outfeed glass barcode')"></el-table-column>
- <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
- <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
- <el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
- <el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
- <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
- <template slot-scope='scope'>
- {{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
- </template>
- </el-table-column>
- <el-table-column :label="$t('Terminate Task')">
- <template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- @click="endtask(1, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task')
- }}</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-table :data="this.tasklist2" border style="width: 100%">
- <el-table-column :min-width="180" prop="glassId" :label="$t('Infeed glass barcode')"></el-table-column>
- <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
- <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
- <el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
- <el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
- <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
- <template slot-scope='scope'>
- {{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
- </template>
- </el-table-column>
+ <div style="display: flex;align-items: center;">
+ <div class="blocks" style="position: relative;width: 100%;">
- <el-table-column :label="$t('Terminate Task')">
- <template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- @click="endtask(0, scope.row.glassId, scope.row.cell)">{{ $t('Terminate Task')
- }}</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <div style="padding: 10px;display: flex;height:85px;">
- <div v-for="item in tableData" :key="item['cageno']" class="occupy">
- <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
- </el-col>
- <hr style="width:80%;margin: 0 auto;" />
- <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state'] }}</span>
- </el-col>
+ </div>
+ <div>
+ <div style="padding: 10px;display: flex;height:100px;">
+ <div v-for="item in tableData" :key="item['cageno']" class="occupy">
+ <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
+ <el-col
+ style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
+ </el-col>
+ <hr style="width:80%;margin: 0 auto;" />
+ <el-col
+ style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
+ <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state']
+ }}</span>
+ </el-col>
+ </div>
+ </div>
+ <el-table :data="this.tasklist1" border style="width: 700px;">
+ <el-table-column prop="glasstype" :label="$t('Glasstype')"></el-table-column>
+ <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
+ <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
+ <el-table-column prop="storageCage.glassWidth" :label="$t('Width')"></el-table-column>
+ <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column>
+ <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column>
+ <el-table-column :min-width="100" :label="$t('Terminate Task')">
+ <template slot-scope='scope'>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ @click="FinishTask(0, scope.row.id)">{{ $t('Complete') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-table :data="this.tasklist2" border style="width: 100%">
+ <el-table-column prop="glassId" :label="$t('Glasstype')"></el-table-column>
+ <el-table-column prop="storageCage.cage" :label="$t('Cage No')"></el-table-column>
+ <el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
+ <el-table-column prop="storageCage.glassWidth" :label="$t('Width')"></el-table-column>
+ <el-table-column prop="storageCage.glassHeight" :label="$t('Height')"></el-table-column>
+ <el-table-column prop="storageCage.thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column prop="storageCage.films" :label="$t('Films')"></el-table-column>
+
+ <el-table-column :min-width="100" :label="$t('Terminate Task')">
+ <template slot-scope='scope'>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ @click="FinishTask(1, scope.row.id)">{{ $t('Complete') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
</div>
</div>
+
+
</el-main>
- <el-dialog :visible.sync="Importorder" :title="$t('Import order')"
- top="5vh">
+ <el-dialog :visible.sync="Importorder" :title="$t('Import order')" top="5vh">
</el-dialog>
<el-dialog :visible.sync="Measure" :title="$t('Measure')" top="5vh"><!--娴嬮噺椤甸潰-->
@@ -341,44 +342,131 @@
</div>
</el-dialog>
- <el-dialog :visible.sync="StorageCage" :title="$t('StorageCage')"
- top="5vh">
+ <el-dialog :visible.sync="StorageCage" :title="$t('StorageCage')" top="5vh">
<el-table :data="this.StorageCageInfo" :height="700" border style="width: 100%;overflow: auto;">
- <el-table-column :min-width="50" prop="cage" :label="$t('Cage No')"></el-table-column>
- <el-table-column :min-width="50" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :min-width="145" prop="glassId" :label="$t('Barcode')"></el-table-column>
- <el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column>
- <el-table-column :min-width="80" prop="height" :label="$t('Height')"></el-table-column>
+ <el-table-column :min-width="80" prop="cage" :label="$t('Cage No')"></el-table-column>
+ <el-table-column :min-width="80" prop="cell" :label="$t('Slot No')"></el-table-column>
+ <el-table-column :min-width="80" prop="glasstype" :label="$t('GlassType')"></el-table-column>
+ <el-table-column :min-width="80" prop="glassWidth" :label="$t('Width')"></el-table-column>
+ <el-table-column :min-width="80" prop="glassHeight" :label="$t('Height')"></el-table-column>
<el-table-column :min-width="80" prop="thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column :min-width="80" prop="number" :label="$t('number')"></el-table-column>
+ <el-table-column :min-width="80" prop="width" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="250" :label="$t('Operate')">
<template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- :disabled="scope.row.state == 1 ? false : true"
- @click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('Delete') }}</el-button>
+
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
@click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
{{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
+
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- :disabled="scope.row.glassId != null ? true : false"
- @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Add')
+ :disabled="(scope.row.width < scope.row.glassWidth + 100 ? true : false)"
+ @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 1)">{{ $t('Add')
+ }}
+ </el-button>
+
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="scope.row.number >= 1 ? false : true"
+ @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, -1)">{{ $t('Reduce')
+ }}</el-button>
+
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="scope.row.number >= 1 ? false : true"
+ @click="UpdateStroageCageByCell(scope.row.cell, scope.row.number, 0)">{{ $t('Delete')
}}</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
-
- <el-dialog :visible.sync="Taskqueue" :title="$t('Task queue')"
- top="5vh">
+
+ <el-dialog :visible.sync="Taskqueue" :title="$t('Task queue')" top="5vh">
+ <el-table :data="tableData1" style="width: 100%;margin-bottom: 20px;" row-key="id" border lazy
+ default-expand-all :tree-props="{ children: 'glassinfo', hasChildren: 'hasChildren' }">
+ <el-table-column prop="flowcard" :label="$t('Order')">
+ </el-table-column>
+ <el-table-column prop="glasstype" :label="$t('GlassType')">
+ </el-table-column>
+ <el-table-column prop="number" :label="$t('Order No')">
+ </el-table-column>
+ <el-table-column prop="" :label="$t('No Of Cage')">
+ </el-table-column>
+ <el-table-column prop="finishnumber" :label="$t('Finish No')">
+ </el-table-column>
+ <el-table-column prop="mateid" :label="$t('Mate No')">
+ </el-table-column>
+ <el-table-column prop="films" :label="$t('Films')">
+ </el-table-column>
+ <el-table-column prop="thickness" :label="$t('Thickness')">
+ </el-table-column>
+ <el-table-column prop="width" :label="$t('Width')">
+ </el-table-column>
+ <el-table-column prop="height" :label="$t('Height')">
+ </el-table-column>
+ <el-table-column prop="state" :label="$t('Task State')">
+ <template slot-scope='scope'>
+ {{ scope.state == 0 ? $t('Start') : $t('Finished') }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="method" :label="$t('Task Method')">
+ </el-table-column>
+ <el-table-column prop="line" :label="$t('Task Line')">
+ </el-table-column>
+ <el-table-column width="220" :label="$t('Operate')">
+ <template slot-scope='scope'>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ v-show="scope.row.state >= 0 ? true : false"
+ @click="ClaimTasks(scope.row.flowcard, scope.row.state)">
+ {{ scope.row.status == '0' ? $t('Start Task') : $t('Stop Task') }}</el-button>
+
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ v-show="scope.row.state >= 0 ? true : false"
+ @click="ModeChange(scope.row.flowcard, scope.row.method)">
+ {{ $t('Mode Change') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
</el-dialog>
-
+
+ <el-dialog :visible.sync="StorageCageAdd" :title="$t('StorageCageAdd')" top="5vh" width="80%">
+ <div style="display: flex;height: 40px;line-height: 40px;">
+ <label for="">{{ $t('Width') }}</label>
+ <el-input v-model="StorageCageForm.width" autocomplete="off" style="width:15%;" />
+ <label for="">{{ $t('Height') }}</label>
+ <el-input v-model="StorageCageForm.height" autocomplete="off" style="width:15%;" />
+ <label for="">{{ $t('Thickness') }}</label>
+ <el-input v-model="StorageCageForm.thickness" autocomplete="off" style="width:15%;" />
+ <label for="">{{ $t('Films') }}</label>
+ <el-input v-model="StorageCageForm.films" autocomplete="off" style="width:15%;" />
+ <el-button @click="SelectGlassInfo()" type="primary">
+ {{ $t('Select') }}</el-button>
+ </div>
+ <el-table :data="this.StorageCageAddInfo" :height="700" border style="width: 100%;overflow: auto;">
+ <el-table-column prop="flowcard" :label="$t('Flowcard')"></el-table-column>
+ <el-table-column prop="glasstype" :label="$t('GlassType')"></el-table-column>
+ <el-table-column prop="width" :label="$t('Width')"></el-table-column>
+ <el-table-column prop="height" :label="$t('Height')"></el-table-column>
+ <el-table-column prop="thickness" :label="$t('Thickness')"></el-table-column>
+ <el-table-column prop="films" :label="$t('Films')"></el-table-column>
+ <el-table-column :label="$t('Operate')">
+ <template slot-scope='scope'>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ @click="StorageCageAddGlass(scope.$index)">
+ {{ $t('Add') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-dialog>
+
</el-container>
</template>
<script>
import {
- home, home2, UpdateTask, SelectCageInfo, DeleteByGlassID,
- SelectPassword, Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
- isAllowReorderings
+ home, home2, SelectCageInfo,
+ Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
+ isAllowReorderings,
+
+ UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue
} from "../../api/home";
@@ -388,6 +476,8 @@
name: "Home",
data() {
return {
+ tableData1:[],
+ Measuermode: false,
confirm1: false,
confirm2: false,
insertcage: 0,
@@ -398,12 +488,21 @@
dialogFormVisible: false,
dialogFormVisible1: false,
dialogFormVisible2: false,
- Importorder:false,
- Measure:false,
- StorageCage:false,
- Taskqueue:false,
- StorageCageInfo:[],
- TaskqueueInfo:[],
+ Importorder: false,
+ Measure: false,
+ StorageCage: false,
+ Taskqueue: false,
+ StorageCageAdd: false,
+ StorageCageInfo: [],
+ StorageCageForm: {
+ width: "",
+ height: "",
+ thickness: "",
+ films: ""
+ },
+ StorageCageAddInfo: [],
+ TaskqueueInfo: [],
+ cell: "",
form1: {},
form2: {},
form3: {},
@@ -483,15 +582,15 @@
}
,
methods: {
- showform(i){
- if(i==1){
- this.Importorder=true;
- }else if(i==2){
- this.Measure=true;
- }else if(i==3){
- this.StorageCage=true;
- }else if(i==4){
- this.Taskqueue=true;
+ showform(i) {
+ if (i == 1) {
+ this.Importorder = true;
+ } else if (i == 2) {
+ this.Measure = true;
+ } else if (i == 3) {
+ this.StorageCage = true;
+ } else if (i == 4) {
+ this.Taskqueue = true;
}
},
init() {
@@ -529,11 +628,12 @@
this.cagelist2 = obj.cagelist2[0];
this.cagelist3 = obj.cagelist3[0];
this.cagelist4 = obj.cagelist4[0];
- this.tasklist1 = obj.tasklist1[0];
- this.tasklist2 = obj.tasklist2[0];
+ this.tasklist2 = obj.StoragTaskeTaskFeed[0];
+ this.tasklist1 = obj.StoragTaskeTaskOut[0];
+ console.log(this.tasklist1);
this.alarm = obj.alarmmg[0];
-
+ this.tableData1 = obj.OrderTask[0];
//鏄惁鍏佽鍑虹墖
@@ -552,9 +652,8 @@
this.cageinfo = res.data.cageinfo;
});
}
- if(obj.StorageCageInfo!=null){
- this.StorageCageInfo=obj.StorageCageInfo[0];
- console.log(this.StorageCageInfo);
+ if (obj.StorageCageInfo != null) {
+ this.StorageCageInfo = obj.StorageCageInfo[0];
}
this.$forceUpdate();
@@ -619,66 +718,71 @@
this.cagelist3 = res.data.list3;
this.cagelist4 = res.data.list4;
});
- //鍔犺浇纭瀵嗙爜
- SelectPassword().then(res => {
- this.password = res.data.password;
- });
},
-
- //缁撴潫杩�/鍑虹墖浠诲姟
- endtask(type, glassid, cell) {
- this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
- inputType: 'password',
- inputPlaceholder: this.$t('Please enter the password'),
- confirmButtonText: this.$t('Yes'),
- cancelButtonText: this.$t('No'),
- type: 'warning'
- }).then(({ value }) => {
- if (this.password == value) {
- UpdateTask(type, glassid, cell).then(res => {
- if (res.data.message3 == 200) {
- this.$message.success(this.$t('Operation successful'));
- }
- });
- } else {
- this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
- }
- }).catch(() => {
- this.$message({
- type: 'info',
- message: this.$t('Operation canceled')
- });
- });
- },
- //鍒犻櫎鐞嗙墖绗肩幓鐠�
- deleteglass(glassid, state) {
- this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
- inputType: 'password',
- inputPlaceholder: this.$t('Please enter the password'),
- confirmButtonText: this.$t('Yes'),
- cancelButtonText: this.$t('No'),
- type: 'warning'
- }).then(({ value }) => {
- if (this.password == value) {
- if (state == 1) {
- DeleteByGlassID(glassid).then(res => {
- if (res.data.message3 == 200) {
- this.$message.success(this.$t('Operation successful'));
- }
- });
- } else {
- this.$message.error(this.$t('No delete allowed'));
+ //娣诲姞鐞嗙墖绗肩幓鐠�
+ StorageCageAddGlass(index) {
+ if (this.Measuermode == true) {
+ StorageCageAddGlass(this.cell, this.StorageCageAddInfo[index]).then(res => {
+ if (res.data.code == 200) {
+ this.$message.success(this.$t('Operation successful'));
}
- } else {
- this.$message.error(this.$t('Password error'));//瀵嗙爜閿欒
- }
-
- }).catch(() => {
- this.$message({
- type: 'info',
- message: this.$t('Operation canceled')
+ })
+ } else {
+ UpdateQueue(this.StorageCageAddInfo[index]).then(res => {
+ if (res.data.code == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
});
+ }
+
+ },
+ //棰嗗彇/鏆傚仠浠诲姟
+ ClaimTasks(flowcard, state) {
+ console.log(flowcard, state);
+ ClaimTasks(flowcard, state).then(res => {
+ if (res.data.code == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
});
+ },
+ //淇敼鍑虹墖鏂瑰紡
+ ModeChange(flowcard, method) {
+ ModeChange(flowcard, method).then(res => {
+ if (res.data.code == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
+ });
+ },
+ //鏌ヨ鐜荤拑淇℃伅
+ SelectGlassInfo() {
+ SelectGlassInfo(this.StorageCageForm.width, this.StorageCageForm.height, this.StorageCageForm.thickness, this.StorageCageForm.films).then(res => {
+ this.StorageCageAddInfo = res.data.StorageCageAddInfo;
+ })
+ },
+ //瀹屾垚杩�/鍑虹墖浠诲姟
+ FinishTask(tasktype, id) {
+ FinishTask(tasktype, id).then(res => {
+ if (res.data.message3 == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
+ });
+ },
+ //淇敼鐞嗙墖绗肩幓鐠冧俊鎭�
+ UpdateStroageCageByCell(cell, nownum, num) {
+ if (nownum == null && num == 1) {
+ this.StorageCageAdd = true;
+ this.cell = cell;
+ } else {
+ if (nownum + num == 0) {
+ num = 0;
+ }
+ UpdateStroageCageByCell(cell, num).then(res => {
+ if (res.data.message3 == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
+ });
+ }
+
},
//鍚敤//鐞嗙墖绗肩鐢�
UpdateDisabled(cage, cell, disabled) {
@@ -688,7 +792,7 @@
}
});
},
-
+
//鏀瑰彉姣忛〉瀹圭撼鐨勬暟鎹噺
handleSizeChange: function (size) {
this.pagesize = size;
@@ -705,7 +809,7 @@
handleCurrentChanges: function (currentPage) {
this.currentPages = currentPage;
},
-
+
//鏄惁鍏佽鍑虹墖闃熷垪鎺掑簭
isAllowReorderings() {
isAllowReorderings(!this.isAllowReordering, this.OutSlice).then(res => {
@@ -746,7 +850,7 @@
ManualMatching() {
console.log(11111111);
}
-
+
}
}
-</script>
\ No newline at end of file
+</script>
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
index 3c74bd3..17fbf5a 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -33,119 +33,59 @@
// \\ TODO Auto-generated catch block
e.printStackTrace();
}
-
+
// if (S7control.getinstance().CheckConnected() == false) {
spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class);
-
- //璇诲彇DB105鍖烘枃浠�
+ spianService.selectAll(albaniaMapper.SelectGlass());
+ //璇诲彇DB14鍖烘枃浠�
PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- //璇�106
- //PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
- //璇�103
+
- String OutRequest=plcmes.getPlcParameter("OutRequest").getValue();//鍑虹墖璇锋眰涓�绾�
- String OutActivate=plcmes.getPlcParameter("OutActivate").getValue();//鍑虹墖璇锋眰浜岀嚎
- String AddRequest=plcmes.getPlcParameter("AddRequest").getValue();//杩涚墖璇锋眰
- String CarRequest=plcmes.getPlcParameter("CatReque").getValue();//杩愰�佽溅璇锋眰
- String Tastoverid=plcmes.getPlcParameter("Tastoverid").getValue();//浠诲姟瀹屾垚
- String glassid=plcmes.getPlcParameter("glassid").getValue();//鐜荤拑id
+ String ExportTOMES1=plcmes.getPlcParameter("ExportTOMES1").getValue();//鍑虹墖璇锋眰涓�绾�
+ String ExportToMES2=plcmes.getPlcParameter("ExportToMES2").getValue();//鍑虹墖璇锋眰浜岀嚎
+ String PLCToMES=plcmes.getPlcParameter("PLCToMES").getValue();//杩涚墖璇锋眰
+ String B01State=plcmes.getPlcParameter("B01State").getValue();//杩愰�佽溅璇锋眰
+ String TastState=plcmes.getPlcParameter("MESToPLCStatus1").getValue();//浠诲姟瀹屾垚
+
- //璋冪敤鍑虹墖浠诲姟
- if (OutActivate.equals("1") == false&&CarRequest.equals("0")==true) {
+ //涓�鍙风嚎璇锋眰
+ if (ExportTOMES1.equals("1") == true&&B01State.equals("0")==true) {
//灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
- spianService.selectout(glassid);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
+ spianService.selectout(1);
}
- //璋冪敤杩涚墖浠诲姟
- if(AddRequest.equals("1")==true&&CarRequest.equals("0")==true){
+ //浜岀嚎鍙疯姹傛椂
+ if (ExportToMES2.equals("1") == true&&B01State.equals("0")==true) {
//灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
+ spianService.selectout(2);
+ }
+ //杩涚墖璇锋眰鏃�
+ if(PLCToMES.equals("1")==true&&B01State.equals("0")==true){
+ //灏嗚繍杈撹溅鐘舵�佹敼涓哄繖纰�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(), (short) 1);
spianService.selectAll(albaniaMapper.SelectGlass());
}
- ///////////// 杩涚墖浠诲姟
+ //浠诲姟瀹屾垚鏃�
+ if(TastState.equals("1")==true){
+
+ //瀹屾垚纭瀛�
+ for(int i=1;i<7;i++){
+ String Tastover=plcmes.getPlcParameter("IDStatus"+i).getValue();//渚濇鑾峰彇浠诲姟绫诲瀷
+ String Glassid=plcmes.getPlcParameter("MESID"+i).getValue();//渚濇鑾峰彇浠诲姟绫诲瀷
+ if(Tastover.equals("1")){
- // String B01backs = plcread.getPlcParameter("B01CompleteTheReport").getValue();// b01姹囨姤
- // String B02backs = plcread.getPlcParameter("B02CompleteTheReport").getValue();// b02姹囨姤
-
- // String B01glassid = plcstate.getPlcParameter("B01ID1").getValue();// BO1鐨勭幓鐠僫d
- // String B02glassid = plcstate.getPlcParameter("B02ID1").getValue();// B02鐨勭幓鐠僫d
+ //璋冪敤瀹屾垚浠诲姟 Glassid
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStatus"+i).getAddress(), (short) 1);//瀹屾垚纭瀛�
+ }
+ }
+ }
- // // 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
- // if (B01backs.equals("1") == true) {
- // // 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
- // int HB = spianMapper.SelectHB(B01glassid.toString());
- // if (HB > 0) {
- // // 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 1);
- // String yingda =plcmes.getPlcParameter("B01report").getValue();// b01姹囨姤
- // if (yingda.equals("1")) {
- // spianService.overtask(B01glassid.toString());// 瀹屾垚浠诲姟
- // }
- // }
-
- // }else{
- // // 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("B01report").getAddress(plcmes.getPlcParameter("B01report").getAddressIndex()), (short) 0);
- // }
-
- // // 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
- // if (B02backs.equals("1") == true) {
- // // 鍒ゆ柇鏄惁姹囨姤姝g‘鐨刬d
- // int HB = spianMapper.SelectHB(B02glassid);
- // if (HB > 0) {
- // // 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 1);
- // String yingda =plcmes.getPlcParameter("B01report").getValue();// b02搴旂瓟
- // if (yingda.equals("1") == true) {
- // spianService.overtask(B02glassid);// 瀹屾垚浠诲姟
- // }
- // }
- // }else{
- // S7control.getinstance().WriteWord(plcmes.getPlcParameter("B02report").getAddress(plcmes.getPlcParameter("B02report").getAddressIndex()), (short) 0);
- // }
-
-
- // // 鑾峰彇DO1鏁版嵁
- // String Do1ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
- // // 鑾峰彇DO2鏁版嵁
- // String Do2ID=plcread.getPlcParameter("FeedID").getValue();// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
-
-
- // int questate = spianMapper.Selectquecount(Do1ID.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
- // // queueid1.toString().isEmpty()
- // north_glass_buffer1 glass1 = spianMapper.selectGlass(Do1ID);// D01鐨勭幓鐠冧俊鎭�
- // north_glass_buffer1 glass2 = spianMapper.selectGlass(Do2ID);// D02鐜荤拑淇℃伅
- // // 褰撴壂鐮佷綅鐜荤拑id涓虹┖鏃� 瀹藉害涓�0
- // if (Do1ID != null && questate == 0) {
- // // 鍐欏叆D01鐨勬暟鎹埌涓婄墖闃熷垪琛�
- // if (glass1 == null) { // 褰撴病鏈夊�兼椂浼犵┖
- // spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 1);
- // } else {
- // spianMapper.Updatequeue(Do1ID.toString(), glass1.getordernumber(), glass1.getlistnumber(),
- // glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
- // glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
- // }
-
- // }
-
- // if (Do2ID != null) {
- // // 鍐欏叆D02鐨勬暟鎹埌涓婄墖闃熷垪琛�
- // if (glass2 == null) {
- // spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2);
- // } else {
- // spianMapper.Updatequeue(Do2ID.toString(), glass2.getordernumber(), glass2.getlistnumber(),
- // glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
- // glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
- // spianMapper.overqueue2(Do2ID.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
- // S7control.getinstance().WriteWord("DB105.16", (short) 0);// 鍏抽棴浠诲姟鍚姩
- // }
-
- // }
-
+
// 鏌ヨ鏁版嵁搴�
// 鎺ㄩ�佸埌鍓嶇
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index b6a205b..425009b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -1,6 +1,5 @@
package com.example.springboot.component;
import cn.hutool.json.JSONObject;
-import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.example.springboot.service.*;
@@ -8,11 +7,14 @@
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
+import com.example.springboot.entity.FlowCard;
+import com.example.springboot.entity.FlowCard;
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.MeasureSetting;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.device.PlcParameterObject;
@@ -34,8 +36,6 @@
private OutSliceServive outSliceServive;
private SpianMapper spianMapper;
private SpianService spianService;
- private North_Glass_Buffer1Service north_Glass_Buffer1Service;
- private JdbcConnections dbserve;
// 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
public static Boolean isAllowQueue = true;
@@ -74,10 +74,7 @@
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
- north_Glass_Buffer1Service = WebSocketServer.applicationContext
- .getBean(North_Glass_Buffer1Service.class);
storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
- dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
// 绗煎瓙浣跨敤鎯呭喌
List<StorageCage> tableData = homeMapper.selectAll();
@@ -100,15 +97,7 @@
List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
jsonObject.append("alarmmg", alarmmg);
- // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
- Queue form2 = homeMapper.GetQueueInfo(2);
- Queue form3 = homeMapper.GetQueueInfo(1);
- if (form2.getglassId() != null && form2.getglassId() != "") {
- jsonObject.append("form2", form2);
- }
- if (form3.getglassId() != null && form3.getglassId() != "") {
- jsonObject.append("form3", form3);
- }
+
// 鑾峰彇鍑虹墖闃熷垪淇℃伅
List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
jsonObject.append("listoutslice", listoutslice);
@@ -181,12 +170,26 @@
// String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+ //鏌ヨ鐞嗙墖绗间俊鎭�
+ List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo();
+ jsonObject.append("StorageCageInfo", StorageCageInfo);
+
+ //鏌ヨ褰撳墠杩涚墖浠诲姟
+ List<StorageTask> StoragTaskeTaskFeed = storageCageService.SelectStorageTask(0);
+ jsonObject.append("StoragTaskeTaskFeed", StoragTaskeTaskFeed);
+
+ //鏌ヨ褰撳墠鍑虹墖浠诲姟
+ List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1);
+ jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut);
+
+ //鏌ヨ褰撳墠璁㈠崟浠诲姟
+ List<FlowCard> OrderTask = storageCageService.SelectOrderTask();
+ jsonObject.append("OrderTask", OrderTask);
} catch (InterruptedException e) {
e.printStackTrace();
}
-
// jsonObject.append("params", new short[] { 30, 40, });
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
if (sendwServer != null) {
@@ -201,7 +204,6 @@
// // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
webserver.clearMessages();
}
-
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 4e38988..a95fab6 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -18,7 +18,7 @@
System.out.println("鍚姩瀹屾垚");
// new PlcHold().start();
- //new PlcHoldNew().start();
+ // new PlcHoldNew().start();
// new PLCAutoMes().start();
new Plchome().start();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index c7a5a08..0a52ee2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -21,6 +21,7 @@
import com.example.springboot.component.Plchome;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.CarPosition;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
@@ -446,4 +447,45 @@
return Result.success(map);
}
+ // 鍒囨崲PLC鑾峰彇浜岀淮鐮佹柟寮�
+ @PostMapping("/UpdateStroageCageByCell")
+ public Result UpdateStroageCageByCell(Integer cell,Integer num) {
+ return storageCageService.UpdateStroageCageByCell(cell,num);
+ }
+
+ //鎵嬪姩瀹屾垚浠诲姟
+ @PostMapping("/FinishTask")
+ public Result FinishTask(Integer tasktype,Integer id) {
+ return storageCageService.FinishTask(tasktype,id);
+ }
+
+ //鏌ヨ鐜荤拑淇℃伅
+ @PostMapping("/SelectGlassInfo")
+ public Result SelectGlassInfo(String width,String height,String thickness,String films) {
+ return storageCageService.SelectGlassInfo(width,height,thickness,films);
+ }
+
+ //娣诲姞鐜荤拑淇℃伅鍒扮瀛�
+ @PostMapping("/StorageCageAddGlass")
+ public Result StorageCageAddGlass(String cell,@RequestBody GlassInfo glassInfo) {
+ return storageCageService.StorageCageAddGlass(cell,glassInfo);
+ }
+
+ //棰嗗彇/鏆傚仠浠诲姟
+ @PostMapping("/ClaimTasks")
+ public Result ClaimTasks(String flowcard,Integer state) {
+ return storageCageService.ClaimTasks(flowcard,state);
+ }
+
+ //淇敼鍑虹墖鏂瑰紡
+ @PostMapping("/ModeChange")
+ public Result ModeChange(String flowcard,Integer method) {
+ return storageCageService.ModeChange(flowcard,method);
+ }
+
+ //娣诲姞鐜荤拑淇℃伅鍒版祴閲忎俊鎭�
+ @PostMapping("/UpdateQueue")
+ public Result UpdateQueue(@RequestBody GlassInfo glassInfo) {
+ return storageCageService.UpdateQueue(glassInfo);
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java b/springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java
index 0d6a010..fbb9979 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java
@@ -1,6 +1,7 @@
package com.example.springboot.entity;
-import java.util.Date;
+import java.sql.Date;
+import java.util.List;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -8,12 +9,22 @@
@Data
@TableName("`flowcard`")
-public class flowcard {
+public class FlowCard {
private Integer id;// 鑷id
private String flowcard;// 娴佺▼鍗d
private Integer number;// 鐜荤拑鏁伴噺
private Integer line;// 浠诲姟璺嚎
private Integer state;// 鐘舵��
-
+ private Integer method;// 鍑虹墖鏂瑰紡
+ private Date starttime;// 浠诲姟棰嗗彇鏃堕棿
+ public List<GlassInfo> glassinfo;// 鐜荤拑淇℃伅
+
+ public void setglassinfo(List<GlassInfo> glassinfo) {
+ this.glassinfo = glassinfo;
+ }
+
+ public List<GlassInfo> getglassinfo() {
+ return glassinfo;
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
index b378802..d375337 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
@@ -1,6 +1,5 @@
package com.example.springboot.entity;
-import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -21,5 +20,4 @@
private Double thickness;// 鍘�
private Integer number;// 鏁伴噺
private Integer finishnumber;// 瀹屾垚鏁伴噺
-
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
index c9a594f..628afd0 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
@@ -61,11 +61,11 @@
*/
private Double glassHeightMm;
/**
- * 缂栧彿
+ * 鍘氬害
*/
- private String thickness;
+ private Integer thickness;
/**
- * 绠卞瓙鍙�
+ * 鑶滅郴
*/
private String films;
/**
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
index 76883ce..c4f12d1 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
@@ -1,5 +1,8 @@
package com.example.springboot.entity;
+
+
//鍑虹墖浠诲姟琛�
+
public class StorageTask{
private Integer id;//鑷簭
private String taskType;//绫诲瀷
@@ -8,7 +11,19 @@
private String shelfRack;//璧峰浣�
private String loadrack;//鐩爣浣�
private Integer count;//鐜荤拑鏁伴噺
-
+ private Integer glasstype;//鐜荤拑绫诲瀷
+ private Integer flowcard;//娴佺▼鍗�
+ private Integer mateid;//閰嶇墖id
+ private Integer tier;//鐗囧簭
+
+ private StorageCage storageCage;
+ public void setstorageCage(StorageCage storageCage) {
+ this.storageCage = storageCage;
+ }
+
+ public StorageCage getstorageCage() {
+ return storageCage;
+ }
public Integer id() {
return id;
@@ -66,6 +81,32 @@
this.loadrack = loadrack;
}
-
+ public Integer getGlasstype() {
+ return glasstype;
+ }
+
+ public void setGlasstype(Integer glasstype) {
+ this.glasstype = glasstype;
+ }
+ public Integer getFlowcard() {
+ return flowcard;
+ }
+
+ public void setFlowcard(Integer flowcard) {
+ this.flowcard = flowcard;
+ } public Integer getMateid() {
+ return mateid;
+ }
+
+ public void setMateid(Integer mateid) {
+ this.mateid = mateid;
+ }
+ public Integer geTier() {
+ return tier;
+ }
+
+ public void setTier(Integer tier) {
+ this.tier = tier;
+ }
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java b/springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java
index 0d6a010..fbb9979 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java
@@ -1,6 +1,7 @@
package com.example.springboot.entity;
-import java.util.Date;
+import java.sql.Date;
+import java.util.List;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -8,12 +9,22 @@
@Data
@TableName("`flowcard`")
-public class flowcard {
+public class FlowCard {
private Integer id;// 鑷id
private String flowcard;// 娴佺▼鍗d
private Integer number;// 鐜荤拑鏁伴噺
private Integer line;// 浠诲姟璺嚎
private Integer state;// 鐘舵��
-
+ private Integer method;// 鍑虹墖鏂瑰紡
+ private Date starttime;// 浠诲姟棰嗗彇鏃堕棿
+ public List<GlassInfo> glassinfo;// 鐜荤拑淇℃伅
+
+ public void setglassinfo(List<GlassInfo> glassinfo) {
+ this.glassinfo = glassinfo;
+ }
+
+ public List<GlassInfo> getglassinfo() {
+ return glassinfo;
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
index b378802..d375337 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
@@ -1,6 +1,5 @@
package com.example.springboot.entity;
-import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -21,5 +20,4 @@
private Double thickness;// 鍘�
private Integer number;// 鏁伴噺
private Integer finishnumber;// 瀹屾垚鏁伴噺
-
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
index f53c73e..84b1c7b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlbaniaMapper.java
@@ -5,12 +5,13 @@
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import com.example.springboot.entity.GlassInfo;
+import com.example.springboot.entity.StorageCage;
@Mapper
@Repository
public interface AlbaniaMapper {
//鍒ゆ柇绗煎唴鏄惁鏈夊悎閫傜殑绫诲瀷绌烘牸
- @Select("select id from storage_cage where glasstype=#{glasstype} and width>=#{width}+#{widths} order by id limit 1")
+ @Select("select id from storage_cage where glasstype=#{glasstype} and width>=#{width}+#{widths} and state=0 order by id limit 1")
int SelectCage(int glasstype,Double width,int widths);
//鍒ゆ柇绗煎唴娌℃湁鐜荤拑鐨勭┖鏍�
@Select("select id from storage_cage where number=0 and cage>#{cage} and cage<#{cage2} order by id limit 1")
@@ -22,14 +23,29 @@
@Update("update storage_cage set number=number-1,width=width+glasswidth where id=#{id}")
void UpdateCageNumberOut(int id);
//澧炲姞浠诲姟璁板綍
- @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count,finsh_time) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count},#{qidong});")
- void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count,int qidong);
+ @Insert("INSERT INTO `albania`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,glasstype,flowcard,mateid,tier) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{glasstype},#{flowcard},#{mateid},#{tier});")
+ void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int glasstype,String flowcard,int mateid,int tier);
//鏂板涓�鏉$瀛愭暟鎹�
@Update("UPDATE `albania`.`storage_cage` SET `glass_id` =#{glassid}, `width` =width-#{glasswidth}, `glasswidth` =#{glasswidth}, `glassheight` =#{glassheight}, `glasswidthmm` =#{glasswidthmm}, `glassheightmm` = #{glassheightmm}, `state` = #{state}, `glasstype` = #{glasstype}, `number` = #{number} WHERE `id` =#{id};")
void AddCage(int id,String glassid,Double glasswidth,Double glassheight,Double glasswidthmm,Double glassheightmm,int state,int glasstype,int number);
//鑾峰彇杩涚墖鏁版嵁
- @Select("select glassid,flowcard,glasswidth as width,glassheight as height,glasswidthmm,glassheightmm,glasstype from queue where glasstype=1")
+ @Select("select glassid,flowcard,glasswidth as width,glassheight as height,glasswidthmm,glassheightmm,glasstype from queue where state=0 limit 1")
GlassInfo SelectGlass();
+ //涓�鍙风嚎鏌ヨ浠诲姟
+ @Select("select * from v_cagerelease1 where mateid not in(select mateid from v_cagerelease1 where surplus=0 group by mateid);")
+ GlassInfo SelectOutGlass1();
+ //浜屽彿绾挎煡璇换鍔�
+ @Select("select * from v_cagerelease2 where mateid not in(select mateid from v_cagerelease2 where surplus=0 group by mateid)LIMIT 1;")
+ GlassInfo SelectOutGlass2();
+ //娴佺▼鍗′换鍔℃煡璇�
+ @Select("select G.flowcard,G.glasstype,G.number,G.mateid,G.tier,G.starttime,G.finishnumber,IF((G.number-G.finishnumber-ku.KuCount)<0,G.number,ku.KuCount) as 'surplus',G.totaltier as id from (select Gfd.flowcard,Ggf.glasstype,Ggf.number,Ggf.mateid,Ggf.tier,Ggf.finishnumber,Gfd.starttime,Gfd.totaltier from flowcard as Gfd LEFT JOIN glassinfo as Ggf on Gfd.flowcard=Ggf.flowcard where Gfd.state=1 and Gfd.line=#{line}) as G left join (select glasstype,sum(number) AS KuCount from storage_cage where flowcard is not null group by glasstype) as ku on G.glasstype=ku.glasstype where G.mateid not in(select mateid from v_cagerelease1 where surplus=0 group by mateid)order by `g`.`starttime`,`g`.`mateid`,`g`.`finishnumber`,`g`.`tier`LIMIT 1;")
+ GlassInfo SelectOutGlass(int line);
+ //鑾峰彇璇ョ被鍨嬪湪搴撳瓨鐨勪綅缃�
+ @Select("select * from storage_cage where glasstype=#{glasstype} and number>0 limit 1")
+ StorageCage SelectCageGlass(int glasstype);
+ //鍙戦�佸嚭鐗囧悗澧炲姞宸插彂鏁伴噺
+ @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{tier};")
+ void AddFinishNumber(String flowcard,int mateid,int tier);
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index 6bb984e..66857b4 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -3,6 +3,8 @@
import org.apache.ibatis.annotations.*;
import com.example.springboot.entity.CarPosition;
+import com.example.springboot.entity.FlowCard;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.alarmmg;
@@ -85,9 +87,9 @@
@Select("select dianqimima from user where id=1")
String SelectPassword();
- //鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭�
- @Select("select * from storage_cage where glass_id=#{glassid}")
- StorageCage SelectGlassInfo(String glassid);
+ // //鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭�
+ // @Select("select * from storage_cage where glass_id=#{glassid}")
+ // StorageCage SelectGlassInfo(String glassid);
//鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭�
@Select("select * from storage_cage where glass_id=#{glassid}")
@@ -231,6 +233,58 @@
//鏌ヨ鐞嗙墖绗煎唴淇℃伅
@Select("select * from storage_cage")
List<StorageCage> SelectStorageCageInfo();
+
+ //鍒犻櫎鏍煎瓙鍐呯幓鐠冧俊鎭�
+ @Update("update storage_cage set width=5000,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null where cell=#{cell}")
+ void DeleteStroageCageByCell(Integer cell);
+
+ //淇敼鏍煎瓙鐜荤拑鏁伴噺
+ @Update("update storage_cage set number=number+#{num} where cell=#{cell}")
+ void updateStroageCageByCell(Integer cell, Integer num);
+
+ //璁$畻鏍煎瓙鍐呭墿浣欏搴�
+ @Update("update storage_cage set width=5000-(glasswidth+100)*number where cell=#{cell}")
+ void UpdateStroageCageWidthByCell(Integer cell);
+
+ //鏍规嵁浠诲姟绫诲瀷鑾峰彇浠诲姟
+ @Select("select * from storage_task where task_type=#{task_type} and task_state=0")
+ List<StorageTask> SelectStorageTask(int task_type);
+
+ //鏍规嵁id浠诲姟
+ @Select("select * from storage_task where id=#{id}")
+ StorageTask SelectStorageTaskById(int id);
+
+ //鏍规嵁鏍煎瓙鏌ヨ鐜荤拑淇℃伅
+ @Select("select * from storage_cage where cell=#{cell}")
+ StorageCage SelectStorageByCell(String cell);
+
+ //鎵嬪姩瀹屾垚浠诲姟
+ @Select("update storage_task set task_state=1 where id=1429")
+ void FinishTask(Integer id);
+
+ @Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) group by gi.id")
+ List<GlassInfo> SelectGlassInfo(String width,String height,String thickness,String films);
+
+ @Update("update storage_cage set glasstype=#{glassInfo.glasstype},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0 where cell=#{cell}")
+ void StorageCageAddGlass(String cell, GlassInfo glassInfo);
+
+ @Select("select * from flowcard where state!=2")
+ List<FlowCard> SelectOrderTask();
+
+ @Select("select * from glassinfo where flowcard=#{flowcard} order by mateid,tier")
+ List<GlassInfo> SelectOrderView(String flowcard);
+
+ @Update("update flowcard set state=#{state} where flowcard=#{flowcard}")
+ void ClaimTasks(String flowcard, int state);
+
+ @Update("update flowcard set method=#{method} where flowcard=#{flowcard}")
+ void ModeChange(String flowcard, int method);
+
+ @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype} where state=0")
+ void UpdateQueue(String flowcard,double width,double height,Integer glasstype);
+
+ @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
+ void AddGlassNo(Integer flowcard, Integer mateid, Integer geTier);
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index 2988da2..4d665ce 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -92,13 +92,13 @@
ids = cages1.getId();// 鏁版嵁搴揑D
tiers = cages1.getTier();// 鍐呭鐗�
cells = cages1.getCell();// 鏍煎瓙鍙�
- prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
+ //prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害
widths = glasslist.getglasslengthmm();
// 鎵ц杩涚墖
datas.add((short) 1000);// 璧峰浣嶇疆
- datas.add((short) prcid);// 鐩爣浣嶇疆
+ datas.add((short) 1);// 鐩爣浣嶇疆
datas.add((short) widths);// 杩涚墖鐜荤拑瀹�
datas.add((short) prctier); // 鐜荤拑鏁�
datas.add((short) 1);// 浠诲姟鍚姩
@@ -171,7 +171,7 @@
int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
int cell = cageout.getCell();// 鍑虹墖鏍煎彿
int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
- int prcid = cageout.getPrcId();// prcid
+ //int prcid = cageout.getPrcId();// prcid
int prcid2;
int ids;
int cages;
@@ -183,7 +183,7 @@
int state = spianMapper.selectGlassState(cage, cell);// 鑾峰彇鏍煎瓙鏁伴噺
// 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
// 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
- datas.add((short) prcid);
+ datas.add((short) 1);
datas.add((short) 1000);
datas.add((short) state);
datas.add((short) 1);
@@ -214,7 +214,7 @@
// 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
if (state == 1) {
// spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);
- datas.add((short) prcid);
+ datas.add((short) 1);
datas.add((short) 1000);
datas.add((short) 1);
datas.add((short) 1);
@@ -248,14 +248,14 @@
return (300);
}
// 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
- prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
+ //prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
// 濉叆璋冩嫧鏁版嵁
- datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
- datas.add((short) prcid2);
+ datas.add((short) 1);// 璋冩嫧澶栫墖璧峰浣嶇疆
+ datas.add((short) 1);
datas.add((short) 2);
datas.add((short) 1);
// 鏇存崲鐜荤拑鐨勭瀛�
@@ -290,13 +290,13 @@
return (300);
}
// 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
- prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
+ //prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
// 濉叆璋冩嫧鏁版嵁
- datas.add((short) prcid);
- datas.add((short) prcid2);
+ datas.add((short) 1);
+ datas.add((short) 1);
datas.add((short) 2);
datas.add((short) 1);
String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
index f779ef2..7b49fa8 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
@@ -7,6 +7,8 @@
import com.example.springboot.component.PLCAutoMes;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.GlassInfo;
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.AlbaniaMapper;
import com.google.common.primitives.Bytes;
@@ -23,20 +25,20 @@
int cageid;
String glassid=glassInfo.getGlassid();
Double width=glassInfo.getWidth();
- Double height=glassInfo.getHeight();
+ //int mateid=glassInfo.getMateid();
+ String flowcard=glassInfo.getFlowcard();
int glasstype=glassInfo.getGlasstype();
//鍒ゆ柇鏄惁鏈夊悓绫诲瀷鐨�
- cageid=albaniaMapper.SelectCage(glassInfo.getGlasstype(), glassInfo.getWidth(), 50);
+ cageid=albaniaMapper.SelectCage(glasstype,width, 50);
//濡傛灉鏈夊悓绫诲瀷鏃剁洿鎺ュ鍔�
if(cageid!=Integer.MIN_VALUE){
//鍙戦�乸lc浠诲姟
+ //Mestast(glassid,1001,cageid,1);
- //浠诲姟瀹屾垚鍚庡鍔犳暟閲�
- albaniaMapper.UpdateCageNumberAdd(cageid);
- }else{
+ }else{
//鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗�
if(glassInfo.getThickness()>=15){
cageid=albaniaMapper.SelectNewCell(3,5);
@@ -45,23 +47,51 @@
//鍙戦�乸lc浠诲姟
}
//褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧
- if(cageid==Integer.MIN_VALUE){
- return(400);
+ if(cageid!=Integer.MIN_VALUE){
+ Mestast(glassid,1001,cageid,1);
+ //鍙戦�乸lc浠诲姟
+
}else{
- //鍒ゆ柇瀹屾垚浠诲姟鍚庡鍔犳暟閲�
- albaniaMapper.AddCage(cageid, glassid, width, height, width, height, 0, glasstype, 1);
+ return(400);
}
}
//澧炲姞浠诲姟璁板綍
- albaniaMapper.Inserttask(0, 0, 0, cageid, glassInfo.getGlassid(), 0, 0);
+ albaniaMapper.Inserttask(0, 0, 1001, cageid, glassid,glasstype, flowcard,0,0);
return(200);
}
-
- public Short selectout(String glasstype) {
- //鍒ゆ柇绗煎瓙鏈�鍏堝嚭鍝墖
-
+ //鍑虹墖
+ public Short selectout(int line) {
+ int mateid;
+ int glasstype;
+ int tier;
+ int sumid;
+ String flowcard;
+ GlassInfo glassmate=new GlassInfo();
+
+ for(int i=1;i<=7;i++){
+ glassmate= albaniaMapper.SelectOutGlass(line);
+ mateid=glassmate.getMateid();
+ glasstype=glassmate.getGlasstype();
+ tier=glassmate.getTier();
+ sumid=glassmate.getId();
+ flowcard=glassmate.getFlowcard();
+
+ StorageCage glass= albaniaMapper.SelectCageGlass(glasstype);
+ //鍙戦�侀厤鐗囨暟鎹�
+ Mestast(glassmate.getGlasstype()+"i", glass.getId(),2002, 0);
+ albaniaMapper.AddFinishNumber(flowcard, mateid, tier);
+ albaniaMapper.Inserttask(1, 0, glass.getId(), 2002, glassmate.getGlassid()+i, glasstype,glass.getFlowcard(),mateid,tier);
+ if(tier==sumid){
+ //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)2);//鍑虹墖浠诲姟鍚姩
+ return (200);//缁撴潫
+ }
+
+ }
+
+
return(200);// 缁撴潫
}
@@ -78,7 +108,7 @@
}
byte[] bytes = Bytes.toArray(glassidlist);
System.out.println("outmesidbytes:" + bytes.length);
- S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(plcmes.getPlcParameter(address).getAddressIndex()),bytes);
+ S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(),bytes);
//S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id
}
@@ -93,7 +123,7 @@
writedstrIdOut.append((char) iditem);
}
}
- return writedstrIdOut;
+ return writedstrIdOut;
}
// char鏁扮粍杞寲鎴恇it鏁扮粍
@@ -115,15 +145,16 @@
return listbool;
}
- // 鏍规嵁鐜荤拑id瀹屾垚鍦ㄨ繘琛屼腑鐨勪换鍔�
- public void overtask(String glassid) {
-
- // spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
- // spianMapper.OverOutSlice(glassid.toString(), 2, 1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
- // spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
- // spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
- // spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
- // spianMapper.UpdateAddQueue(glassid.toString());// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑
+ //涓嬪彂鐞嗙墖浠诲姟
+ public void Mestast(String glassid,int MESToPLCStart1,int MESToPLCTarget1,int MESToPLC) {
+ outmesid(glassid, "MESID1");//涓嬪彂鐜荤拑id
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart1").getAddress(), (short) MESToPLCStart1);//璧峰浣嶇疆
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget1").getAddress(), (short) MESToPLCTarget1);//鐩爣浣嶇疆
+ if(MESToPLC!=0){
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)MESToPLC);//mes鐞嗙墖浠诲姟绫诲瀷
+ }
+
+
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index 5e8ccf9..c8d5699 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -1,5 +1,6 @@
package com.example.springboot.service;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -11,6 +12,8 @@
import com.example.springboot.common.Result;
import com.example.springboot.component.Plchome;
import com.example.springboot.component.S7control;
+import com.example.springboot.entity.FlowCard;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.StorageTask;
@@ -206,4 +209,110 @@
return homeMapper.SelectStorageCageInfo();
}
+ // 澧炲姞/鍑忓皯鐞嗙墖绗肩幓鐠冩暟
+ public Result UpdateStroageCageByCell(Integer cell, Integer num) {
+ if (num == 0) {
+ homeMapper.DeleteStroageCageByCell(cell);
+ } else {
+ homeMapper.updateStroageCageByCell(cell, num);
+ homeMapper.UpdateStroageCageWidthByCell(cell);
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ // 鏌ヨ杩�/鍑虹墖浠诲姟
+ public List<StorageTask> SelectStorageTask(int task_type) {
+ List<StorageTask> storageTasks = new ArrayList<>();
+ if (task_type == 0) {
+ storageTasks = homeMapper.SelectStorageTask(task_type);
+ } else {
+ storageTasks = homeMapper.SelectStorageTask(task_type);
+ }
+ for (StorageTask storageTask : storageTasks) {
+ storageTask.setstorageCage(homeMapper.SelectStorageByCell(storageTask.getLoadrack()));
+ }
+ return storageTasks;
+ }
+
+ //鎵嬪姩瀹屾垚浠诲姟
+ public Result FinishTask(Integer tasktype, Integer id) {
+ StorageTask storageTask = homeMapper.SelectStorageTaskById(id);//鑾峰彇浠诲姟淇℃伅
+ homeMapper.FinishTask(storageTask.getId());//瀹屾垚浠诲姟
+ if(storageTask.getTaskType().equals("0")){
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()),1);//鐜荤拑鏁伴噺+1
+ }else{
+ StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack());
+ if(storageCage.getNumber()>1){
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),-1);//鐜荤拑鏁伴噺-1
+ }else{
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),0);//娓呴櫎鏍煎唴淇℃伅
+ }
+ homeMapper.AddGlassNo(storageTask.getFlowcard(),storageTask.getMateid(),storageTask.geTier());//娣诲姞鍑虹墖瀹屾垚鏁伴噺
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+
+ //鏌ヨ鐜荤拑淇℃伅
+ public Result SelectGlassInfo(String width,String height,String thickness,String films) {
+ List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width,height,thickness,films);
+ Map<String, Object> map = new HashMap<>();
+ map.put("StorageCageAddInfo", glassInfoList);
+ return Result.success(map);
+ }
+
+ //娣诲姞鐜荤拑鍒版牸瀛愬唴
+ public Result StorageCageAddGlass(String cell,GlassInfo glassInfo) {
+ homeMapper.StorageCageAddGlass(cell,glassInfo);
+ UpdateStroageCageByCell(Integer.parseInt(cell),1);
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ //鏌ヨ璁㈠崟浠诲姟
+ public List<FlowCard> SelectOrderTask() {
+ List<FlowCard> OrderTask=homeMapper.SelectOrderTask();
+ for (FlowCard flowcard : OrderTask) {
+ flowcard.setglassinfo(homeMapper.SelectOrderView(flowcard.getFlowcard()));
+ }
+ return OrderTask;
+ }
+
+ //寮�濮嬩换鍔�
+ public Result ClaimTasks(String flowcard, Integer state) {
+ if(state==1){
+ homeMapper.ClaimTasks(flowcard,0);
+ }else{
+ homeMapper.ClaimTasks(flowcard,1);
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ //浠诲姟妯″紡淇敼
+ public Result ModeChange(String flowcard, Integer method) {
+ if(method==1){
+ homeMapper.ModeChange(flowcard,0);
+ }else{
+ homeMapper.ModeChange(flowcard,1);
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ //淇敼娴嬮噺淇℃伅
+ public Result UpdateQueue(GlassInfo glassInfo) {
+ homeMapper.UpdateQueue(glassInfo.getFlowcard(),glassInfo.getWidth(),glassInfo.getHeight(),glassInfo.getGlasstype());
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
}
--
Gitblit v1.8.0