wangxinhui
2025-03-06 2f8a8a7b31c7e311d1824c76e2a67e2a128bc65b
成品入库任务,货位
已修改4个文件
已重命名1个文件
已添加5个文件
80 ■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/717bcd11-9eb3-4dd7-9f56-66f8e333c9e1.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/09cfc190-80e7-4be3-bf3e-9a6eaa1e00d1.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/6072017d-30e1-411f-8eb8-c9979222f9ad.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e3225869-67ec-44fe-945d-0dc842c706c8.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e4d78ad4-62c0-46d7-8770-62e00cb5d23f.vsidx 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/717bcd11-9eb3-4dd7-9f56-66f8e333c9e1.vsidx
Binary files differ
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs
@@ -56,7 +56,11 @@
        /// </summary>
        [Description("MES手动拣选出库")]
        MesHandPickOutbound = 220,
        /// <summary>
        /// æˆå“å‡ºåº“
        /// </summary>
        [Description("成品出库")]
        OutProduct = 230,
        /// <summary>
        /// é‡‡è´­å…¥åº“
        /// </summary>
@@ -121,6 +125,18 @@
        InEmpty = 600,
        /// <summary>
        /// æˆå“å…¥åº“
        /// </summary>
        [Description("成品入库")]
        InProduct = 610,
        /// <summary>
        /// æˆå“ä½™æ–™å›žåº“
        /// </summary>
        [Description("成品余料回库")]
        InProductBack = 620,
        /// <summary>
        /// å··é“内移库
        /// </summary>
        [Description("巷道内移库")]
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/09cfc190-80e7-4be3-bf3e-9a6eaa1e00d1.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/6072017d-30e1-411f-8eb8-c9979222f9ad.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e3225869-67ec-44fe-945d-0dc842c706c8.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e4d78ad4-62c0-46d7-8770-62e00cb5d23f.vsidx
Binary files differ
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
@@ -59,6 +59,11 @@
        /// </summary>
        [Description("MES手动拣选出库")]
        MesHandPickOutbound = 220,
        /// <summary>
        /// æˆå“å‡ºåº“
        /// </summary>
        [Description("成品出库")]
        OutProduct = 230,
        /// <summary>
        /// é‡‡è´­å…¥åº“
@@ -112,6 +117,18 @@
        InEmpty = 600,
        /// <summary>
        /// æˆå“å…¥åº“
        /// </summary>
        [Description("成品入库")]
        InProduct = 610,
        /// <summary>
        /// æˆå“ä½™æ–™å›žåº“
        /// </summary>
        [Description("成品余料回库")]
        InProductBack = 620,
        /// <summary>
        /// å··é“内移库
        /// </summary>
        [Description("巷道内移库")]
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/MesProInOrderService.cs
@@ -15,6 +15,7 @@
using WIDESEA_IInboundRepository;
using WIDESEA_IInboundService;
using WIDESEA_IOutboundService;
using WIDESEA_IStockRepository;
using WIDESEA_Model.Models;
namespace WIDESEA_InboundService
@@ -24,10 +25,12 @@
        public IMesProInOrderRepository Repository => BaseDal;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IInboundRepository _inboundRepository;
        public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag, IInboundRepository inboundRepository) : base(BaseDal)
        private readonly IStockRepository _stockRepository;
        public MesProInOrderService(IMesProInOrderRepository BaseDal, IUnitOfWorkManage unitOfWorkManag, IInboundRepository inboundRepository, IStockRepository stockRepository) : base(BaseDal)
        {
            _unitOfWorkManage = unitOfWorkManag;
            _inboundRepository = inboundRepository;
            _stockRepository = stockRepository;
        }
        /// <summary>
        /// æˆå“å…¥åº“扫码
@@ -41,7 +44,7 @@
            try
            {
                //获取对应MES成品入库单据
                Dt_MesProInOrder mesProInOrder = BaseDal.Db.Queryable<Dt_MesProInOrder>().Includes(x => x.Details).First();
                Dt_MesProInOrder mesProInOrder = BaseDal.Db.Queryable<Dt_MesProInOrder>().Where(x => x.Id == Id).Includes(x => x.Details).First();
                if (mesProInOrder==null)
                {
                    return content.Error("当前MES入库单据不存在");
@@ -67,6 +70,7 @@
                {
                    return content.Error($"当前入库订单数量溢出{(OverPCSQty + model.OKPCSQTY.ObjToInt())- SumPCSQty}");
                }
                proInOrderDetail.OverInQuantity += model.OKPCSQTY.ObjToInt();
                _inboundRepository.MesProInOrderDetailRepository.UpdateData(proInOrderDetail);
                return content.OK($"内包{proInOrderDetail.BagNo}已扫数量:{proInOrderDetail.OverInQuantity},剩余:{proInOrderDetail.OKPCSQTY-proInOrderDetail.OverInQuantity}");
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs
@@ -29,6 +29,7 @@
using WIDESEA_DTO.Task;
using WIDESEA_DTO.Stock;
using SqlSugar;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
namespace WIDESEA_TaskInfoService
{
@@ -975,7 +976,12 @@
                {
                    return content.Error("未找到仓库信息");
                }
                //判断是否MES内包信息是否重复
                Dt_LocationInfo locationInfo = _basicRepository.LocationInfoRepository.QueryFirst(x => x.WarehouseId == warehouse.WarehouseId);
                if (locationInfo==null)
                {
                    return content.Error($"未找到{warehouse.WarehouseCode}货位信息");
                }
                //内包信息组盘
                List<Dt_MesProInOrderDetail> mesProInOrderDetails = new List<Dt_MesProInOrderDetail>();
                foreach (var item in bagInfoModel.BagDetails)
                {
@@ -1020,13 +1026,36 @@
                    PalletCode = bagInfoModel.BatchNo,
                    PalletType = 1,
                    WarehouseId = warehouse.WarehouseId,
                    StockStatus = StockStatusEmun.组盘暂存.ObjToInt(),
                    StockStatus = StockStatusEmun.入库确认.ObjToInt(),
                    proStockInfoDetails = proStockInfoDetails
                };
                //分配货位
                locationInfo = _basicService.LocationInfoService.AssignLocation(locationInfo.RoadwayNo, ((PalletTypeEnum)proStockInfo.PalletType).ObjToInt(), proStockInfo.WarehouseId);
                Dt_Task newTask = new Dt_Task()
                {
                    CurrentAddress = bagInfoModel.WorkCenter,
                    Grade = 0,
                    NextAddress = locationInfo.LocationCode,
                    PalletCode = proStockInfo.PalletCode,
                    Roadway = locationInfo.RoadwayNo,
                    SourceAddress = bagInfoModel.WorkCenter,
                    TargetAddress = locationInfo.LocationCode,
                    TaskType = TaskTypeEnum.InProduct.ObjToInt(),
                    TaskStatus = TaskStatusEnum.New.ObjToInt(),
                    WarehouseId = warehouse.WarehouseId,
                    PalletType = proStockInfo.PalletType
                };
                locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
                _unitOfWorkManage.BeginTran();
                int taskId = BaseDal.AddData(newTask);
                newTask.TaskId = taskId;
                _basicRepository.LocationInfoRepository.UpdateData(locationInfo);
                Db.InsertNav(mesProInOrder).Include(x => x.Details).ExecuteCommand();
                Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand();
                _unitOfWorkManage.CommitTran();
                //推送任务
                PushTasksToWCS(new List<Dt_Task> { newTask });
                return content.OK("接收成功");
            }
            catch (Exception ex)
@@ -1618,9 +1647,5 @@
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}