From 25be6fbad7853391a52d3a56752cd1c308c2dfd0 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 14 五月 2024 15:40:30 +0800 Subject: [PATCH] 添加AGV任务删除功能 --- 代码管理/WMS/WMS_Client/src/views/dialog/addTask.vue | 57 ++++++++----- 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs | 12 +++ 代码管理/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue | 33 ++++---- 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs | 10 +- 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Partial/Idt_agvtaskService.cs | 3 代码管理/WMS/WMS_Client/src/api/http.js | 2 代码管理/WMS/WMS_Client/src/views/extension/widesea_wms/taskinfo/dt_agvtask.js | 14 +++ 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs | 57 ++++++++++++++ 8 files changed, 141 insertions(+), 47 deletions(-) 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 0af90a4..eb0a016 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://127.0.0.1:8098/'; + axios.defaults.baseURL = 'http://192.168.12.101: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/views/Task/widesea_wms/taskinfo/dt_agvtask.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue" index 3904ac0..7f4b64e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue" @@ -22,7 +22,7 @@ export default defineComponent({ setup() { const table = ref({ - key: 'ID', + key: 'agv_id', footer: "Foots", cnName: 'AGV浠诲姟', name: 'taskinfo/dt_agvtask', @@ -30,23 +30,24 @@ sortName: "ID" }); const editFormFields = ref({"agv_fromaddress":"","agv_toaddress":"","agv_tasktype":"","agv_grades":"","agv_code":""}); - const editFormOptions = ref([[{ - title: "NG涓嬫枡浣�", - required: false, - field: "agv_fromaddress", - type: "select", - data: [ - { key: "X01001003", value: "1鍗曞厓NG涓嬫枡浣�" }, - { key: "X02001003", value: "2鍗曞厓NG涓嬫枡浣�" }, - { key: "X03001002", value: "3鍗曞厓NG涓嬫枡浣�" } - ] - }, - // {"title":"NG涓嬫枡浣�","field":"agv_fromaddress","type":"text","required":true} - ], + const editFormOptions = ref([ + // [{ + // title: "NG涓嬫枡浣�", + // required: false, + // field: "agv_fromaddress", + // type: "select", + // data: [ + // { key: "X01001003", value: "1鍗曞厓NG涓嬫枡浣�" }, + // { key: "X02001003", value: "2鍗曞厓NG涓嬫枡浣�" }, + // { key: "X03001002", value: "3鍗曞厓NG涓嬫枡浣�" } + // ] + // }, + // // {"title":"NG涓嬫枡浣�","field":"agv_fromaddress","type":"text","required":true} + // ], // [{"title":"缁堢偣鍦板潃","field":"agv_toaddress","type":"text","required":true}], - // [{"dataKey":"task_grade","data":[],"title":"浠诲姟绛夌骇","required":true,"field":"agv_grade","type":"select"}], - // [{"dataKey":"agv_tasktypes","data":[],"title":"浠诲姟绫诲瀷","required":true,"field":"agv_tasktype","type":"select"}] + [{"dataKey":"task_grade","data":[],"title":"浠诲姟绛夌骇","required":true,"field":"agv_grade","type":"select"}], + [{"dataKey":"agv_tasktypes","data":[],"title":"浠诲姟绫诲瀷","required":true,"field":"agv_tasktype","type":"select"}] // [{"dataKey":"agv_code","data":[],"title":"AGV缂栧彿","required":true,"field":"agv_code","type":"select"}] ]); const searchFormFields = ref({"agv_tasknum":"","agv_fromaddress":"","agv_toaddress":"","agv_tasktype":[],"agv_taskstate":[],"agv_materielid":"","agv_createtime":"","agv_barcode":"","agv_materbarcode":""}); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/dialog/addTask.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/dialog/addTask.vue" index 3af9917..ac6d802 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/dialog/addTask.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/dialog/addTask.vue" @@ -1,6 +1,6 @@ <template> <div> - <vol-box :lazy="true" v-model="detialBox" title="鎵嬪姩绉诲簱" :height="350" :width="400" :padding="15"> + <vol-box :lazy="true" v-model="detialBox" title="NG浠诲姟" :height="350" :width="400" :padding="15"> <div> <el-form :model="formdata" label-width="120px" :rules="rules" size="mini" ref="ruleFormRef"> <!-- <el-form-item label="绫诲瀷"> @@ -10,18 +10,18 @@ </el-radio-group> </el-form-item> --> - <el-form-item v-if="inType == 'handle'" label="璧峰鍦板潃" prop="from_address"> - <el-select v-model="formdata.from_address" clearable filterable placeholder="璇烽�夋嫨璧峰鍦板潃"> - <el-option v-for="item in formAddressList" :label="item.key" :value="item.key" /> + <el-form-item v-if="inType == 'handle'" label="NG涓嬫枡浣�" prop="from_address"> + <el-select v-model="formdata.from_address" clearable filterable placeholder="璇烽�夋嫨NG涓嬫枡浣�"> + <el-option v-for="item in formAddressList" :label="item.value" :value="item.key" /> </el-select> </el-form-item> - <el-form-item label="鐩殑鍦板潃" prop="to_address"> + <!-- <el-form-item label="鐩殑鍦板潃" prop="to_address"> <el-select v-model="formdata.to_address" clearable filterable placeholder="璇烽�夋嫨鐩殑鍦板潃"> <el-option v-for="item in toAddressList" :label="item.key" :value="item.key" /> </el-select> - </el-form-item> + </el-form-item> --> <el-form-item label=""> - <el-button type="primary" @click="onSubmit()" size="mini"> 纭绉诲簱</el-button> + <el-button type="primary" @click="onSubmit()" size="mini"> 纭娣诲姞NG浠诲姟</el-button> </el-form-item> </el-form> </div> @@ -35,17 +35,17 @@ export default { components: { "vol-box": VolBox1Vue }, methods: {}, - created() { - this.http.post("/api/Sys_Dictionary/GetVueDictionary", ["route_began", "route_end"]).then(x => { - x.forEach(item => { - if (item.dicNo == 'route_end') { - this.toAddressList = item.data; - } else if (item.dicNo == 'route_began') { - this.formAddressList = item.data; - } - }) - }) - }, + // created() { + // this.http.post("/api/Sys_Dictionary/GetVueDictionary", ["route_began", "route_end"]).then(x => { + // x.forEach(item => { + // if (item.dicNo == 'route_end') { + // this.toAddressList = item.data; + // } else if (item.dicNo == 'route_began') { + // this.formAddressList = item.data; + // } + // }) + // }) + // }, data() { return { detialBox: false, @@ -59,7 +59,11 @@ from_address: "", to_address: "" }, - formAddressList: [], + formAddressList: [ + { key: "X01001003", value: "1鍗曞厓NG涓嬫枡浣�" }, + { key: "X02001003", value: "2鍗曞厓NG涓嬫枡浣�" }, + { key: "X03001002", value: "3鍗曞厓NG涓嬫枡浣�" } + ], toAddressList: [] }; }, @@ -68,10 +72,17 @@ var _this = this; this.$refs.ruleFormRef.validate((valid) => { if (valid) { - _this.http.post("/api/ToMes/AddToFloat3", _this.formdata, "姝e湪娣诲姞....").then(x => { - if (!x.status) return _this.$Message.error(x.message); - _this.$Message.success("娣诲姞鎴愬姛!"); - _this.refresh(); + _this.http.post("/api/dt_agvtask/addNgTask", _this.formdata, "姝e湪娣诲姞....").then(x => { + if (!x.status){ + _this.detialBox=false; + _this.formdata.from_address=""; + _this.$Message.error(x.message); + }else{ + _this.detialBox=false; + _this.formdata.from_address=""; + _this.$Message.success("娣诲姞鎴愬姛!"); + window.location.reload(); + } }); } }) 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 0373480..d3c9566 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" @@ -6,11 +6,12 @@ **鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev *****************************************************************************************/ //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 +import addTask from "@/views/dialog/addTask" let extension = { components: { //鏌ヨ鐣岄潰鎵╁睍缁勪欢 - gridHeader: '', + gridHeader: addTask, gridBody: '', gridFooter: '', //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 @@ -21,6 +22,12 @@ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� methods: { + // onClick: function () { + // this.add(); + // } + add(){ + this.$refs.gridHeader.detialBox = true; + }, //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛� //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽� @@ -39,7 +46,7 @@ this.buttons.forEach(x => { if(x.value == 'Add') { - x.name = 'NG浠诲姟' + x.name = 'NG浠诲姟'; } }); //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴� @@ -72,6 +79,9 @@ // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; }, modelOpenAfter(row) { + // if(this.currentAction=='Add'){ + // this.editFormFields.agv_fromaddress='xxx'; + // } //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; //(2)缁欏脊鍑烘璁剧疆榛樿鍊� diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" index e8934a1..f28587f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" @@ -33,7 +33,7 @@ [MaxLength(50)] [Column(TypeName = "nvarchar(50)")] [Editable(true)] - [Required(AllowEmptyStrings = false)] + //[Required(AllowEmptyStrings = false)] public string agv_tasknum { get; set; } /// <summary> @@ -81,7 +81,7 @@ [MaxLength(20)] [Column(TypeName = "nvarchar(20)")] [Editable(true)] - [Required(AllowEmptyStrings = false)] + //[Required(AllowEmptyStrings = false)] public string agv_taskstate { get; set; } /// <summary> @@ -134,7 +134,7 @@ [Display(Name = "鍒涘缓鏃堕棿")] [Column(TypeName = "datetime")] [Editable(true)] - [Required(AllowEmptyStrings = false)] + //[Required(AllowEmptyStrings = false)] public DateTime agv_createtime { get; set; } /// <summary> @@ -157,8 +157,8 @@ ///浠诲姟绫诲瀷 /// </summary> [Display(Name = "浠诲姟绫诲瀷")] - [MaxLength(20)] - [Column(TypeName = "nvarchar(20)")] + [MaxLength(50)] + [Column(TypeName = "nvarchar(50)")] [Editable(true)] //[Required(AllowEmptyStrings = false)] public string agv_tasktype { get; set; } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Partial/Idt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Partial/Idt_agvtaskService.cs" index f56bf3e..98efc94 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Partial/Idt_agvtaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/Taskinfo/Partial/Idt_agvtaskService.cs" @@ -5,9 +5,12 @@ using WIDESEA_Entity.DomainModels; using WIDESEA_Core.Utilities; using System.Linq.Expressions; +using WIDESEA_Entity.DomainModels.Mes; +using Microsoft.AspNetCore.Mvc; namespace WIDESEA_WMS.IServices { public partial interface Idt_agvtaskService { + WebResponseContent addNgTask([FromBody] MesRequestTemp request); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" index 8f5044e..fc7bb72 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" @@ -26,6 +26,7 @@ using WIDESEA_Comm.LogInfo; using StackExchange.Redis; using WIDESEA_Comm; +using WIDESEA_Entity.DomainModels.Mes; namespace WIDESEA_WMS.Services { @@ -47,6 +48,62 @@ //base.Init(dbRepository); } + public WebResponseContent addNgTask(MesRequestTemp requestTemp) + { + WebResponseContent content = new WebResponseContent(); + try + { + var fromaddress = requestTemp.from_address; + VOLContext context = new VOLContext(); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); + IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); + var station = stationinfoRepository.Find(x => x.stationCode == fromaddress).FirstOrDefault(); + if (_repository.Find(x => x.agv_fromaddress == fromaddress || x.agv_toaddress == fromaddress).Any()) + throw new Exception($"璐т綅{fromaddress}宸插瓨鍦ㄤ换鍔★紒"); + if (station == null) throw new Exception($"鏈壘鍒拌揣浣峽fromaddress}锛�"); + if (!station.enable) throw new Exception($"璐т綅{fromaddress}鏈惎鐢紒"); + if (station.quantity < 1) throw new Exception($"璐т綅{fromaddress}鏃犺溅杞紒"); + var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); + if (Work == null) throw new Exception($"鏈壘鍒拌揣浣峽fromaddress}鐨勬満鍔犲伐宸ュ崟淇℃伅"); + dt_agvtask agvtask = new dt_agvtask() + { + agv_fromaddress = station.stationCode, + agv_id = Guid.NewGuid(), + agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), + agv_grade = 2, + agv_createtime = DateTime.Now, + agv_taskstate = "Queue", + agv_materielid = station.stationType, + agv_qty = station.quantity, + agv_tasktype = "TaskType_OutsourceInbound", + 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 + }; + _repository.Add(agvtask, true); + station.location_state = LocationStateEnum.InBusy.ToString(); + stationinfoRepository.Update(station, true); + content.OK(); + } + catch (Exception ex) + { + content.Message = ex.Message; + } + return content; + } + public override WebResponseContent Update(SaveModel saveModel) + { + WebResponseContent content = new WebResponseContent(); + var agv_id = saveModel.MainData["agv_id"].ToString(); + var task = _repository.Find(x => x.agv_id.ToString() == agv_id).FirstOrDefault(); + if (task.agv_taskstate != AGVTaskStateEnum.Queue.ToString()) return content.Error("褰撳墠浠诲姟涓嶅彲鏇存敼锛�"); + return base.Update(saveModel); + } #region 娣诲姞NG浠诲姟 public override WebResponseContent Add(SaveModel saveDataModel) { 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_agvtaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs" index 34a5e3a..e451e9f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_agvtaskController.cs" @@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Http; using WIDESEA_Entity.DomainModels; using WIDESEA_WMS.IServices; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels.Mes; namespace WIDESEA_WMS.Controllers { @@ -29,5 +31,15 @@ _service = service; _httpContextAccessor = httpContextAccessor; } + /// <summary> + /// 娣诲姞NG浠诲姟 + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + [HttpPost, Route("addNgTask")] + public WebResponseContent addNgTask([FromBody] MesRequestTemp request) + { + return _service.addNgTask(request); + } } } -- Gitblit v1.9.3