xiaoyang
2024-11-08 2ecf5dfa71bf0c553c30ced6f68a81fa3be6a93f
11.08-1
已修改4个文件
165 ■■■■■ 文件已修改
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/Dt_EquipmentProcess.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MOM/Dt_EquipmentProcess.cs
@@ -64,7 +64,7 @@
    /// <summary>
    /// 表示工艺路线上设备参数信息的模型。
    /// </summary>
    public class EquipmentParameterInfo
    public class EBParameterInfo
    {
        /// <summary>
        /// 参数编码。
@@ -127,4 +127,38 @@
        [Required(ErrorMessage = "设备参数信息是否可用是必填项。")]
        public string EquipmentAvailabilityFlag { get; set; }
    }
    public class ResponseEqptRunDto : BasicResult
    {
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductDesc { get; set; }
        /// <summary>
        /// 首件数量
        /// </summary>
        public string FirstArticleNum { get; set; }
        /// <summary>
        /// 调机数量
        /// </summary>
        public string DebugNum { get; set; }
        /// <summary>
        /// 参数版本信息
        /// </summary>
        public string ParamVersion { get; set; }
        /// <summary>
        /// 是否需要读取参数
        /// </summary>
        public bool ParamRefreshFlag { get; set; }
        /// <summary>
        /// 参数信息
        /// </summary>
        public List<EBParameterInfo> ParameterInfo { get; set; }
    }
}
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs
@@ -59,7 +59,6 @@
            content.OK(data: x);
            LogFactory.GetLog("静置陈化出库(整托盘)").Info(true, $"\r\r--------------------------------------");
            LogFactory.GetLog("静置陈化出库(整托盘)").Info(true, x);
            content.OK();
        }
        catch (Exception err)
        {
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs
@@ -26,6 +26,8 @@
        try
        {
            input.SessionId = Guid.NewGuid().ToString();
            input.Software = "WMS";
            input.EquipmentCode = "ECH001-B";
            input.EmployeeNo = "T00001";
            input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
            var inputJson = input.ToDictionary();
@@ -53,8 +55,8 @@
        try
        {
            input.SessionId = Guid.NewGuid().ToString();
            input.Software = "陈化机";
            input.EquipmentCode = "P1K10040";
            input.Software = "WMS";
            input.EquipmentCode = "ECH001-B";
            input.EmployeeNo = "T00001";
            input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
            var inputJson = input.ToDictionary();
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -81,105 +81,6 @@
    #region 出库任务完成
    /// <summary>
    /// 出库任务完成
    /// </summary>
    /// <param name="saveModel">任务数据合集</param>
    /// <returns>返回结果集</returns>
    //public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
    //{
    //    WebResponseContent content = new WebResponseContent();
    //    try
    //    {
    //        if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
    //        {
    //            var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>()
    //                 .FirstAsync(x => x.EquipmentName == task.Roadway);
    //            EquipmentParameterInfo info = JsonConvert.DeserializeObject<EquipmentParameterInfo>(process.ProcessValue);
    //            AgingOutputDto agingOutputDto = new AgingOutputDto()
    //            {
    //                OpFlag = 1,
    //                EquipmentCode = stock.LocationInfo.RoadwayNo,
    //                TrayBarcode = stock.PalletCode,
    //                SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto()
    //                {
    //                    SlotNo = x.OrderNo.ToInt32(),
    //                    SerialNo = x.SerialNumber,
    //                    SerialNoResult = true,
    //                    ParameterInfo = new List<ParameterInfo>()
    //                    {
    //                        new ParameterInfo()
    //                        {
    //                            LowerLomit =info.LowerControlLimit,
    //                            UpperLimit = info.UpperControlLimit,
    //                            ParameterResult = info.EquipmentAvailabilityFlag,
    //                            ParameterCode = info.ParameterCode,
    //                            ParameterDesc = info.Description,
    //                            TargetValue = info.TargetValue,
    //                            Value = info.TargetValue,
    //                            DefectCode = info.UOMCode
    //                        }
    //                    }
    //                }).ToList()
    //            };
    //            content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
    //            var result = JsonConvert.DeserializeObject<BasicResult>(content.ToString());
    //            if (!result.Success)
    //            {
    //                throw new Exception(result.MOMMessage);
    //            }
    //        }
    //        // 更新库存状态
    //        var loation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
    //        var detail = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
    //        // 设置库位状态为空闲
    //        loation.LocationStatus = LocationEnum.Free.ObjToInt();
    //        // 更新任务状态
    //        task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
    //        task.CurrentAddress = task.NextAddress;
    //        task.NextAddress = task.TargetAddress;
    //        LogFactory.GetLog("任务完成").InfoFormat(true, "堆垛机出库完成", "更新库存状态与任务状态");
    //        // 事务处理
    //        // 开始事务
    //        _unitOfWorkManage.BeginTran();
    //        // 删除库存信息
    //        var isStockUpdated = _stockInfoRepository.DeleteDataById(stock.Id);
    //        // 删除库存信息
    //        var isStockDetailUpdated = _stockInfoDetailRepository.DeleteDataByIds(detail.Select(x => (object)x.Id).ToArray());
    //        // 删除任务信息
    //        var isTaskUpdated = BaseDal.DeleteDataById(task.TaskId);
    //        // 如果库存信息和任务信息都更新成功
    //        if (isStockUpdated && isTaskUpdated && isStockDetailUpdated)
    //        {
    //            // 记录日志
    //            LogFactory.GetLog("任务完成").InfoFormat(true, "堆垛机出库完成", $"事务处理完成,库存状态更新:{isStockUpdated},任务状态更新:{isTaskUpdated}");
    //            // 提交事务
    //            _unitOfWorkManage.CommitTran();
    //            // 返回成功结果
    //            return content.OK("任务完成成功");
    //        }
    //        else
    //        {
    //            // 记录日志
    //            LogFactory.GetLog("任务完成").InfoFormat(true, "堆垛机出库完成", $"事务处理失败,库存状态更新:{isStockUpdated},任务状态更新:{isTaskUpdated}");
    //            // 回滚事务
    //            _unitOfWorkManage.RollbackTran();
    //            // 返回失败结果
    //            return content.Error("任务或库存更新失败");
    //        }
    //    }
    //    catch (Exception err)
    //    {
    //        LogFactory.GetLog("任务完成").InfoFormat(true, $"系统异常,异常信息:{err.Message}", "");
    //        Console.WriteLine(err.Message);
    //        return content.Error(err.Message);
    //    }
    //}
    public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
    {
@@ -190,7 +91,7 @@
            {
                var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>()
                    .FirstAsync(x => x.EquipmentName == task.Roadway);
                var info = JsonConvert.DeserializeObject<List<EquipmentParameterInfo>>(process.ProcessValue);
                var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue);
                var agingOutputDto = MapToAgingOutputDto(stock, info);
                content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
@@ -206,7 +107,7 @@
                await UpdateLocationAsync(loc);
                await DeleteStockInfoAsync(stock.Id);
                await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
                await DeleteTaskAsync(task.TaskId);
                //await DeleteTaskAsync(task.TaskId);
            });
            return content.OK("任务完成成功");
@@ -218,19 +119,20 @@
        }
    }
    private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, List<EquipmentParameterInfo> info)
    private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info)
    {
        return new AgingOutputDto
        {
            OpFlag = 1,
            EquipmentCode = stock.LocationInfo.RoadwayNo,
            Software = "WMS",
            EquipmentCode = "ECH001-B",
            TrayBarcode = stock.PalletCode,
            SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto
            {
                SlotNo = x.OrderNo.ToInt32(),
                SerialNo = x.SerialNumber,
                SerialNoResult = true,
                ParameterInfo = info.Select(x => new ParameterInfo()
                ParameterInfo = info.ParameterInfo.Select(x => new ParameterInfo()
                {
                    LowerLomit = x.LowerControlLimit,
                    UpperLimit = x.UpperControlLimit,
@@ -247,7 +149,7 @@
    private void ValidateResponse(WebResponseContent content)
    {
        var result = JsonConvert.DeserializeObject<BasicResult>(content.ToString());
        var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
        if (!result.Success)
        {
            throw new Exception(result.MOMMessage);
@@ -259,10 +161,10 @@
        var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
        var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
        location.LocationStatus = LocationEnum.Free.ObjToInt();
        task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
        task.CurrentAddress = task.NextAddress;
        task.NextAddress = task.TargetAddress;
        location.LocationStatus = (int)LocationEnum.Free;
        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
        //task.CurrentAddress = task.NextAddress;
        //task.NextAddress = task.TargetAddress;
        LogFactory.GetLog("任务完成").Info(true, "更新库存状态与任务状态");
        return (location, task);
@@ -474,7 +376,7 @@
        LogFactory.GetLog("任务完成").InfoFormat(true, "验证任务是否存在", JsonConvert.SerializeObject(task));
        // 验证库存是否存在
        var stock = await _stockInfoRepository.QueryFirstAsync(x => x.PalletCode == task.PalletCode);
        var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
        // 根据任务类型调用相应的完成任务方法
        switch (task.TaskType)