From 4110b7475eccf48283ff22c0e4545850849d445d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 30 七月 2025 14:03:06 +0800
Subject: [PATCH] 代码提交
---
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 169 ++--
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 37 +
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo | 0
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json | 181 ++--
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 2
项目代码/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue | 199 +++++
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs | 5
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj | 2
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs | 71 ++
项目代码/WCS/WIDESEAWCS_Client/src/views/LineComponent copy.vue | 16
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs | 61 +
项目代码/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue | 174 ++++
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs | 673 +++++++++++++++++++
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs | 4
项目代码/WCS/WIDESEAWCS_Client/src/views/Home.vue | 421 +++++++----
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/HandTask/StackerHandTask.cs | 16
16 files changed, 1,646 insertions(+), 385 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
index 0ad79c8..d89ec78 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/Home.vue"
@@ -11,8 +11,10 @@
<el-col :span="8">
<div class="line-container">
<div class="RGVline"></div>
- <div :class="updateRGVOne()" :style="{ marginTop: RGV01.LevelPoint + 'px' }" ref="childDot" @click="mouseClick">1</div>
- <div :class="updateRGVTwo()" :style="{ marginTop: RGV02.LevelPoint + 'px' }" ref="childDot" @click="mouseClick">2</div>
+ <div :class="updateRGVOne()" :style="{ marginTop: RGV01.LevelPoint + 'px' }"
+ @click="mouseClickRGVFirst">1</div>
+ <div :class="updateRGVTwo()" :style="{ marginTop: RGV02.LevelPoint + 'px' }"
+ @click="mouseClickSecond">2</div>
</div>
</el-col>
<el-col :span="8">
@@ -21,7 +23,8 @@
<div class="positionY-group">
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
- :positionY="line.positionY" :condition="line.condition" />
+ :positionY="line.positionY" :condition="line.condition"
+ url="api/Equipment/GetLineInfoByNo" />
</div>
</div>
<div style="margin-top: 118px;"></div>
@@ -29,7 +32,8 @@
<div class="positionY-group">
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
- :positionY="line.positionY" :condition="line.condition" />
+ :positionY="line.positionY" :condition="line.condition"
+ url="api/Equipment/GetLineInfoByNo" />
</div>
</div>
<div style="margin-top: 115px;"></div>
@@ -37,7 +41,8 @@
<div class="positionY-group">
<LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex"
:equipNo="line.equipNo" :imgType="line.imgType" :positionX="line.positionX"
- :positionY="line.positionY" :condition="line.condition" />
+ :positionY="line.positionY" :condition="line.condition"
+ url="api/Equipment/GetLineInfoByNo" />
</div>
</div>
<div style="margin-top: 112px;"></div>
@@ -103,57 +108,6 @@
</div>
</div>
</el-col>
- <!-- <el-col :span="8">
- <div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- <div style="margin-top: 105px;"></div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- <div style="margin-top: 105px;"></div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- <div style="margin-top: 105px;"></div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- <div style="margin-top: 100px;"></div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- <div style="margin-top: 100px;"></div>
- <div v-for="(group, index) in groupedLines(linescopy3)" :key="index">
- <div class="positionY-group">
- <LineInfoCopy v-for="(line, lineIndex) in group.lines" :key="lineIndex" :equipNo="line.equipNo"
- :imgType="line.imgType" :positionX="line.positionX" :positionY="line.positionY"
- url="api/Equipment/GetLineInfoByNo" :condition="line.condition" />
- </div>
- </div>
- </div>
- </el-col> -->
</el-row>
<el-row :gutter="20" class="cardWidthrow">
<el-col :span="12">
@@ -170,9 +124,110 @@
</el-col>
</el-row>
-
+
</div>
-
+ <el-dialog v-model="RGVFirst" title="RGV淇℃伅鏌ョ湅" :before-close="handleClose">
+ <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium">
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="璁惧缂栧彿锛�">
+ <!-- <el-input v-model="equipNo"></el-input> -->
+ <j-el-description :value="RGV01.DeviceName" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="璁惧鐘舵��:">
+ <j-el-description :value="RGV01.Fault" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="宸ヤ綔妯″紡:">
+ <j-el-description :value="RGV01.Automatic" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浠诲姟鍙凤細">
+ <j-el-description :value="RGV01.CurrentTaskNum" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浣滀笟鐘舵��:">
+ <j-el-description :value="RGV01.Running" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="褰撳墠姘村钩浣嶇疆锛�">
+ <j-el-description :value="RGV01.LevelPoint" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-divider />
+ <h4 style="margin-bottom: 50px;">鎵嬪姩鎿嶄綔</h4>
+ <el-form ref="form" :model="formFirst" label-width="90px">
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浠诲姟鍛戒护" prop="TargetAddress">
+ <el-select size="large" v-model="formFirst.TaskType" placeholder="璇烽�夋嫨浠诲姟鍛戒护">
+ <el-option label="鍏ュ簱" value="17" />
+ <el-option label="鍑哄簱" value="18" />
+ <el-option label="绉诲簱" value="20" />
+ <el-option label="鍙栬揣" value="24" />
+ <el-option label="鏀捐揣" value="48" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="璧风偣琛屽垪灞�:">
+ <el-input size="large" v-model="formFirst.SourceAddress" style="width: 800px"
+ placeholder="璇疯緭鍏ヨ捣鐐硅鍒楀眰" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="缁堢偣琛屽垪灞�:">
+ <el-input size="large" v-model="formFirst.TargetAddress" style="width: 800px"
+ placeholder="璇疯緭鍏ョ粓鐐硅鍒楀眰" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-divider />
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="primary" size="small" plain @click="start">
+ <i class="el-icon-check">鍚姩</i>
+ </el-button>
+
+ </el-col>
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="warning" size="small" plain @click="reset">
+ <i class="el-icon-check">澶嶄綅</i>
+ </el-button>
+
+ </el-col>
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="emergencyStop">
+ <i class="el-icon-check">鎬ュ仠</i>
+ </el-button>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button @click="RGVFirst = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="RGVFirst = false">
+ 纭
+ </el-button>
+ </div>
+ </template>
+ </el-dialog>
</template>
<script>
@@ -182,7 +237,7 @@
import LineInfoCopy from "./LineInfocopy.vue";
import LineComponent from './LineComponent.vue';
import eventBus from "../uitils/eventBus";
-
+import JElDescription from "./JElDescription";
export default {
data() {
@@ -545,7 +600,12 @@
CurrentTaskNum: "",
Running: "",
DeviceName: "",
+ DeviceCOde: "",
+ StackerAlarm:"",
},
+ RGVFirst: false,
+ RGVSecond: false,
+ RGVThird: false,
xValue1: 0,
xValue2: 0,
xValue3: 0,
@@ -554,38 +614,45 @@
xValue6: 0,
timer1: null, // 瀹氭椂鍣ㄥ彉閲�
timer2: null, // 瀹氭椂鍣ㄥ彉閲�
- RGV01:{
+ RGV01: {
Automatic: "",
Fault: "",
- LevelPoint:0,
+ LevelPoint: 0,
CurrentTaskNum: "",
Running: "",
DeviceName: "",
- DeviceCode:"RGV01",
+ DeviceCode: "RGV01",
},
- RGV02:{
+ RGV02: {
Automatic: "",
Fault: "",
- LevelPoint:1280,
+ LevelPoint: 1280,
CurrentTaskNum: "",
Running: "",
DeviceName: "",
- DeviceCode:"RGV02",
+ DeviceCode: "RGV02",
},
- RGV03:{
+ RGV03: {
Automatic: "",
Fault: "",
- LevelPoint:0,
+ LevelPoint: 0,
CurrentTaskNum: "",
Running: "",
DeviceName: "",
- DeviceCode:"",
+ DeviceCode: "",
+ },
+ formFirst: {
+ TaskType: "",
+ SourceAddress: "",
+ TargetAddress: "",
+ DeviceCode: "",
},
};
},
components: {
LineInfoCopy,
LineComponent,
+ JElDescription,
},
methods: {
groupedLines(linescopy) {
@@ -602,42 +669,51 @@
});
return Object.values(groups);
},
- updateRGVOne(){
- if(this.RGV01.Automatic=="鑱旀満妯″紡"&&this.RGV01.Fault!="鏁呴殰"&&this.RGV01.Running=="寰呮満"){
- return 'dot-Automatic ';
- }
- else if(this.RGV01.Automatic=="鑱旀満妯″紡"&&this.RGV01.Fault!="鏁呴殰"&&this.RGV01.Running=="杩愯涓�"){
- return 'dot-Running ';
- }else if(this.RGV01.Fault=="鏁呴殰"){
- return 'dot-Fault ';
- }else{
- return 'dot-Fault ';
- }
+ updateRGVOne() {
+ if (this.RGV01.Automatic == "鑱旀満妯″紡" && this.RGV01.Fault != "鏁呴殰" && this.RGV01.Running == "寰呮満") {
+ return 'dot-Automatic ';
+ }
+ else if (this.RGV01.Automatic == "鑱旀満妯″紡" && this.RGV01.Fault != "鏁呴殰" && this.RGV01.Running == "杩愯涓�") {
+ return 'dot-Running ';
+ } else if (this.RGV01.Fault == "鏁呴殰") {
+ return 'dot-Fault ';
+ } else {
+ return 'dot-Fault ';
+ }
},
- updateRGVTwo(){
- if(this.RGV02.Automatic=="鑱旀満妯″紡"&&this.RGV02.Fault!="鏁呴殰"&&this.RGV02.Running=="寰呮満"){
- return 'dot-Automatic ';
- }
- else if(this.RGV02.Automatic=="鑱旀満妯″紡"&&this.RGV01.Fault!="鏁呴殰"&&this.RGV02.Running=="杩愯涓�"){
- return 'dot-Running ';
- }else if(this.RGV02.Fault=="鏁呴殰"){
- return 'dot-Fault ';
- }else{
- return 'dot-Fault ';
- }
+ updateRGVTwo() {
+ if (this.RGV02.Automatic == "鑱旀満妯″紡" && this.RGV02.Fault != "鏁呴殰" && this.RGV02.Running == "寰呮満") {
+ return 'dot-Automatic ';
+ }
+ else if (this.RGV02.Automatic == "鑱旀満妯″紡" && this.RGV01.Fault != "鏁呴殰" && this.RGV02.Running == "杩愯涓�") {
+ return 'dot-Running ';
+ } else if (this.RGV02.Fault == "鏁呴殰") {
+ return 'dot-Fault ';
+ } else {
+ return 'dot-Fault ';
+ }
},
- updateRGV03(){
- if(this.RGV03.Automatic=="鑱旀満妯″紡"&&this.RGV03.Fault!="鏁呴殰"&&this.RGV03.Running=="寰呮満"){
- return 'dot-Automatic ';
- }
- else if(this.RGV03.Automatic=="鑱旀満妯″紡"&&this.RGV03.Fault!="鏁呴殰"&&this.RGV03.Running=="杩愯涓�"){
- return 'dot-Running ';
- }else if(this.RGV03.Fault=="鏁呴殰"){
- return 'dot-Fault ';
- }else{
- return 'dot-Fault ';
- }
+ updateRGV03() {
+ if (this.RGV03.Automatic == "鑱旀満妯″紡" && this.RGV03.Fault != "鏁呴殰" && this.RGV03.Running == "寰呮満") {
+ return 'dot-Automatic ';
+ }
+ else if (this.RGV03.Automatic == "鑱旀満妯″紡" && this.RGV03.Fault != "鏁呴殰" && this.RGV03.Running == "杩愯涓�") {
+ return 'dot-Running ';
+ } else if (this.RGV03.Fault == "鏁呴殰") {
+ return 'dot-Fault ';
+ } else {
+ return 'dot-Fault ';
+ }
},
+ mouseClickRGVFirst() {
+ this.fullscreenLoading = true;
+ this.RGVFirst = true;
+ this.fullscreenLoading = false;
+ }, mouseClickSecond() {
+ this.fullscreenLoading = true;
+ this.RGVSecond = true;
+ this.fullscreenLoading = false;
+ }
},
computed: {
@@ -646,7 +722,7 @@
},
created() {
eventBus.on('stackerData', eventData => {
-
+
const stackerComponentsMap = {
"SC01": 'stacker1',
"SC02": 'stacker2',
@@ -657,13 +733,16 @@
};
const componentKey = stackerComponentsMap[eventData.data.deviceCode];
if (componentKey) {
- this.StackerCrane.Automatic=eventData.data.automatic;
- this.StackerCrane.Fault=eventData.data.fault;
- this.StackerCrane.Running=eventData.data.running;
- this.StackerCrane.CurrentColumn=eventData.data.currentColumn;
- this.StackerCrane.CurrentLayer=eventData.data.currentLayer;
- this.StackerCrane.LevelPoint=eventData.data.levelPoint;
- this.StackerCrane.DeviceName=eventData.data.deviceName;
+ this.StackerCrane.Automatic = eventData.data.automatic;
+ this.StackerCrane.Fault = eventData.data.fault;
+ this.StackerCrane.Running = eventData.data.running;
+ this.StackerCrane.CurrentColumn = eventData.data.currentColumn;
+ this.StackerCrane.CurrentLayer = eventData.data.currentLayer;
+ this.StackerCrane.LevelPoint = eventData.data.levelPoint;
+ this.StackerCrane.DeviceName = eventData.data.deviceName;
+ this.StackerCrane.DeviceCode = eventData.data.deviceCode;
+ this.StackerCrane.StackerAlarm = eventData.data.stackerAlarm;
+
this.$nextTick(() => {
this.$refs[componentKey].moveDot(this.StackerCrane);
});
@@ -671,26 +750,25 @@
});
eventBus.on('RGVData', eventData => {
-
- if(eventData.data.deviceCode=="RGV01"){
- this.RGV01.Automatic=eventData.data.automatic;
- this.RGV01.Fault=eventData.data.fault;
- this.RGV01.Running=eventData.data.running;
- this.RGV01.LevelPoint=eventData.data.levelPoint;
- this.RGV01.DeviceName=eventData.data.deviceName;
- console.log(this.RGV01.LevelPoint)
- }else if(eventData.data.deviceCode=="RGV02"){
- this.RGV02.Automatic=eventData.data.automatic;
- this.RGV02.Fault=eventData.data.fault;
- this.RGV02.Running=eventData.data.running;
- this.RGV02.LevelPoint=eventData.data.levelPoint;
- this.RGV02.DeviceName=eventData.data.deviceName;
- }else if(eventData.data.deviceCode=="RGV03"){
- this.RGV03.Automatic=eventData.data.automatic;
- this.RGV03.Fault=eventData.data.fault;
- this.RGV03.Running=eventData.data.running;
- this.RGV03.LevelPoint=eventData.data.levelPoint;
- this.RGV03.DeviceName=eventData.data.deviceName;
+
+ if (eventData.data.deviceCode == "RGV01") {
+ this.RGV01.Automatic = x.Automatic == null ? "鏁呴殰" : x.Automatic;
+ this.RGV01.Fault = x.Fault == null ? "鏁呴殰" : x.Fault;
+ this.RGV01.Running = x.Running == null ? "鏁呴殰" : x.Running;
+ this.RGV01.LevelPoint = x.LevelPoint;
+ this.RGV01.DeviceName = x.DeviceName;
+ } else if (eventData.data.deviceCode == "RGV02") {
+ this.RGV02.Automatic = x.Automatic == null ? "鏁呴殰" : x.Automatic;
+ this.RGV02.Fault = x.Fault == null ? "鏁呴殰" : x.Fault;
+ this.RGV02.Running = x.Running == null ? "鏁呴殰" : x.Running;
+ this.RGV02.LevelPoint = x.LevelPoint;
+ this.RGV02.DeviceName = x.DeviceName;
+ } else if (eventData.data.deviceCode == "RGV03") {
+ this.RGV03.Automatic = x.Automatic == null ? "鏁呴殰" : x.Automatic;
+ this.RGV03.Fault = x.Fault == null ? "鏁呴殰" : x.Fault;
+ this.RGV03.Running = x.Running == null ? "鏁呴殰" : x.Running;
+ this.RGV03.LevelPoint = x.LevelPoint;
+ this.RGV03.DeviceName = x.DeviceName;
}
});
@@ -762,52 +840,54 @@
color: rgba(0, 195, 255, 0.822);
margin-bottom: 12px;
}
+
.dot-Running {
- position: absolute;
- top: -5px;
- width: 20px;
+ position: absolute;
+ top: -5px;
+ width: 20px;
height: 20px;
- border-radius: 50%;
- background-color: #409eff;
- transition: transform 0.3s ease;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 9px;
- font-weight: bold;
- color: white;
+ border-radius: 50%;
+ background-color: #409eff;
+ transition: transform 0.3s ease;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 9px;
+ font-weight: bold;
+ color: white;
}
+
.dot-Automatic {
- position: absolute;
- top: -5px;
- width: 20px;
+ position: absolute;
+ top: -5px;
+ width: 20px;
height: 20px;
- border-radius: 50%;
- background-color: #0df705;
- transition: transform 0.3s ease;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 9px;
- font-weight: bold;
- color: white;
+ border-radius: 50%;
+ background-color: #0df705;
+ transition: transform 0.3s ease;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 9px;
+ font-weight: bold;
+ color: white;
}
.dot-Fault {
- position: absolute;
- top: -5px;
- width: 20px;
+ position: absolute;
+ top: -5px;
+ width: 20px;
height: 20px;
/* right:0px; */
- border-radius: 50%;
- background-color: #f80410;
- transition: transform 0.3s ease;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 9px;
- font-weight: bold;
- color: white;
+ border-radius: 50%;
+ background-color: #f80410;
+ transition: transform 0.3s ease;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 9px;
+ font-weight: bold;
+ color: white;
}
@@ -816,9 +896,10 @@
height: 1280px;
background-color: #ecf5ff;
width: 20px;
- top:30px;
- left:200px
+ top: 30px;
+ left: 200px
}
+
.RGVline {
position: absolute;
top: 0;
@@ -827,6 +908,7 @@
height: 2px;
background-color: #a0cfff;
}
+
.line {
position: absolute;
top: 0;
@@ -835,4 +917,7 @@
height: 2px;
background-color: #a0cfff;
}
-</style>
\ No newline at end of file
+
+:deep(.j-el-description) {
+ background-color: #e40e0e;
+}</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent copy.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent copy.vue"
index 5c5043c..cf55c98 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent copy.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent copy.vue"
@@ -83,6 +83,22 @@
</el-form-item>
</el-col>
</el-row>
+
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浣滀笟鐘舵��:">
+ <el-input v-model="input" style="width: 240px" placeholder="Please input" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="褰撳墠琛屽垪灞傦細">
+ <j-el-description
+ :value="StackerCrane.CurrentRow + '-' + StackerCrane.CurrentColumn + '-' + StackerCrane.CurrentLayer"
+ type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
</el-form>
<template #footer>
<div class="dialog-footer">
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue"
index d377da6..0aebd5a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue"
@@ -20,7 +20,9 @@
<div class="line-container">
<div class="line"></div>
<!-- <div class="dot" :style="{ right: dotPosition + 'px' }" ref="childDot" @click="mouseClick"></div> -->
- <div :class="update()" :style="{ transform: `translateX(${StackerCrane.CurrentColumn<33?StackerCrane.CurrentColumn * 30-29:0}px)` }" ref="childDot" @click="mouseClick"></div>
+ <div :class="update()"
+ :style="{ transform: `translateX(${StackerCrane.CurrentColumn < 33 ? StackerCrane.CurrentColumn * 30 - 29 : 0}px)` }"
+ ref="childDot" @click="mouseClick"></div>
</div>
<div>
<el-row style="padding-top: 5px;">
@@ -41,19 +43,17 @@
</el-row>
</div>
- <el-dialog v-model="dialogVisible" title="淇℃伅鏌ョ湅" :before-close="handleClose">
- <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="100px" size="medium">
+ <el-dialog v-model="dialogVisible" title="鍫嗗灈鏈轰俊鎭煡鐪�" :before-close="handleClose">
+ <el-form ref="$form" :model="StackerCrane" label-position="left" label-width="120px" size="medium">
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="璁惧缂栧彿锛�">
- <!-- <el-input v-model="equipNo"></el-input> -->
<j-el-description :value="StackerCrane.DeviceName" type="primary" ellipsis></j-el-description>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="璁惧鐘舵��:">
- <j-el-description :value="StackerCrane.Fault" type="primary"
- ellipsis></j-el-description>
+ <j-el-description :value="StackerCrane.Fault" type="primary" ellipsis></j-el-description>
</el-form-item>
</el-col>
</el-row>
@@ -69,7 +69,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="浣滀笟鐘舵��:">
<j-el-description :value="StackerCrane.Running" type="primary" ellipsis></j-el-description>
@@ -81,6 +81,64 @@
:value="StackerCrane.CurrentRow + '-' + StackerCrane.CurrentColumn + '-' + StackerCrane.CurrentLayer"
type="primary" ellipsis></j-el-description>
</el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div" style="margin-bottom: 10px;">
+ <el-col :span="24" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="鎶ヨ淇℃伅:">
+ <j-el-description :value="StackerCrane.StackerAlarm" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-divider />
+ <h4 style="margin-bottom: 50px;">鎵嬪姩鎿嶄綔</h4>
+ <el-form ref="form" :model="form" label-width="90px">
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浠诲姟鍛戒护" prop="TargetAddress">
+ <el-select size="large" v-model="form.TaskType" placeholder="璇烽�夋嫨浠诲姟鍛戒护">
+ <el-option label="鍏ュ簱" value="17" />
+ <el-option label="鍑哄簱" value="18" />
+ <el-option label="绉诲簱" value="20" />
+ <el-option label="鍙栬揣" value="24" />
+ <el-option label="鏀捐揣" value="48" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="璧风偣琛屽垪灞�:">
+ <el-input size="large" v-model="form.SourceAddress" style="width: 800px" placeholder="璇疯緭鍏ヨ捣鐐硅鍒楀眰" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="缁堢偣琛屽垪灞�:">
+ <el-input size="large" v-model="form.TargetAddress" style="width: 800px" placeholder="璇疯緭鍏ョ粓鐐硅鍒楀眰" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-divider />
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="primary" size="small" plain @click="start">
+ <i class="el-icon-check">鍚姩</i>
+ </el-button>
+
+ </el-col>
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="warning" size="small" plain @click="reset">
+ <i class="el-icon-check">澶嶄綅</i>
+ </el-button>
+
+ </el-col>
+ <el-col :span="8" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="emergencyStop">
+ <i class="el-icon-check">鎬ュ仠</i>
+ </el-button>
</el-col>
</el-row>
</el-form>
@@ -116,7 +174,15 @@
CurrentTaskNum: "",
Running: "",
DeviceName: "",
- }
+ DeviceCode: "",
+ StackerAlarm:"",
+ },
+ form: {
+ TaskType: "",
+ SourceAddress: "",
+ TargetAddress: "",
+ DeviceCode: "",
+ },
};
},
props: {
@@ -135,31 +201,84 @@
},
methods: {
moveDot(x) {
- this.StackerCrane.Automatic=x.Automatic==null?"鏁呴殰":x.Automatic;
- this.StackerCrane.Fault=x.Fault==null?"鏁呴殰":x.Fault;
- this.StackerCrane.Running=x.Running==null?"鏁呴殰":x.Running;
- this.StackerCrane.CurrentColumn=x.CurrentColumn==undefined?1:x.CurrentColumn;
- this.StackerCrane.CurrentLayer=x.CurrentLayer==undefined?1:x.CurrentLayer;
- this.StackerCrane.LevelPoint=x.LevelPoint;
- this.StackerCrane.DeviceName=x.DeviceName;
+ this.StackerCrane.Automatic = x.Automatic == null ? "鏁呴殰" : x.Automatic;
+ this.StackerCrane.Fault = x.Fault == null ? "鏁呴殰" : x.Fault;
+ this.StackerCrane.Running = x.Running == null ? "鏁呴殰" : x.Running;
+ this.StackerCrane.CurrentColumn = x.CurrentColumn == undefined ? 1 : x.CurrentColumn;
+ this.StackerCrane.CurrentLayer = x.CurrentLayer == undefined ? 1 : x.CurrentLayer;
+ this.StackerCrane.LevelPoint = x.LevelPoint;
+ this.StackerCrane.DeviceName = x.DeviceName;
+ this.StackerCrane.StackerAlarm = x.StackerAlarm;
+ this.form.DeviceCode = x.DeviceCode;
},
- update(){
- if(this.StackerCrane.Automatic=="鑱旀満妯″紡"&&this.StackerCrane.Fault!="鏁呴殰"&&this.StackerCrane.Running=="寰呮満"){
- return 'dot-Automatic ';
- }
- else if(this.StackerCrane.Automatic=="鑱旀満妯″紡"&&this.StackerCrane.Fault!="鏁呴殰"&&this.StackerCrane.Running=="杩愯涓�"){
- return 'dot-Running ';
- }else if(this.StackerCrane.Fault=="鏁呴殰"){
- return 'dot-Fault ';
- }else{
- return 'dot-Fault ';
- }
- },
+ update() {
+ if (this.StackerCrane.Automatic == "鑱旀満妯″紡" && this.StackerCrane.Fault != "鏁呴殰" && this.StackerCrane.Running == "寰呮満") {
+ return 'dot-Automatic ';
+ }
+ else if (this.StackerCrane.Automatic == "鑱旀満妯″紡" && this.StackerCrane.Fault != "鏁呴殰" && this.StackerCrane.Running == "杩愯涓�") {
+ return 'dot-Running ';
+ } else if (this.StackerCrane.Fault == "鏁呴殰") {
+ return 'dot-Fault ';
+ } else {
+ return 'dot-Fault ';
+ }
+ },
mouseClick() {
this.fullscreenLoading = true;
this.dialogVisible = true;
this.fullscreenLoading = false;
},
+ start() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/StackerHandTask", this.form)
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success("鍫嗗灈鏈哄懡浠ゅ凡涓嬪彂");
+ // $vue.success("鎴愬姛.");
+ this.show = false;
+ $vue.refresh();
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ }, reset() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/StackerReset?DeviceCode=" + this.form.DeviceCode)
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success("澶嶄綅鎴愬姛");
+ // $vue.success("鎴愬姛.");
+ this.show = false;
+ $vue.refresh();
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+
+ emergencyStop() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/StackerEmergencyStop?DeviceCode=" + this.form.DeviceCode)
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success("鎬ュ仠宸叉寜涓�");
+ // $vue.success("鎴愬姛.");
+ // this.show = false;
+ // $vue.refresh();
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ }
},
};
</script>
@@ -196,6 +315,7 @@
font-weight: bold;
color: white;
}
+
.dot-Automatic {
position: absolute;
top: -5px;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
index 015c540..544ed9e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue"
@@ -1,10 +1,11 @@
<template>
- <div :class="update()" :style="{ left: left, top: top, marginBottom:0+'px',marginTop:15+'px'} " @click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading">
+ <div :class="update()" :style="{ left: left, top: top, marginBottom: 0 + 'px', marginTop: 15 + 'px' }"
+ @click="mouseClick" v-loading.fullscreen.lock="fullscreenLoading">
<img v-if="imgType === '2'" src="../../public/lines.png" />
<img v-if="imgType === '1'" src="../../public/lines2.png" />
<label v-if="equipNo" class="equip-no">{{ equipNo }}</label>
</div>
- <el-dialog v-model="dialogVisible" title="淇℃伅鏌ョ湅" :before-close="handleClose">
+ <el-dialog v-model="dialogVisible" title="杈撻�佺嚎淇℃伅鏌ョ湅" :before-close="handleClose">
<el-form ref="$form" :model="lineItemInfo" label-position="left" label-width="100px" size="medium">
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
@@ -14,26 +15,78 @@
</el-col>
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="鏄惁鏈夌洏:">
- <j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary"
- ellipsis></j-el-description>
+ <j-el-description :value="lineItemInfo.r_Line_HasPallet" type="primary" ellipsis></j-el-description>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="鎵樼洏鏉$爜:">
- <j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary"
- ellipsis></j-el-description>
+ <j-el-description :value="lineItemInfo.r_Line_Barcode" type="primary" ellipsis></j-el-description>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0" :push="0" :pull="0" tag="div">
<el-form-item label="鎶ヨ浠g爜锛�">
- <j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary"
- ellipsis></j-el-description>
+ <j-el-description :value="lineItemInfo.r_Line_ErrorCode" type="primary" ellipsis></j-el-description>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ </el-form><el-divider />
+ <h4 style="margin-bottom: 20px;">鎵嬪姩鎿嶄綔</h4>
+ <el-form ref="form" :model="form" label-width="100px">
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="浠� 鍔� 鍛� 浠�" prop="TargetAddress">
+ <el-select size="large" v-model="form.TaskType" placeholder="璇烽�夋嫨浠诲姟鍛戒护">
+ <el-option label="鍏ュ簱" value="1" />
+ <el-option label="鍑哄簱" value="2" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
+ <el-form-item label="涓嬩竴鐩爣鍦板潃:">
+ <el-input size="large" v-model="form.SourceAddress" placeholder="璇疯緭鍏ヨ捣鐐硅鍒楀眰" />
</el-form-item>
</el-col>
</el-row>
</el-form>
+ <el-divider />
+ <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="primary" size="small" plain @click="SendCommand">
+ <i class="el-icon-check">鍙戦�佸懡浠�</i>
+ </el-button>
+ </el-col>
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="warning" size="small" plain @click="ConveyorLineReset">
+ <i class="el-icon-check">澶嶄綅</i>
+ </el-button>
+
+ </el-col>
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="ConveyorLineEmergencyStop">
+ <i class="el-icon-check">鍋滄</i>
+ </el-button>
+ </el-col>
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="ConveyorLineReturn">
+ <i class="el-icon-check">閫�鍥�</i>
+ </el-button>
+ </el-col>
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="ConveyorLineCancel">
+ <i class="el-icon-check">鍙栨秷浠诲姟</i>
+ </el-button>
+ </el-col>
+ <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
+ <el-button type="danger" size="small" plain @click="ConveyorLineInitialize">
+ <i class="el-icon-check">宸ヤ綅鍒濆鍖�</i>
+ </el-button>
+ </el-col>
+ </el-row>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogVisible = false">鍙栨秷</el-button>
@@ -77,7 +130,7 @@
type: String,
default: "",
},
- condition:{
+ condition: {
type: Boolean,
default: false,
},
@@ -94,6 +147,11 @@
r_Line_ErrorCode: "",
r_Line_Target: "",
},
+ form: {
+ TaskType: "",
+ TargetAddress: "",
+ DeviceCode: "",
+ },
};
},
mounted() {
@@ -109,25 +167,110 @@
this.fullscreenLoading = true;
this.dialogVisible = true;
// 澶勭悊鐐瑰嚮浜嬩欢
- if (this.url != "") {
- this.http.post(this.url + "?equipNo=" + this.equipNo, null, "")
- .then((x) => {
- if (x.status) {
- this.lineItemInfo = x.data;
- } else {
- this.$message({
- type: "error",
- message: x.message,
- });
- }
- });
- }
+ this.http.post("api/DeviceInfo/GetConveyorLineInfo?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (x.status) {
+ this.lineItemInfo = x.data;
+ } else {
+ this.$message({
+ type: "error",
+ message: x.message,
+ });
+ }
+ });
+
this.fullscreenLoading = false;
- // this.dialogVisible = false;
},
-
- update(){
- return !this.condition ? 'custom-img' : 'custom-img-color'
+
+ SendCommand() {
+ this.fullscreenLoading = true;
+ this.form.DeviceCode=this.equipNo;
+ this.http.post("api/DeviceInfo/ConveyorLineHandTask" ,this.form)
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ ConveyorLineReset() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/ConveyorLineReset?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ ConveyorLineEmergencyStop() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/ConveyorLineEmergencyStop?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ ConveyorLineReturn() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/ConveyorLineReturn?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ ConveyorLineCancel() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/ConveyorLineCancel?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ ConveyorLineInitialize() {
+ this.fullscreenLoading = true;
+ this.http.post("api/DeviceInfo/ConveyorLineInitialize?DeviceChildCode=" + this.equipNo, null, "")
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message);
+ } else {
+ this.$Message.success(x.message);
+ }
+ })
+ .finally(() => {
+ this.fullscreenLoading = false;
+ });
+ },
+ update() {
+ return !this.condition ? 'custom-img' : 'custom-img-color'
},
startTimer() {
// 寮�鍚畾鏃跺櫒锛屾瘡3绉掓墽琛屼竴娆�
@@ -145,10 +288,11 @@
display: inline-block;
/* background-color: #d9ecff ; */
}
+
.custom-img-color {
position: relative;
display: inline-block;
- background-color: #05fa7f ;
+ background-color: #05fa7f;
color: white;
text-align: center;
}
@@ -168,6 +312,7 @@
width: 40px;
height: 40px;
}
+
.custom-img-color img {
width: 40px;
height: 40px;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
index f147b03..784ae71 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index cc8311d..7722730 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,36 +3,40 @@
"WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -54,107 +58,120 @@
},
{
"$type": "Document",
- "DocumentIndex": 6,
- "Title": "TaskStatusEnum.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
- "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
- "ViewState": "AgIAAEUAAAAAAAAAAAAewFQAAAAMAAAAAAAAAA==",
+ "DocumentIndex": 1,
+ "Title": "StackerCraneDBName.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-29T03:10:22.341Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "CommonConveyorLineJob.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
- "ViewState": "AgIAALEAAAAAAAAAAAAvwNIAAAAlAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-24T03:47:03.579Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
- "Title": "CommonRGV_FirstFloorJob.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "ViewState": "AgIAAMsCAAAAAAAAAAD4v+QCAAA7AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-28T02:06:53.534Z",
+ "WhenOpened": "2025-07-30T05:32:19.549Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
+ "Title": "DeviceInfoService.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "ViewState": "AgIAAOQBAAAAAAAAAAA4wPgBAAA/AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T01:59:05.153Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
"Title": "RequestInbound.cs",
"DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
"ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
"RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
- "ViewState": "AgIAABQAAAAAAAAAAAAowC4AAAAxAAAAAAAAAA==",
+ "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-24T04:21:01.123Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 4,
- "Title": "CommonRGVJob.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
- "ViewState": "AgIAAJIAAAAAAAAAAAAAAKsAAACWAAAAAAAAAA==",
+ "DocumentIndex": 7,
+ "Title": "TaskStatusEnum.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
+ "RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
+ "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-28T04:13:17.74Z",
+ "WhenOpened": "2025-07-29T03:10:22.341Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "CommonConveyorLineJob.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
+ "ViewState": "AgIAAAgBAAAAAAAAAAD4vx4BAACTAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-24T03:47:03.579Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "TaskService.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAALkCAAAAAAAAAAAAAJwCAABKAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-24T03:47:03.559Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "ITaskService.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "ViewState": "AgIAAFIAAAAAAAAAAAAnwGIAAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-28T11:23:22.437Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
"Title": "CommonStackerCraneJob.cs",
"DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
"ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
"RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
- "ViewState": "AgIAAMUAAAAAAAAAAAAUwNQAAABEAAAAAAAAAA==",
+ "ViewState": "AgIAAHIAAAAAAAAAAAAuwKgAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-24T03:54:34.335Z",
"EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "IDeviceInfoService.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "ViewState": "AgIAACwAAAAAAAAAAAAcwEcAAAAoAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T02:35:39.48Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "DeviceInfoController.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "ViewState": "AgIAACoAAAAAAAAAAAAMwDkAAAAqAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T02:36:25.787Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "CommonRGVJob.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
+ "ViewState": "AgIAAJwAAAAAAAAAAAAQwKsAAACWAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-28T04:13:17.74Z",
+ "EditorCaption": ""
}
]
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index fb1863b..8ddf200 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -3,24 +3,28 @@
"WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -31,8 +35,8 @@
"RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\enum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -42,7 +46,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 7,
"Children": [
{
"$type": "Bookmark",
@@ -54,13 +58,52 @@
},
{
"$type": "Document",
- "DocumentIndex": 6,
+ "DocumentIndex": 1,
+ "Title": "StackerCraneDBName.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneDBName.cs",
+ "ViewState": "AgIAAG4AAAAAAAAAAADwv5EAAAAQAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T05:32:19.549Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "DeviceInfoService.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
+ "ViewState": "AgIAAOQBAAAAAAAAAAA4wPgBAAA/AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T01:59:05.153Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "RequestInbound.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
+ "ViewState": "AgIAADQAAAAAAAAAAAAWwDgAAACkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-24T04:21:01.123Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
"Title": "TaskStatusEnum.cs",
"DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
"ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
"RelativeToolTip": "WIDESEAWCS_DTO\\Enum\\TaskStatusEnum.cs",
- "ViewState": "AgIAAEUAAAAAAAAAAAAewFQAAAAMAAAAAAAAAA==",
+ "ViewState": "AgIAAMcAAAAAAAAAAAAAwM8AAAAeAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-29T03:10:22.341Z",
"EditorCaption": ""
@@ -73,7 +116,7 @@
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
"ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
"RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
- "ViewState": "AgIAALEAAAAAAAAAAAAvwNIAAAAlAAAAAAAAAA==",
+ "ViewState": "AgIAAAgBAAAAAAAAAAD4vx4BAACTAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-24T03:47:03.579Z",
"EditorCaption": ""
@@ -81,79 +124,53 @@
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "CommonRGV_FirstFloorJob.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
- "ViewState": "AgIAAL8AAAAAAAAAAAAtwNUAAAAcAAAAAAAAAA==",
+ "Title": "CommonStackerCraneJob.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs*",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs*",
+ "ViewState": "AgIAAGMAAAAAAAAAAAAuwKgAAACSAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-28T02:06:53.534Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "RequestInbound.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
- "ViewState": "AgIAABQAAAAAAAAAAAAowC4AAAAxAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-24T04:21:01.123Z",
+ "WhenOpened": "2025-07-24T03:54:34.335Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
+ "Title": "IDeviceInfoService.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
+ "ViewState": "AgIAACwAAAAAAAAAAAAcwEcAAAAoAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T02:35:39.48Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "DeviceInfoController.cs",
+ "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
+ "ViewState": "AgIAACoAAAAAAAAAAAAMwDkAAAAqAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-07-30T02:36:25.787Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
"Title": "CommonRGVJob.cs",
"DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
"ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
"RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
- "ViewState": "AgIAAJIAAAAAAAAAAAAAAKsAAACWAAAAAAAAAA==",
+ "ViewState": "AgIAAJwAAAAAAAAAAAAQwKsAAACWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-07-28T04:13:17.74Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
- "Title": "TaskService.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAH0CAAAAAAAAAAAuwJwCAABKAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-24T03:47:03.559Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "ITaskService.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
- "ViewState": "AgIAAFIAAAAAAAAAAAAnwGIAAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-28T11:23:22.437Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "CommonStackerCraneJob.cs",
- "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
- "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
- "ViewState": "AgIAAMUAAAAAAAAAAAAUwNQAAABEAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-24T03:54:34.335Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/HandTask/StackerHandTask.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/HandTask/StackerHandTask.cs"
new file mode 100644
index 0000000..c5681e9
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/HandTask/StackerHandTask.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_DTO.StackerHandTask
+{
+ public class HandTask
+ {
+ public string DeviceCode { get; set; }
+ public string TaskType { get; set; }
+ public string SourceAddress { get; set; }
+ public string TargetAddress { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
index f6551e1..c96806a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs"
@@ -16,31 +16,41 @@
#endregion << 鐗� 鏈� 娉� 閲� >>
using AutoMapper;
+using HslCommunication;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.StackerHandTask;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_Model.BasicInfo;
+using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.DeviceEnum;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
+using static WIDESEAWCS_QuartzJob.Service.DeviceInfoService;
namespace WIDESEAWCS_QuartzJob.Service
{
public class DeviceInfoService : ServiceBase<Dt_DeviceInfo, IDeviceInfoRepository>, IDeviceInfoService
{
private readonly IUnitOfWorkManage _unitOfWorkManage;
+ private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly IMapper _mapper;
- public DeviceInfoService(IDeviceInfoRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IMapper mapper) : base(BaseDal)
+ public DeviceInfoService(IDeviceInfoRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, IMapper mapper, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
_mapper = mapper;
+ _stationManagerRepository = stationManagerRepository;
}
public override WebResponseContent AddData(SaveModel saveModel)
@@ -57,5 +67,666 @@
List<Dt_DeviceInfo> deviceInfos = await Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == ((int)DeviceStatusEnum.Enable).ToString()).Includes(x => x.ProtocolList).ToListAsync();
return _mapper.Map<List<DeviceInfoDTO>>(deviceInfos);
}
+
+ #region 鍫嗗灈鏈烘墜鍔ㄥ懡浠�
+
+ public WebResponseContent StackerHandTask(HandTask stackerhand)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
+
+ if (stackerhand == null || stackerhand.TaskType == "")
+ {
+ return content.Error("璇疯緭鍏ヤ换鍔″懡浠�");
+ }
+ stackerCraneTaskCommand.WorkType = (byte)Convert.ToSByte(stackerhand.TaskType);
+ //鍏ュ簱
+ if (stackerhand.TaskType == "17")
+ {
+ string[] sourceCodes = stackerhand.SourceAddress.Split("-");
+ if (sourceCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
+ }
+ else
+ {
+ return content.Error($"璧风偣閿欒锛氥�恵stackerhand.SourceAddress}銆�");
+ }
+
+ string[] targetCodes = stackerhand.TargetAddress.Split("-");
+ if (targetCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+ stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
+ stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
+ }
+ else
+ {
+ return content.Error($"缁堢偣閿欒锛氥�恵stackerhand.TargetAddress}銆�");
+ }
+ }
+ //鍑哄簱
+ else if (stackerhand.TaskType == "18")
+ {
+ string[] sourceCodes = stackerhand.SourceAddress.Split("-");
+ if (sourceCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
+ }
+ else
+ {
+ return content.Error($"璧风偣閿欒锛氥�恵stackerhand.SourceAddress}銆�");
+ }
+ string[] targetCodes = stackerhand.TargetAddress.Split("-");
+ if (targetCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+ stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
+ stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
+ }
+ else
+ {
+ return content.Error($"缁堢偣閿欒锛氥�恵stackerhand.TargetAddress}銆�");
+ }
+ }
+ //绉诲簱
+ else if (stackerhand.TaskType == "20")
+ {
+ string[] sourceCodes = stackerhand.SourceAddress.Split("-");
+ if (sourceCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
+ }
+ else
+ {
+ return content.Error($"璧风偣閿欒锛氥�恵stackerhand.SourceAddress}銆�");
+ }
+
+ string[] targetCodes = stackerhand.TargetAddress.Split("-");
+ if (targetCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+ stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
+ stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
+ }
+ else
+ {
+ return content.Error($"缁堢偣閿欒锛氥�恵stackerhand.TargetAddress}銆�");
+ }
+ }
+ //鍙栬揣
+ else if (stackerhand.TaskType == "24")
+ {
+ string[] sourceCodes = stackerhand.SourceAddress.Split("-");
+ if (sourceCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
+
+ stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(0);
+ stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(0);
+ stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(0);
+ }
+ else
+ {
+ return content.Error($"璧风偣閿欒锛氥�恵stackerhand.SourceAddress}銆�");
+ }
+ }
+ //鏀捐揣
+ else if (stackerhand.TaskType == "48")
+ {
+ string[] targetCodes = stackerhand.TargetAddress.Split("-");
+ if (targetCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(0);
+ stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(0);
+ stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(0);
+
+ stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(targetCodes[0]);
+ stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
+ stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
+ }
+ else
+ {
+ return content.Error($"缁堢偣閿欒锛氥�恵stackerhand.SourceAddress}銆�");
+ }
+ }
+ else
+ {
+ return content.Error("鏈壘鍒颁换鍔″懡浠�");
+ }
+ StackerSendCommand(stackerCraneTaskCommand, stackerhand.DeviceCode);
+ return content;
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent StackerReset(string DeviceCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
+
+ if (device != null)
+ {
+ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
+
+ commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2));
+ return content.OK();
+ }
+ else
+ {
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent StackerEmergencyStop(string DeviceCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
+
+ if (device != null)
+ {
+ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
+
+ commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2));
+ return content.OK();
+ }
+ else
+ {
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public void StackerSendCommand(StackerCraneTaskCommand? command,string DeviceCode)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
+
+ if (device != null)
+ {
+ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
+ if (commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Automatic) && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Fault) && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Running))
+ {
+ commonStackerCrane.SetValue(StackerCraneDBName.TaskNum, (short)Convert.ToInt16(1));
+ Thread.Sleep(100);
+
+ commonStackerCrane.SetValue(StackerCraneDBName.StartRow, command.StartRow);
+ Thread.Sleep(100);
+
+ commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartColumn);
+ Thread.Sleep(100);
+
+ commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartLayer);
+ Thread.Sleep(100);
+
+ commonStackerCrane.SetValue(StackerCraneDBName.EndRow, command.EndRow);
+ Thread.Sleep(100);
+
+ commonStackerCrane.SetValue(StackerCraneDBName.EndColumn, command.EndColumn);
+ Thread.Sleep(100);
+ commonStackerCrane.SetValue(StackerCraneDBName.EndLayer, command.EndLayer);
+ Thread.Sleep(100);
+ commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(command.WorkType));
+ }
+ else
+ {
+ throw new Exception("璇峰湪鍫嗗灈鏈鸿仈鏈烘ā寮忋�佸緟鏈虹姸鎬併�佹棤鏁呴殰鐨勬儏鍐典笅涓嬪彂浠诲姟");
+ }
+ }
+ else
+ {
+ throw new Exception("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ }
+
+
+ public class StackerCraneTaskCommand
+ {
+ #region <Public Menber>
+
+ /// <summary>
+ /// 璧峰琛�
+ /// </summary>
+ public byte StartRow { get; set; }
+
+ /// <summary>
+ /// 璧峰鍒�
+ /// </summary>
+ public byte StartColumn { get; set; }
+
+ /// <summary>
+ /// 璧峰灞�
+ /// </summary>
+ public byte StartLayer { get; set; }
+
+ /// <summary>
+ /// 鐩爣琛�
+ /// </summary>
+ public byte EndRow { get; set; }
+
+ /// <summary>
+ /// 鐩爣鍒�
+ /// </summary>
+ public byte EndColumn { get; set; }
+
+ /// <summary>
+ /// 鐩爣灞�
+ /// </summary>
+ public byte EndLayer { get; set; }
+
+
+ /// <summary>
+ /// 浣滀笟绫诲瀷
+ /// </summary>
+ public byte WorkType { get; set; }
+
+
+ /// <summary>
+ /// 棰勭暀瀛楄妭
+ /// </summary>
+ public byte Spare { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public short TaskNum { get; set; }
+
+ #endregion <Public Menber>
+ }
+ public enum StackerCraneDBName
+ {
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ TaskNum,
+
+ /// <summary>
+ /// 浣滀笟绫诲瀷
+ /// </summary>
+ WorkType,
+
+ /// <summary>
+ /// 璧峰琛�
+ /// </summary>
+ StartRow,
+
+ /// <summary>
+ /// 璧峰鍒�
+ /// </summary>
+ StartColumn,
+
+ /// <summary>
+ /// 璧峰灞�
+ /// </summary>
+ StartLayer,
+
+ /// <summary>
+ /// 鐩爣琛�
+ /// </summary>
+ EndRow,
+
+ /// <summary>
+ /// 鐩爣鍒�
+ /// </summary>
+ EndColumn,
+
+ /// <summary>
+ /// 鐩爣灞�
+ /// </summary>
+ EndLayer,
+
+ /// <summary>
+ /// 鎵樼洏鍙�
+ /// </summary>
+ Barcode,
+
+ /// <summary>
+ /// 璧风偣
+ /// </summary>
+ StartAddress,
+
+ /// <summary>
+ /// 缁堢偣
+ /// </summary>
+ EndAddress,
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚
+ /// </summary>
+ TaskCompleted,
+
+ /// <summary>
+ /// 浠诲姟鍙戦��
+ /// </summary>
+ SendTask,
+
+ /// <summary>
+ /// 鑷姩鐘舵��
+ /// </summary>
+ Automatic,
+
+ /// <summary>
+ /// 浣滀笟瀹屾垚
+ /// </summary>
+ WorkCompleted,
+
+ /// <summary>
+ /// 杩愯涓�
+ /// </summary>
+ Running,
+
+ /// <summary>
+ /// 鏁呴殰
+ /// </summary>
+ Fault,
+
+ /// <summary>
+ /// 浣滀笟绫诲瀷
+ /// </summary>
+ TaskType,
+
+ /// <summary>
+ /// 褰撳墠浠诲姟鍙�
+ /// </summary>
+ CurrentTaskNum,
+
+ /// <summary>
+ /// 鏈夎揣
+ /// </summary>
+ InStock,
+ PickupLocation,
+ PutcargoLocation,
+
+ /// <summary>
+ /// 褰撳墠鍒�
+ /// </summary>
+ CurrentColumn,
+
+ /// <summary>
+ /// 褰撳墠灞�
+ /// </summary>
+ CurrentLayer,
+
+ /// <summary>
+ /// 姘村钩鐐逛綅
+ /// </summary>
+ LevelPoint,
+ }
+
+ #endregion
+
+ #region 杈撻�佺嚎鎵嬪姩鍛戒护
+
+ public WebResponseContent GetConveyorLineInfo(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ ushort x = conveyorLine.GetValue<ConveyorLineDBName, ushort>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode);
+ var structs = BitConverter.GetBytes(x).ToArray().ToBoolArray();
+ short ConveyorLineTaskNum = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.ConveyorLineTaskNum, stationManager.stationChildCode);
+ int ConveyorLineAlarm = conveyorLine.GetValue<ConveyorLineDBName, int>(ConveyorLineDBName.ConveyorLineAlarm, stationManager.stationChildCode);
+ ConveyorLineTaskCommand obj = new()
+ {
+ InStock = structs[2] == true ? "鏈夎揣" : "绌洪棽",
+ TaskNum = ConveyorLineTaskNum.ToString(),
+ Alarm = AlarmInfo(ConveyorLineAlarm)
+ };
+ return content.OK(data:obj);
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent ConveyorLineHandTask(HandTask ConveyorLinehand)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ if (ConveyorLinehand == null || ConveyorLinehand.TaskType == "")
+ {
+ return content.Error("璇疯緭鍏ヤ换鍔″懡浠�");
+ }
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == ConveyorLinehand.DeviceCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ //鍏ュ簱
+ if (ConveyorLinehand.TaskType == "1")
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, Convert.ToInt16(ConveyorLinehand.TargetAddress), stationManager.stationChildCode);
+ Thread.Sleep(100);
+ conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTaskNum, Convert.ToInt16(1), stationManager.stationChildCode);
+ Thread.Sleep(100);
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(ConveyorLinehand.TaskType), stationManager.stationChildCode);
+ return content.OK("鍙戦�佽緭閫佺嚎鍏ュ簱浠诲姟鎴愬姛!");
+ }
+ //鍑哄簱
+ else if (ConveyorLinehand.TaskType == "2")
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTargetAddress, Convert.ToInt16(ConveyorLinehand.TargetAddress), stationManager.stationChildCode);
+ Thread.Sleep(100);
+ conveyorLine.SetValue(ConveyorLineDBName.WriteConveyorLineTaskNum, Convert.ToInt16(1), stationManager.stationChildCode);
+ Thread.Sleep(100);
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(ConveyorLinehand.TaskType), stationManager.stationChildCode);
+ return content.OK("鍙戦�佽緭閫佺嚎鍑哄簱浠诲姟鎴愬姛!");
+ }
+ else
+ {
+ return content.Error("鏈壘鍒颁换鍔″懡浠�");
+ }
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent ConveyorLineReset(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(7), stationManager.stationChildCode);
+ return content.OK("澶嶄綅鎴愬姛");
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(7), stationManager.stationChildCode);
+ return content.OK("鍋滄鎴愬姛");
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ public WebResponseContent ConveyorLineReturn(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
+ return content.OK("鍋滄鎴愬姛");
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ public WebResponseContent ConveyorLineCancel(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(4), stationManager.stationChildCode);
+ return content.OK("鍋滄鎴愬姛");
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ public WebResponseContent ConveyorLineInitialize(string DeviceChildCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == DeviceChildCode);
+ if (stationManager != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
+ if (device != null)
+ {
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(6), stationManager.stationChildCode);
+ return content.OK("鍋滄鎴愬姛");
+ }
+ }
+ return content.Error("鏈壘鍒拌澶囦俊鎭鑱旂郴IT");
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+
+ string AlarmInfo(int Alarm) => Alarm switch
+ {
+ 0 => "鎬ュ仠",
+ 1 => "鍙橀鍣ㄦ姤璀�1",
+ 2 => "鍙橀鍣ㄦ姤璀�2",
+ 3 => "宸﹁秴瀹�",
+ 4 => "鍙宠秴瀹�",
+ 5 => "瓒呴珮",
+ 6 => "璇荤爜澶辫触",
+ 7 => "璐х墿瓒呴噸",
+ 8 => "杩愯瓒呮椂",
+ 9 => "宸ヤ綅浼犳劅鍣ㄥ紓甯�",
+ 10 => "棰勭暀1",
+ 11 => "棰勭暀2",
+ 12 => "棰勭暀3",
+ 13 => "棰勭暀4",
+ 14 => "棰勭暀5",
+ 15 => "棰勭暀6",
+ };
+
+ public enum ConveyorLineDBName
+ {
+ InteractiveSignal,
+ ConveyorLineBarcode,
+ ConveyorLineAlarm,
+ ConveyorLineTargetAddress,
+ ConveyorLineTaskNum,
+
+ WriteInteractiveSignal,
+ WriteConveyorLineTargetAddress,
+ WriteConveyorLineTaskNum,
+ }
+ public class ConveyorLineTaskCommand
+ {
+ public string InStock { get; set; }
+
+ public string TaskNum { get; set; }
+
+ public string Alarm { get; set; }
+ }
+ #endregion
+
+ #region RGV鎵嬪姩鍛戒护
+
+
+ #endregion
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs"
index 7ef5d26..f737f39 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs"
@@ -22,7 +22,7 @@
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
-
+using WIDESEAWCS_DTO.StackerHandTask;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Models;
@@ -36,5 +36,74 @@
/// <returns>杩斿洖璁惧淇℃伅浠ュ強瀵瑰簲鍗忚淇℃伅鐨勯泦鍚堛��</returns>
Task<List<DeviceInfoDTO>> QueryDeviceProInfos();
+ /// <summary>
+ /// 鍫嗗灈鏈烘墜鍔ㄤ换鍔�
+ /// </summary>
+ /// <param name="stackerhand"></param>
+ /// <returns></returns>
+ WebResponseContent StackerHandTask(HandTask stackerhand);
+
+ /// <summary>
+ /// 鍫嗗灈鏈烘�ュ仠
+ /// </summary>
+ /// <param name="DeviceCode"></param>
+ /// <returns></returns>
+ WebResponseContent StackerEmergencyStop(string DeviceCode);
+
+ /// <summary>
+ /// 鍫嗗灈鏈哄浣�
+ /// </summary>
+ /// <param name="DeviceCode"></param>
+ /// <returns></returns>
+ WebResponseContent StackerReset(string DeviceCode);
+
+ /// <summary>
+ /// 鑾峰彇杈撻�佺嚎淇℃伅
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent GetConveyorLineInfo(string DeviceChildCode);
+
+ /// <summary>
+ /// 杈撻�佺嚎鎵嬪姩浠诲姟
+ /// </summary>
+ /// <param name="stackerhand"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineHandTask(HandTask stackerhand);
+
+ /// <summary>
+ /// 杈撻�佺嚎澶嶄綅
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineReset(string DeviceChildCode);
+
+ /// <summary>
+ /// 杈撻�佺嚎鎬ュ仠
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode);
+
+ /// <summary>
+ /// 杈撻�佺嚎閫�鍥�
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineReturn(string DeviceChildCode);
+
+ /// <summary>
+ /// 杈撻�佺嚎鍙栨秷浠诲姟
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineCancel(string DeviceChildCode);
+
+ /// <summary>
+ /// 杈撻�佺嚎鍒濆鍖�
+ /// </summary>
+ /// <param name="DeviceChildCode"></param>
+ /// <returns></returns>
+ WebResponseContent ConveyorLineInitialize(string DeviceChildCode);
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj"
index d9a8d3a..7851d37 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/WIDESEAWCS_QuartzJob.csproj"
@@ -13,8 +13,10 @@
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="..\WIDESEAWCS_BasicInfoRepository\WIDESEAWCS_BasicInfoRepository.csproj" />
<ProjectReference Include="..\WIDESEAWCS_Communicator\WIDESEAWCS_Communicator.csproj" />
<ProjectReference Include="..\WIDESEAWCS_Core\WIDESEAWCS_Core.csproj" />
+ <ProjectReference Include="..\WIDESEAWCS_DTO\WIDESEAWCS_DTO.csproj" />
</ItemGroup>
</Project>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs"
index 5996ff9..5392760 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs"
@@ -3,6 +3,7 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_DTO.StackerHandTask;
using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.DTO;
@@ -26,5 +27,65 @@
{
return await Service.QueryDeviceProInfos();
}
+
+ [HttpPost, Route("StackerHandTask"), AllowAnonymous]
+ public WebResponseContent StackerHandTask([FromBody] HandTask stackerhand)
+ {
+ return Service.StackerHandTask(stackerhand);
+ }
+
+ [HttpPost, Route("StackerReset"), AllowAnonymous]
+ public WebResponseContent StackerReset(string DeviceCode)
+ {
+ return Service.StackerReset(DeviceCode);
+ }
+
+ [HttpPost, Route("StackerEmergencyStop"), AllowAnonymous]
+ public WebResponseContent StackerEmergencyStop(string DeviceCode)
+ {
+ return Service.StackerEmergencyStop(DeviceCode);
+ }
+
+ [HttpPost, Route("GetConveyorLineInfo"), AllowAnonymous]
+ public WebResponseContent GetConveyorLineInfo(string DeviceChildCode)
+ {
+ return Service.GetConveyorLineInfo(DeviceChildCode);
+ }
+
+ [HttpPost, Route("ConveyorLineHandTask"), AllowAnonymous]
+ public WebResponseContent ConveyorLineHandTask([FromBody] HandTask stackerhand)
+ {
+ return Service.ConveyorLineHandTask(stackerhand);
+ }
+
+ [HttpPost, Route("ConveyorLineReset"), AllowAnonymous]
+ public WebResponseContent ConveyorLineReset(string DeviceChildCode)
+ {
+ return Service.ConveyorLineReset(DeviceChildCode);
+ }
+
+ [HttpPost, Route("ConveyorLineEmergencyStop"), AllowAnonymous]
+ public WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode)
+ {
+ return Service.ConveyorLineEmergencyStop(DeviceChildCode);
+ }
+
+ [HttpPost, Route("ConveyorLineReturn"), AllowAnonymous]
+ public WebResponseContent ConveyorLineReturn(string DeviceChildCode)
+ {
+ return Service.ConveyorLineReturn(DeviceChildCode);
+ }
+
+ [HttpPost, Route("ConveyorLineCancel"), AllowAnonymous]
+ public WebResponseContent ConveyorLineCancel(string DeviceChildCode)
+ {
+ return Service.ConveyorLineCancel(DeviceChildCode);
+ }
+
+ [HttpPost, Route("ConveyorLineInitialize"), AllowAnonymous]
+ public WebResponseContent ConveyorLineInitialize(string DeviceChildCode)
+ {
+ return Service.ConveyorLineInitialize(DeviceChildCode);
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
index d89caf3..860137f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
@@ -141,7 +141,7 @@
}
else
{
- DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
+ DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationNextChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
string Barcode = Encoding.UTF8.GetString(x);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
index 52840da..8bf8834 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs"
@@ -184,7 +184,7 @@
#endregion
#region RGV02璋冨害
- if (commonRGVSecond != null && commonRGVFirst is CommonRGV_FirstFloor SecondRgv)//杩欐牱鑳界湅鍑烘潵浼犲弬鍒板簳鍝噷鏈夐棶棰�
+ if (commonRGVSecond != null && commonRGVSecond is CommonRGV_FirstFloor SecondRgv)//杩欐牱鑳界湅鍑烘潵浼犲弬鍒板簳鍝噷鏈夐棶棰�
{
if (SecondRgv.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.WorkCompleted))
{
@@ -435,7 +435,7 @@
{
var tasks = _taskService.QueryRGVTask();
Dt_Task task;
- if (tasks == null && tasks.Count() == 0)
+ if (tasks.Count() == 0)
{
return null;
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 6966f3b..dae9457 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -122,6 +122,41 @@
true => "鏁呴殰",
false => "姝e父",
};
+ string StackerCraneAlarm(int alarm) => alarm switch
+ {
+ 0 => "鎸囦护鎴栧湴鍧�閿欒",
+ 1 => "鎬ュ仠",
+ 2 => "鍏夐�氳涓柇",
+ 3 => "缁勬�佸け鑱�",
+ 4 => "琛岃蛋鍙橀鏁呴殰",
+ 5 => "琛岃蛋鏋侀檺瑙﹀彂",
+ 6 => "琛岃蛋杩愯瓒呮椂",
+ 7 => "鎻愬崌鍙橀鏁呴殰",
+ 8 => "鎻愬崌鏋侀檺瑙﹀彂",
+ 9 => "鎻愬崌杩愯瓒呮椂",
+ 10 => "杞借揣鍙拌秴杞�",
+ 11 => "杞借揣鍙版瑺杞斤紙鏉剧怀)",
+ 12 => "杞借揣鍙板け閫�",
+ 13 => "璐у弶鍙橀鎶ヨ",
+ 14 => "璐у弶杩愯瓒呮椂",
+ 15 => "璐у弶鏋侀檺瑙﹀彂",
+ 16 => "璐у弶涓嶅眳涓�",
+ 17 => "宸︿晶瓒呴珮",
+ 18 => "鍙充晶瓒呴珮",
+ 19 => "宸︿晶瓒呭",
+ 20 => "鍙充晶瓒呭",
+ 21 => "宸﹁秴鍑�",
+ 22 => "鍙宠秴鍑�",
+ 23 => "鍙栬揣鏃惰浇璐у彴鏈夎揣",
+ 24 => "鍙栬揣鍚庤浇璐у彴鏃犺揣",
+ 25 => "鍙栨繁璐т綅鏃舵祬璐т綅鏈夎揣",
+ 26 => "鏀捐揣鏃惰浇璐у彴鏃犺揣",
+ 27 => "鏀捐揣鏃惰揣鏋舵湁璐�",
+ 28 => "鏀捐揣鍚庤浇璐у彴鏈夎揣",
+ 29 => "鏀炬繁璐ф椂娴呰揣浣嶆湁璐�",
+ 30 => "",
+ 31 => "",
+ };
object obj = new
{
Automatic = StackerCraneAutoStatus(commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Automatic)),
@@ -131,6 +166,8 @@
CurrentLayer = Convert.ToInt32(commonStackerCrane.GetValue<StackerCraneDBName, byte>(StackerCraneDBName.CurrentLayer)),
LevelPoint = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.LevelPoint),
CurrentTaskNum = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.CurrentTaskNum),
+ //StackerAlarm = StackerCraneAlarm(commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.StackerAlarm)),
+
commonStackerCrane.DeviceCode,
commonStackerCrane.DeviceName,
};
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
index a8c3bfa..852c098 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs"
@@ -141,5 +141,10 @@
/// 姘村钩鐐逛綅
/// </summary>
LevelPoint,
+
+ /// <summary>
+ /// 鎶ヨ淇℃伅
+ /// </summary>
+ StackerAlarm,
}
}
--
Gitblit v1.9.3