| | |
| | | <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"> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | </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> |
| | |
| | | import LineInfoCopy from "./LineInfocopy.vue"; |
| | | import LineComponent from './LineComponent.vue'; |
| | | import eventBus from "../uitils/eventBus"; |
| | | |
| | | import JElDescription from "./JElDescription"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | DeviceCOde: "", |
| | | StackerAlarm:"", |
| | | }, |
| | | RGVFirst: false, |
| | | RGVSecond: false, |
| | | RGVThird: false, |
| | | xValue1: 0, |
| | | xValue2: 0, |
| | | xValue3: 0, |
| | |
| | | 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) { |
| | |
| | | }); |
| | | 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: { |
| | | |
| | |
| | | }, |
| | | created() { |
| | | eventBus.on('stackerData', eventData => { |
| | | |
| | | |
| | | const stackerComponentsMap = { |
| | | "SC01": 'stacker1', |
| | | "SC02": 'stacker2', |
| | |
| | | }; |
| | | 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); |
| | | }); |
| | |
| | | }); |
| | | |
| | | 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; |
| | | } |
| | | |
| | | }); |
| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | |
| | | height: 1280px; |
| | | background-color: #ecf5ff; |
| | | width: 20px; |
| | | top:30px; |
| | | left:200px |
| | | top: 30px; |
| | | left: 200px |
| | | } |
| | | |
| | | .RGVline { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | height: 2px; |
| | | background-color: #a0cfff; |
| | | } |
| | | |
| | | .line { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | height: 2px; |
| | | background-color: #a0cfff; |
| | | } |
| | | </style> |
| | | |
| | | :deep(.j-el-description) { |
| | | background-color: #e40e0e; |
| | | }</style> |
| | |
| | | </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"> |
| | |
| | | <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;"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | :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> |
| | |
| | | CurrentTaskNum: "", |
| | | Running: "", |
| | | DeviceName: "", |
| | | } |
| | | DeviceCode: "", |
| | | StackerAlarm:"", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | SourceAddress: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | props: { |
| | |
| | | }, |
| | | 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> |
| | |
| | | font-weight: bold; |
| | | color: white; |
| | | } |
| | | |
| | | .dot-Automatic { |
| | | position: absolute; |
| | | top: -5px; |
| | |
| | | <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"> |
| | |
| | | </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="æ¥è¦ä»£ç ï¼"> |
| | | <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> |
| | |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | condition:{ |
| | | condition: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | |
| | | r_Line_ErrorCode: "", |
| | | r_Line_Target: "", |
| | | }, |
| | | form: { |
| | | TaskType: "", |
| | | TargetAddress: "", |
| | | DeviceCode: "", |
| | | }, |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | 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ç§æ§è¡ä¸æ¬¡ |
| | |
| | | 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; |
| | | } |
| | |
| | | width: 40px; |
| | | height: 40px; |
| | | } |
| | | |
| | | .custom-img-color img { |
| | | width: 40px; |
| | | height: 40px; |
| | |
| | | "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": [ |
| | |
| | | }, |
| | | { |
| | | "$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": "" |
| | | } |
| | | ] |
| | | } |
| | |
| | | "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}", |
| | |
| | | "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": [ |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 4, |
| | | "SelectedChildIndex": 7, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | }, |
| | | { |
| | | "$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": "" |
| | |
| | | "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": "" |
| | |
| | | { |
| | | "$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": "" |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using 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; } |
| | | } |
| | | } |
| | |
| | | #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) |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | |
| | | using WIDESEAWCS_DTO.StackerHandTask; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | |
| | |
| | | /// <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); |
| | | } |
| | | } |
| | |
| | | </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> |
| | |
| | | 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; |
| | |
| | | { |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | 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); |
| | |
| | | #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)) |
| | | { |
| | |
| | | { |
| | | var tasks = _taskService.QueryRGVTask(); |
| | | Dt_Task task; |
| | | if (tasks == null && tasks.Count() == 0) |
| | | if (tasks.Count() == 0) |
| | | { |
| | | return null; |
| | | } |
| | |
| | | true => "æ
é", |
| | | false => "æ£å¸¸", |
| | | }; |
| | | 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)), |
| | |
| | | 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, |
| | | }; |
| | |
| | | /// æ°´å¹³ç¹ä½ |
| | | /// </summary> |
| | | LevelPoint, |
| | | |
| | | /// <summary> |
| | | /// æ¥è¦ä¿¡æ¯ |
| | | /// </summary> |
| | | StackerAlarm, |
| | | } |
| | | } |