新增货位管理,PDA扫码生成任务烘烤出料,烘烤回炉,空托回流
已修改11个文件
已添加11个文件
已重命名1个文件
| | |
| | | let loadingInstance; |
| | | let loadingStatus = false; |
| | | if (process.env.NODE_ENV == 'development') { |
| | | axios.defaults.baseURL = 'http://192.168.12.235:9291/'; |
| | | // axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | // axios.defaults.baseURL = 'http://192.168.12.235:9291/'; |
| | | axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | } |
| | | else if (process.env.NODE_ENV == 'debug') { |
| | | axios.defaults.baseURL = 'http://192.168.12.235:8098/'; |
| | | // axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | // axios.defaults.baseURL = 'http://192.168.12.235:8098/'; |
| | | axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | } |
| | | |
| | | else if (process.env.NODE_ENV == 'production') { |
| | | axios.defaults.baseURL = 'http://192.168.12.235:9291/'; |
| | | // axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | // axios.defaults.baseURL = 'http://192.168.12.235:9291/'; |
| | | axios.defaults.baseURL = 'http://127.0.0.1:9291/'; |
| | | } |
| | | if (!axios.defaults.baseURL.endsWith('/')) { |
| | | axios.defaults.baseURL+="/"; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | //author:jxx |
| | | //æ¤å¤æ¯å¯¹è¡¨åçæ¹æ³ï¼ç»ä»¶ï¼æéæä½æé®çè¿è¡ä»»ææ©å±(æ¹æ³æ©å±å¯åç
§SellOrder.js) |
| | | let extension = { |
| | | components: {//卿æ©å
ç»ä»¶æç»ä»¶è·¯å¾ |
| | | //表åheaderãcontentãfooter对åºä½ç½®æ©å
çç»ä»¶ |
| | | gridHeader: '',//{ template: "<div>æ©å±ç»xxä»¶</div>" }, |
| | | gridBody: '', |
| | | gridFooter: '', |
| | | //å¼¹åºæ¡(ä¿®æ¹ãç¼è¾ãæ¥ç)headerãcontentãfooter对åºä½ç½®æ©å
çç»ä»¶ |
| | | modelHeader: '', |
| | | modelBody: '', |
| | | modelFooter: '' |
| | | }, |
| | | buttons: { view: [], box: [], detail: [] },//æ©å±çæé® |
| | | methods: {//äºä»¶æ©å± |
| | | onInit() { |
| | | this.pagination.order = "asc"; |
| | | |
| | | this.columns.forEach(row => { |
| | | if (row.field == "stationCode") { |
| | | row.sort = true; |
| | | } else if (row.field == "lastInTime") { |
| | | row.sort = true; |
| | | } |
| | | |
| | | if (row.field == "getStatus") { |
| | | row.getColor = (row, column) => { |
| | | if (row.getStatus == -1) { |
| | | return "info"; |
| | | } else if (row.getStatus == 0) { |
| | | return "success"; |
| | | } else if (row.getStatus == 1) { |
| | | return "waring"; |
| | | } |
| | | } |
| | | } else if (row.field == "enable") { |
| | | row.getColor = (row, column) => { |
| | | if (row.enable == 1) { |
| | | return "success"; |
| | | } else { |
| | | return "error"; |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.buttons.splice(1, 0, { |
| | | name: "åæ¶ç¦ç¨", |
| | | icon: 'md-refresh', |
| | | type: 'primary', |
| | | onClick: function () { |
| | | let rows = this.$refs.table.getSelected(); |
| | | if (rows.length == 0) return this.$error("è¯·éæ©è¦åæ¶ç¦ç¨çæ°æ®"); |
| | | |
| | | this.$confirm('确认è¦åæ¶ç¦ç¨å?', 'è¦å', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | center: true |
| | | }).then(() => { |
| | | let data = []; |
| | | let parm = { |
| | | "data": data, |
| | | "type": "1" |
| | | } |
| | | rows.forEach(t => data.push(t.id)) |
| | | this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "åæ¶ç¦ç¨ä¸...").then(x => { |
| | | if (x.status) { |
| | | this.$Message.success("åæ¶ç¦ç¨æå!"); |
| | | this.refresh(); |
| | | } else { |
| | | this.$Message.error(x.message); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }) |
| | | |
| | | this.buttons.splice(1, 0, { |
| | | name: "ç¦ç¨", |
| | | icon: 'md-refresh', |
| | | type: 'danger', |
| | | onClick: function () { |
| | | let rows = this.$refs.table.getSelected(); |
| | | if (rows.length == 0) return this.$error("è¯·éæ©è¦ç¦ç¨çæ°æ®"); |
| | | |
| | | this.$confirm('确认è¦ç¦ç¨å?', 'è¦å', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning', |
| | | center: true |
| | | }).then(() => { |
| | | let data = []; |
| | | let parm = { |
| | | "data": data, |
| | | "type": "0" |
| | | } |
| | | rows.forEach(t => data.push(t.id)) |
| | | this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "éå®ä¸...").then(x => { |
| | | if (x.status) { |
| | | this.$Message.success("ç¦ç¨æåï¼"); |
| | | this.refresh(); |
| | | } else { |
| | | this.$Message.error(x.message); |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | export default extension; |
| | |
| | | path: '/router', |
| | | name: 'router', |
| | | component: () => import('@/views/basicinfo/router.vue') |
| | | }, { |
| | | path: '/Dt_Stationinfo', |
| | | name: 'Dt_Stationinfo', |
| | | component: () => import('@/views/system/Dt_Stationinfo.vue') |
| | | }] |
| | | |
| | | export default viewgird |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | *Authorï¼jxx |
| | | *Contactï¼283591387@qq.com |
| | | *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç |
| | | *ä¸å¡è¯·å¨@/extension/system/system/Base_routing_table.jsæ¤å¤ç¼å |
| | | --> |
| | | <template> |
| | | <view-grid |
| | | ref="grid" |
| | | :columns="columns" |
| | | :detail="detail" |
| | | :editFormFields="editFormFields" |
| | | :editFormOptions="editFormOptions" |
| | | :searchFormFields="searchFormFields" |
| | | :searchFormOptions="searchFormOptions" |
| | | :table="table" |
| | | :extend="extend" |
| | | > |
| | | </view-grid> |
| | | </template> |
| | | <script> |
| | | import extend from "@/extension/system/Dt_Stationinfo.js"; |
| | | import { ref, defineComponent } from "vue"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const table = ref({ |
| | | key: "id", |
| | | footer: "Foots", |
| | | cnName: "ç«ç¹æ¥è¯¢", |
| | | name: "/Dt_Stationinfo", |
| | | url: "/Dt_Stationinfo/", |
| | | sortName: "id", |
| | | }); |
| | | const editFormFields = ref({ |
| | | stationType: "", |
| | | location_state: "", |
| | | lastUpdateTime: "", |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | | { |
| | | title: "ç«ç¹å°å", |
| | | required: true, |
| | | field: "stationCode", |
| | | type: "text", |
| | | disabled: true, |
| | | }, |
| | | { |
| | | title: "ç©æç±»å", |
| | | field: "stationType", |
| | | type: "select", |
| | | dataKey: "materieInfo", |
| | | }, |
| | | { |
| | | title: "ç¼åæ¶ç¶æ", |
| | | required: false, |
| | | field: "location_state", |
| | | type: "select", |
| | | data: [ |
| | | { key: "0", value: "空æ" }, |
| | | { key: "1", value: "éå®" }, |
| | | { key: "2", value: "满æ" }, |
| | | ], |
| | | }, |
| | | ], |
| | | [ |
| | | { |
| | | title: "夿³¨", |
| | | field: "remark", |
| | | type: "text", |
| | | }, |
| | | // { |
| | | // title: "æåæ´æ°æ¶é´", |
| | | // field: "lastUpdateTime", |
| | | // type: "datetime", |
| | | // }, |
| | | ], |
| | | ]); |
| | | const searchFormFields = ref({ |
| | | route_began: "", |
| | | route_end: "", |
| | | area: "", |
| | | }); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { title: "ç«ç¹å°å", field: "stationCode", type: "like" }, |
| | | { |
| | | title: "åºå", |
| | | field: "area", |
| | | type: "select", |
| | | dataKey: "station_area", |
| | | }, |
| | | ], |
| | | [ |
| | | { |
| | | title: "ç¼åæ¶ç¶æ", |
| | | field: "location_state", |
| | | data: [ |
| | | { key: "0", value: "空æ" }, |
| | | { key: "1", value: "éå®" }, |
| | | { key: "2", value: "满æ" }, |
| | | ], |
| | | type: "select", |
| | | }, |
| | | { |
| | | title: "æ¯å¦å¯ç¨", |
| | | field: "enable", |
| | | data: [ |
| | | { key: "true", value: "å¯ç¨" }, |
| | | { key: "false", value: "ç¦ç¨" }, |
| | | ], |
| | | type: "select", |
| | | }, |
| | | { title: "夿³¨", field: "remark", type: "like" }, |
| | | ], |
| | | ]); |
| | | const columns = ref([ |
| | | { |
| | | field: "id", |
| | | title: "ID", |
| | | type: "guid", |
| | | width: 60, |
| | | hidden: true, |
| | | readonly: true, |
| | | require: true, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "stationCode", |
| | | title: "ç«ç¹å°å", |
| | | type: "string", |
| | | width: 110, |
| | | require: true, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "area", |
| | | title: "åºå", |
| | | type: "string", |
| | | width: 80, |
| | | align: "left", |
| | | bind: { data: [] }, |
| | | }, |
| | | { |
| | | field: "location_state", |
| | | title: "ç¼åæ¶ç¶æ", |
| | | type: "string", |
| | | width: 90, |
| | | require: true, |
| | | align: "left", |
| | | bind: { |
| | | key: "", |
| | | data: [ |
| | | { key: "0", value: "空æ" }, |
| | | { key: "1", value: "éå®" }, |
| | | { key: "2", value: "满æ" }, |
| | | ], |
| | | }, |
| | | }, |
| | | { |
| | | field: "lastUpdateTime", |
| | | title: "æåæ´æ°æ¶é´", |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | sort: true, |
| | | }, |
| | | { |
| | | field: "enable", |
| | | title: "æ¯å¦å¯ç¨", |
| | | type: "string", |
| | | width: 60, |
| | | align: "left", |
| | | bind: { |
| | | data: [ |
| | | { key: true, value: "å¯ç¨" }, |
| | | { key: false, value: "ç¦ç¨" }, |
| | | ], |
| | | }, |
| | | }, |
| | | { |
| | | field: "remark", |
| | | title: "夿³¨", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | ]); |
| | | const detail = ref({ |
| | | cnName: "#detailCnName", |
| | | columns: [], |
| | | sortName: "", |
| | | key: "", |
| | | }); |
| | | return { |
| | | table, |
| | | extend, |
| | | editFormFields, |
| | | editFormOptions, |
| | | searchFormFields, |
| | | searchFormOptions, |
| | | columns, |
| | | detail, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/嫿/è¾éçº¿åæµ", |
| | | "path": "pages/嫿/空æåæµ", |
| | | "style": { |
| | | "navigationBarTitleText": "è¾éçº¿åæµ", |
| | | "navigationBarTitleText": "空æåæµ", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/嫿/çç¤åç", |
| | | "style": { |
| | | "navigationBarTitleText": "çç¤åç", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/嫿/çç¤åºæ", |
| | | "style": { |
| | | "navigationBarTitleText": "çç¤åºæ", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | { |
| | | text: '䏿¥¼è¾éçº¿åæµ', |
| | | url: 'pages/嫿/è¾éçº¿åæµ', |
| | | text: '䏿¥¼ç©ºæåæµ', |
| | | url: 'pages/嫿/空æåæµ', |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | { |
| | | text: '䏿¥¼çç¤åºæ', |
| | | url: 'pages/嫿/çç¤åºæ', |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | { |
| | | text: '䏿¥¼çç¤åç', |
| | | url: 'pages/嫿/çç¤åç', |
| | | image: "data:image/png;base64,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" |
| | | }, |
| | | // { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view class="content"> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="çç¤åºæç¼ç "> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress" |
| | | placeholder="è¯·æ«æçç¤ç¼ç " ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-easyinput> |
| | | </uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">æ¬è¿ç¡®è®¤</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | | return { |
| | | items: ['è¾é线æ¬è¿'], |
| | | current: 0, |
| | | label: "", |
| | | focus: false, |
| | | addressFocus: false, |
| | | sourceAddress: "", |
| | | } |
| | | }, |
| | | methods: { |
| | | voiceSpeech(src) { |
| | | innerAudioContext.src = src; // '../../static/success.mp3'; |
| | | innerAudioContext.play(); |
| | | }, |
| | | onClickItem(e) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | if (this.current == 2) { |
| | | this.getData(); |
| | | } |
| | | } |
| | | }, |
| | | inbound() { |
| | | // æåè¾å
¥æ¡çå¼ |
| | | const sourceAddress = this.sourceAddress; |
| | | |
| | | if (sourceAddress == "") { |
| | | this.$t.message.toast('è¯·éæ©èµ·ç¹ä½ç½®'); |
| | | return; |
| | | } |
| | | // console.log(Exception); |
| | | this.$u.post('/api/PDA/OutBoundTask', sourceAddress).then(res => { |
| | | this.$t.message.closeLoading(); |
| | | if (res.code == 0) { |
| | | this.$t.message.toast('å¼å«æå'); |
| | | this.sourceAddress = ""; |
| | | // this.$refs.popup.close(); |
| | | // this.submit(); |
| | | } else { |
| | | this.$t.message.toast(res.message); |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | inputChangebarcode() { |
| | | this.addressFocus = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.sourceAddress != '') { |
| | | this.addressFocus = true; |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 150px; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 30px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem"> |
| | | </uni-segmented-control> |
| | | <view class="content"> |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="èµ·ç¹ç¼åæ¶å°å"> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress" |
| | | placeholder="请æ«çèµ·ç¹å°å" ref='midInput' @input="inputChangebarcode" /> |
| | | <!-- <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> --> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ç»ç¹çç¤æºä¸æå°å"> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress" |
| | | placeholder="è¯·æ«æç»ç¹å°å" ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">æ¬è¿ç¡®è®¤</button> |
| | | </uni-forms-item> |
| | | </uni-forms> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-toast ref="uToast" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | export default { |
| | | data() { |
| | | return { |
| | | items: ['è¾é线æ¬è¿'], |
| | | current: 0, |
| | | label: "", |
| | | focus: false, |
| | | addressFocus: false, |
| | | sourceAddress: "", |
| | | targetAddress: "," |
| | | } |
| | | }, |
| | | methods: { |
| | | voiceSpeech(src) { |
| | | innerAudioContext.src = src; // '../../static/success.mp3'; |
| | | innerAudioContext.play(); |
| | | }, |
| | | onClickItem(e) { |
| | | this.focus = false; |
| | | this.addressFocus = false; |
| | | if (this.current !== e.currentIndex) { |
| | | this.current = e.currentIndex; |
| | | if (this.current == 2) { |
| | | this.getData(); |
| | | } |
| | | } |
| | | }, |
| | | inbound() { |
| | | // æåè¾å
¥æ¡çå¼ |
| | | const sourceAddress = this.sourceAddress; |
| | | const targetAddress = this.targetAddress; |
| | | if (sourceAddress == "") { |
| | | this.$t.message.toast('è¯·æ«æèµ·ç¹ä½ç½®'); |
| | | return; |
| | | } |
| | | if (targetAddress == "") { |
| | | this.$t.message.toast('è¯·æ«æç»ç¹ä½ç½®'); |
| | | return; |
| | | } |
| | | var PostData = { |
| | | MainData: { |
| | | "sourceAddress": this.sourceAddress, |
| | | "targetAddress": this.targetAddress, |
| | | } |
| | | } |
| | | // console.log(Exception); |
| | | this.$u.post('/api/PDA/OutBoundTasks', PostData).then(res => { |
| | | this.$t.message.closeLoading(); |
| | | if (res.code == 0) { |
| | | this.$t.message.toast('å¼å«æå'); |
| | | this.sourceAddress = ""; |
| | | this.targetAddress=""; |
| | | // this.$refs.popup.close(); |
| | | // this.submit(); |
| | | } else { |
| | | this.$t.message.toast(res.message); |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
| | | type: "error" |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | inputChangebarcode() { |
| | | this.addressFocus = false; |
| | | this.$nextTick(function(x) { |
| | | if (this.sourceAddress != '') { |
| | | this.addressFocus = true; |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | @import '@/common/uni-ui.scss'; |
| | | |
| | | .content { |
| | | display: flex; |
| | | height: 150px; |
| | | } |
| | | |
| | | .content-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | |
| | | .itemstyle { |
| | | margin-top: 30px; |
| | | margin-left: 5%; |
| | | } |
| | | |
| | | .headerstyle { |
| | | width: 90%; |
| | | } |
| | | </style> |
ÎļþÃû´Ó ´úÂë¹ÜÀí/NEWCode/WIDESEAWCS_PDA/pages/½ÐÁÏ/ÊäËÍÏß»ØÁ÷.vue ÐÞ¸Ä |
| | |
| | | <view v-if="current === 0" class="headerstyle"> |
| | | <view class="itemstyle"> |
| | | <uni-forms label-width="120"> |
| | | <uni-forms-item label="èµ·ç¹å°å"> |
| | | <!-- <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress" |
| | | placeholder="请æ«çèµ·ç¹å°å" ref='midInput' @input="inputChangebarcode" /> --> |
| | | <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> |
| | | <uni-forms-item label="èµ·ç¹ç¼åæ¶å°å"> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress" |
| | | placeholder="请æ«çèµ·ç¹å°å" ref='midInput' @input="inputChangebarcode" /> |
| | | <!-- <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> --> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ç»ç¹å°å"> |
| | | <uni-forms-item label="ç»ç¹è¾é线å°å"> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress" |
| | | placeholder="è¯·æ«æç»ç¹å°å" ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ç¬¬ä¸æçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="pallcode" placeholder="è¯·æ«ææçæ¡ç " |
| | | ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item label="ç¬¬äºæçæ¡ç "> |
| | | <uni-easyinput type="text" :focus="!addressFocus" v-model="pallcode1" placeholder="è¯·æ«ææçæ¡ç " |
| | | ref='midInput' @input="inputChangebarcode" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item> |
| | | <button @click="inbound" type="primary" size="default" |
| | |
| | | addressFocus: false, |
| | | targetAddress: "", |
| | | sourceAddress: "", |
| | | pallcode: "", |
| | | pallcode1: "", |
| | | Exception: "", |
| | | address: "", |
| | | check: true, |
| | |
| | | value2: "", |
| | | matTotals: [], |
| | | value: 0, |
| | | rangs: [{ |
| | | value: "FJXL-KPHLX001", |
| | | text: "FJXL-KPHLX001" |
| | | }, |
| | | { |
| | | value: "ZJXL-KPHLX001", |
| | | text: "ZJXL-KPHLX001" |
| | | }, |
| | | ], |
| | | // range: [], |
| | | } |
| | | }, |
| | |
| | | }, |
| | | inbound() { |
| | | // æåè¾å
¥æ¡çå¼ |
| | | const sourceAddress = this.value; |
| | | const sourceAddress = this.sourceAddress; |
| | | const targetAddress = this.targetAddress; |
| | | // æåå·¥åç¼å· |
| | | const pallcode =this.pallcode; |
| | | // æååå· |
| | | const pallcode1 = this.pallcode1; |
| | | |
| | | |
| | | if (sourceAddress == "") { |
| | | this.$t.message.toast('è¯·éæ©èµ·ç¹ä½ç½®'); |
| | | return; |
| | |
| | | this.$t.message.toast('请æ«çç»ç¹ä½ç½®'); |
| | | return; |
| | | } |
| | | // if (pallcode == "") { |
| | | // this.$t.message.toast('è¯·æ«æç¬¬ä¸æçæ¡ç '); |
| | | // return; |
| | | // } |
| | | // if (pallcode1 == "") { |
| | | // this.$t.message.toast('è¯·æ«æç¬¬äºæçæ¡ç '); |
| | | // return; |
| | | // } |
| | | var postData = { |
| | | MainData: { |
| | | "sourceAddress": this.value, |
| | | "sourceAddress": this.sourceAddress, |
| | | "targetAddress": this.targetAddress, |
| | | "Exception": this.pallcode + "," + this.pallcode1 |
| | | } |
| | | } |
| | | // console.log(Exception); |
| | | this.$u.post('/api/PDA/EmptyTask', postData).then(res => { |
| | | this.$t.message.closeLoading(); |
| | | console.log(postData); |
| | | if (res.code == 200) { |
| | | this.$t.message.toast('å¼å«æå'); |
| | | this.value="", |
| | | this.targetAddress="", |
| | | this.pallcode="", |
| | | this.pallcode1="", |
| | | this.$refs.popup.close(); |
| | | // this.submit(); |
| | | } else { |
| | | this.$t.message.toast(res.message); |
| | | } |
| | | this.$t.message.closeLoading(); |
| | | console.log(postData); |
| | | if (res.code == 0) { |
| | | this.$t.message.toast('å¼å«æå'); |
| | | this.sourceAddress = ""; |
| | | this.targetAddress = ""; |
| | | // this.$refs.popup.close(); |
| | | // this.submit(); |
| | | } else { |
| | | this.$t.message.toast(res.message); |
| | | } |
| | | }).catch(err => { |
| | | this.$refs.uToast.show({ |
| | | title: err.message, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEA_Core.Enums |
| | | { |
| | | /// <summary> |
| | | /// è´§ä½ç¶æ |
| | | /// </summary> |
| | | public enum LocationStatusEnum |
| | | { |
| | | /// <summary> |
| | | /// ç©ºé² |
| | | /// </summary> |
| | | [Description("空é²")] |
| | | Free = 0, |
| | | |
| | | /// <summary> |
| | | /// éå® |
| | | /// </summary> |
| | | [Description("éå®")] |
| | | Lock = 1, |
| | | |
| | | /// <summary> |
| | | /// æè´§ |
| | | /// </summary> |
| | | [Description("æè´§")] |
| | | InStock = 2, |
| | | } |
| | | public enum EnableStatusEnum |
| | | { |
| | | /// <summary> |
| | | /// æ£å¸¸ |
| | | /// </summary> |
| | | [Description("æ£å¸¸")] |
| | | Normal = 0, |
| | | |
| | | /// <summary> |
| | | /// ç¦ç¨ |
| | | /// </summary> |
| | | [Description("ç¦ç¨")] |
| | | Disable = 1 |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEAWCS_ISystemRepository |
| | | { |
| | | public interface IDt_StationinfoRepository : IRepository<Dt_Stationinfo> |
| | | { |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEAWCS_ISystemServices |
| | | { |
| | | public interface IDt_StationinfoService : IService<Dt_Stationinfo> |
| | | { |
| | | } |
| | | } |
| | |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto); |
| | | /// <summary> |
| | | /// è¾éçº¿åæµ |
| | | /// 空æåæµ |
| | | /// </summary> |
| | | /// <param name="dto"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> EmptyTask(SaveModel saveModel); |
| | | |
| | | /// <summary> |
| | | /// çç¤åºæ |
| | | /// </summary> |
| | | /// <param name="OutBoundTask"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> OutBoundTask(string sourceAddress); |
| | | |
| | | /// <summary> |
| | | /// çç¤åç |
| | | /// </summary> |
| | | /// <param name="OutBoundTask"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> OutBoundTasks(SaveModel saveModel); |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel.DataAnnotations; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Magicodes.ExporterAndImporter.Core; |
| | | using SqlSugar; |
| | | using WIDESEAWCS_Core.DB.Models; |
| | | using WIDESEAWCS_Core.Tenants; |
| | | |
| | | namespace WIDESEAWCS_Model.Models |
| | | { |
| | | [SugarTable("Dt_Stationinfo", "ç«ç¹ä¿¡æ¯"), MultiTenant] |
| | | public class Dt_Stationinfo : BaseEntity |
| | | { |
| | | /// <summary> |
| | | /// ä¸»é® |
| | | /// </summary> |
| | | [ImporterHeader(Name = "主é®")] |
| | | [ExporterHeader(DisplayName = "主é®")] |
| | | [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主é®")] |
| | | public int id { get; set; } |
| | | /// <summary> |
| | | /// ç¼åæ¶ç¼å· |
| | | /// </summary> |
| | | [ImporterHeader(Name = "ç¼åæ¶ç¼å·")] |
| | | [ExporterHeader(DisplayName = "ç¼åæ¶ç¼å·")] |
| | | [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "ç¼åæ¶ç¼å·")] |
| | | public string StationCode { get; set; } |
| | | /// <summary> |
| | | /// ç¼åæ¶ç¶æ |
| | | /// </summary> |
| | | [ImporterHeader(Name = "ç¼åæ¶ç¶æ")] |
| | | [ExporterHeader(DisplayName = "ç¼åæ¶ç¶æ")] |
| | | [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "ç¼åæ¶ç¶æ")] |
| | | public int Location_state { get; set; } |
| | | /// <summary> |
| | | /// åºå |
| | | /// </summary> |
| | | [ImporterHeader(Name = "åºå")] |
| | | [ExporterHeader(DisplayName = "åºå")] |
| | | [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "åºå")] |
| | | public string Area { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¯å¦å¯ç¨ |
| | | /// </summary> |
| | | public bool Enable { get; set; } |
| | | /// <summary> |
| | | /// æåæ¾å
¥æåèµ°æ¶é´ |
| | | /// </summary> |
| | | [ImporterHeader(Name = "æåæ¾å
¥æåèµ°æ¶é´")] |
| | | [ExporterHeader(DisplayName = "æåæ¾å
¥æåèµ°æ¶é´")] |
| | | [SugarColumn(IsNullable = true, ColumnDescription = "æåæ¾å
¥æåèµ°æ¶é´")] |
| | | public DateTime? LastUpdateTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [ImporterHeader(Name = "夿³¨")] |
| | | [ExporterHeader(DisplayName = "夿³¨")] |
| | | [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "夿³¨")] |
| | | public string Remark { get; set; } |
| | | /// <summary> |
| | | /// å建è
|
| | | /// </summary> |
| | | [ImporterHeader(IsIgnore = true)] |
| | | [ExporterHeader(DisplayName = "å建è
")] |
| | | [SugarColumn(IsNullable = false, Length = 50, IsOnlyIgnoreUpdate = true, ColumnDescription = "å建è
")] |
| | | public string Creater { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建æ¶é´ |
| | | /// </summary> |
| | | [ImporterHeader(IsIgnore = true)] |
| | | [ExporterHeader(DisplayName = "å建æ¶é´")] |
| | | [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "å建æ¶é´")] |
| | | public DateTime CreateDate { get; set; } = DateTime.Now; |
| | | } |
| | | } |
| | |
| | | { |
| | | return _taskCZService.EmptyTask(saveModel); |
| | | } |
| | | [HttpPost, Route("OutBoundTask"), AllowAnonymous] |
| | | public Task<WebResponseContent> OutBoundTask([FromBody] string sourceAddress) |
| | | { |
| | | return _taskCZService.OutBoundTask(sourceAddress); |
| | | } |
| | | |
| | | [HttpPost, Route("OutBoundTasks"), AllowAnonymous] |
| | | public Task<WebResponseContent> OutBoundTasks([FromBody] SaveModel saveModel) |
| | | { |
| | | return _taskCZService.OutBoundTasks(saveModel); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using WIDESEAWCS_Core.BaseController; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEAWCS_Server.Controllers.System |
| | | { |
| | | [Route("api/Dt_Stationinfo")] |
| | | [ApiController] |
| | | public class Dt_StationinfoController : ApiBaseController<IDt_StationinfoService, Dt_Stationinfo> |
| | | { |
| | | public Dt_StationinfoController(IDt_StationinfoService service) : base(service) |
| | | { |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_ISystemRepository; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEAWCS_SystemRepository |
| | | { |
| | | public class Dt_StationinfoRepository : RepositoryBase<Dt_Stationinfo>, IDt_StationinfoRepository |
| | | { |
| | | public Dt_StationinfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) |
| | | { |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_ISystemRepository; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEAWCS_SystemServices |
| | | { |
| | | public class Dt_StationinfoService : ServiceBase<Dt_Stationinfo, IDt_StationinfoRepository>, IDt_StationinfoService |
| | | { |
| | | public Dt_StationinfoService(IDt_StationinfoRepository BaseDal) : base(BaseDal) |
| | | { |
| | | } |
| | | } |
| | | } |
| | |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_ISystemRepository; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Core.Enums; |
| | | using SqlSugar.Extensions; |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | | public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService |
| | | { |
| | | private readonly ITaskRepository _taskRepository; |
| | | private readonly ITaskService _taskService; |
| | | private readonly ITaskCZDetailsRepository _detailsRepository; |
| | | private readonly IDt_StationinfoRepository _stationinfoRepository; |
| | | |
| | | public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal) |
| | | public TaskCZService(ITaskCZRepository BaseDal, IDt_StationinfoRepository stationinfoRepository, ITaskService taskService, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal) |
| | | { |
| | | _taskRepository = taskRepository; |
| | | _detailsRepository = detailsRepository; |
| | | _taskService = taskService; |
| | | _stationinfoRepository = stationinfoRepository; |
| | | } |
| | | |
| | | public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto) |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// è¾éçº¿åæµ |
| | | /// 空æåæµ |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | //éè¿ç«ç¹è¡¨å¤æç¼åæ¶æ¯é£ä¸ªåºåå»é£æ¡è¾éçº¿åæµå£ããããããããããã |
| | | string Saddress = saveModel.MainData["sourceAddress"].ToString(); |
| | | string Taddress = saveModel.MainData["targetAddress"].ToString(); |
| | | string Exception = saveModel.MainData["Exception"].ToString(); |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress && x.TaskState == (int)TaskInStatusEnum.InPending && x.TargetAddress == "WaitBind"); |
| | | if (task == null) |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress); |
| | | if (task != null) |
| | | { |
| | | webResponseContent.Error("ä»»å¡ä¸åå¨ï¼"); |
| | | webResponseContent.Error("æ¤ç¼åæ¶å·²åå¨ä»»å¡ï¼"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | task.TargetAddress = Taddress; |
| | | task.ExceptionMessage = Exception; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | var isTrue = _taskRepository.UpdateData(task); |
| | | if (isTrue) |
| | | Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == Saddress); |
| | | |
| | | Dt_Task dt_Task = new Dt_Task(); |
| | | dt_Task.TaskNum = _taskService.GetTaskNum(); |
| | | dt_Task.CreateDate = DateTime.Now; |
| | | dt_Task.Creater = "system"; |
| | | dt_Task.CurrentAddress = Saddress; |
| | | dt_Task.SourceAddress = Saddress; |
| | | dt_Task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | dt_Task.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | dt_Task.Grade = 1; |
| | | dt_Task.PalletCode = ""; |
| | | if (Stationinfo.Area == "æ£æ") |
| | | { |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | dt_Task.TargetAddress = "æ£æåæµè¾é线å
¥å£"; |
| | | } |
| | | else |
| | | { |
| | | dt_Task.TargetAddress = "è´æåæµè¾é线å
¥å£"; |
| | | } |
| | | dt_Task.NextAddress = dt_Task.TargetAddress; |
| | | dt_Task.Barcode = ""; |
| | | dt_Task.Roadway = "AGV"; |
| | | dt_Task.WMSId = 0; |
| | | dt_Task.Remark = "空æåæµ"; |
| | | |
| | | Dt_Task dt_Tasks = new Dt_Task(); |
| | | dt_Tasks.TaskNum = _taskService.GetTaskNum(); |
| | | dt_Tasks.CreateDate = DateTime.Now; |
| | | dt_Tasks.Creater = "system"; |
| | | if (Stationinfo.Area == "æ£æ") |
| | | { |
| | | dt_Task.CurrentAddress = "æ£æåæµè¾é线åºå£"; |
| | | } |
| | | else |
| | | { |
| | | dt_Task.CurrentAddress = "è´æåæµè¾é线åºå£"; |
| | | } |
| | | dt_Tasks.SourceAddress = dt_Task.CurrentAddress; |
| | | dt_Tasks.TaskState = (int)TaskInStatusEnum.InPending; |
| | | dt_Tasks.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | dt_Tasks.Grade = 1; |
| | | dt_Tasks.PalletCode = ""; |
| | | dt_Tasks.TargetAddress = Taddress; |
| | | dt_Tasks.NextAddress = Taddress; |
| | | dt_Tasks.Barcode = ""; |
| | | dt_Tasks.Roadway = "AGV"; |
| | | dt_Tasks.WMSId = 0; |
| | | dt_Tasks.Remark = "空æåæµ"; |
| | | |
| | | var isTrue = _taskRepository.AddData(dt_Task); |
| | | var isTrue1 = _taskRepository.AddData(dt_Tasks); |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | webResponseContent.Error(ex.Message); |
| | | } |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | /// <summary> |
| | | /// çç¤åºæ |
| | | /// </summary> |
| | | /// <param name="sourceAddress"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> OutBoundTask(string sourceAddress) |
| | | { |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == sourceAddress); |
| | | if (task != null) |
| | | { |
| | | webResponseContent.Error("èµ·ç¹å·²åå¨ä»»å¡ï¼"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | Dt_Stationinfo stationinfo = _stationinfoRepository.QueryFirst(x => x.Location_state == LocationStatusEnum.Free.ObjToInt()); |
| | | if (stationinfo == null) |
| | | { |
| | | webResponseContent.Error("æªæ¾å°ç©ºç¼åæ¶æ¾ç½®ï¼"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | Dt_Task tasks = _taskRepository.QueryFirst(x => x.SourceAddress == stationinfo.StationCode || x.TargetAddress == stationinfo.StationCode); |
| | | if (tasks != null) |
| | | { |
| | | webResponseContent.Error("æªæ¾å°å¯ç¨ç¼åæ¶"); |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | Dt_Task dt_Task = new Dt_Task() |
| | | { |
| | | TaskNum = _taskService.GetTaskNum(), |
| | | CreateDate = DateTime.Now, |
| | | Creater = "system", |
| | | CurrentAddress = sourceAddress, |
| | | SourceAddress = sourceAddress, |
| | | TaskState = (int)TaskInStatusEnum.InNew, |
| | | TaskType = (int)TaskOutboundTypeEnum.Outbound, |
| | | Grade = 1, |
| | | PalletCode = "", |
| | | TargetAddress = stationinfo.StationCode, |
| | | NextAddress = stationinfo.StationCode, |
| | | Barcode = "", |
| | | Roadway = "AGV", |
| | | WMSId = 0, |
| | | Remark = "空æåæµ" |
| | | }; |
| | | var isTrue = _taskRepository.AddData(dt_Task); |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | webResponseContent.Error(ex.Message); |
| | | } |
| | | return Task.FromResult(webResponseContent); |
| | | } |
| | | /// <summary> |
| | | /// çç¤åç |
| | | /// </summary> |
| | | /// <param name="saveModel"></param> |
| | | /// <returns></returns> |
| | | public Task<WebResponseContent> OutBoundTasks(SaveModel saveModel) |
| | | { |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | //éè¿ç«ç¹è¡¨å¤æç¼åæ¶æ¯é£ä¸ªåºåå»é£æ¡è¾éçº¿åæµå£ããããããããããã |
| | | string Saddress = saveModel.MainData["sourceAddress"].ToString(); |
| | | string Taddress = saveModel.MainData["targetAddress"].ToString(); |
| | | |
| | | Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == Saddress); |
| | | |
| | | Dt_Task dt_Task = new Dt_Task(); |
| | | dt_Task.TaskNum = _taskService.GetTaskNum(); |
| | | dt_Task.CreateDate = DateTime.Now; |
| | | dt_Task.Creater = "system"; |
| | | dt_Task.CurrentAddress = Saddress; |
| | | dt_Task.SourceAddress = Saddress; |
| | | dt_Task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | dt_Task.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | dt_Task.Grade = 1; |
| | | dt_Task.PalletCode = ""; |
| | | if (Stationinfo.Area == "æ£æ") |
| | | { |
| | | dt_Task.TargetAddress = "æ£æåæµè¾é线å
¥å£"; |
| | | } |
| | | else |
| | | { |
| | | dt_Task.TargetAddress = "è´æåæµè¾é线å
¥å£"; |
| | | } |
| | | dt_Task.NextAddress = dt_Task.TargetAddress; |
| | | dt_Task.Barcode = ""; |
| | | dt_Task.Roadway = "AGV"; |
| | | dt_Task.WMSId = 0; |
| | | dt_Task.Remark = "çç¤åç"; |
| | | |
| | | Dt_Task dt_Tasks = new Dt_Task(); |
| | | dt_Tasks.TaskNum = _taskService.GetTaskNum(); |
| | | dt_Tasks.CreateDate = DateTime.Now; |
| | | dt_Tasks.Creater = "system"; |
| | | if (Stationinfo.Area == "æ£æ") |
| | | { |
| | | dt_Task.CurrentAddress = "æ£æåæµè¾é线åºå£"; |
| | | } |
| | | else |
| | | { |
| | | dt_Task.CurrentAddress = "è´æåæµè¾é线åºå£"; |
| | | } |
| | | dt_Tasks.SourceAddress = dt_Task.CurrentAddress; |
| | | dt_Tasks.TaskState = (int)TaskInStatusEnum.InPending; |
| | | dt_Tasks.TaskType = (int)TaskOutboundTypeEnum.Outbound; |
| | | dt_Tasks.Grade = 1; |
| | | dt_Tasks.PalletCode = ""; |
| | | dt_Tasks.TargetAddress = Taddress; |
| | | dt_Tasks.NextAddress = Taddress; |
| | | dt_Tasks.Barcode = ""; |
| | | dt_Tasks.Roadway = "AGV"; |
| | | dt_Tasks.WMSId = 0; |
| | | dt_Tasks.Remark = "çç¤åç"; |
| | | var isTrue = _taskRepository.AddData(dt_Task); |
| | | var isTrue1 = _taskRepository.AddData(dt_Tasks); |
| | | webResponseContent.OK("ä»»å¡ä¸åæåï¼"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_ISystemServices\WIDESEAWCS_ISystemServices.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" /> |
| | | </ItemGroup> |
| | | |
| | |
| | | public Task Execute(IJobExecutionContext context) |
| | | { |
| | | AGV agv = (AGV)context.JobDetail.JobDataMap.Get("JobParams"); |
| | | SendTaskAGV.SendAGVTask(agv, _taskRepository); |
| | | UpdateTaskAGV.UpdateTask(agv, _taskRepository, _taskCZRepository, _detailsRepository); |
| | | //SendTaskAGV.SendAGVTask1(_taskRepository); |
| | | //SendTaskAGV.SendAGVTask(agv, _taskRepository); |
| | | //UpdateTaskAGV.UpdateTask(agv, _taskRepository, _taskCZRepository, _detailsRepository); |
| | | return Task.CompletedTask; |
| | | } |
| | | } |
| | |
| | | using System.Diagnostics; |
| | | using System.Text; |
| | | using Microsoft.Data.SqlClient; |
| | | using WIDESEAWCS_Common.AGVEnum; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | |
| | | private static bool isTrue1 = false; |
| | | private static string name1 = ""; |
| | | |
| | | public static void SendAGVTask1(AGV agv, ITaskRepository _taskRepository) |
| | | public static void SendAGVTask1(ITaskRepository _taskRepository) |
| | | { |
| | | //TODO: Implement sending task to AGV |
| | | try |
| | | { |
| | | if (agv == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | var taskInteractiveR = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskInteractiveR.ToString()).FirstOrDefault().DeviceProAddress; |
| | | var taskInteractiveW = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskInteractiveW.ToString()).FirstOrDefault().DeviceProAddress; |
| | | var resetTaskW = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.resetTaskInteractiveW.ToString()).FirstOrDefault().DeviceProAddress; |
| | | var resetTaskInteractiveR = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.resetTaskInteractiveR.ToString()).FirstOrDefault().DeviceProAddress; |
| | | var taskID = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskID.ToString()).FirstOrDefault().DeviceProAddress; |
| | | // è¿æ¥å符串 - æ ¹æ®ä½ çæå¡å¨ä¿¡æ¯ä¿®æ¹ |
| | | string connectionString = "Data Source=.;Initial Catalog=WIDESEAWCS_GanFengLiYeNew;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"; |
| | | List<Dt_Task> dt_Tasks = _taskRepository.QueryData(x => x.TaskState == (int)TaskInStatusEnum.InNew); |
| | | foreach (Dt_Task task in dt_Tasks) |
| | | { |
| | | // è¦æå
¥çSQLè¯å¥ |
| | | string insertSql = "INSERT INTO Dt_Stationinfo (StationCode, Location_state,Area,Enable,LastUpdateTime,Remark) VALUES (@StationCode, @Location_state,@Area,@Enable,@LastUpdateTime,@Remark)"; |
| | | |
| | | int TaskInteractive = agv.Communicator.Read<int>(taskInteractiveR);//1æ¶å° |
| | | int TaskInteractiveW = agv.Communicator.Read<int>(taskInteractiveW);//0åå§/1ä¸å/2åæ¶/3æ´æ¹ |
| | | int resetTaskInteractiveW = agv.Communicator.Read<int>(resetTaskW); |
| | | int resetTaskInteractiver = agv.Communicator.Read<int>(resetTaskInteractiveR); |
| | | if (isTrue1 && name1 == agv.DeviceName) |
| | | try |
| | | { |
| | | if (TaskInteractiveW != 0 || resetTaskInteractiveW != 0 || TaskInteractive != 0) |
| | | using (SqlConnection connection = new SqlConnection(connectionString)) |
| | | { |
| | | agv.Communicator.Write(resetTaskW, 1); |
| | | Task.Delay(2000).Wait(); |
| | | resetTaskInteractiveW = agv.Communicator.Read<int>(resetTaskW); |
| | | if (resetTaskInteractiveW == 1) |
| | | connection.Open(); |
| | | |
| | | using (SqlCommand command = new SqlCommand(insertSql, connection)) |
| | | { |
| | | agv.Communicator.Write(resetTaskW, 0); |
| | | agv.Communicator.Write(taskInteractiveW, 0); |
| | | Task.Delay(2000).Wait(); |
| | | } |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | isTrue1 = false; |
| | | name1 = ""; |
| | | } |
| | | } |
| | | if (resetTaskInteractiver == 1) |
| | | { |
| | | agv.Communicator.Write(taskInteractiveW, 0); |
| | | for (int i = 0; i < 5; i++) |
| | | { |
| | | Thread.Sleep(300); |
| | | var agvnumber = Convert.ToInt32(agv.Communicator.Read<int>(taskInteractiveW)); |
| | | if (agvnumber != 0) |
| | | { |
| | | agv.Communicator.Write(taskInteractiveW, 0); |
| | | } |
| | | else |
| | | { |
| | | break; |
| | | // æ·»å 忰鲿¢SQL注å
¥ |
| | | command.Parameters.AddWithValue("StationCode", task.TaskNum); |
| | | command.Parameters.AddWithValue("Location_state", task.TaskNum); |
| | | command.Parameters.AddWithValue("Area", task.Roadway); |
| | | command.Parameters.AddWithValue("Enable", task.TaskNum); |
| | | command.Parameters.AddWithValue("LastUpdateTime", DateTime.Now); |
| | | command.Parameters.AddWithValue("Remark", task.Roadway); |
| | | command.Parameters.AddWithValue("Creater", "WCS"); |
| | | command.Parameters.AddWithValue("CreateDate", DateTime.Now); |
| | | |
| | | int rowsAffected = command.ExecuteNonQuery(); |
| | | Console.WriteLine($"æåæå
¥ {rowsAffected} è¡æ°æ®"); |
| | | } |
| | | } |
| | | } |
| | | if (0 == TaskInteractive && TaskInteractiveW == 0) |
| | | catch (Exception ex) |
| | | { |
| | | Dt_Task agvTask = _taskRepository.QueryData(r => r.TaskState == (int)TaskInStatusEnum.InNew && r.Roadway == agv.DeviceName && r.TaskType == (int)TaskOutboundTypeEnum.Outbound).OrderBy(r => r.CreateDate).OrderByDescending(r => r.Grade).FirstOrDefault(); |
| | | if (null != agvTask) |
| | | { |
| | | //åå
¥ä»»å¡ä¿¡æ¯ |
| | | string rel = TaskWrite(agv, agvTask, AGVJobEnum.newTaskEnum); |
| | | Thread.Sleep(1000); |
| | | string taskId = agv.Communicator.Read<string>(taskID).ToString(); |
| | | if (taskId != agvTask.TaskNum.ToString()) |
| | | { |
| | | isTrue1 = true; |
| | | name1 = agv.DeviceName; |
| | | //WriteLog.Info("SendAGVTask").Write("ç»AGVåå
¥ä»»å¡å¤±è´¥," + agvTask.agv_tasknum + DateTime.Now, "SendAGVTask"); |
| | | throw new Exception(string.Format("ç»AGVåå
¥ä»»å¡å¤±è´¥,ä»»å¡å·{0}", agvTask.TaskNum)); |
| | | } |
| | | if (string.IsNullOrEmpty(rel)) |
| | | { |
| | | //åå
¥ä»»å¡ç¡®è®¤1 |
| | | agv.Communicator.Write(taskInteractiveW, 1); |
| | | Thread.Sleep(1000); |
| | | //读åAGVä¿¡å· |
| | | int ReadTask_1_OK = agv.Communicator.Read<int>(taskInteractiveR); |
| | | if (ReadTask_1_OK == 1) |
| | | { |
| | | //åå
¥WCS确认信å·0 |
| | | agv.Communicator.Write(taskInteractiveW, 0); |
| | | Thread.Sleep(2000); |
| | | //读åAGVä¿¡å·æ¯å¦ä¸º0 |
| | | int ReadTask_0_OK = agv.Communicator.Read<int>(taskInteractiveR); |
| | | if (ReadTask_0_OK == 0) |
| | | { |
| | | int nextStatus = agvTask.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(); |
| | | agvTask.TaskState = nextStatus; |
| | | agvTask.Dispatchertime = DateTime.Now; |
| | | _taskRepository.UpdateData(agvTask); |
| | | // ä¸ä¼ AGVè¿è¡æ°æ® by xiaoyang |
| | | //SendMESTask.SendMesTask(agvTask, 0); |
| | | } |
| | | else |
| | | { |
| | | isTrue1 = true; |
| | | name1 = agv.DeviceName; |
| | | throw new Exception(string.Format("ç»AGVåå
¥ä»»å¡ç¡®è®¤0失败,ä»»å¡å·{0}", agvTask.TaskNum)); |
| | | } |
| | | } |
| | | else if (ReadTask_1_OK == 11) |
| | | { |
| | | agv.Communicator.Write(taskInteractiveW, 0); |
| | | Thread.Sleep(2000); |
| | | int ReadTask_0_Error = agv.Communicator.Read<int>(taskInteractiveR); |
| | | if (ReadTask_0_Error == 0) |
| | | { |
| | | int nextStatus = agvTask.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); |
| | | agvTask.TaskState = nextStatus; |
| | | agvTask.Dispatchertime = DateTime.Now; |
| | | _taskRepository.UpdateData(agvTask); |
| | | } |
| | | else |
| | | { |
| | | isTrue1 = true; |
| | | name1 = agv.DeviceName; |
| | | throw new Exception(string.Format("ç»AGVåå
¥ä»»å¡å¼å¸¸ç¡®è®¤0失败,ä»»å¡å·{0}", agvTask.TaskNum)); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | isTrue1 = true; |
| | | name1 = agv.DeviceName; |
| | | throw new Exception(string.Format("ç»AGVåå
¥ä»»å¡ç¡®è®¤1失败,ä»»å¡å·{0}", agvTask.TaskNum)); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | isTrue1 = true; |
| | | name1 = agv.DeviceName; |
| | | throw new Exception(string.Format("ç»AGVåå
¥ä»»å¡å¤±è´¥,ä»»å¡å·{0}" + rel, agvTask.TaskNum)); |
| | | } |
| | | } |
| | | Console.WriteLine($"åçé误: {ex.Message}"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | StackTrace sta = new StackTrace(ex, true); |
| | | StackTrace st = new StackTrace(new StackFrame(true)); |
| | | StackFrame sf = sta.GetFrame(0); |
| | | //WriteLog.Info("SendAGVTask").Write(ex.Message + "è¡å·" + sf.GetFileLineNumber(), "SendAGVTask"); |
| | | } |
| | | finally |
| | | { |
| | | // WriteLog.Info("SendAGVTask").Write(agv.PLCName+"\t"+DateTime.Now, "SendAGVTask"); |
| | | Interlocked.Exchange(ref _readSendAGVTaskSignalso, 0); |
| | | } |
| | | |
| | | } |
| | | |
| | | public static void SendAGVTask(AGV agv, ITaskRepository _taskRepository) |
| | |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | | |
| | | { |
| | | try |
| | | { |
| | |
| | | }; |
| | | |
| | | // å¤çå®çå
¥åºè¯·æ± |
| | | ProcessRequests(conveyorLine, requests, "ä¸çº¿è¯·æ±å
¥åº"); |
| | | //ProcessRequests(conveyorLine, requests, "ä¸çº¿è¯·æ±å
¥åº"); |
| | | |
| | | // å¤ç空çåæµè¯·æ± |
| | | ProcessKpRequests(conveyorLine, requestsKP); |
| | |
| | | Dt_Task task = null; |
| | | if (isUpRequest) |
| | | { |
| | | task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "空æç", taskType); |
| | | List<Dt_Task> dt_Task = _taskRepository.QueryData(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InPending); |
| | | if (dt_Task.Count < 0) { continue; } |
| | | var tasks = dt_Task.Where(x => x.SourceAddress == fromAdd).OrderBy(t => t.CreateDate).First(); |
| | | tasks.TaskState = (int)TaskInStatusEnum.InNew; |
| | | _taskService.UpdateData(tasks); |
| | | } |
| | | else if (isGMRequest && isGMState == 1) |
| | | { |
| | | task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "éè空æç", taskType); |
| | | } |
| | | //else if (isGMRequest && isGMState == 1) |
| | | //{ |
| | | // task = CreateTask(fromAdd, "WaitBind", "æ£æç©æµçº¿002çä¸æè¯·æ±", "éè空æç", taskType); |
| | | //} |
| | | |
| | | // æ·»å ä»»å¡å°ä»»å¡è¡¨ |
| | | if (task != null) |
| | | { |
| | | _taskRepository.AddData(task); |
| | | } |
| | | //// æ·»å ä»»å¡å°ä»»å¡è¡¨ |
| | | //if (task != null) |
| | | //{ |
| | | // _taskRepository.AddData(task); |
| | | //} |
| | | } |
| | | } |
| | | |