1
heshaofeng
2025-12-19 28a0d19f64ee77359c3225175a9fbb8ddea85d01
1
已修改3个文件
71 ■■■■ 文件已修改
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs
@@ -50,19 +50,41 @@
                    return WebResponseContent.Instance.Error($"未找到对应的出库单信息");
                }
                List<Dt_MesReturnRecord> returnRecords = BaseDal.QueryData(x => x.OrderNo == orderNo && x.OrderId == outboundOrder.Id && x.ReturnStatus == 2);
                foreach (var item in returnRecords)
                Dt_MesReturnRecord returnRecord = BaseDal.QueryFirst(x => x.OrderNo == orderNo && x.OrderId == outboundOrder.Id && x.ReturnStatus == 2, new Dictionary<string, OrderByType> { { nameof(Dt_MesReturnRecord.Id), OrderByType.Desc } });
                if (returnRecord != null)
                {
                    HttpResponseResult<MesResponseDTO> httpResponse = _httpClientHelper.Post<MesResponseDTO>(item.ApiUrl, item.RequestData);
                    item.ReturnCount += 1;
                    HttpResponseResult<MesResponseDTO> httpResponse = _httpClientHelper.Post<MesResponseDTO>(returnRecord.ApiUrl, returnRecord.RequestData);
                    string rMsg = "成功";
                    bool success = httpResponse.IsSuccess && httpResponse.Data.Code == "200";
                    item.ReturnStatus = success ? 1 : 2;
                    item.HttpStatusCode = httpResponse.StatusCode.ObjToInt();
                    item.LastReturnTime = DateTime.Now;
                    item.ResponseData = httpResponse.Content;
                    item.SuccessTime = httpResponse.IsSuccess ? DateTime.Now : null;
                    if (!success)
                    {
                        if (!httpResponse.IsSuccess)
                        {
                            rMsg = $"MES接口返回错误,HTTP代码:{httpResponse.StatusCode},信息:{httpResponse.ErrorMessage}";
                        }
                        else if (httpResponse?.Data?.Code != "200")
                        {
                            rMsg = $"调用MES接口失败,代码:{httpResponse?.Data?.Code},信息:{httpResponse?.Data?.Message}";
                        }
                    }
                    returnRecord.ReturnCount += 1;
                    returnRecord.ReturnStatus = success ? 1 : 2;
                    returnRecord.HttpStatusCode = httpResponse.StatusCode.ObjToInt();
                    returnRecord.LastReturnTime = DateTime.Now;
                    returnRecord.ResponseData = httpResponse.Content;
                    returnRecord.SuccessTime = success ? DateTime.Now : null;
                    BaseDal.UpdateData(returnRecord);
                    WebResponseContent content = new WebResponseContent();
                    content.Status = success;
                    content.Message = rMsg;
                    return content;
                }
                BaseDal.UpdateData(returnRecords);
                HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
                string reqCode = Guid.NewGuid().ToString();
@@ -76,6 +98,12 @@
                    {
                        return WebResponseContent.Instance.Error($"构建回调对象失败");
                    }
                    if(returnDTO.Details.Count <= 0)
                    {
                        return WebResponseContent.Instance.Error($"该单据无明细可回传");
                    }
                    string apiUrl = AppSettings.GetValue("MaterialOutboundFeedbackUrl");
                    returnDTO.ReqCode = reqCode;
                    returnDTO.ReqTime = reqTime;
@@ -95,11 +123,18 @@
                    {
                        return WebResponseContent.Instance.Error($"未找到对应的调拨单");
                    }
                    AllocationReturnDTO? returnDTO = BuildAllocationFeedbackData(outboundOrder, allocateOrder.FromWarehouse, allocateOrder.ToWarehouse);
                    if (returnDTO == null)
                    {
                        return WebResponseContent.Instance.Error($"构建回调对象失败");
                    }
                    if (returnDTO.Details.Count <= 0)
                    {
                        return WebResponseContent.Instance.Error($"该单据无明细可回传");
                    }
                    string apiUrl = AppSettings.GetValue("AllocationFeedbackUrl"); ;
                    returnDTO.ReqCode = reqCode;
                    returnDTO.ReqTime = reqTime;
@@ -141,8 +176,8 @@
                    ResponseData = httpResponseResult.Content,
                    ReturnType = 0,
                    ReturnCount = 1,
                    ReturnStatus = httpResponseResult.IsSuccess ? 1 : 2,
                    SuccessTime = httpResponseResult.IsSuccess ? DateTime.Now : null
                    ReturnStatus = isSuccess ? 1 : 2,
                    SuccessTime = isSuccess ? DateTime.Now : null
                };
                _unitOfWorkManage.BeginTran();
@@ -227,7 +262,8 @@
                    OperationType = 1,
                    OrderNo = outboundOrder.UpperOrderNo,
                    FromWarehouse = fromWarehouse,
                    ToWarehouse = toWarehouse
                    ToWarehouse = toWarehouse,
                    Operator = App.User.UserName
                };
                return outboundReturnDTO;
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_DTO/ReturnMES/AllocationReturnDTO.cs
@@ -41,6 +41,12 @@
        /// </summary>
        public string ToWarehouse { get; set; }
        /// <summary>
        /// æ“ä½œäºº
        /// </summary>
        public string Operator { get; set; }
        /// <summary>
        /// æ˜Žç»†
        /// </summary>
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -827,7 +827,8 @@
                    OperationType = 1,
                    OrderNo = outboundOrder.OrderNo,
                    FromWarehouse = fromWarehouse,
                    ToWarehouse = toWarehouse
                    ToWarehouse = toWarehouse,
                    Operator = App.User.UserName
                };
                return outboundReturnDTO;