From 0f0b7ba9b77c55db4e13b10fd5de3a01183fb356 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期一, 13 四月 2026 08:40:37 +0800
Subject: [PATCH] PLS接口开发
---
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/VMIItemCodeInfo.cs | 85 +++++
项目代码/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json | 6
项目代码/WMS/WMSServices/WIDESEA_IInboundService/IMoInboundOrderService.cs | 16
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/ReturnMoInboundStatuModel.cs | 49 ++
项目代码/WMS/WMSServices/WIDESEA_Common/CommonEnum/EnableEnum.cs | 4
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/MoInboundOrderDTO.cs | 89 +++++
项目代码/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json | 2
项目代码/WMS/WMSServices/WIDESEA_IBasicService/IMaterielInfoService.cs | 9
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/PLSBaseModel.cs | 29 +
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/PLSRequestContent.cs | 51 +++
项目代码/WMS/WMSServices/WIDESEA_Common/APIEnum/APIEnum.cs | 8
项目代码/WMS/WMSServices/WIDESEA_External/IPLSService/IInvokePLSService.cs | 22 +
项目代码/WMS/WMSServices/WIDESEA_InboundRepository/MoInboundOrderRepository.cs | 18 +
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/PLS/PlsController.cs | 56 +++
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs | 31 +
项目代码/WMS/WMSServices/WIDESEA_Common/PLSEnum/ReturnToPlsStatusEnum.cs | 30 +
项目代码/WMS/WMSServices/WIDESEA_External/PLSService/InvokePLSService.cs | 44 ++
项目代码/WMS/WMSServices/WIDESEA_Common/PLSEnum/VMIStatusEnum.cs | 42 ++
项目代码/WMS/WMSServices/WIDESEA_IInboundRepository/IMoInboundOrderRepository.cs | 14
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Inbound/Dt_MoInboundOrder.cs | 95 +++++
项目代码/WMS/WMSServices/WIDESEA_BasicService/Service/MaterielInfoService.cs | 62 +++
项目代码/WMS/WMSServices/WIDESEA_Model/WIDESEA_Model.csproj | 1
项目代码/WMS/WMSServices/WIDESEA_DTO/PLS/PlsResponseContent.cs | 91 +++++
项目代码/WMS/WMSServices/WIDESEA_InboundService/MoInboundOrderService.cs | 130 +++++++
24 files changed, 968 insertions(+), 16 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
index 6cb0749..ec189c4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
@@ -12,7 +12,7 @@
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
"DBType": "SqlServer",
//杩炴帴瀛楃涓�
- "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_HF;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_HanDanWCS;User ID=sa;Password=root;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//璺ㄥ煙
"Cors": {
"PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
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..817cd43 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"
@@ -11,6 +11,7 @@
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.ERP;
+using WIDESEA_DTO.PLS;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
@@ -163,5 +164,66 @@
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("鎺ュ彛浼犲叆鐨勭墿鏂欐暟鎹泦鍚堜笉鑳戒负绌�");
+ }
+
+ foreach (var itemData in vmiModel.Data)
+ {
+ var existMateriel = BaseDal.QueryFirst(x => x.MaterielCode == itemData.ItemCode);
+
+ 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 = itemData.CreateDate,
+ Modifier = itemData.UpdateUser,
+ ModifyDate = itemData.UpdateDate
+ };
+ BaseDal.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}");
+ }
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/APIEnum/APIEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/APIEnum/APIEnum.cs"
index aa2255b..5083169 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/APIEnum/APIEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/APIEnum/APIEnum.cs"
@@ -71,6 +71,12 @@
/// 鍥炶皟WCS浠诲姟瀹屾垚
/// </summary>
[Description("鍥炶皟WCS浠诲姟瀹屾垚")]
- FeedBackWCSTaskCompleted
+ FeedBackWCSTaskCompleted,
+
+ /// <summary>
+ /// PLS鎺ュ彛璋冪敤
+ /// </summary>
+ [Description("PLS鎺ュ彛璋冪敤")]
+ InvokePLSApi
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/CommonEnum/EnableEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/CommonEnum/EnableEnum.cs"
index e4d3718..3b91ef0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/CommonEnum/EnableEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/CommonEnum/EnableEnum.cs"
@@ -15,13 +15,13 @@
/// <summary>
/// 绂佺敤
/// </summary>
- [Description("绂佺敤")]
+ [Description("鏈夋晥")]
Disable = 0,
/// <summary>
/// 鍚敤
/// </summary>
- [Description("鍚敤")]
+ [Description("鏃犳晥")]
Enable = 1,
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/ReturnToPlsStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/ReturnToPlsStatusEnum.cs"
new file mode 100644
index 0000000..87ba0a6
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/ReturnToPlsStatusEnum.cs"
@@ -0,0 +1,30 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Common.PLSEnum
+{
+ public enum ReturnToPlsStatusEnum
+ {
+ /// <summary>
+ /// 鏈帹閫�
+ /// </summary>
+ [Description("鏈帹閫�")]
+ 鏈帹閫� = 0,
+
+ /// <summary>
+ /// 鎺ㄩ�佹垚鍔�
+ /// </summary>
+ [Description("鎺ㄩ�佹垚鍔�")]
+ 鎺ㄩ�佹垚鍔� = 1,
+
+ /// <summary>
+ /// 鎺ㄩ�佸け璐�
+ /// </summary>
+ [Description("鎺ㄩ�佸け璐�")]
+ 鎺ㄩ�佸け璐� = 2,
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/VMIStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/VMIStatusEnum.cs"
new file mode 100644
index 0000000..7a5062a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/PLSEnum/VMIStatusEnum.cs"
@@ -0,0 +1,42 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Common.PLSEnum
+{
+ public enum VMIStatusEnum
+ {
+ /// <summary>
+ /// 宸茬粦瀹�
+ /// </summary>
+ [Description("宸茬粦瀹�")]
+ 宸茬粦瀹� = 1,
+
+ /// <summary>
+ /// 宸插叆搴�
+ /// </summary>
+ [Description("宸插叆搴�")]
+ 宸插叆搴� = 2,
+
+ /// <summary>
+ /// 宸插喕缁�
+ /// </summary>
+ [Description("宸插喕缁�")]
+ 宸插喕缁� = 3,
+
+ /// <summary>
+ /// 宸插嚭搴�
+ /// </summary>
+ [Description("宸插嚭搴�")]
+ 宸插嚭搴� = 4,
+
+ /// <summary>
+ /// 宸查��璐�
+ /// </summary>
+ [Description("宸查��璐�")]
+ 宸查��璐� = 5,
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/MoInboundOrderDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/MoInboundOrderDTO.cs"
new file mode 100644
index 0000000..767b71c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/MoInboundOrderDTO.cs"
@@ -0,0 +1,89 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.PLS
+{
+ /// <summary>
+ /// MO绁ㄥ悓姝�
+ /// </summary>
+ public class MoInboundOrderDTO
+ {
+ /// <summary>
+ /// 鏃堕棿鎴�
+ /// </summary>
+ public string TimeStamp { get; set; }
+
+ /// <summary>
+ /// 绛惧悕
+ /// </summary>
+ public string Sign { get; set; }
+
+ /// <summary>
+ /// 鏁版嵁闆嗗悎
+ /// </summary>
+ public List<PLS_MoStatusItemDto> Data { get; set; }
+ }
+
+ /// <summary>
+ /// MO绁ㄥ崟鏉℃暟鎹�
+ /// </summary>
+ public class PLS_MoStatusItemDto
+ {
+ /// <summary>
+ /// 缁勭粐缂栫爜
+ /// </summary>
+ public string OrgId { get; set; }
+ /// <summary>
+ /// MO绁ㄥ彿
+ /// </summary>
+ public string LabelNo { get; set; }
+ /// <summary>
+ /// VMI鐗╂祦鐘舵��
+ /// </summary>
+ public string Status { get; set; }
+ /// <summary>
+ /// 鍗曟嵁鍙�
+ /// </summary>
+ public string BarcodeNumber { get; set; }
+ /// <summary>
+ /// 渚涙柟缂栫爜
+ /// </summary>
+ public string SupplierCode { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string ItemCode { get; set; }
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ public decimal Qty { get; set; }
+ /// <summary>
+ /// 浣滀笟鍙�
+ /// </summary>
+ public string WorkOrderName { get; set; }
+ /// <summary>
+ /// 鏄惁鏈夋晥
+ /// </summary>
+ public long DeleteFlag { get; set; }
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreateUser { get; set; }
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ public DateTime CreateDate { get; set; }
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string UpdateUser { get; set; }
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ public DateTime UpdateDate { get; set; }
+ }
+
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSBaseModel.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSBaseModel.cs"
new file mode 100644
index 0000000..91778d2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSBaseModel.cs"
@@ -0,0 +1,29 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.PLS
+{
+ /// <summary>
+ /// PLS閫氱敤瀹炰綋澶�
+ /// </summary>
+ public class PLSBaseModel<T>
+ {
+ /// <summary>
+ /// 鏃堕棿鎴�
+ /// </summary>
+ public long TimeStamp { get; set; }
+
+ /// <summary>
+ /// 绛惧悕
+ /// </summary>
+ public string Sign { get; set; }
+
+ /// <summary>
+ /// 鏁版嵁瀵硅薄
+ /// </summary>
+ public T Data { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSRequestContent.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSRequestContent.cs"
new file mode 100644
index 0000000..f992de4
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PLSRequestContent.cs"
@@ -0,0 +1,51 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.PLS
+{
+ /// <summary>
+ /// PLS鎺ュ彛鍝嶅簲瀹炰綋
+ /// </summary>
+ public class PLSRequestContent
+ {
+
+ /// <summary>
+ /// 鐘舵�佺爜 0-鎴愬姛锛�1-澶辫触
+ /// </summary>
+ public int Code { get; set; }
+
+ /// <summary>
+ /// 鍝嶅簲淇℃伅
+ /// </summary>
+ public string Msg { get; set; }
+
+ /// <summary>
+ /// 杩斿洖鏁版嵁闆嗗悎锛堟瘡鏉O绁ㄧ殑澶勭悊缁撴灉锛�
+ /// </summary>
+ public List<PlsMoStatusResult> Data { get; set; }
+
+ }
+ /// <summary>
+ /// 鍗曟潯 MO 绁ㄧ姸鎬佹帹閫佺粨鏋�
+ /// </summary>
+ public class PlsMoStatusResult
+ {
+ /// <summary>
+ /// MO绁ㄥ彿
+ /// </summary>
+ public string LabelNo { get; set; }
+
+ /// <summary>
+ /// 鎺ㄩ�佹槸鍚︽垚鍔� 0-鎴愬姛 1-澶辫触
+ /// </summary>
+ public int Success { get; set; }
+
+ /// <summary>
+ /// 鍝嶅簲淇℃伅/澶辫触鍘熷洜
+ /// </summary>
+ public string Msg { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PlsResponseContent.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PlsResponseContent.cs"
new file mode 100644
index 0000000..3680234
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/PlsResponseContent.cs"
@@ -0,0 +1,91 @@
+锘縰sing System;
+using System.Collections.Generic;
+using WIDESEA_Core;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO
+{
+ /// <summary>
+ /// PLS鍝嶅簲瀹炰綋
+ /// </summary>
+ [ModelValidate]
+ public class ApiResponseContent
+ {
+ /// <summary>
+ /// 鐘舵�佺爜 0-鎴愬姛 1-澶辫触
+ /// </summary>
+ public int Code { get; set; } = 0;
+
+ /// <summary>
+ /// 鍝嶅簲淇℃伅
+ /// </summary>
+ public string Msg { get; set; } = "鎴愬姛";
+
+ /// <summary>
+ /// 杩斿洖鏁版嵁
+ /// </summary>
+ public object Data { get; set; } = null;
+
+ /// <summary>
+ /// 鍗曚緥瀹炰緥
+ /// </summary>
+ public static ApiResponseContent Instance
+ {
+ get { return new ApiResponseContent(); }
+ }
+
+ /// <summary>
+ /// 鎴愬姛杩斿洖
+ /// </summary>
+ public ApiResponseContent OK(string message = null)
+ {
+ Code = 0;
+ Msg = message ?? "鎴愬姛";
+ Data = null??"鏃�";
+ return this;
+ }
+
+ /// <summary>
+ /// 澶辫触杩斿洖
+ /// </summary>
+ public ApiResponseContent Error(string message = null)
+ {
+ Code = 1;
+ Msg = message ?? "澶辫触";
+ Data = null ?? "鏃�";
+ return this;
+ }
+
+ /// <summary>
+ /// 甯︽槑缁嗘暟鎹繑鍥烇紙MO绁ㄥ彿涓撶敤锛�
+ /// </summary>
+ public ApiResponseContent OK(List<LabelNoData> dataList, string message = null)
+ {
+ Code = 0;
+ Msg = message ?? "鎴愬姛";
+ Data = dataList;
+ return this;
+ }
+ }
+
+ /// <summary>
+ /// MO绁ㄥ彿杩斿洖鏄庣粏
+ /// </summary>
+ public class LabelNoData
+ {
+ /// <summary>
+ /// MO绁ㄥ彿
+ /// </summary>
+ public string LabelNo { get; set; }
+
+ /// <summary>
+ /// 鎺ㄩ�佹槸鍚︽垚鍔� 0-鎴愬姛 1-澶辫触
+ /// </summary>
+ public int Success { get; set; }
+
+ /// <summary>
+ /// 鍝嶅簲淇℃伅
+ /// </summary>
+ public object Msg { get; set; }
+ }
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/ReturnMoInboundStatuModel.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/ReturnMoInboundStatuModel.cs"
new file mode 100644
index 0000000..a8e7579
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/ReturnMoInboundStatuModel.cs"
@@ -0,0 +1,49 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.PLS
+{
+ /// <summary>
+ /// MO绁ㄧ姸鎬佷笂鎶ュ疄浣�
+ /// </summary>
+ public class ReturnMoInboundStatuModel
+ {
+ /// <summary>
+ /// 缁勭粐缂栫爜
+ /// </summary>
+ public string OrgId { get; set; }
+ /// <summary>
+ /// MO绁ㄥ彿
+ /// </summary>
+ public string LabelNo { get; set; }
+ /// <summary>
+ /// VMI鐗╂祦鐘舵��
+ /// </summary>
+ public string Status { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁鍙�
+ /// </summary>
+ public string BarcodeNumber { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreateUser { get; set; }
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ public DateTime CreateDate { get; set; }
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string UpdateUser { get; set; }
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ public DateTime UpdateDate { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/VMIItemCodeInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/VMIItemCodeInfo.cs"
new file mode 100644
index 0000000..79d9088
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/PLS/VMIItemCodeInfo.cs"
@@ -0,0 +1,85 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.PLS
+{
+ /// <summary>
+ /// VMI鐗╂枡鍚屾
+ /// </summary>
+ public class VMIItemCodeInfo
+ {
+ /// <summary>
+ /// 閴存潈璐﹀彿
+ /// </summary>
+ public string AppId { get; set; }
+
+ /// <summary>
+ /// 鏃堕棿鎴�
+ /// </summary>
+ public long TimeStamp { get; set; }
+
+ /// <summary>
+ /// 绛惧悕
+ /// </summary>
+ public string Sign { get; set; }
+
+ /// <summary>
+ /// VMI鐗╂枡鏁版嵁闆嗗悎
+ /// </summary>
+ public List<VMIItemCodeData> Data { get; set; }
+ }
+
+ /// <summary>
+ /// VMI鐗╂枡鏁版嵁闆嗗悎
+ /// </summary>
+ public class VMIItemCodeData
+ {
+ /// <summary>
+ /// 闇�姹傜粍缁囩紪鐮�
+ /// </summary>
+ public long OrgId { get; set; }
+
+ /// <summary>
+ /// 渚涙柟缂栫爜
+ /// </summary>
+ public string SupplierCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string ItemCode { get; set; }
+
+ /// <summary>
+ /// 鍖呰鏁�
+ /// </summary>
+ public decimal PackageQty { get; set; }
+
+ /// <summary>
+ /// 鏈夋晥鏍囪瘑
+ /// </summary>
+ public string DeleteFlag { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreateUser { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ public DateTime CreateDate { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string UpdateUser { get; set; }
+
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ public DateTime UpdateDate { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/IPLSService/IInvokePLSService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/IPLSService/IInvokePLSService.cs"
new file mode 100644
index 0000000..2e866b7
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/IPLSService/IInvokePLSService.cs"
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core;
+using WIDESEA_DTO.PLS;
+using WIDESEA_External.Model;
+
+namespace WIDESEA_External.IPLSService
+{
+ public interface IInvokePLSService:IDependency
+ {
+
+ /// <summary>
+ /// MO绁ㄤ笂鎶LS鎺ュ彛璋冪敤
+ /// </summary>
+ /// <param name="receiveModel"></param>
+ /// <returns></returns>
+ string InvokeMoInboundStatuApi(ReturnMoInboundStatuModel moInboundStatuModel);
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/PLSService/InvokePLSService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/PLSService/InvokePLSService.cs"
new file mode 100644
index 0000000..080f77d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/PLSService/InvokePLSService.cs"
@@ -0,0 +1,44 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Common.APIEnum;
+using WIDESEA_Core.Helper;
+using WIDESEA_DTO.PLS;
+using WIDESEA_External.IPLSService;
+using WIDESEA_External.Model;
+using WIDESEA_IBasicRepository;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_External.PLSService
+{
+ public class InvokePLSService : IInvokePLSService
+ {
+ private readonly IApiInfoRepository _apiInfoRepository;
+
+ public InvokePLSService(IApiInfoRepository apiInfoRepository)
+ {
+ _apiInfoRepository = apiInfoRepository;
+ }
+ JsonSerializerSettings settings = new JsonSerializerSettings
+ {
+ ContractResolver = new CamelCasePropertyNamesContractResolver()
+ };
+ public string InvokeMoInboundStatuApi(ReturnMoInboundStatuModel moInboundStatuModel)
+ {
+ Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokePLSApi.ToString());
+ PLSBaseModel<ReturnMoInboundStatuModel> model = new PLSBaseModel<ReturnMoInboundStatuModel>()
+ {
+ Data = moInboundStatuModel,
+ TimeStamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+ Sign = "RWMS001"
+ };
+ string request = JsonConvert.SerializeObject(model, settings);
+ string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+ return response;
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IBasicService/IMaterielInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IBasicService/IMaterielInfoService.cs"
index 3a0f7b4..2d8cd82 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IBasicService/IMaterielInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IBasicService/IMaterielInfoService.cs"
@@ -7,6 +7,7 @@
using WIDESEA_Core.BaseServices;
using WIDESEA_DTO.Basic;
using WIDESEA_DTO.ERP;
+using WIDESEA_DTO.PLS;
using WIDESEA_IBasicRepository;
using WIDESEA_Model.Models;
@@ -51,5 +52,13 @@
/// <param name="model"></param>
/// <returns></returns>
WebResponseContent ReceiveMaterial(MaterielInfoDTO model);
+
+
+ /// <summary>
+ /// 鍚屾VMI鐗╂枡淇℃伅
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ WebResponseContent ReceiveVMIMaterial(VMIItemCodeInfo vmiModel);
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundRepository/IMoInboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundRepository/IMoInboundOrderRepository.cs"
new file mode 100644
index 0000000..590039b
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundRepository/IMoInboundOrderRepository.cs"
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_IInboundRepository
+{
+ public interface IMoInboundOrderRepository : IRepository<Dt_MoInboundOrder>
+ {
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMoInboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMoInboundOrderService.cs"
new file mode 100644
index 0000000..6402dde
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMoInboundOrderService.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseServices;
+using WIDESEA_IInboundRepository;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_IInboundService
+{
+ public interface IMoInboundOrderService : IService<Dt_MoInboundOrder>
+ {
+ IMoInboundOrderRepository Repository { get; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundRepository/MoInboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundRepository/MoInboundOrderRepository.cs"
new file mode 100644
index 0000000..6eafd88
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundRepository/MoInboundOrderRepository.cs"
@@ -0,0 +1,18 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseRepository;
+using WIDESEA_IInboundRepository;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_InboundRepository
+{
+ public class MoInboundOrderRepository : RepositoryBase<Dt_MoInboundOrder>, IMoInboundOrderRepository
+ {
+ public MoInboundOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+ {
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MoInboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MoInboundOrderService.cs"
new file mode 100644
index 0000000..32aff98
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MoInboundOrderService.cs"
@@ -0,0 +1,130 @@
+锘縰sing SqlSugar.Extensions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Common.PLSEnum;
+using WIDESEA_Core.BaseServices;
+using WIDESEA_DTO;
+using WIDESEA_DTO.PLS;
+using WIDESEA_IBasicRepository;
+using WIDESEA_IBasicService;
+using WIDESEA_IInboundRepository;
+using WIDESEA_IInboundService;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_InboundService
+{
+ public class MoInboundOrderService : ServiceBase<Dt_MoInboundOrder, IMoInboundOrderRepository>, IMoInboundOrderService
+ {
+
+ public IMoInboundOrderRepository Repository => BaseDal;
+
+ public MoInboundOrderService(IMoInboundOrderRepository BaseDal) : base(BaseDal)
+ {
+ }
+
+
+ /// <summary>
+ /// PLS鍚屾MO绁ㄤ俊鎭�
+ /// </summary>
+ public ApiResponseContent ReceiveMoStatus(MoInboundOrderDTO model)
+ {
+ // 1. 鍩虹鍙傛暟鏍¢獙
+ if (model == null || model.Data == null || !model.Data.Any())
+ {
+ return ApiResponseContent.Instance.Error("MO绁ㄤ紶鍏ュ弬鏁颁负绌�");
+ }
+
+ var dataList = new List<LabelNoData>();
+ int successCount = 0;
+ int totalCount = model.Data.Count;
+
+ try
+ {
+ foreach (var item in model.Data)
+ {
+ var itemResult = new LabelNoData
+ {
+ LabelNo = item.LabelNo
+ };
+ try
+ {
+ // 鍙傛暟鏍¢獙
+ if (string.IsNullOrWhiteSpace(item.LabelNo))
+ {
+ throw new Exception("鏍囩鍙� LabelNo 涓嶈兘涓虹┖");
+ }
+
+ // 鏌ヨMO绁ㄦ槸鍚﹀凡瀛樺湪
+ var existMo = BaseDal.QueryFirst(x => x.LabelNo == item.LabelNo);
+
+ if (existMo == null)
+ {
+ var addEntity = new Dt_MoInboundOrder()
+ {
+ OrgId = item.OrgId,
+ LabelNo = item.LabelNo,
+ Status = item.Status,
+ BarcodeNumber = item.BarcodeNumber,
+ SupplierCode = item.SupplierCode,
+ ItemCode = item.ItemCode,
+ Qty = item.Qty,
+ WorkOrderName = item.WorkOrderName,
+ DeleteFlag = item.DeleteFlag,
+ ReturnToPlsStatus = ReturnToPlsStatusEnum.鏈帹閫�.ObjToInt(),
+ CreateDate = item.CreateDate,
+ Creater = item.CreateUser,
+ Modifier = item.UpdateUser,
+ ModifyDate = item.UpdateDate
+ };
+ BaseDal.AddData(addEntity);
+ }
+ else
+ {
+ existMo.OrgId = item.OrgId;
+ existMo.Status = item.Status;
+ existMo.BarcodeNumber = item.BarcodeNumber;
+ existMo.SupplierCode = item.SupplierCode;
+ existMo.ItemCode = item.ItemCode;
+ existMo.Qty = item.Qty;
+ existMo.WorkOrderName = item.WorkOrderName;
+ existMo.DeleteFlag = item.DeleteFlag;
+ existMo.Modifier = item.UpdateUser;
+ existMo.ModifyDate = item.UpdateDate;
+
+ BaseDal.UpdateData(existMo);
+ }
+
+ // 鍗曟潯澶勭悊鎴愬姛
+ itemResult.Success = 0;
+ successCount++;
+ }
+ catch (Exception ex)
+ {
+ // 鍗曟潯澶勭悊澶辫触
+ itemResult.Success = 1;
+ itemResult.Msg = ex.Message;
+ }
+ finally
+ {
+ // 姣忔潯鏃犺鎴愬姛/澶辫触锛岄兘鍔犲叆杩斿洖鍒楄〃
+ dataList.Add(itemResult);
+ }
+ }
+
+ // 鍏ㄩ儴澶勭悊瀹屾垚锛岃繑鍥炵粨鏋�
+ return ApiResponseContent.Instance.OK(
+ dataList,
+ $"澶勭悊瀹屾垚锛氬叡{totalCount}鏉★紝鎴愬姛{successCount}鏉★紝澶辫触{totalCount - successCount}鏉�"
+ );
+ }
+ catch (Exception ex)
+ {
+ return ApiResponseContent.Instance.Error($"MO绁ㄥ悓姝ユ暣浣撳紓甯革細{ex.Message}");
+ }
+ }
+
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
index c49e419..5c87ac8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
@@ -26,7 +26,7 @@
/// <summary>
/// 浠撳簱缂栧彿
/// </summary>
- [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱缂栧彿")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "浠撳簱缂栧彿")]
public int WarehouseId { get; set; }
/// <summary>
@@ -38,13 +38,13 @@
/// <summary>
/// 鐗╂枡鍚嶇О
/// </summary>
- [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")]
+ [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")]
public string MaterielName { get; set; }
/// <summary>
/// 鐗╂枡瑙勬牸
/// </summary>
- [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鐗╂枡瑙勬牸")]
+ [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鐗╂枡瑙勬牸")]
public string MaterielSpec { get; set; }
/// <summary>
@@ -56,7 +56,7 @@
/// <summary>
/// 鍩烘湰鍗曚綅(buyUnitId/StockUnitId)
/// </summary>
- [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍩烘湰鍗曚綅(buyUnitId/StockUnitId)")]
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍩烘湰鍗曚綅(buyUnitId/StockUnitId)")]
public string MaterielUnit { get; set; }
/// <summary>
@@ -96,21 +96,21 @@
public string MaterielModel { get; set; }
/// <summary>
- /// 鐗╂枡鐘舵��(0:绂佺敤銆�1:鍙敤)
+ ///鏈夋晥鏍囪瘑(0:鏈夋晥銆�1:鏃犳晥)
/// </summary>
- [SugarColumn(IsNullable = false, ColumnDescription = "鐗╂枡鐘舵��(0:绂佺敤銆�1:鍙敤)")]
+ [SugarColumn(IsNullable = false, ColumnDescription = "鏈夋晥鏍囪瘑(0:鏈夋晥銆�1:鏃犳晥)")]
public EnableEnum MaterielState { get; set; }
/// <summary>
- /// 搴撳瓨缁勭粐(榛樿:娣畨鐗瑰垱浜屽巶)
+ /// 渚涙柟缂栫爜
/// </summary>
- [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "搴撳瓨缁勭粐")]
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "渚涙柟缂栫爜")]
public string MaterielInvOrgId { get; set; }
/// <summary>
/// 鏄惁闇�瑕佽川妫�
/// </summary>
- [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁闇�瑕佽川妫�")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁闇�瑕佽川妫�")]
public WhetherEnum IsCheck { get; set; }
/// <summary>
@@ -118,5 +118,18 @@
/// </summary>
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+
+ /// <summary>
+ /// 闇�姹傜粍缁囩紪鐮�
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "闇�姹傜粍缁囩紪鐮�")]
+ public long OrgId { get; set; }
+
+ /// <summary>
+ /// 鍖呰鏁�
+ /// </summary>
+ [SugarColumn(IsNullable = true, ColumnDescription = "鍖呰鏁�")]
+ public decimal PackageQty { get; set; }
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Inbound/Dt_MoInboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Inbound/Dt_MoInboundOrder.cs"
new file mode 100644
index 0000000..fcc3540
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Inbound/Dt_MoInboundOrder.cs"
@@ -0,0 +1,95 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Core.DB.Models;
+
+namespace WIDESEA_Model.Models
+{
+ /// <summary>
+ /// MO绁ㄥ叆搴撳崟鎹〃
+ /// </summary>
+ [SugarTable(nameof(Dt_MoInboundOrder), "MO绁ㄥ叆搴撳崟鎹〃")]
+ public class Dt_MoInboundOrder:BaseEntity
+ {
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
+ public int Id { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")]
+ public string ItemCode { get; set; }
+
+ /// <summary>
+ /// MO绁�
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "MO绁�")]
+ public string LabelNo { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁鍙�
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鍗曟嵁鍙�")]
+ public string BarcodeNumber { get; set; }
+
+ /// <summary>
+ /// VMI鐗╂祦鐘舵��(宸插垱寤猴紝宸插璐э紝宸插彂杩愶紝宸插彇娑�)
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "VMI鐗╂祦鐘舵��(宸插垱寤猴紝宸插璐э紝宸插彂杩愶紝宸插彇娑�)")]
+ public string Status { get; set; }
+
+
+ /// <summary>
+ ///鏈夋晥鏍囪瘑(0:鏈夋晥銆�1:鏃犳晥)
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "鏈夋晥鏍囪瘑(0:鏈夋晥銆�1:鏃犳晥)")]
+ public long DeleteFlag { get; set; }
+
+ /// <summary>
+ /// 渚涙柟缂栫爜
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "渚涙柟缂栫爜")]
+ public string SupplierCode { get; set; }
+
+ /// <summary>
+ /// 闇�姹傜粍缁囩紪鐮�
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "闇�姹傜粍缁囩紪鐮�")]
+ public string OrgId { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "鏁伴噺")]
+ public decimal Qty { get; set; }
+
+
+ /// <summary>
+ /// 浣滀笟鍙�
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "浣滀笟鍙�")]
+ public string WorkOrderName { get; set; }
+
+
+ /// <summary>
+ /// 鎺ㄩ�佺姸鎬�
+ /// </summary>
+ [SugarColumn(IsNullable = true, ColumnDescription = "鎺ㄩ�佺姸鎬�")]
+ public int ReturnToPlsStatus { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")]
+ public string Remark { get; set; }
+
+
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/WIDESEA_Model.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/WIDESEA_Model.csproj"
index a838071..139965f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/WIDESEA_Model.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/WIDESEA_Model.csproj"
@@ -18,7 +18,6 @@
<ItemGroup>
<Folder Include="Models\Check\" />
- <Folder Include="Models\Inbound\" />
<Folder Include="Models\Outbound\" />
</ItemGroup>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/PLS/PlsController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/PLS/PlsController.cs"
new file mode 100644
index 0000000..661b1ac
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/PLS/PlsController.cs"
@@ -0,0 +1,56 @@
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Attributes;
+using WIDESEA_Core;
+using WIDESEA_DTO.ERP;
+using WIDESEA_DTO;
+using WIDESEA_External.ERPService;
+using WIDESEA_IBasicService;
+using WIDESEA_DTO.PLS;
+using WIDESEA_External.Model;
+using WIDESEA_External.IPLSService;
+
+
+namespace WIDESEA_WMSServer.Controllers.PLS
+{
+ [Route("api/Pls")]
+ [ApiController]
+ public class PlsController:ControllerBase
+ {
+ private readonly IBasicService _basicService;
+ private readonly IInvokePLSService _invokePLSService;
+
+ public PlsController(IBasicService basicService,IInvokePLSService invokePLSService)
+ {
+ _basicService = basicService;
+ _invokePLSService = invokePLSService;
+ }
+
+ /// <summary>
+ /// 鎺ユ敹PLS鍚屾VMI鐗╂枡淇℃伅
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost, Route("ReceiveVMIMaterial"), AllowAnonymous, MethodParamsValidate]
+ public ApiResponseContent ReceiveVMIMaterial([FromBody] VMIItemCodeInfo vmiModel)
+ {
+ WebResponseContent content = _basicService.MaterielInfoService.ReceiveVMIMaterial(vmiModel);
+ if (content.Status) {
+ return ApiResponseContent.Instance.OK();
+ }
+ else {
+ return ApiResponseContent.Instance.Error();
+ }
+ }
+
+ /// <summary>
+ /// MO绁ㄧ姸鎬佷笂鎶LS
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost, Route("InvokeMoInboundStatuApi"), AllowAnonymous]
+ public string InvokeMoInboundStatuApi([FromBody] ReturnMoInboundStatuModel moInboundStatuModel)
+ {
+ return _invokePLSService.InvokeMoInboundStatuApi(moInboundStatuModel);
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
index 79fa023..cc3c481 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
@@ -13,7 +13,7 @@
//杩炴帴瀛楃涓�
//"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
//"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_HanDanWMS;User ID=sa;Password=root;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=WMS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//鏃MS鏁版嵁搴撹繛鎺�
//"TeConnectionString": "Data Source=10.30.4.92;Initial Catalog=TeChuang;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
@@ -32,5 +32,7 @@
"ExpMinutes": 120,
"QuartzJobAutoStart": true,
"PDAVersion": "4",
- "WebSocketPort": 9296
+ "WebSocketPort": "9296锛�",
+ "DBSeedEnable": true
+
}
--
Gitblit v1.9.3