From 1e12c140c041c0cb52306a0db9ff0ba18354d0d8 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 03 四月 2025 18:01:52 +0800
Subject: [PATCH] 优化WMS前端首页,货位查询column数据库关键字处理
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs | 79 +++++++++++++++++++++++++++++++++++++--
1 files changed, 74 insertions(+), 5 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs"
index 813408f..883ccd3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs"
@@ -1,13 +1,19 @@
锘縰sing System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
using WIDESEAWCS_TaskInfoService;
namespace WIDESEAWCS_TaskInfoService
@@ -27,12 +33,35 @@
if (saveModel == null) throw new Exception("鏇存柊浠诲姟淇℃伅涓虹┖");
Dt_Task dt_Task = GetTaskInfo(Convert.ToInt32(saveModel.outID));
if (dt_Task == null) throw new Exception($"鏈壘鍒颁换鍔″彿涓恒�恵saveModel.outID}銆戠殑浠诲姟");
- dt_Task.TaskState = saveModel.status switch
+ if (dt_Task.TaskState >= (int)TaskInStatusEnum.AGV_InFinish)
{
- "02" => (int)TaskInStatusEnum.AGV_InExecuting,
- "08" => (int)TaskInStatusEnum.AGV_InFinish,
- _ => throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�"),
- };
+ return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵dt_Task.TaskNum}銆�,浠诲姟鐘舵��:銆恵GetEnumDescription(Enum.Parse<TaskInStatusEnum>(Enum.GetName(typeof(TaskInStatusEnum), dt_Task.TaskState)))}銆�");
+ }
+ switch (saveModel.status)
+ {
+ case "02":
+ dt_Task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting;
+ break;
+ case "08":
+ {
+ dt_Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
+ dt_Task.CurrentAddress = dt_Task.NextAddress;
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(dt_Task.CurrentAddress, dt_Task.TargetAddress);
+ if (routers.Count > 0)
+ {
+ dt_Task.NextAddress = routers.FirstOrDefault().ChildPosi;
+ }
+ }
+ break;
+ default:
+ throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�");
+ }
+ //dt_Task.TaskState = saveModel.status switch
+ //{
+ // "02" => (int)TaskInStatusEnum.AGV_InExecuting,
+ // "08" => (int)TaskInStatusEnum.AGV_InFinish,
+ // _ => throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�"),
+ //};
content = UpdateData(dt_Task);
}
catch (Exception ex)
@@ -46,5 +75,45 @@
// message = content.Message,
//};
}
+ /// <summary>
+ /// 鍑哄簱浠诲姟瀹屾垚
+ /// </summary>
+ /// <param name="Address"></param>
+ /// <returns></returns>
+ public WebResponseContent OutTaskFinish(string Address)
+ {
+ try
+ {
+ Dt_Task dt_Task = BaseDal.QueryFirst(x => x.TargetAddress == Address);
+ if (dt_Task != null && dt_Task.TaskState != TaskOutStatusEnum.AGV_OutFinish.ObjToInt())
+ throw new Exception($"鍦板潃銆恵Address}銆戝瓨鍦ㄦ湭瀹屾垚AGV浠诲姟");
+ Dt_Router _Router = _routerRepository.QueryFirst(x => x.NextPosi == Address);
+ if (_Router == null) throw new Exception($"鍦板潃銆恵Address}銆戞湭閰嶇疆璺敱");
+ _Router.Remark = "鏈崰鐢�";
+ Db.Ado.BeginTran();
+ _routerRepository.UpdateData(_Router);
+ if (dt_Task != null)
+ {
+ dt_Task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
+ WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(dt_Task);
+ AddTask_Hty(dt_Task, TaskOperateTypeEnum.AutoComplete);
+ HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>());
+ }
+ Db.Ado.CommitTran();
+
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ Db.Ado.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ public static string GetEnumDescription<T>(T value) where T : Enum
+ {
+ FieldInfo fieldInfo = typeof(T).GetField(value.ToString());
+ DescriptionAttribute attribute = (DescriptionAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute));
+ return attribute?.Description ?? value.ToString();
+ }
}
}
--
Gitblit v1.9.3