From bfa52edd6a430978873367426da7b379730da411 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 28 四月 2026 08:51:43 +0800
Subject: [PATCH] PLS接口优化

---
 项目代码/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs |   80 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 9 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs"
index b3228d9..91521a6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs"
@@ -1,16 +1,11 @@
-锘縰sing 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;
+锘縰sing 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}");
+            }
+        }
+
     }
 }

--
Gitblit v1.9.3