From 7a4c218909936721fe281737491d10efc7378e09 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期五, 19 七月 2024 17:53:30 +0800 Subject: [PATCH] 优化工单信息页面 --- 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs | 107 +++++++++++++++++------------------------------------ 1 files changed, 35 insertions(+), 72 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" index 8880cd9..8b52c8e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" @@ -54,85 +54,35 @@ //鏍规嵁涓嬫枡鍙g殑缁戝畾淇℃伅鏌ヨ瀵瑰簲宸ュ崟锛屾娴嬫宸ュ崟鏄惁宸插畬鎴� 瀹屾垚鍗冲彲灏嗗叾閫佸叆搴� - var work = workinfoRepository.Find(x => x.workOrder == item.Number && x.drawingNo == x.drawingNo && x.heatID == item.heatNumber).FirstOrDefault(); + var work = workinfoRepository.Find(x => x.workOrder == item.Number && x.drawingNo == item.stationType && x.heatID == item.heatNumber && x.processCode == "17").OrderByDescending(x => x.CreateTime).FirstOrDefault(); if (work == null) { item.remark = "瑙﹀彂鍏ュ簱浠诲姟,浣嗘湭鎵惧埌宸ュ崟淇℃伅锛�"; item.location_state = LocationStateEnum.Abnormal.ToString(); - stationinfoRepository.Update(item, true); + stationinfoRepository.Update(item, x => new { x.remark, x.location_state }, true); + continue; + } + var geometry = Pipeline.QueryMateriel(work.drawingNo); + if (geometry == null) + { + item.remark = "鏈壘鍒拌溅杞俊鎭紒"; + item.location_state = LocationStateEnum.Abnormal.ToString(); + stationinfoRepository.Update(item, x => new { x.remark, x.location_state }, true); continue; } - //dt_mes_head mesinfo = mes_HeadRepository.Find(x => x.workOrder == item.Number).FirstOrDefault(); - //if (mesinfo == null) - //{ - // item.remark = "瑙﹀彂鍏ュ簱浠诲姟,浣嗘湭鎵惧埌宸ュ崟澶磋〃锛�"; - // item.location_state = LocationStateEnum.Abnormal.ToString(); - // stationinfoRepository.Update(item, true); - // continue; - // //throw new Exception("鏈壘鍒板伐鍗曞ご琛紒宸ュ崟鍙凤細" + item.Number); - //} - //var dt_Geometry_Data = PipelineJob.QueryMateriel(mesinfo.drawingNo); - //var dt_Geometry_Data1 = PipelineJob.QueryMateriel1(mesinfo.drawingNo); - - //int CompeletedNum = Convert.ToInt32(mesinfo.quantity) - Convert.ToInt32(mesinfo.finishNum); - - - dt_stationinfo TargetLocation = null; string tasktype = ""; - if (item.quantity == 5 /*|| CompeletedNum == 0*/) //寰幆璇诲彇杞﹁疆鏁颁负5鎴栬�呰鍗曞凡瀹屾垚鏁伴噺鐨勪笅鏂欏彛 鈫掑伐鍗曚汉宸ュ叧闂殑宸ュ崟 + + //if (item.quantity == 5) + if (item.quantity == geometry.stackNoRange) { - - - if (/*(mesinfo.quantity <= 50 && string.IsNullOrEmpty(mesinfo.area)) ||*/ item.stationCode.Contains("3")) //灏忎簬50浠剁洿鎺ュ嚭搴� - { - //todo 瀵绘壘鍙斁璐у鍗忔斁璐у彴 + if (!string.IsNullOrEmpty(work.area) || item.stationCode.Contains("3")) tasktype = "TaskType_OutsourceInbound"; - TargetLocation = GetEmptyLocation(stationinfoRepository); - - } else - { - //todo: 璋冪敤WMS鎺ュ彛鍒涘缓浠诲姟 tasktype = "TaskType_Inbound"; - TargetLocation = GetLocation.GetEmptyLocation(stationinfoRepository, work, item); - //TargetLocation = GetEmptyLocation(stationinfoRepository, mesinfo, item, CompeletedNum, dt_Geometry_Data == null ? dt_Geometry_Data1.e : dt_Geometry_Data.e); - } - if (TargetLocation != null) - { - dt_agvtask agvtask = new dt_agvtask() - { - agv_fromaddress = item.stationCode, - agv_id = Guid.NewGuid(), - agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), - agv_grade = 1, - agv_createtime = DateTime.Now, - agv_taskstate = "Create", - agv_materielid = item.stationType, - agv_qty = item.quantity, - agv_tasktype = tasktype, - agv_toaddress = TargetLocation.stationCode, - agv_userid = "绯荤粺", - bindSN = item.bindSN, - agv_worktype = Convert.ToInt32(work.processCode), - agv_materbarcode = work.materialCode, - agv_Traytype = item.tray_type, - jobID = item.Number, - agv_TrayStatus = item.tray_status - }; - agvtaskRepository.Add(agvtask, true); - item.location_state = LocationStateEnum.InBusy.ToString(); - stationinfoRepository.Update(item, true); - - TargetLocation.location_state = LocationStateEnum.InBusy.ToString(); - TargetLocation.stationType = agvtask.agv_materielid; - TargetLocation.heatNumber = item.heatNumber; - TargetLocation.Number = agvtask.jobID; - stationinfoRepository.Update(TargetLocation, true); - WriteDBLog.Success("鍒涘缓鍏ュ簱浠诲姟", $"浠诲姟缂栧彿锛歿agvtask.agv_tasknum}", "PCS"); - } + AGVTask.AddQueueTask(stationinfoRepository, agvtaskRepository, item, tasktype, work); } } } @@ -140,7 +90,6 @@ { WriteDBLog.Error("鍒涘缓鍏ュ簱浠诲姟", $"閿欒淇℃伅锛� {ex.Message}", "PCS"); } - } /// <summary> @@ -392,7 +341,21 @@ } return TargetLocation; } - + /// <summary> + /// 涓存椂浣跨敤 + /// </summary> + /// <param name="stationinfoRepository"></param> + /// <returns></returns> + public static dt_stationinfo GetEmptyLocation1(Idt_stationinfoRepository stationinfoRepository) + { + return stationinfoRepository.Find(x => x.line == 1 && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.area == "3").OrderBy(x => x.column).FirstOrDefault();//琛屽拰鍖哄煙闇�鍐欐 + } + /// <summary> + /// 鍘诲鍗� + /// </summary> + /// <param name="stationinfoRepository"></param> + /// <returns></returns> + /// <exception cref="Exception"></exception> public static dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository) { dt_stationinfo TargetLocation = null; @@ -402,17 +365,17 @@ if (!Pipeline_client.IsConnected) throw new Exception("涓庨摼鏉℃満杩炴帴瓒呮椂锛�"); foreach (var item in target) { - TargetLocation = stationinfoRepository.Find(x => x.stationCode == item && x.location_state == "Empty" /*LocationStateEnum.Empty.ToString()*/ && x.enable).FirstOrDefault(); + TargetLocation = stationinfoRepository.Find(x => x.stationCode == item && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).FirstOrDefault(); var PalletSignal = Pipeline_client.ReadByOrder<Int16>("R_PalletSignal", item);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃� var MaterialSignal = Pipeline_client.ReadByOrder<Int16>("R_MaterialSignal", item);//璇诲彇璐х墿淇″彿:1:鏈�,2鏃� if (TargetLocation != null && PalletSignal == 2 && MaterialSignal == 2) return TargetLocation; } - if (TargetLocation == null) - { - throw new Exception("澶栧崗鍏ュ簱鍙e凡婊�"); - } + //if (TargetLocation == null) + //{ + // throw new Exception("澶栧崗鍏ュ簱鍙e凡婊�"); + //} return TargetLocation; } /// <summary> -- Gitblit v1.9.3