647556386
2 天以前 bfa52edd6a430978873367426da7b379730da411
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs
@@ -1,16 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_BasicRepository;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Common.CommonEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO;
using WIDESEA_DTO.ERP;
using WIDESEA_DTO.PLS;
using WIDESEA_External.PLSService;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
@@ -163,5 +158,72 @@
                return WebResponseContent.Instance.OK(ex.Message);
            }
        }
        /// <summary>
        /// åŒæ­¥VMI物料信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public WebResponseContent ReceiveVMIMaterial(VMIItemCodeInfo vmiModel)
        {
            try
            {
                ///参数校验
                if (vmiModel == null || vmiModel.Data == null || !vmiModel.Data.Any())
                {
                    return WebResponseContent.Instance.Error("接口传入的物料数据集合不能为空");
                }
                ///签名校验
                bool IsSign = MD5Util.CheckPLSSign(vmiModel);
                if (!IsSign)
                {
                    return WebResponseContent.Instance.Error("签名验证失败,请检查");
                }
                foreach (var itemData in vmiModel.Data)
                {
                    var existMateriel = BaseDal.QueryFirst(x => x.MaterielCode == itemData.ItemCode && x.OrgId == itemData.OrgId && x.MaterielInvOrgId == itemData.SupplierCode);
                    if (existMateriel == null)
                    {
                        Dt_MaterielInfo addEntity = new Dt_MaterielInfo()
                        {
                            MaterielCode = itemData.ItemCode,
                            OrgId = itemData.OrgId,
                            MaterielInvOrgId = itemData.SupplierCode,
                            PackageQty = itemData.PackageQty,
                            MaterielState = itemData.DeleteFlag == 0 ? EnableEnum.Enable : EnableEnum.Disable,
                            WarehouseId = 0,
                            MaterielSourceType = 0,
                            Creater = itemData.CreateUser,
                            CreateDate = DateTime.Now,
                        };
                        _basicRepository.MaterielInfoRepository.AddData(addEntity);
                    }
                    else
                    {
                        existMateriel.OrgId = itemData.OrgId;
                        existMateriel.MaterielInvOrgId = itemData.SupplierCode;
                        existMateriel.PackageQty = itemData.PackageQty;
                        existMateriel.MaterielState = itemData.DeleteFlag == 0 ? EnableEnum.Enable : EnableEnum.Disable;
                        existMateriel.Modifier = itemData.UpdateUser;
                        existMateriel.ModifyDate = itemData.UpdateDate;
                        BaseDal.UpdateData(existMateriel);
                    }
                }
                // å¤„理完成
                return WebResponseContent.Instance.OK("VMI物料数据同步成功");
            }
            catch (Exception ex)
            {
                // å¼‚常返回
                return WebResponseContent.Instance.Error($"VMI物料同步失败:{ex.Message}");
            }
        }
    }
}