2779947fe07c41250237437365f367b5a78a03b6..0bb8fa57f20980f869cb1780a7594ef3ea7d576e
2025-06-11 wangxinhui
111
0bb8fa 对比 | 目录
2025-06-11 wangxinhui
提交代码
62dcd2 对比 | 目录
2025-06-11 wangxinhui
1
33b47a 对比 | 目录
已删除3个文件
已修改8个文件
已添加3个文件
已重命名5个文件
173 ■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b93f505-b509-4621-b97f-51e95ab6ac4d.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/546a11e0-2bd3-4903-841b-15b52533e4a5.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3ff8cae-0d0c-44b1-81c8-76364bcbcc59.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d3040580-b0c0-4b7f-9042-dbd4f6a9f170.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f92882d8-4e0e-4795-94b2-8f092cc43277.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/AGV_ZHExtend.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/GroundStationJob_ZH.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/02143a0b-3339-4244-b940-0fc56a40a2ae.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3ad44b81-9ed8-4255-81aa-b4f028e8b1a1.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/95dfa365-884c-4ece-a3ca-62ce53715147.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/98ed975f-9c5d-4415-a74e-4ea6f143bac6.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cbb2749c-e26a-40e0-8942-21d353d51a87.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ecf85f9b-999c-489f-bcd0-f5a76920c64b.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/QMSReceiveCheckModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/QMS/QmsController.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b93f505-b509-4621-b97f-51e95ab6ac4d.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/546a11e0-2bd3-4903-841b-15b52533e4a5.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3ff8cae-0d0c-44b1-81c8-76364bcbcc59.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d3040580-b0c0-4b7f-9042-dbd4f6a9f170.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f92882d8-4e0e-4795-94b2-8f092cc43277.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGV/ZH_AGVController.cs
@@ -141,7 +141,7 @@
                            task.CurrentAddress = dt_Station.StationCode;
                            task.NextAddress = "";
                            task.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt();
                            task.DeviceCode = "SC01_CSJ";
                            task.DeviceCode = "SC01_ZH";
                            var up = _taskRepository.UpdateData(task);
                            agvResponseContent.Code = up ? "0" : "1";
                            agvResponseContent.Message = up ? "成功" : "失败";
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/×躸²Ö/AGV_ZHExtend.cs
@@ -100,6 +100,7 @@
                        {
                            continue;
                        }
                        otherDevice.SetValue(GroundStationDBName.W_PutPalletType, WaitToTask.PalletType, stationManger.StationCode);
                    }
                    else
                    {
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/×躸²Ö/GroundStationJob_ZH.cs
@@ -79,26 +79,17 @@
                        if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
                        {
                            
                             Dt_Task task = _taskRepository.QueryFirst(x =>x.DeviceCode== device.DeviceCode && x.TargetAddress==item.StationCode && x.NextAddress==item.StationCode && x.TaskState == TaskStatusEnum.AGV_Finish.ObjToInt() &&  x.CurrentAddress == item.Remark);
                             Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress==item.StationCode && string.IsNullOrEmpty(x.TargetAddress) && string.IsNullOrEmpty(x.NextAddress) && x.TaskState == TaskStatusEnum.AGV_Finish.ObjToInt());
                            if (task != null)
                            {
                                if (isCanPut)
                                {
                                    device.SetValue(GroundStationDBName.W_PutRequest, true, item.StationCode);
                                    device.SetValue(GroundStationDBName.W_PutPalletType, task.PalletType, item.StationCode);//task.PalletType
                                }
                                //判断AGV任务完成,后写给地面站放货完成
                                device.SetValue(GroundStationDBName.W_PutFinish, true, item.StationCode);
                                string oldAddress = task.NextAddress;
                                int oldStatus = task.TaskState;
                                Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
                                if (stationManger == null)
                                {
                                    WriteError(item.StationName, $"未找到对应站台信息,设备编号:{item.StationCode},任务号:{task.TaskNum}");
                                    continue;
                                }
                                string? locationCode = "SC01_ZH-001-027-001-02";// _taskService.RequestAssignLocation(task.TaskNum, stationManger.StackerCraneCode);
                                //string? locationCode = "SC01_ZH-001-027-001-02";//
                                string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, stationManger.StackerCraneCode);
                                if (string.IsNullOrEmpty(locationCode))
                                {
                                    WriteError(item.StationName, $"请求分配货位返回信息错误,设备编号:{item.StationCode},任务号:{task.TaskNum}");
@@ -111,34 +102,6 @@
                    catch (Exception ex)
                    {
                        WriteError(device.DeviceCode, $"{item}交互错误", ex);
                    }
                }
                foreach (var item in stationMangers.Where(x => !deviceStations.Contains(x.StationCode)))
                {
                    try
                    {
                        Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType));
                        if (task != null)
                        {
                            Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
                            if (stationManger == null)
                            {
                                WriteError(item.StationName, $"未找到对应站台信息,设备编号:{item.StationCode},任务号:{task.TaskNum}");
                                continue;
                            }
                            string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, stationManger.StackerCraneCode);
                            if (string.IsNullOrEmpty(locationCode))
                            {
                                WriteError(item.StationName, $"请求分配货位返回信息错误,设备编号:{item.StationCode},任务号:{task.TaskNum}");
                                continue;
                            }
                            _taskService.UpdateTask(task, TaskStatusEnum.SC_Execute, currentAddress: stationManger.StackerCraneStationCode, targetAddress: locationCode, nextAddress: locationCode, deviceCode: stationManger.StackerCraneCode);
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/02143a0b-3339-4244-b940-0fc56a40a2ae.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3ad44b81-9ed8-4255-81aa-b4f028e8b1a1.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/95dfa365-884c-4ece-a3ca-62ce53715147.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/98ed975f-9c5d-4415-a74e-4ea6f143bac6.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/cbb2749c-e26a-40e0-8942-21d353d51a87.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ecf85f9b-999c-489f-bcd0-f5a76920c64b.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_External/Model/QMSReceiveCheckModel.cs
@@ -8,6 +8,7 @@
{
    public class QMSReceiveCheckModel
    {
        public string UniqueTag { get; set; }
        /// <summary>
        /// æ”¶è´§å•号
        /// </summary>
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs
@@ -329,40 +329,9 @@
                        }
                        _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder);
                        _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
                        QMSReceiveCheckModel qMSReceiveCheck = new QMSReceiveCheckModel()
                        {
                            EntryNumber=receiveOrder.ReceiveOrderNo,
                            MaterialCode=receiveOrderDetail.MaterielCode,
                            MaterialName=receiveOrderDetail.MaterielName,
                            Quantity=(decimal)receiveOrderDetail.ReceivedQuantity,
                            SupplierCode=receiveOrder.SuppliersId,
                            SupplierName= supplierInfo.SupplierName,
                            BatchNumber=receiveOrderDetail.LotNo,
                            DeliveryNumber=receiveOrder.DeliveryCode,
                            PurchaseNumber=receiveOrderDetail.PurchaseOrderNo,
                            RowNumber= receiveOrderDetail.RowNo,
                            WarehouseCode= warehouse.WarehouseCode,
                            ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                            Remark=" "
                        };
                        string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck);
                        MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
                        if (!mesResponseContent.BSucc)
                        {
                            throw new Exception(mesResponseContent.StrMsg);
                        }
                        ReceiveResultDTO receiveResult = JsonConvert.DeserializeObject<ReceiveResultDTO>(mesResponseContent.Content.ToString());
                        if (receiveResult==null)
                        {
                            throw new Exception("接收QMS结果失败");
                        }
                        #region æ³¨é‡Š
                        if (materielInfo.IsCheck == WhetherEnum.True)
                        {
                            Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
                            checkOrder.CheckOrderNo = receiveResult.InspectionNumber;
                            checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
                            checkOrder.Result = CheckAcceptEnum.NotCheckAccept.ToString();
                            checkOrder.QualifiedQuantity = 0;
@@ -372,9 +341,39 @@
                            checkOrder.MaterielSpec = materielInfo.MaterielSpec;
                            checkOrder.ReturnQuantity = 0;
                            checkOrder.DefectedQuantity = 0;
                            _checkOrderRepository.AddData(checkOrder);
                            int id = _checkOrderRepository.AddData(checkOrder);
                            QMSReceiveCheckModel qMSReceiveCheck = new QMSReceiveCheckModel()
                            {
                                UniqueTag = id.ToString(),
                                EntryNumber = receiveOrder.ReceiveOrderNo,
                                MaterialCode = receiveOrderDetail.MaterielCode,
                                MaterialName = receiveOrderDetail.MaterielName,
                                Quantity = (decimal)receiveOrderDetail.ReceivedQuantity,
                                SupplierCode = receiveOrder.SuppliersId,
                                SupplierName = supplierInfo.SupplierName,
                                BatchNumber = receiveOrderDetail.LotNo,
                                DeliveryNumber = receiveOrder.DeliveryCode,
                                PurchaseNumber = receiveOrderDetail.PurchaseOrderNo,
                                RowNumber = receiveOrderDetail.RowNo,
                                WarehouseCode = warehouse.WarehouseCode,
                                ReceiptDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                Remark = " "
                            };
                            string response = _invokeQMSService.InvokeReceiveCheckApi(qMSReceiveCheck);
                            MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
                            if (!mesResponseContent.BSucc)
                            {
                                throw new Exception(mesResponseContent.StrMsg);
                            }
                            ReceiveResultDTO? receiveResult = JsonConvert.DeserializeObject<ReceiveResultDTO>(mesResponseContent.Content.ToString());
                            if (receiveResult == null)
                            {
                                throw new Exception("接收QMS结果失败");
                            }
                            Dt_CheckOrder _CheckOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == id);
                            _CheckOrder.CheckOrderNo = receiveResult.InspectionNumber;
                            _checkOrderRepository.UpdateData(_CheckOrder);
                        }
                        #endregion
                        _unitOfWorkManage.CommitTran();
                    }
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs
@@ -94,7 +94,10 @@
                            TaskStatus = 0,
                            TaskType = TaskTypeEnum.Relocation.ObjToInt()
                        };
                        if (stockInfo.StockLength>0)
                        {
                            newTask.TaskLength = stockInfo.StockLength;
                        }
                        _unitOfWorkManage.BeginTran();
                        Repository.AddData(newTask);
                        {
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs
@@ -14,6 +14,8 @@
using WIDESEA_Core.Helper;
using Autofac.Core;
using WIDESEA_DTO.Stock;
using WIDESEA_External.Model;
using WIDESEA_External.ERPService;
namespace WIDESEA_WMSServer.Controllers.MES
{
@@ -26,11 +28,12 @@
    {
        private readonly IOutboundService _outboundService;
        private readonly ITaskService _taskService;
        public MesController(IOutboundService outboundService, ITaskService taskService)
        private readonly IInvokeERPService _invokeERPService;
        public MesController(IOutboundService outboundService, ITaskService taskService,IInvokeERPService invokeERPService)
        {
            _outboundService = outboundService;
            _taskService = taskService;
            _invokeERPService = invokeERPService;
        }
        /// <summary>
@@ -245,6 +248,21 @@
        {
            return _taskService.PPGeneratePKOutboundTask(orderDetailId, stockSelectViews);
        }
        /// <summary>
        /// æ£€éªŒå•回传更新
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("CheckResultReturn"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent CheckResultReturn([FromBody] Root<ERPCheckModel>  model)
        {
            string content = _invokeERPService.InvokeCheckOrderApi(model.Content);
            ErpRequestContent requestContent = content.DeserializeObject<ErpRequestContent>();
            if (requestContent.res != 1)
            {
                return MesResponseContent.Instance.Error(requestContent.Data);
            }
            return MesResponseContent.Instance.OK("成功");
        }
    }
}
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/QMS/QmsController.cs
@@ -74,21 +74,21 @@
           string content = _invokeQMSService.InvokeReceiveCheckApi(model);
           return content;
        }
        /// <summary>
        /// æ£€éªŒå•回传更新
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("CheckResultReturn"), AllowAnonymous, MethodParamsValidate]
        public MesResponseContent CheckResultReturn([FromBody] ERPCheckModel model)
        {
            string content = _invokeERPService.InvokeCheckOrderApi(model);
            ErpRequestContent requestContent = content.DeserializeObject<ErpRequestContent>();
            if (requestContent.res != 1)
            {
                return MesResponseContent.Instance.Error(requestContent.Data);
            }
            return MesResponseContent.Instance.OK("成功");
        }
        ///// <summary>
        ///// æ£€éªŒå•回传更新
        ///// </summary>
        ///// <param name="model"></param>
        ///// <returns></returns>
        //[HttpPost, Route("CheckResultReturn"), AllowAnonymous, MethodParamsValidate]
        //public MesResponseContent CheckResultReturn([FromBody] ERPCheckModel model)
        //{
        //    string content = _invokeERPService.InvokeCheckOrderApi(model);
        //    ErpRequestContent requestContent = content.DeserializeObject<ErpRequestContent>();
        //    if (requestContent.res != 1)
        //    {
        //        return MesResponseContent.Instance.Error(requestContent.Data);
        //    }
        //    return MesResponseContent.Instance.OK("成功");
        //}
    }
}