wangxinhui
2025-10-17 ce40df5daffae0d17b4e9fa7cb6d677afaa4d66f
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs
@@ -6,6 +6,7 @@
using System.Threading.Tasks;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
@@ -30,11 +31,6 @@
            _agvStationInfoRepository = agvStationInfoRepository;
        }
        public class TEMp
        {
            public int ID { get; set; }
            public string Name { get; set; }
        }
        /// <summary>
        /// æˆå“/半成品信息同步接口
        /// </summary>
@@ -49,10 +45,9 @@
                }
                //获取所有成品,半成品信息
                List<Dt_MESProInOrderInfo> proInOrderInfos = BaseDal.QueryData();
                List<TEMp> temp = BaseDal.QueryData().Select(x => new TEMp() { ID=x.Id,Name=x.BarCode}).Where(x => x.Name.Split("-")[1].StartsWith("U1")).ToList();
                //获取所有物料信息
                List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.MaterielInvOrgId == MaterielInvOrgEnum.新厂.ObjToInt());
                //获取所有领料计划
                MESProInDTO? CheckMaterialCode = proInDTOs.FirstOrDefault(x => !materielInfos.Select(x => x.MaterielCode).Contains(x.MaterialCode));
                if (CheckMaterialCode != null)
                {
@@ -60,11 +55,7 @@
                }
                //获取所有AGV点位
                List<Dt_AGVStationInfo> aGVStationInfos = _agvStationInfoRepository.QueryData(x => !string.IsNullOrEmpty(x.MESPointCode));
                MESProInDTO? CheckPointCode = proInDTOs.FirstOrDefault(x => !aGVStationInfos.Select(x => x.MESPointCode).Contains(x.PointCode));
                if (CheckPointCode != null)
                {
                    return content.Error($"周转位{nameof(MESReturnIssueDTO.PointCode)}{CheckPointCode.PointCode}不存在");
                }
                //判断是否存在重复
                MESProInDTO? proInDTO = proInDTOs.FirstOrDefault(x=>x.IsMantissa==false && proInOrderInfos.Select(x=>x.BarCode).Contains(x.BarCode));
                if (proInDTO!=null)
@@ -80,6 +71,14 @@
                foreach (var item in proInDTOs)
                {
                    Dt_MaterielInfo materielInfo = materielInfos.FirstOrDefault(x=>x.MaterielCode== item.MaterialCode);
                    if (materielInfo.MaterielSourceType!=MaterielTypeEnum.成品.ObjToInt())
                    {
                        Dt_AGVStationInfo? CheckPointCode = aGVStationInfos.FirstOrDefault(x=>x.MESPointCode==item?.PointCode);
                        if (CheckPointCode == null)
                        {
                            return content.Error($"周转位{nameof(MESReturnIssueDTO.PointCode)}{item?.PointCode}不存在,仅成品物料可不传");
                        }
                    }
                    Dt_MESProInOrderInfo AddproInOrderInfo = _mapper.Map<Dt_MESProInOrderInfo>(item);
                    AddproInOrderInfo.WarehouseId = materielInfo.WarehouseId;
                    AddproInOrderInfo.MESProOrderType = materielInfo.MaterielSourceType;