From 2d3d006620bb15a2350c516f050058e5f84c7bf8 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 21 五月 2024 17:03:44 +0800 Subject: [PATCH] 添加人工一键下料功能,人工一键切换托盘功能,优化任务等级 --- 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs | 20 ++ 代码管理/WMS/WMS_Client/config/buttons.js | 44 +++++ 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs | 3 代码管理/WMS/WMS_Client/dist.zip | 0 代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js | 243 ++++++++++++++++++++++------- 代码管理/WMS/WMS_Client/src/api/http.js | 2 代码管理/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js | 1 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs | 2 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs | 157 ++++++++++++++++++ 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/shiftingparking.cs | 2 10 files changed, 400 insertions(+), 74 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js" index 4f03094..ea491db 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/config/buttons.js" @@ -80,6 +80,50 @@ onClick: function () { this.Upload(); } +}, { + name: "涓嬫枡浠诲姟", + icon: 'el-icon-plus', + value: 'AddTask', + class: '', + plain:true, + type: 'success', + // plain:true, + onClick: function () { + this.addTask(); + } +}, { + name: "鍙栨秷绂佺敤", + icon: 'ios-cog', + value: 'EnableBtn', + class: '', + // plain:true, + type: 'success', + // plain:true, + onClick: function () { + // this.addTask(); + } +} +, { + name: "绂佺敤", + icon: 'ios-cog', + value: 'DisEnableBtn', + class: '', + // plain:true, + type: 'danger', + onClick: function () { + // this.addTask(); + } +}, { + name: "鍒囨崲鎵樼洏", + icon: 'el-icon-edit', + value: 'Trayswitching', + class: '', + plain:true, + type: 'danger', + // plain:true, + onClick: function () { + // this.addTask(); + } } // , { // name: "鏁版嵁缁撴瀯", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/dist.zip" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/dist.zip" new file mode 100644 index 0000000..5758a68 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/dist.zip" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/api/http.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/api/http.js" index eb0a016..0af90a4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/api/http.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/api/http.js" @@ -12,7 +12,7 @@ let loadingInstance; let loadingStatus = false; if (process.env.NODE_ENV == 'development') { - axios.defaults.baseURL = 'http://192.168.12.101:8098/'; + axios.defaults.baseURL = 'http://127.0.0.1:8098/'; } else if (process.env.NODE_ENV == 'debug') { axios.defaults.baseURL = 'http://192.168.12.101:8098/'; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" index 0f74fbf..100b577 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" @@ -38,6 +38,69 @@ // x.icon='el-icon-document' // } // }); + let AddTaskBtn = this.buttons.find(r => r.name == "涓嬫枡浠诲姟"); + if(null!=AddTaskBtn){ + AddTaskBtn.onClick = function (){ + let rows = this.$refs.table.getSelected(); + if (rows.length == 0) return this.$error("璇烽�夋嫨涓嬫枡浣�!"); + let addkeys = rows.map(x => { + return x[this.table.key]; + }); + if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌涓嬫枡浣�!"); + this.$confirm("鏄惁纭瑕佹坊鍔犱笅鏂欎换鍔★紵","鎻愮ず",{ + // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮� + confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲 + cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲 + // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲 + showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽� + type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊 + }).then(()=>{ + let params = { + MainData: null, + DetailData: null, + DelKeys: addkeys + } + this.http.post("/api/dt_stationinfo/SendAGVTask", params, "姝e湪娣诲姞浠诲姟....").then(x => { + if (!x.status) return this.$error(x.message); + this.$success(x.message); + this.refresh(); + }); + }) + + } + } + + let TrayswitchingBtn = this.buttons.find(r => r.name == "鍒囨崲鎵樼洏"); + if(null!=TrayswitchingBtn){ + TrayswitchingBtn.onClick = function (){ + let rows = this.$refs.table.getSelected(); + if (rows.length == 0) return this.$error("璇烽�夋嫨涓嬫枡浣�!"); + let addkeys = rows.map(x => { + return x[this.table.key]; + }); + if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌涓嬫枡浣�!"); + this.$confirm("鏄惁纭鍒囨崲鎵樼洏锛�","鎻愮ず",{ + // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮� + confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲 + cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲 + // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲 + showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽� + type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊 + }).then(()=>{ + let params = { + MainData: null, + DetailData: null, + DelKeys: addkeys + } + this.http.post("/api/dt_stationinfo/Trayswitching", params, "姝e湪鍒囨崲....").then(x => { + if (!x.status) return this.$error(x.message); + this.$success(x.message); + this.refresh(); + }); + }) + + } + } //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴� // this.boxOptions.labelWidth = 150; @@ -47,69 +110,129 @@ row.sort=true; } }) - 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); - } - }) - }); - } - }) + let EnableBtn = this.buttons.find(r => r.name == "鍙栨秷绂佺敤"); + if(null!=EnableBtn){ + EnableBtn.onClick = function (){ + let rows = this.$refs.table.getSelected(); + if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佸彇娑堢鐢ㄧ殑鏁版嵁"); - 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": "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.$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); - } - }) - }); - } - }) + // 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); + // } + // }) + // }); + // } + // }) + let DisEnableBtn = this.buttons.find(r => r.name == "绂佺敤"); + if(null!=DisEnableBtn){ + DisEnableBtn.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); + } + }) + }); + } + } + + // 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); + // } + // }) + // }); + // } + // }) // this.buttons.splice(1, 0, { // name: "绉诲簱", // icon: 'el-icon-document', diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js" index d3c9566..b1e61fa 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js" @@ -27,6 +27,7 @@ // } add(){ this.$refs.gridHeader.detialBox = true; + }, //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛� diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" index 613f832..b99f78e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" @@ -10,7 +10,8 @@ public partial interface Idt_stationinfoService { WebResponseContent SetStationEnable(object parm); - WebResponseContent SendAGVTask(object parm); + WebResponseContent SendAGVTask(SaveModel saveModel); WebResponseContent dt_stationinfolist(); + WebResponseContent Trayswitching(SaveModel saveModel); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" index a9c5dbf..6230dc3 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" @@ -25,6 +25,9 @@ using static System.Collections.Specialized.BitVector32; using WIDESEA_Core.EFDbContext; using WIDESEA_WMS.Repositories; +using WIDESEA_Comm; +using WIDESEA_Comm.TaskNo; +using WIDESEA_Common; namespace WIDESEA_WMS.Services { @@ -97,17 +100,159 @@ } return webResponse; } - - public WebResponseContent SendAGVTask(object json) + /// <summary> + /// 鍒囨崲鎵樼洏 + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + public WebResponseContent Trayswitching(SaveModel saveModel) { WebResponseContent webResponse = new WebResponseContent(); - try + VOLContext context = new VOLContext(); + Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); + IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); + string completor = UserContext.Current.UserName; + foreach (var Key in saveModel.DelKeys) { + try + { + var station = repository.Find(x => x.id.ToString() == Key.ToString()).FirstOrDefault(); + if (!station.stationCode.Contains("X")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�"); + if (!station.enable) throw new Exception($"{station.stationCode}鏈惎鐢紒"); + if (station.location_state == LocationStateEnum.Abnormal.ToString()) throw new Exception($"{station.stationCode}鐘舵�佸紓甯革紒"); + if (station.location_state == LocationStateEnum.Empty.ToString()) throw new Exception($"{station.stationCode}鐘舵�佷负绌猴紒"); + if (station.remark == "妗佹灦涓嬫枡") throw new Exception($"{station.stationCode}妗佹灦姝e湪涓嬫枡锛�"); + if (agvtaskRepository.Find(x => x.agv_toaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�"); + + if (!agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode).Any()) + { + #region 涓虹┖鎵樺苟涓旀暟閲忎负0,鍒涘缓鍙栫┖鎵樹换鍔� + if (station.tray_status == TrayStateEnum.EmptyTray.ToString() && station.quantity == 0) + { + dt_agvtask agvtask = new dt_agvtask() + { + agv_fromaddress = station.stationCode, + agv_id = Guid.NewGuid(), + agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), + agv_grade = 1, + agv_createtime = DateTime.Now, + agv_taskstate = AGVTaskStateEnum.Queue.ToString(), + agv_qty = 1, + StarQuantity = 0, + EndQuantity = 0,//EmptyStation.quantity, + agv_tasktype = AGVTaskTypeEnum.TaskType_EmptyPallet.ToString(), + agv_toaddress = "", + agv_userid = UserContext.Current.UserName, + agv_TrayStatus = station.tray_status, + agv_Traytype = station.tray_type + }; + agvtaskRepository.Add(agvtask, true); + station.location_state = LocationStateEnum.Busy.ToString(); + } + #endregion + + #region 鍒涘缓鍏ュ簱浠诲姟 + else if (station.location_state == LocationStateEnum.Stroge.ToString() && station.quantity > 0) + { + var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); + if (Work == null) throw new Exception($"鏈壘鍒拌揣浣峽station.stationCode}鐨勬満鍔犲伐宸ュ崟淇℃伅锛�"); + dt_agvtask agvtask = new dt_agvtask() + { + agv_fromaddress = station.stationCode, + agv_id = Guid.NewGuid(), + agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), + agv_grade = 1, + agv_createtime = DateTime.Now, + agv_taskstate = AGVTaskStateEnum.Queue.ToString(), + agv_materielid = station.stationType, + agv_qty = station.quantity, + agv_tasktype = station.stationCode.Contains("3") ? AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() : AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_toaddress = "", + agv_userid = UserContext.Current.UserName, + bindSN = station.bindSN, + agv_worktype = Convert.ToInt32(Work.processCode), + agv_materbarcode = Work.materialCode, + agv_Traytype = station.tray_type, + jobID = station.Number, + agv_TrayStatus = station.tray_status + }; + agvtaskRepository.Add(agvtask, true); + + station.location_state = LocationStateEnum.InBusy.ToString(); + } + #endregion + } + + station.tray_type = station.tray_type == TrayTypeEnum.SmallTray.ToString() ? TrayTypeEnum.LargeTray.ToString() : TrayTypeEnum.SmallTray.ToString(); + repository.Update(station, x => new { x.location_state, x.tray_type }, true); + + webResponse.OK(webResponse.Message += $"{station.stationCode}鍒囨崲鎴愬姛!"); + } + catch (Exception ex) + { + webResponse.Error(webResponse.Message += ex.Message); + } } - catch (Exception ex) + return webResponse; + } + /// <summary> + /// 涓嬫枡浠诲姟 + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + public WebResponseContent SendAGVTask(SaveModel saveModel) + { + WebResponseContent webResponse = new WebResponseContent(); + VOLContext context = new VOLContext(); + Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context); + IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); + string completor = UserContext.Current.UserName; + foreach (var Key in saveModel.DelKeys) { - + try + { + var station = repository.Find(x => x.id.ToString() == Key.ToString()).FirstOrDefault(); + if (!station.stationCode.Contains("X")) throw new Exception($"鏃爗station.stationCode}浣跨敤鏉冮檺锛�"); + if (!station.enable) throw new Exception($"{station.stationCode}鏈惎鐢紒"); + if (station.location_state == LocationStateEnum.Abnormal.ToString()) throw new Exception($"{station.stationCode}鐘舵�佸紓甯革紒"); + if (station.location_state == LocationStateEnum.Empty.ToString()) throw new Exception($"{station.stationCode}鐘舵�佷负绌猴紒"); + if (station.tray_status == TrayStateEnum.EmptyTray.ToString()) throw new Exception($"{station.stationCode}涓虹┖鎵樼洏锛�"); + if (station.quantity < 1) throw new Exception($"{station.stationCode}鏁伴噺灏戜簬1锛�"); + if (station.remark == "妗佹灦涓嬫枡") throw new Exception($"{station.stationCode}妗佹灦姝e湪涓嬫枡锛�"); + //if (station.location_state.Contains("Busy")) throw new Exception($"{station.stationCode}鍗犵敤锛�"); + if (agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode || x.agv_fromaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}瀛樺湪浠诲姟锛�"); + var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); + if (Work == null) throw new Exception($"鏈壘鍒拌揣浣峽station.stationCode}鐨勬満鍔犲伐宸ュ崟淇℃伅锛�"); + dt_agvtask agvtask = new dt_agvtask() + { + agv_fromaddress = station.stationCode, + agv_id = Guid.NewGuid(), + agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), + agv_grade = 1, + agv_createtime = DateTime.Now, + agv_taskstate = AGVTaskStateEnum.Queue.ToString(), + agv_materielid = station.stationType, + agv_qty = station.quantity, + agv_tasktype = station.stationCode.Contains("3") ? AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() : AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_toaddress = "", + agv_userid = UserContext.Current.UserName, + bindSN = station.bindSN, + agv_worktype = Convert.ToInt32(Work.processCode), + agv_materbarcode = Work.materialCode, + agv_Traytype = station.tray_type, + jobID = station.Number, + agv_TrayStatus = station.tray_status + }; + agvtaskRepository.Add(agvtask, true); + station.location_state = LocationStateEnum.InBusy.ToString(); + repository.Update(station, x => new { x.location_state }, true); + webResponse.OK(webResponse.Message += $"{station.stationCode}浠诲姟娣诲姞鎴愬姛!"); + } + catch (Exception ex) + { + webResponse.Error(webResponse.Message += ex.Message); + } } return webResponse; } @@ -180,7 +325,7 @@ WebResponseContent content = new WebResponseContent(); VOLContext volContext = new VOLContext(); Idt_stationinfoRepository dsta = new dt_stationinfoRepository(volContext); - string[] stationCodes = { "A","S", "X", "W", "DD","B", "C", "D01"}; + string[] stationCodes = { "A", "S", "X", "W", "DD", "B", "C", "D01" }; List<Tuple<List<dt_stationinfo>, int>> responseData = new List<Tuple<List<dt_stationinfo>, int>>(); foreach (string code in stationCodes) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" index 933f469..60a8b53 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" @@ -90,7 +90,7 @@ agv_fromaddress = station.stationCode, agv_id = Guid.NewGuid(), agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), - agv_grade = 1, + agv_grade = 0, agv_createtime = DateTime.Now, agv_taskstate = "Queue", agv_materielid = station.stationType, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/shiftingparking.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/shiftingparking.cs" index b40fa60..65dd109 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/shiftingparking.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/shiftingparking.cs" @@ -65,7 +65,7 @@ agv_fromaddress = station1.stationCode, agv_id = Guid.NewGuid(), agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), - agv_grade = 1, + agv_grade = 0, agv_createtime = DateTime.Now, agv_taskstate = "Create", agv_materielid = station1.stationType, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" index 826b2a9..92f4799 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" @@ -13,6 +13,7 @@ using WIDESEA_WMS.IServices; using WIDESEA_Core.Utilities; using WIDESEA_WMS.Services; +using Microsoft.AspNetCore.Authorization; namespace WIDESEA_WMS.Controllers { @@ -43,14 +44,25 @@ } /// <summary> - /// 涓嬪彂NG浠诲姟 + /// 涓嬫枡浠诲姟 /// </summary> /// <param name="parm"></param> /// <returns></returns> - [HttpPost, Route("SendAGVTask")] - public WebResponseContent SendAGVTask([FromBody] object parm) + [HttpPost, Authorize, Route("SendAGVTask"),AllowAnonymous] + public WebResponseContent SendAGVTask([FromBody] SaveModel saveModel) { - return dt_stationinfoService.Instance.SendAGVTask(parm); + return dt_stationinfoService.Instance.SendAGVTask(saveModel); + } + + /// <summary> + /// 鍒囨崲鎵樼洏 + /// </summary> + /// <param name="parm"></param> + /// <returns></returns> + [HttpPost, Authorize, Route("Trayswitching"), AllowAnonymous] + public WebResponseContent Trayswitching([FromBody] SaveModel saveModel) + { + return dt_stationinfoService.Instance.Trayswitching(saveModel); } /// <summary> -- Gitblit v1.9.3