using AutoMapper; using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Common.WareHouseEnum; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; using WIDESEA_DTO.Basic; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_Model.Models; namespace WIDESEA_BasicService { public partial class MaterielInfoService : ServiceBase, IMaterielInfoService { private readonly IBasicRepository _basicRepository; public IMaterielInfoRepository Repository => BaseDal; private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly IMapper _mapper; public MaterielInfoService(IMaterielInfoRepository BaseDal, IBasicRepository basicRepository,IUnitOfWorkManage unitOfWorkManage,IMapper mapper) : base(BaseDal) { _basicRepository = basicRepository; _unitOfWorkManage = unitOfWorkManage; _mapper = mapper; } /// /// 添加老厂物料信息 /// /// public WebResponseContent AddMaterial(List bSTMaterialDTOs) { WebResponseContent content = new WebResponseContent(); try { List OldMaterielInfos = BaseDal.QueryData(x => x.WarehouseId == WarehouseEnum.LLDYL.ObjToInt()); //判断重复插入 Dt_MaterielInfo? ExistMaterial = OldMaterielInfos.FirstOrDefault(x => bSTMaterialDTOs.Where(x => x.Way == 1).Select(x => x.MaterialId).Contains(x.MaterialSourceId)); if (ExistMaterial != null) { return content.Error($"物料Id{nameof(BSTMaterialDTO.MaterialId)}:{ExistMaterial.MaterialSourceId}已存在"); } List materielInfos = new List(); foreach (var item in bSTMaterialDTOs) { Dt_MaterielInfo materielInfo = _mapper.Map(item); materielInfos.Add(materielInfo); } BaseDal.AddData(materielInfos); return content.OK("接收成功"); } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); content.Error(ex.Message); } return content; } } }