1
dengjunjie
2025-01-10 5ee4d66f4fef38f9d7ba38d8c3cfae7f7fc082d3
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/MaterielInfoService.cs
@@ -8,7 +8,9 @@
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.ERP;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
@@ -17,16 +19,31 @@
{
    public partial class MaterielInfoService : ServiceBase<Dt_MaterielInfo, IMaterielInfoRepository>, IMaterielInfoService
    {
        /// <summary>
        /// åˆ¤æ–­ç‰©æ–™æ˜¯å¦å­˜åœ¨
        /// </summary>
        /// <param name="materielCode">物料编号</param>
        /// <returns></returns>
        public bool ExsitMateriel(string materielCode)
        {
            return BaseDal.QueryFirst(x => x.MaterielCode == materielCode) != null;
        }
        /// <summary>
        /// åˆ¤æ–­ç‰©æ–™æ˜¯å¦å­˜åœ¨
        /// </summary>
        /// <param name="materielCodes">物料编号集合</param>
        /// <returns></returns>
        public bool ExsitMateriels(List<string> materielCodes)
        {
            return BaseDal.QueryFirst(x => materielCodes.Contains(x.MaterielCode)) != null;
            return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode)).Count == materielCodes.Count;
        }
        /// <summary>
        /// èŽ·å–ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="materielCode">物料编号</param>
        /// <returns></returns>
        public Dt_MaterielInfo GetMaterielInfo(string materielCode)
        {
            return BaseDal.QueryFirst(x => x.MaterielCode == materielCode);
@@ -35,22 +52,48 @@
        /// <summary>
        /// æŸ¥è¯¢ç‰©æ–™ä¿¡æ¯
        /// </summary>
        /// <param name="materielCodes"></param>
        /// <param name="materielCodes">物料编号</param>
        /// <returns></returns>
        public List<Dt_MaterielInfo> GetMaterielInfos(List<string> materielCodes)
        {
            return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode));
        }
        public WebResponseContent GetWarehouseMaterielInfos(int warehouseId)
        {
            try
            {
                List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.WarehouseId == warehouseId);
                return WebResponseContent.Instance.OK(data: materielInfos);
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// æŽ¥æ”¶ERP物料信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public WebResponseContent ReceiveMaterial(MaterielInfoDTO model)
        {
            try
            {
                Dt_Warehouse? warehouse = null;
                if (model.ItemType == MaterielTypeEnum.RawMateriel.ObjToInt())
                {
                    warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == model.WaId);
                    if (warehouse == null)
                    {
                        return WebResponseContent.Instance.Error("未找到仓库信息");
                    }
                }
                if (model.OperateType == 0)
                {
                    Dt_MaterielInfo materielInfo = new Dt_MaterielInfo()
                    {
                        IsCheck = (WhetherEnum)model.IsCheck,
                        IsCheck = warehouse == null ? 0 : (WhetherEnum)model.IsCheck,
                        MaterielCode = model.Code,
                        MaterielInvOrgId = model.InvOrgId,
                        MaterielLength = model.Length,
@@ -58,14 +101,14 @@
                        MaterielName = model.Name,
                        MaterielSize = model.Size,
                        MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType,
                        MaterielSpec = "model.",
                        MaterielSpec = warehouse == null ? "空" : model.StandType,
                        MaterielState = (EnableEnum)model.State,
                        MaterielThickness = model.Thickness,
                        MaterielType = (MaterielTypeEnum)model.ItemType,
                        MaterielUnit = model.Unit,
                        MaterielUnit = model.Unit == null ? "" : model.Unit,
                        MaterielVersion = model.MaterialVersion,
                        MaterielWide = model.Wide,
                        WarehouseId = model.WaId,
                        WarehouseId = warehouse == null ? 0 : warehouse.WarehouseId,
                    };
                    BaseDal.AddData(materielInfo);
                }
@@ -77,7 +120,7 @@
                        return WebResponseContent.Instance.Error($"未找到物料信息");
                    }
                    materielInfo.IsCheck = (WhetherEnum)model.IsCheck;
                    materielInfo.IsCheck = warehouse == null ? 0 : (WhetherEnum)model.IsCheck;
                    materielInfo.MaterielCode = model.Code;
                    materielInfo.MaterielInvOrgId = model.InvOrgId;
                    materielInfo.MaterielLength = model.Length;
@@ -85,14 +128,14 @@
                    materielInfo.MaterielName = model.Name;
                    materielInfo.MaterielSize = model.Size;
                    materielInfo.MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType;
                    materielInfo.MaterielSpec = model.StandType;
                    materielInfo.MaterielSpec = warehouse == null ? "" : model.StandType;
                    materielInfo.MaterielState = (EnableEnum)model.State;
                    materielInfo.MaterielThickness = model.Thickness;
                    materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType;
                    materielInfo.MaterielUnit = model.Unit;
                    materielInfo.MaterielUnit = model.Unit == null ? "" : model.Unit;
                    materielInfo.MaterielVersion = model.MaterialVersion;
                    materielInfo.MaterielWide = model.Wide;
                    materielInfo.WarehouseId = model.WaId;
                    materielInfo.WarehouseId = warehouse == null ? 0 : warehouse.WarehouseId;
                    BaseDal.UpdateData(materielInfo);
                }
                else if (model.OperateType == 2)