wanshenmean
2024-11-09 ad18b0c17b5b1f715c33cb2a2b39589c10434a00
11.09-1申请巷道与申请货位拆分
已修改12个文件
209 ■■■■■ 文件已修改
Code Management/WCS/WIDESEAWCS_Client/src/api/http.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/RequestTaskDto.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -19,7 +19,7 @@
}
else if (process.env.NODE_ENV == 'production') {
    axios.defaults.baseURL = 'http://115.159.85.185:9291/';
    axios.defaults.baseURL = 'http://127.0.0.1:9291/';
}
if (!axios.defaults.baseURL.endsWith('/')) {
    axios.defaults.baseURL+="/";
Code Management/WCS/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js
@@ -31,7 +31,7 @@
        icon: "el-icon-document", //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
        type: "primary", //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
        onClick: function () {
          this.$Message.success("点击了按钮");
          this.$Message.success("开启服务");
        },
      });
    },
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Headers;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
@@ -9,13 +10,16 @@
{
    public class HttpHelper
    {
        public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null)
        public static async Task<string> GetAsync(string serviceAddress, Dictionary<string, object> parameters, string contentType = "application/json", Dictionary<string, string>? headers = null)
        {
            try
            {
                string result = string.Empty;
                using HttpClient httpClient = new HttpClient();
                httpClient.Timeout = new TimeSpan(0, 0, 60);
                // 将参数拼接到URL中
                string queryString = string.Join("&", parameters.Select(x => $"{x.Key}={x.Value}"));
                serviceAddress += "?" + queryString;
                if (headers != null)
                {
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/WMS/RequestTaskDto.cs
@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_DTO.WMS
namespace WIDESEAWCS_DTO.WMS
{
    public class RequestTaskDto
    {
@@ -22,5 +16,10 @@
        /// 空托盘可入巷到
        /// </summary>
        public string PositionList { get; set; }
        /// <summary>
        /// 任务类型
        /// </summary>
        public string RequestType { get; set; } = string.Empty;
    }
}
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -132,7 +132,7 @@
            WebResponseContent content = new WebResponseContent();
            try
            {
                #region 真实数据
                #region 请求入库任务巷道
                // TODO: 调用接口获取下一个地址
                // 创建请求对象
                RequestTaskDto request = new RequestTaskDto()
@@ -429,7 +429,7 @@
                    if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
                    {
                        #region 真实数据
                        #region 入库调用接口获取货位地址
                        // TODO: 调用接口获取货位地址
                        // 创建请求对象
                        RequestTaskDto taskDto = new RequestTaskDto()
@@ -439,7 +439,7 @@
                        };
                        // 发送请求并等待响应
                        var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTaskAsync", taskDto.ToJsonString()).Result;
                        var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestLocationTaskAsync", taskDto.ToJsonString()).Result;
                        if (abc == null)
                            return content.Error();
                        // 反序列化响应内容
@@ -586,8 +586,11 @@
                #region WMS同步任务完成
                //var x = new { taskNum = taskNum };
                var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync?taskNum={taskNum}").Result;
                var keys = new Dictionary<string, object>()
                {
                    {"taskNum", taskNum}
                };
                var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
                #endregion
                #region  更新任务状态
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -313,7 +313,7 @@
        /// <summary>
        /// 陈化空托盘出库
        /// 监测空托盘实盘出库
        /// </summary>
        /// <param name="conveyorLine">输送线实例对象</param>
        /// <param name="command">读取的请求信息</param>
@@ -335,42 +335,6 @@
            }
        }
        #region
        ///// <summary>
        ///// 陈化实盘出库)
        ///// </summary>
        ///// <param name="conveyorLine">输送线实例对象</param>
        ///// <param name="command">读取的请求信息</param>
        ///// <param name="childDeviceCode">子设备编号</param>
        ///// <param name="index">线体当前bool读取偏移地址</param>
        //public void ChuanhuaOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
        //{
        //    CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, "CHSC01", "001-001-001");
        //}
        ///// 静置空托盘出库
        ///// </summary>
        ///// <param name="conveyorLine">输送线实例对象</param>
        ///// <param name="command">读取的请求信息</param>
        ///// <param name="childDeviceCode">子设备编号</param>
        ///// <param name="index">线体当前bool读取偏移地址</param>
        //public void EmptyTrayOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index)
        //{
        //    CheckAndCreateTask(TaskOutboundTypeEnum.OutTray, childDeviceCode, index, "JZSC01", "002-020-001");
        //}
        ///// <summary>
        ///// 静置实盘出库
        ///// </summary>
        ///// <param name="conveyorLine">输送线实例对象</param>
        ///// <param name="command">读取的请求信息</param>
        ///// <param name="childDeviceCode">子设备编号</param>
        ///// <param name="index">线体当前bool读取偏移地址</param>
        //public void JingzhiOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index)
        //{
        //    CheckAndCreateTask(TaskOutboundTypeEnum.Outbound, childDeviceCode, index, "JZSC01", "002-000-001");
        //}
        #endregion
        /// <summary>
        /// 检查任务并创建新任务
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -97,7 +97,11 @@
            }
            // TODO调用WMS任务完成接口
            var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync?taskNum={taskOut.TaskNum}").Result;
            var keys = new Dictionary<string, object>()
                {
                    {"taskNum", taskOut.TaskNum}
                };
            var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
            WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
            if (content.Status)
            {
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs
@@ -16,6 +16,11 @@
    /// 空托盘可入巷到
    /// </summary>
    public string PositionList { get; set; }
    /// <summary>
    /// 任务类型
    /// </summary>
    public string RequestType { get; set; } = string.Empty;
}
public class RequestOutTaskDto
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -124,7 +124,7 @@
    Task<WebResponseContent> CompleteAsync(int taskNum);
    /// <summary>
    /// 请求任务
    /// 请求任务巷道
    /// </summary>
    /// <param name="position"></param>
    /// <param name="areaCode"></param>
@@ -132,6 +132,13 @@
    /// <param name="type"></param>
    /// <returns></returns>
    Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input);
    /// <summary>
    /// 请求任务货位
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input);
    /// <summary>
    /// 请求空托盘任务
@@ -157,4 +164,5 @@
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState);
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs
@@ -53,7 +53,7 @@
        {
            input.SessionId = Guid.NewGuid().ToString();
            input.EmployeeNo = "T00001";
            input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); ;
            input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
            var inputJson = input.ToDictionary();
            var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/AgingOutput", inputJson);
            content.OK(data: x);
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -401,7 +401,7 @@
    #region 请求任务入库
    /// <summary>
    /// 请求任务
    /// 请求任务巷道
    /// </summary>
    /// <param name="input">请求模型</param>
    /// <returns>包含任务信息的响应内容</returns>
@@ -416,7 +416,7 @@
            var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
            if (task != null)
            {
                if (task.TaskState == (int)TaskInStatusEnum.InNew)
                //if (task.TaskState == (int)TaskInStatusEnum.InNew)
                {
                    // 创建WMS任务
                    WMSTaskDTO taskDTO = new WMSTaskDTO()
@@ -433,8 +433,6 @@
                    };
                    return content.OK(data: taskDTO);
                }
                content = await UpdateExistingTask(input, task);
                return content;
            }
            // 创建一个TrayCellsStatusDto对象,并赋值
            TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
@@ -465,8 +463,8 @@
            // 调用GetProcessResponseAsync方法,获取工艺响应
            var processResponse = await GetProcessResponseAsync(process, input.Position);
            // 如果task不为null,则调用UpdateExistingTask方法,更新任务;否则调用CreateNewTask方法,创建新任务
            content = task != null ? await UpdateExistingTask(input, task) : await CreateNewTask(input, processResponse);
            // 调用CreateNewTask方法,创建新任务
            content =  await CreateNewTask(input, processResponse);
            if (content.Status)
            {
                var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -483,6 +481,35 @@
        return content;
    }
    /// <summary>
    /// 更新任务货位
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<WebResponseContent> UpdateExistingTask(RequestTaskDto input)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
            if (task == null)
                return content.Error($"暂未找到【{input.PalletCode}】的任务");
            return content = await UpdateExistingTask(input, task);
        }
        catch (Exception err)
        {
            throw;
        }
    }
    /// <summary>
    /// 空托盘入库申请
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<WebResponseContent> RequestTrayInTaskAsync(RequestTaskDto input)
    {
        WebResponseContent content = new WebResponseContent();
@@ -718,6 +745,12 @@
    #region 任务状态更改
    /// <summary>
    /// 更新任务状态&出库解盘
    /// </summary>
    /// <param name="taskNum"></param>
    /// <param name="taskState"></param>
    /// <returns></returns>
    public async Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState)
    {
        WebResponseContent content = new WebResponseContent();
@@ -726,12 +759,57 @@
            var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum);
            if (task == null)
                return content.Error("未找到任务");
            task.TaskState = taskState;
            var asb = await BaseDal.UpdateDataAsync(task);
            if (asb)
            if (taskState == (int)TaskOutStatusEnum.Line_OutFinish)
            {
                var taskHty = CreateHistoricalTask(task);
                await _unitOfWorkManage.UseTranAsync(async () =>
                {
                    var asb = await BaseDal.DeleteDataByIdAsync(task.TaskId);
                    var asbHty = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
                    if (asb && asbHty)
                        content.OK();
                    else
                        throw new Exception();
                });
                content.OK();
            }
            else
                content.Error();
            {
                task.TaskState = taskState;
                var asb = await BaseDal.UpdateDataAsync(task);
                if (asb)
                    content.OK();
                else
                    content.Error();
            }
        }
        catch (Exception ex)
        {
            content.Error(ex.Message);
        }
        return content;
    }
    #endregion
    #region 出库解盘
    /// <summary>
    /// 出库解盘接口
    /// </summary>
    /// <param name="taskNum"></param>
    /// <returns></returns>
    public async Task<WebResponseContent> OutUnblockInterface(int taskNum)
    {
        WebResponseContent content = new WebResponseContent();
        try
        {
            var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum);
            if (task == null)
                return content.Error("未找到任务");
            task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
            var taskHty = CreateHistoricalTask(task);
        }
        catch (Exception ex)
        {
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -46,7 +46,7 @@
    }
    /// <summary>
    /// 任务请求
    /// 请求任务巷道
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
@@ -54,6 +54,17 @@
    public async Task<WebResponseContent> RequestTaskAsync([FromBody] RequestTaskDto input)
    {
        return await Service.RequestTaskAsync(input);
    }
    /// <summary>
    /// 请求任务货位
    /// </summary>
    /// <param name="input">请求数据</param>
    /// <returns></returns>
    [HttpPost, AllowAnonymous, Route("RequestLocationTaskAsync")]
    public async Task<WebResponseContent> UpdateExistingTask([FromBody] RequestTaskDto input)
    {
        return await Service.UpdateExistingTask(input);
    }
    /// <summary>
@@ -88,4 +99,5 @@
    {
        return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState);
    }
}