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