wangxinhui
2025-08-30 cd78554c3da306ed8c866d971bee94457665f80c
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_BasicService/SupplierInfoService.cs
@@ -1,10 +1,14 @@
using System;
using AutoMapper;
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_BasicRepository;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Basic;
using WIDESEA_IBasicRepository;
@@ -15,79 +19,46 @@
{
    public class SupplierInfoService : ServiceBase<Dt_SupplierInfo, ISupplierInfoRepository>, ISupplierInfoService
    {
        public SupplierInfoService(ISupplierInfoRepository BaseDal) : base(BaseDal)
        {
        }
        public ISupplierInfoRepository Repository => BaseDal;
        public WebResponseContent ReceiveSupplier(SupplierDTO model)
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IMapper _mapper;
        public SupplierInfoService(ISupplierInfoRepository BaseDal,IUnitOfWorkManage unitOfWorkManage,IMapper mapper) : base(BaseDal)
        {
            _unitOfWorkManage = unitOfWorkManage;
            _mapper = mapper;
        }
        /// <summary>
        /// æ·»åŠ è€åŽ‚ä¾›åº”å•†ä¿¡æ¯
        /// </summary>
        /// <param name="bSTSupplierDTOs"></param>
        /// <returns></returns>
        public WebResponseContent AddSupplier(List<BSTSupplierDTO> bSTSupplierDTOs)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                if (model.OperateType == "0")
                List<Dt_SupplierInfo> OldsupplierInfos = BaseDal.QueryData(x => x.InvOrgId == MaterielInvOrgEnum.老厂.ObjToInt());
                //判断重复插入
                Dt_SupplierInfo? ExistSupplier = OldsupplierInfos.FirstOrDefault(x => bSTSupplierDTOs.Where(x => x.Way == 1).Select(x => x.VendId).Contains(x.SupplierSourceId));
                if (ExistSupplier != null)
                {
                    Dt_SupplierInfo supplierInfo = new Dt_SupplierInfo()
                    {
                        Status = 1,
                        SupplierCode = model.Code,
                        ContactAddress = model.ContactAddress,
                        ContactNumber = model.ContactNumber,
                        Contacts = model.Contacts,
                        Description = model.Description,
                        Email = model.Email,
                        InvOrgId = model.InvOrgId,
                        SupplierName = model.Name,
                        SupplierShortName = model.ShortName
                    };
                    BaseDal.AddData(supplierInfo);
                    return content.Error($"物料Id{nameof(BSTSupplierDTO.VendId)}:{ExistSupplier.SupplierSourceId}已存在");
                }
                else if (model.OperateType == "1")
                List<Dt_SupplierInfo> supplierInfos = new List<Dt_SupplierInfo>();
                foreach (var item in bSTSupplierDTOs)
                {
                    Dt_SupplierInfo supplierInfo = BaseDal.QueryFirst(x => x.SupplierCode == model.Code);
                    if (supplierInfo == null)
                    {
                        Dt_SupplierInfo supplierInfoAddNew = new Dt_SupplierInfo()
                        {
                            Status = 1,
                            SupplierCode = model.Code,
                            ContactAddress = model.ContactAddress,
                            ContactNumber = model.ContactNumber,
                            Contacts = model.Contacts,
                            Description = model.Description,
                            Email = model.Email,
                            InvOrgId = model.InvOrgId,
                            SupplierName = model.Name,
                            SupplierShortName = model.ShortName
                        };
                        BaseDal.AddData(supplierInfoAddNew);
                    }
                    else
                    {
                        supplierInfo.Status = 1;
                        supplierInfo.SupplierCode = model.Code;
                        supplierInfo.SupplierName = model.Name;
                        supplierInfo.SupplierShortName = model.ShortName;
                        BaseDal.UpdateData(supplierInfo);
                    }
                    Dt_SupplierInfo supplierInfo = _mapper.Map<Dt_SupplierInfo>(item);
                    supplierInfos.Add(supplierInfo);
                }
                else if (model.OperateType == "2")
                {
                    Dt_SupplierInfo supplierInfo = BaseDal.QueryFirst(x => x.SupplierCode == model.Code);
                    if (supplierInfo == null)
                    {
                        return WebResponseContent.Instance.Error($"未找到该供应商信息");
                    }
                    BaseDal.DeleteData(supplierInfo);
                }
                return WebResponseContent.Instance.OK();
                BaseDal.AddData(supplierInfos);
                content.OK("接收成功");
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
                content.Error(ex.Message);
            }
            return content;
        }
    }
}