From 39ee9078d88fd4787437360e7f69ed999aaf0b7b Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期六, 28 十二月 2024 09:14:41 +0800
Subject: [PATCH] 更新代码
---
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/696c7cf1-015a-43ec-a8b3-783cb6f90bca.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 126 ++++++---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs | 82 +++---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 134 ++-------
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 58 ++-
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 31 +
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/97e07ff0-7eb7-4d15-ab37-ca81ae8db322.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/PurchaseOrderEnum.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs | 86 ++++++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs | 38 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 169 ++++++++----
/dev/null | 0
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/daf3b445-0601-416b-be78-d82e92277083.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96a8d11f-bc7e-4582-8a8c-6fccb3766db1.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ca012d90-cc55-4b3b-b3e3-15e0df48c908.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs | 16 -
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 1
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs | 13
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs | 11
23 files changed, 480 insertions(+), 299 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/144011e2-42f0-4bb3-91f4-4f3faf1287db.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/144011e2-42f0-4bb3-91f4-4f3faf1287db.vsidx"
deleted file mode 100644
index a28b4f9..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/144011e2-42f0-4bb3-91f4-4f3faf1287db.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/696c7cf1-015a-43ec-a8b3-783cb6f90bca.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/696c7cf1-015a-43ec-a8b3-783cb6f90bca.vsidx"
new file mode 100644
index 0000000..f7a2213
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/696c7cf1-015a-43ec-a8b3-783cb6f90bca.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx"
deleted file mode 100644
index 1e78c84..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d9caedcd-b643-4a2a-bf28-68c2ccd0a7aa.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/82bf8887-9a08-48ab-8128-b1344527468e.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/82bf8887-9a08-48ab-8128-b1344527468e.vsidx"
deleted file mode 100644
index 9b27507..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/82bf8887-9a08-48ab-8128-b1344527468e.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96a8d11f-bc7e-4582-8a8c-6fccb3766db1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96a8d11f-bc7e-4582-8a8c-6fccb3766db1.vsidx"
new file mode 100644
index 0000000..df9afad
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/96a8d11f-bc7e-4582-8a8c-6fccb3766db1.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/97e07ff0-7eb7-4d15-ab37-ca81ae8db322.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/97e07ff0-7eb7-4d15-ab37-ca81ae8db322.vsidx"
new file mode 100644
index 0000000..b6d4a65
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/97e07ff0-7eb7-4d15-ab37-ca81ae8db322.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c0d350a6-e99f-4e34-9928-0112aed4569d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c0d350a6-e99f-4e34-9928-0112aed4569d.vsidx"
deleted file mode 100644
index b28cdc2..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c0d350a6-e99f-4e34-9928-0112aed4569d.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ca012d90-cc55-4b3b-b3e3-15e0df48c908.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ca012d90-cc55-4b3b-b3e3-15e0df48c908.vsidx"
new file mode 100644
index 0000000..b1e7334
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ca012d90-cc55-4b3b-b3e3-15e0df48c908.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/daf3b445-0601-416b-be78-d82e92277083.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/daf3b445-0601-416b-be78-d82e92277083.vsidx"
new file mode 100644
index 0000000..cf85f90
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/daf3b445-0601-416b-be78-d82e92277083.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/PurchaseOrderEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/PurchaseOrderEnum.cs"
index d46b378..22e5586 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/PurchaseOrderEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/PurchaseOrderEnum.cs"
@@ -33,9 +33,13 @@
/// <summary>
/// 鏈敹璐�
/// </summary>
- [Description("鏈敹璐�")]
+ [Description("鏀惰揣")]
NotReceived = 0,
-
+ /// <summary>
+ /// 鏀惰揣涓�
+ /// </summary>
+ [Description("鏀惰揣涓�")]
+ Receiving = 1,
/// <summary>
/// 鏀惰揣瀹屾垚
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs"
new file mode 100644
index 0000000..389b525
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpMesHelper.cs"
@@ -0,0 +1,86 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Net.Http.Headers;
+using WIDESEA_Core.LogHelper;
+using System.Security.Cryptography;
+
+namespace WIDESEA_Core.Helper
+{
+ public class HttpMesHelper
+ {
+ public static string Post(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null)
+ {
+ string result = string.Empty;
+ DateTime beginDate = DateTime.Now;
+ try
+ {
+ using (HttpContent httpContent = new StringContent(requestJson))
+ {
+ httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+ using HttpClient httpClient = new HttpClient();
+ httpClient.Timeout = new TimeSpan(0, 0, 60);
+ long currentTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
+ string key = $"appkey=1830415116987195392×tamp={currentTimestamp}";
+ string authorization = "Open " + GetStr(key);
+ headers = new Dictionary<string, string>
+ {
+ { "Appkey", "1830415116987195392" },
+ { "Authorization", authorization },
+ { "site_tenant_id", "ced19269-2b83-4577-be43-8cc2f700251e" }
+ };
+ if (headers != null)
+ {
+ foreach (var header in headers)
+ httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
+ }
+ HttpResponseMessage responseMessage = httpClient.PostAsync(serviceAddress, httpContent).Result;
+ result = responseMessage.Content.ReadAsStringAsync().Result;
+ }
+ return result;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ finally
+ {
+ Logger.Add(serviceAddress, requestJson == null ? "" : requestJson, result, beginDate);
+ }
+ }
+ public static string GetStr(string textToEncrypt)
+ {
+ string publicKey;
+ string privateKey;
+ GenerateRSAKeyPair(out publicKey, out privateKey);
+ byte[] encryptedBytes = RSAEncrypt(textToEncrypt, publicKey);
+ // 鍙互灏嗗姞瀵嗗悗鐨勫瓧鑺傛暟缁勮浆鎹负Base64瀛楃涓叉柟渚垮悗缁鐞嗭紝渚嬪浼犺緭绛�
+ string encryptedBase64 = Convert.ToBase64String(encryptedBytes);
+ return encryptedBase64;
+ }
+ public static void GenerateRSAKeyPair(out string publicKey, out string privateKey)
+ {
+ using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(2048))
+ {
+ publicKey = rsa.ToXmlString(false);
+ privateKey = rsa.ToXmlString(true);
+ }
+ }
+ public static byte[] RSAEncrypt(string plainText, string publicKey)
+ {
+ byte[] encryptedData;
+ using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
+ {
+ rsa.FromXmlString(publicKey);
+ // 灏嗘枃鏈浆鎹负UTF8缂栫爜鐨勫瓧鑺傛暟缁�
+ byte[] plainBytes = Encoding.UTF8.GetBytes(plainText);
+ // 浣跨敤SHA1鍝堝笇绠楁硶浠ュ強Pkcs1濉厖瑙勫垯杩涜鍔犲瘑
+ encryptedData = rsa.Encrypt(plainBytes, true);
+ }
+ return encryptedData;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs"
new file mode 100644
index 0000000..2a18606
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs"
@@ -0,0 +1,38 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Attributes;
+
+namespace WIDESEA_DTO.MES
+{
+ public class MESRoot<T>
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ public string From { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public string DateTime { get; set; }
+
+ public T Content { get; set; }
+ }
+ /// <summary>
+ ///娴嬭瘯鏋跺悓姝�
+ /// </summary>
+ public class TestToolSynInfo
+ {
+ /// <summary>
+ /// 娴嬭瘯鏋舵壒娆″彿
+ /// </summary>
+ public string ToolCode { get; set; }
+ /// <summary>
+ /// 鍒濆瀵垮懡
+ /// </summary>
+ public int Life { get; set; }
+
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs"
index 509c22f..3084fa6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs"
@@ -56,19 +56,5 @@
[PropertyValidate("娴嬭瘯鏋舵壒娆″彿", NotNullAndEmpty = true)]
public string TestToolCode { get; set; }
}
- /// <summary>
- ///娴嬭瘯鏋跺悓姝�
- /// </summary>
- public class TestToolSynInfo
- {
- /// <summary>
- /// 娴嬭瘯鏋舵壒娆″彿
- /// </summary>
- public string ToolCode { get; set; }
- /// <summary>
- /// 鍒濆瀵垮懡
- /// </summary>
- public int Life { get; set; }
-
- }
+
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
index db7d5b0..c63b33d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs"
@@ -24,5 +24,7 @@
WebResponseContent FeedbackInboundOrder(int id);
WebResponseContent MaterielGroup(SaveModel saveModel);
+ //鍏ュ簱瀹屾垚涓婃姤
+ WebResponseContent FeedbackInboundOrder(Dt_StockInfo stockInfo);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index 263037e..10078f3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -108,5 +108,6 @@
/// <returns></returns>
MesResponseContent TestScrap(TestToolScrap toolScrap);
WebResponseContent IsRelocation(int taskNum, string locationCode);
+ WebResponseContent TestSynStock(TestToolSynInfo toolSynInfo);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index c02a048..2363716 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -129,7 +129,7 @@
return content;
}
/// <summary>
- /// 鍗曚釜鐗╂枡鐮佺粍鐩�
+ /// 鍗曚釜鐗╂枡鐮佺粍鐩� 閫傜敤娴嬭瘯鏋�
/// </summary>
/// <param name="inboundOrderId"></param>
/// <param name="palletCode"></param>
@@ -144,65 +144,76 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅");
}
- if (inboundOrder.Details == null || inboundOrder.Details.Count <= 0)
+ if (inboundOrder.OrderStatus>=InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
+ {
+ return WebResponseContent.Instance.Error($"鍏ュ簱鍗曞凡缁撴潫");
+ }
+ if (inboundOrder.Details.Count <= 0)
{
return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅");
}
-
- Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == inboundOrder.UpperOrderNo).Includes(x => x.Details).First();
- if (receiveOrder == null)
+ MatSerNumAnalysisModel model = new MatSerNumAnalysisModel()
{
- return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗�");
- }
- if (receiveOrder.Details == null || receiveOrder.Details.Count <= 0)
- {
- return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗曟槑缁�");
- }
-
- List<string> purchaseOrderNos = receiveOrder.Details.Select(x => x.PurchaseOrderNo).ToList();
-
- MatSerNumAnalysisModel model = new MatSerNumAnalysisModel()
- {
- MaterielCode= "307000309",
- LotNo= "20241216001",
- ProductionDate= "2024-12-16",
- EffectiveDate= "2025-12-16",
- PurchaseOrderNo= "POHA02241216275",
- Quantity=1,
- SerialNumber= "M:307000309,BS:20241216001,DM:2024-12-16,DE:2025-12-16,Q:4,PO:POHA02241216275"
+ MaterielCode = "504907335",
+ LotNo = "20241217001",
+ ProductionDate = "2024-12-17",
+ EffectiveDate = "2025-12-17",
+ PurchaseOrderNo = "POHA02241227285",
+ Quantity = 1,
+ SerialNumber = "M:504907335,BS:20241217001,DM:2024-12-17,DE:2025-12-17,Q:1,PO:POHA02241227285"
};//娴嬭瘯
-
//CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum);
-
-
Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterielCode);
if (materielInfo == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�");
}
-
- List<Dt_InboundOrderDetail> inboundOrderDetails = inboundOrder.Details.Where(x => x.MaterielCode == model.MaterielCode).ToList();
-
- if (inboundOrderDetails == null || inboundOrderDetails.Count <= 0)
+ if (materielInfo.WarehouseId != inboundOrder.WarehouseId)
{
- return WebResponseContent.Instance.Error($"鏈湪鍏ュ簱鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�");
+ return WebResponseContent.Instance.Error($"璇ョ墿鏂欎笉灞炰簬鏈粨");
}
- if (receiveOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode) == null)
+ Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == inboundOrder.UpperOrderNo).Includes(x => x.Details).First();
+ if (receiveOrder == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗�");
+ }
+ if (receiveOrder.Details.Count <= 0)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑鏀惰揣鍗曟槑缁�");
+ }
+ List<string> purchaseOrderNos = receiveOrder.Details.Select(x => x.PurchaseOrderNo).ToList();
+ if (!purchaseOrderNos.Contains(model.PurchaseOrderNo))
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旀敹璐у崟鏄庣粏涓噰璐崟");
+ }
+ Dt_ReceiveOrderDetail? receiveOrderDetail = receiveOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode);
+ if (receiveOrderDetail == null)
{
return WebResponseContent.Instance.Error($"鏈湪鏀惰揣鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�");
}
- if (purchaseOrderNos.FirstOrDefault(x => x == model.PurchaseOrderNo) == null)
+ Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode);
+ if (inboundOrderDetail == null)
{
- return WebResponseContent.Instance.Error($"鏈湪鏀惰揣鍗曟槑缁嗕腑鎵惧埌璇ラ噰璐崟");
+ return WebResponseContent.Instance.Error($"鏈湪鍏ュ簱鍗曟槑缁嗕腑鎵惧埌璇ョ墿鏂欎俊鎭�");
}
-
- Dt_InboundOrderDetail? notGroupDetail = inboundOrderDetails.Where(x => x.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt() && x.OrderQuantity == model.Quantity).FirstOrDefault();
-
- if (notGroupDetail == null)
+ if (inboundOrderDetail.OrderDetailStatus>OrderDetailStatusEnum.GroupAndInbound.ObjToInt())
{
- return WebResponseContent.Instance.Error($"璇ョ墿鏂欏湪璇ュ叆搴撳崟涓凡鍏ㄩ儴缁勭洏瀹屾垚");
+ return WebResponseContent.Instance.Error($"瀵瑰簲鍏ュ簱鍗曟槑缁嗗凡缁撴潫");
}
-
+ float inboundDetailSum = inboundOrderDetail.OverInQuantity + inboundOrderDetail.ReceiptQuantity ;
+ if (inboundDetailSum == inboundOrderDetail.OrderQuantity)
+ {
+ return WebResponseContent.Instance.Error($"璇ョ墿鏂欏叆搴撳崟鏄庣粏宸插叏閮ㄧ粍鐩樺畬鎴�");
+ }
+ if (model.Quantity > receiveOrderDetail.ReceivedQuantity || (inboundDetailSum + model.Quantity) > receiveOrderDetail.ReceivedQuantity)
+ {
+ return WebResponseContent.Instance.Error($"涓庤鏀惰揣鍗曟槑缁嗘敹璐ф暟閲忎笉涓�鑷�");
+ }
+ Dt_StockInfo oldStockinfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode);
+ if(oldStockinfo!=null)
+ {
+ return WebResponseContent.Instance.Error($"鎵樼洏閲嶅");
+ }
Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
{
BatchNo = model.LotNo,
@@ -215,7 +226,7 @@
Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
ProductionDate = model.ProductionDate,
EffectiveDate = model.EffectiveDate,
- InboundOrderRowNo = notGroupDetail.RowNo,
+ InboundOrderRowNo = inboundOrderDetail.RowNo,
};
Dt_StockInfo stockInfo = new Dt_StockInfo()
@@ -225,14 +236,25 @@
WarehouseId = inboundOrder.WarehouseId,
Details=new List<Dt_StockInfoDetail> { stockInfoDetail }
};
-
+ inboundOrderDetail.ReceiptQuantity += model.Quantity;
+ _unitOfWorkManage.BeginTran();
+ if (inboundOrderDetail.OrderDetailStatus==OrderDetailStatusEnum.New.ObjToInt())
+ {
+ inboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
+ }
+ _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetail);
+ if (inboundOrder.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt())
+ {
+ inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
+ BaseDal.UpdateData(inboundOrder);
+ }
_stockRepository.StockInfoRepository.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
- _inboundRepository.InboundOrderDetailRepository.UpdateData(inboundOrderDetails);
-
+ _unitOfWorkManage.CommitTran();
return WebResponseContent.Instance.OK();
}
catch (Exception ex)
{
+ _unitOfWorkManage.RollbackTran();
return WebResponseContent.Instance.Error(ex.Message);
}
}
@@ -545,8 +567,22 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+ public WebResponseContent FeedbackInboundOrder(Dt_StockInfo stockInfo)
+ {
+ WebResponseContent content=new WebResponseContent();
+ try
+ {
+
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+
/// <summary>
- /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP
+ /// 鍏ュ簱瀹屾垚鍥炰紶鍒癊RP 娴嬭瘯
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
index 188c4e0..76ab96e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs"
@@ -49,7 +49,7 @@
{
try
{
- Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.QueryFirst(x => x.ReceiveOrderNo == orderNo);
+ Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == orderNo).Includes(x=>x.Details).First();
if (receiveOrder == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鏀惰揣鍗�");
@@ -67,92 +67,141 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡鐨勪俊鎭�");
}
-
- Dt_PurchaseOrder purchaseOrder = _inboundRepository.PurchaseOrderRepository.QueryFirst(x => x.PurchaseOrderNo == model.PurchaseOrderNo);
+ //璇ユ敹璐у崟浠撳簱鏄惁鏈夎鐗╂枡
+ if (materielInfo.WarehouseId!= receiveOrder.WarehouseId)
+ {
+ return WebResponseContent.Instance.Error($"璇ョ墿鏂欎笉灞炰簬璇ヤ粨搴�");
+ }
+ Dt_PurchaseOrder purchaseOrder = _inboundRepository.PurchaseOrderRepository.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == model.PurchaseOrderNo).Includes(x=>x.Details).First();
if (purchaseOrder == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌閲囪喘鍗�");
}
-
+ if (purchaseOrder.Details.Count == 0)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌閲囪喘鍗曟槑缁嗘暟鎹�");
+ }
if (purchaseOrder.SupplierCode != receiveOrder.SuppliersId)
{
return WebResponseContent.Instance.Error($"渚涘簲鍟嗕笉涓�鑷�,璇锋柊寤烘敹璐у崟");
}
-
if (purchaseOrder.PurchaseOrderStatus == PurchaseOrderStatusEnum.Received.ObjToInt())
{
return WebResponseContent.Instance.Error($"璇ラ噰璐崟鏀惰揣宸插畬鎴�");
}
-
- List<Dt_PurchaseOrderDetail> purchaseOrderDetails = _inboundRepository.PurchaseOrderDetailRepository.QueryData(x => x.PurchaseOrderId == purchaseOrder.Id);
- if (purchaseOrderDetails == null || purchaseOrderDetails.Count == 0)
- {
- return WebResponseContent.Instance.Error($"鏈壘鍒拌閲囪喘鍗曟槑缁嗘暟鎹�");
- }
-
- Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrderDetails.FirstOrDefault(x => x.PurchaseDetailQuantity == model.Quantity && x.MaterielCode == model.MaterielCode && x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt());
+ Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.MaterielCode == model.MaterielCode && (x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt() || x.PurchaseDetailStatus == PurchaseOrderDetailStatusEnum.Receiving.ObjToInt()));
if (purchaseOrderDetail == null)
{
- if (purchaseOrderDetails.Count > 0)
+ if (purchaseOrder.Details.Count > 0)
{
return WebResponseContent.Instance.Error($"璇ユ槑缁嗘敹璐у凡瀹屾垚");
}
- return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑閲囪喘鍗曟槑缁嗘暟鎹�");
}
- Dt_ReceiveOrderDetail detail = BaseDal.QueryFirst(x => x.PurchaseOrderNo == model.PurchaseOrderNo && x.PurchaseOrderDetailRowNo == purchaseOrderDetail.RowNo);
- if (detail != null)
+ //鍒ゆ柇鏄惁瀛樺湪瀵瑰簲閲囪喘鏄庣粏鐨勬敹璐ф槑缁�
+ Dt_ReceiveOrderDetail? detail = receiveOrder.Details.FirstOrDefault(x => x.PurchaseOrderNo == model.PurchaseOrderNo && x.PurchaseOrderDetailRowNo == purchaseOrderDetail.RowNo);
+ if (detail != null && detail.ReceivedQuantity == purchaseOrderDetail.PurchaseDetailQuantity)
{
- return WebResponseContent.Instance.Error($"璇ユ槑缁嗘敹璐у凡瀹屾垚");
+ return WebResponseContent.Instance.Error($"璇ユ槑缁嗗凡鏀惰揣");
}
lock (_rowNoLocker)
{
- int rowNo = 0;
- List<Dt_ReceiveOrderDetail> receiveOrderDetails = BaseDal.QueryData(x => x.ReceiveOrderId == receiveOrder.ReceiveOrderId);
- if (receiveOrderDetails != null && receiveOrderDetails.Count > 0)
+ if (detail!=null)
{
- rowNo = receiveOrderDetails.Max(x => x.RowNo);
+ //鍘熸湁鏀惰揣鏄庣粏澧炲姞鏀惰揣鏁伴噺
+ detail.ReceivedQuantity += model.Quantity;
+ purchaseOrderDetail.PurchaseDetailReceiveQty = detail.ReceivedQuantity;
+ if (purchaseOrderDetail.PurchaseDetailReceiveQty > purchaseOrderDetail.PurchaseDetailQuantity)
+ {
+ return WebResponseContent.Instance.Error($"閲囪喘鍗曡鐗╂枡鏁伴噺鍜屾敹璐ф暟閲忎笉涓�鑷�");
+ }
+ if(purchaseOrderDetail.PurchaseDetailReceiveQty ==purchaseOrderDetail.PurchaseDetailQuantity)
+ {
+ purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt();
+ }
+ float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty) + model.Quantity;
+ _unitOfWorkManage.BeginTran();
+ if (purchaseOrder.OrderQuantity == sumQty)
+ {
+ purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt();
+ _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
+ }
+ BaseDal.UpdateData(detail);
+ _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
+ _unitOfWorkManage.CommitTran();
}
-
- Dt_ReceiveOrderDetail receiveOrderDetail = new Dt_ReceiveOrderDetail()
+ else
{
- PurchaseOrderNo = model.PurchaseOrderNo,
- ReceivedQuantity = model.Quantity,
- MaterielCode = model.MaterielCode,
- LotNo = model.LotNo,
- ReceiveOrderId = receiveOrder.ReceiveOrderId,
- PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo,
- IfInspection = materielInfo.IsCheck.ObjToInt(),
- CurrCode = "",
- PriceInTax = 0,
- TaxRate = "",
- RowNo = rowNo + 1,
- Unit = purchaseOrderDetail.Unit
- };
-
- if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt())
- {
- receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt();
+ int rowNo = 0;
+ if (receiveOrder.Details.Count > 0)
+ {
+ rowNo = receiveOrder.Details.Max(x => x.RowNo);
+ }
+ Dt_ReceiveOrderDetail receiveOrderDetail = new Dt_ReceiveOrderDetail()
+ {
+ PurchaseOrderNo = model.PurchaseOrderNo,
+ ReceivedQuantity = model.Quantity,
+ MaterielCode = model.MaterielCode,
+ LotNo = model.LotNo,
+ ReceiveOrderId = receiveOrder.ReceiveOrderId,
+ PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo,
+ IfInspection = materielInfo.IsCheck.ObjToInt(),
+ CurrCode = "",
+ PriceInTax = 0,
+ TaxRate = "",
+ RowNo = rowNo + 1,
+ Unit = purchaseOrderDetail.Unit
+ };
+ if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt())
+ {
+ receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt();
+ }
+ //鍒ゆ柇閲囪喘鏄庣粏鏁伴噺
+ if (purchaseOrderDetail.PurchaseDetailQuantity<model.Quantity)
+ {
+ return WebResponseContent.Instance.Error($"璇锋牳瀵归噰璐崟璇ョ墿鏂欐暟閲�");
+ }
+ if (purchaseOrderDetail.PurchaseDetailReceiveQty>0)
+ {
+ purchaseOrderDetail.PurchaseDetailReceiveQty += model.Quantity;
+ }
+ else
+ {
+ purchaseOrderDetail.PurchaseDetailReceiveQty = model.Quantity;
+ }
+ if (purchaseOrderDetail.PurchaseDetailReceiveQty> purchaseOrderDetail.PurchaseDetailQuantity)
+ {
+ return WebResponseContent.Instance.Error($"閲囪喘鍗曡鐗╂枡鏁伴噺鍜屾敹璐ф暟閲忎笉涓�鑷�");
+ }
+ if (purchaseOrderDetail.PurchaseDetailQuantity == purchaseOrderDetail.PurchaseDetailReceiveQty)
+ {
+ purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt();
+ }
+ float sumQty = purchaseOrder.Details.Sum(x => x.PurchaseDetailReceiveQty) + model.Quantity;
+ _unitOfWorkManage.BeginTran();
+ BaseDal.AddData(receiveOrderDetail);
+ if (purchaseOrder.OrderQuantity == sumQty)
+ {
+ purchaseOrder.PurchaseOrderStatus = PurchaseOrderStatusEnum.Received.ObjToInt();
+ _inboundRepository.PurchaseOrderRepository.UpdateData(purchaseOrder);
+ }
+ _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder);
+ _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
+ #region 娉ㄩ噴
+ //if (materielInfo.IsCheck == WhetherEnum.True)
+ //{
+ // Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+ // checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
+ // checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
+ // checkOrder.ScrappedQuantity = 0;
+ // checkOrder.ReturnQuantity = 0;
+ // checkOrder.DefectedQuantity = 0;
+ // _checkOrderRepository.AddData(checkOrder);
+ //}
+ #endregion
+ _unitOfWorkManage.CommitTran();
}
- purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.Received.ObjToInt();
-
- _unitOfWorkManage.BeginTran();
- BaseDal.AddData(receiveOrderDetail);
- _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder);
- _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail);
-
- if (materielInfo.IsCheck == WhetherEnum.True)
- {
- Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
- checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo;
- checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
- checkOrder.ScrappedQuantity = 0;
- checkOrder.ReturnQuantity = 0;
- checkOrder.DefectedQuantity = 0;
- _checkOrderRepository.AddData(checkOrder);
- }
-
- _unitOfWorkManage.CommitTran();
+
return WebResponseContent.Instance.OK();
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
index e309926..d18e849 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
@@ -139,7 +139,7 @@
CustomerId = receiveOrder.CustomerId,
CreatorId = "TC20082",//娴嬭瘯 receiveOrder.Creater
EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"),
- ReceiveDate = receiveOrder.ReceiveDate.ToString("yyyy-MM-dd HH:mm:ss"),
+ ReceiveDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
PlantsId = "HA02",
SuppliersId = receiveOrder.SuppliersId,
Type = Enum.GetName(typeof(ReceiveOrderTypeEnum),receiveOrder.ReceiveOrderType),
@@ -155,12 +155,10 @@
{
return WebResponseContent.Instance.Error(erpRequest.Data);
}
+ //鏇存柊鏀惰揣鍗曚俊鎭�
receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt();
receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt();
- //鏇存柊鏀惰揣鍗曚俊鎭�
- _unitOfWorkManage.BeginTran();
BaseDal.UpdateData(receiveOrder);
- _unitOfWorkManage.CommitTran();
return WebResponseContent.Instance.OK();
}
catch (Exception ex)
@@ -217,21 +215,22 @@
{
return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈畬鎴�");
}
+ #region 娉ㄩ噴
+ //List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo);
+ //if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null)
+ //{
+ // return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚");
+ //}
- List<Dt_CheckOrder> checkOrders = _checkOrderRepository.QueryData(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo);
- if (checkOrders.FirstOrDefault(x => x.CheckOrderStatus == CheckOrderStatusEnum.NotCheck.ObjToInt()) != null)
- {
- return WebResponseContent.Instance.Error($"璇ユ敹璐у崟鏈川妫�瀹屾垚");
- }
-
- if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null)
- {
- return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�");
- }
+ //if (checkOrders.FirstOrDefault(x => x.AuditStatus != AuditStatusEnum.Agree.ObjToInt()) != null)
+ //{
+ // return WebResponseContent.Instance.Error($"璇ユ敹璐у崟璐ㄦ缁撴灉瀹℃壒鏈畬鎴�");
+ //}
+ #endregion
Dt_InboundOrder inboundOrder = new Dt_InboundOrder()
{
- InboundOrderNo="TestInboundNo1",//娴嬭瘯
+ InboundOrderNo="TestInboundNo21",//娴嬭瘯
UpperOrderNo = receiveOrder.ReceiveOrderNo,
CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
@@ -244,15 +243,17 @@
foreach (var item in receiveOrder.Details)
{
float quantity = item.ReceivedQuantity;
- if (item.IfInspection == WhetherEnum.True.ObjToInt())
- {
- Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo);
- if (checkOrder == null)
- {
- return WebResponseContent.Instance.Error($"璐ㄦ鍗曟暟鎹敊璇�");
- }
- quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault();
- }
+ #region 娉ㄩ噴
+ //if (item.IfInspection == WhetherEnum.True.ObjToInt())
+ //{
+ // Dt_CheckOrder? checkOrder = checkOrders.FirstOrDefault(x => x.ReceiveOrderNo == receiveOrder.ReceiveOrderNo && x.ReceiveDetailRowNo == item.RowNo);
+ // if (checkOrder == null)
+ // {
+ // return WebResponseContent.Instance.Error($"璐ㄦ鍗曟暟鎹敊璇�");
+ // }
+ // quantity = checkOrder.QualifiedQuantity.GetValueOrDefault() + checkOrder.DefectedQuantity.GetValueOrDefault();
+ //}
+ #endregion
Dt_InboundOrderDetail detail = new Dt_InboundOrderDetail()
{
MaterielCode = item.MaterielCode,
@@ -286,7 +287,7 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌閲囪喘鍗�");
}
- if (purchaseOrder.Details == null || purchaseOrder.Details.Count == 0)
+ if (purchaseOrder.Details.Count == 0)
{
return WebResponseContent.Instance.Error($"鏈壘鍒伴噰璐崟鏄庣粏淇℃伅");
}
@@ -333,24 +334,25 @@
};
rowNo += 1;
receiveOrderDetails.Add(receiveOrderDetail);
-
- if (materielInfo.IsCheck == WhetherEnum.True)
- {
- Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
- checkOrder.CheckOrderNo = "TestCheckNo11";//娴嬭瘯
- checkOrder.ReceiveOrderNo = "";
- checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
- checkOrder.ScrappedQuantity = 0;
- checkOrder.ReturnQuantity = 0;
- checkOrder.DefectedQuantity = 0;
- checkOrder.ReceiveDetailRowNo = rowNo;
- checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
- checkOrders.Add(checkOrder);
- }
+ #region 娉ㄩ噴
+ //if (materielInfo.IsCheck == WhetherEnum.True)
+ //{
+ // Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail);
+ // checkOrder.CheckOrderNo = "TestCheckNo21";//娴嬭瘯
+ // checkOrder.ReceiveOrderNo = "";
+ // checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity;
+ // checkOrder.ScrappedQuantity = 0;
+ // checkOrder.ReturnQuantity = 0;
+ // checkOrder.DefectedQuantity = 0;
+ // checkOrder.ReceiveDetailRowNo = rowNo;
+ // checkOrder.UploadStatus = CheckUploadEnum.UploadNo.ObjToInt();
+ // checkOrders.Add(checkOrder);
+ //}
+ #endregion
}
receiveOrder = new Dt_ReceiveOrder()
{
- ReceiveOrderNo= "TestReceiveOrderNo11",//娴嬭瘯
+ ReceiveOrderNo= "TestReceiveOrderNo21",//娴嬭瘯
ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(),
CustomerId = "",
DeliveryCode = "/",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs"
index 729c762..cb46215 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs"
@@ -58,13 +58,24 @@
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡", IsOnlyIgnoreUpdate = true)]
public int CreateType { get; set; }
-
+ /// <summary>
+ /// 閮ㄩ棬缂栧彿
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "閮ㄩ棬缂栧彿")]
+ public string DepartmentCode { get; set; }
+ /// <summary>
+ /// 閮ㄩ棬鍚嶇О
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "閮ㄩ棬鍚嶇О")]
+ public string DepartmentName { get; set; }
/// <summary>
/// 澶囨敞
/// </summary>
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+
+
/// <summary>
/// 鍑哄簱鍗曟槑缁�
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
index f1316e9..862466f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail.cs"
@@ -47,7 +47,7 @@
/// <summary>
/// 鎵规鍙�
/// </summary>
- [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "鎵规鍙�")]
+ [SugarColumn(IsNullable = true, Length = 100, ColumnDescription = "鎵规鍙�")]
public string BatchNo { get; set; }
/// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index a65c399..026f877 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -99,30 +99,7 @@
OrderQuantity = model.Qty,
OrderId = oldOutboundOrder.Id
};
- List<Dt_StockInfo>? stockInfos = new List<Dt_StockInfo>();
- //ERP涓婁紶娴嬭瘯浠撻鏂欏崟鏇存柊瀵瑰簲搴撳瓨鐘舵��
- if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString())
- {
- WebResponseContent responseContent = TestOutStocksUpdate(warehouse, model);
- if (!responseContent.Status)
- {
- return responseContent;
- }
- stockInfos = responseContent.Data as List<Dt_StockInfo>;
- }
- _unitOfWorkManage.BeginTran();
- if (stockInfos.Count>0)
- {
- _stockInfoRepository.UpdateData(stockInfos);
- //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
- if (!TestOutBack(stockInfos, warehouse, model).Status)
- {
- _unitOfWorkManage.RollbackTran();
- return WebResponseContent.Instance.Error($"娴嬭瘯鏋跺嚭搴撲笂鎶ュけ璐�");
- }
- }
_outboundOrderDetailRepository.AddData(outboundOrderDetail);
- _unitOfWorkManage.CommitTran();
}
}
else
@@ -136,7 +113,6 @@
OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
OrderQuantity = model.Qty,
};
-
Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder()
{
OrderNo=model.OrderNo,
@@ -145,33 +121,11 @@
OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
WarehouseId = warehouse.WarehouseId,
+ DepartmentCode = model.DepartmentCode,
+ DepartmentName = model.DepartmentName,
Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }
};
- List<Dt_StockInfo>? stockInfos = new List<Dt_StockInfo>();
- //ERP涓婁紶娴嬭瘯浠撻鏂欏崟鏇存柊瀵瑰簲搴撳瓨鐘舵��
- if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString())
- {
- WebResponseContent responseContent = TestOutStocksUpdate(warehouse, model);
- if (!responseContent.Status)
- {
- return responseContent;
- }
- stockInfos = responseContent.Data as List<Dt_StockInfo>;
- }
- _unitOfWorkManage.BeginTran();
- if (stockInfos.Count > 0)
- {
- _stockInfoRepository.UpdateData(stockInfos);
- //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
- if (!TestOutBack(stockInfos, warehouse, model).Status)
- {
- _unitOfWorkManage.RollbackTran();
- return WebResponseContent.Instance.Error($"娴嬭瘯鏋跺嚭搴撲笂鎶ュけ璐�");
- }
- }
Db.InsertNav(outboundOrder).Include(x => x.Details).ExecuteCommand();
- _unitOfWorkManage.CommitTran();
-
}
}
else if (model.Way == 2)
@@ -217,7 +171,7 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
- //涓婃姤鍑哄簱瀹屾垚
+ //涓婃姤鍑哄簱瀹屾垚 娴嬭瘯鏋�
public WebResponseContent TestOutUpload(int id)
{
try
@@ -227,8 +181,8 @@
//娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
ERPPickItemModel eRPOutPick = new ERPPickItemModel()
{
- Lotno = "20241226001",
- Qty = "5",
+ Lotno = "20241227001",
+ Qty = "1",
Location = warehouse.WarehouseCode
};
ERPPickModel pickModel = new ERPPickModel()
@@ -247,11 +201,11 @@
ERPIssueModel issueModel = new ERPIssueModel()
{
UniqueTag = id.ToString(),
- Code = "FL20241226001",
+ Code = "FL20241227001",//娴嬭瘯
WarehouseCode = warehouse.WarehouseCode,
Docremark = "",
- Deptno = "F2HAECZSQZ",
- Deptname = "娣畨浜屽巶鍒朵笁鍖洪樆鐒�",
+ Deptno = outboundOrder.DepartmentCode,
+ Deptname = outboundOrder.DepartmentName,
Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
Createuser = "TC20082",
Issitem = new List<ERPIssueItemModel>() { issueItemModel },
@@ -272,7 +226,6 @@
{
return WebResponseContent.Instance.Error(ex.Message);
}
- return WebResponseContent.Instance.OK();
}
/// <summary>
/// 鏇存敼鍑哄簱鍗曞簱瀛樼姸鎬�
@@ -285,7 +238,7 @@
try
{
//鑾峰彇鍑哄簱鍗曞簱瀛�
- List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).OrderBy(x => x.CreateDate).Includes(x => x.Details).Where(x => x.Details.Any(x => x.MaterielCode == model.MCode)).Take((int)(model.Qty)).ToList();
+ List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).ToList();
if (model.Qty > stockInfos.Count)
{
return WebResponseContent.Instance.Error($"鐗╂枡:{model.MCode}搴撳瓨涓嶈冻");
@@ -303,53 +256,28 @@
}
}
///鎺ㄩ�佹祴璇曟灦鍑哄簱
- public WebResponseContent TestOutBack(List<Dt_StockInfo> stockInfos,Dt_Warehouse warehouse, ErpOutOrderDTO model)
- {
- try
- {
- //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚
- List<ERPOutPickDetail> pickDetails = stockInfos.Select(x => new ERPOutPickDetail()
- {
- Lotno = x.Details[0].BatchNo,
- Qty = x.Details[0].StockQuantity.ObjToInt()
- }).ToList();
- ERPOutPick outPick = new ERPOutPick()
- {
- Rowindex = model.RowNo,
- Material = model.MCode,
- Qty = model.Qty.ObjToInt(),
- Dataitem = pickDetails
- };
- ERPOutboundModel inboundModel = new ERPOutboundModel()
- {
- Way = 1,
- UniqueTag = model.OrderNo,
- Code = model.OrderNo,
- WarehouseCode = warehouse.WarehouseCode,
- Docremark = "",
- Deptno = model.DepartmentCode,
- DeptName = model.DepartmentName,
- Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- Createuser = "WMS",
- Picklist = new List<ERPOutPick>() { outPick },
- };
- string response = _invokeERPService.InvokeOutboundOrderApi(inboundModel);
- ErpRequestContent requestContent=response.DeserializeObject<ErpRequestContent>();
- if (requestContent.res==1)
- {
-
- return WebResponseContent.Instance.OK(requestContent.Data);
- }
- else
- {
- return WebResponseContent.Instance.Error(requestContent.Data);
- }
- }
- catch (Exception ex)
- {
- return WebResponseContent.Instance.Error(ex.Message);
- }
- }
+ //public WebResponseContent TestOutBack(int id,List<string> locationIds)
+ //{
+ // try
+ // {
+
+ // string response = _invokeERPService.InvokeOutStandardsApi(issueModel);
+ // ErpRequestContent requestContent = response.DeserializeObject<ErpRequestContent>();
+ // if (requestContent.res == 1)
+ // {
+
+ // return WebResponseContent.Instance.OK(requestContent.Data);
+ // }
+ // else
+ // {
+ // return WebResponseContent.Instance.Error(requestContent.Data);
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // return WebResponseContent.Instance.Error(ex.Message);
+ // }
+ //}
//public WebResponseContent FeedbackOutbondIssue(List<Dt_OutStockLockInfo> outStockLockInfos)
//{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index 3f466c9..a5e1ad6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -1,4 +1,6 @@
-锘縰sing SqlSugar.Extensions;
+锘�
+using Newtonsoft.Json.Serialization;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -14,6 +16,7 @@
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
+using WIDESEA_Core.Helper;
using WIDESEA_DTO;
using WIDESEA_DTO.ERP;
using WIDESEA_DTO.MES;
@@ -37,11 +40,11 @@
{
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==WarehouseEnum.HA64.ToString());
//鑾峰彇搴撳瓨璁板綍
- Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
+ List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
x.WarehouseId == warehouse.WarehouseId &&
- x.StockStatus==(int)StockStatusEmun.鍏ュ簱瀹屾垚)
- .Includes(x => x.Details).Where(x => x.Details.Any(x => x.BatchNo == model.ToolCode)).First();
- if (stockInfo==null)
+ x.StockStatus==(int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x=>x.Details).ToList();
+ Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x=>x.Details.Any(x=>x.BatchNo==model.ToolCode));
+ if (stockInfo == null)
{
return responseContent.Error($"娴嬭瘯鏋�:{model.ToolCode}鏃犲彲鐢ㄥ簱瀛�");
}
@@ -62,7 +65,7 @@
NextAddress = "",
Roadway = locationInfo.RoadwayNo,
SourceAddress = stockInfo.LocationCode,
- TargetAddress = "",
+ TargetAddress = model.TargetAddressCode,
TaskStatus = (int)TaskStatusEnum.New,
TaskType = (int)TaskTypeEnum.Outbound,
TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
@@ -86,7 +89,7 @@
//_recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfoDetails, beforeQuantity, totalQuantity, StockChangeTypeEnum.StockLock);
_unitOfWorkManage.CommitTran();
//灏嗕换鍔℃帹閫佸埌WCS
- PushTasksToWCS(new List<Dt_Task>() { taskOut },"AGV");
+ PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV");
responseContent.OK();
}
catch (Exception ex)
@@ -108,10 +111,10 @@
//鑾峰彇娴嬭瘯鏋跺師搴撳瓨淇℃伅
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
//鑾峰彇搴撳瓨璁板綍
- Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
+ List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
x.WarehouseId == warehouse.WarehouseId &&
- x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚)
- .Includes(x => x.Details).Where(x => x.Details.Any(x => x.BatchNo == backModel.TestToolCode)).First();
+ x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
+ Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == backModel.TestToolCode));
if (stockInfo==null)
{
return responseContent.Error($"{backModel.TestToolCode}搴撳瓨淇℃伅涓嶅瓨鍦�");
@@ -134,10 +137,9 @@
};
//鏇存敼搴撳瓨鐘舵��
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
- _unitOfWorkManage.BeginTran();
+ //灏嗕换鍔℃帹閫佸埌WCS
+ PushTasksToWCS(new List<Dt_Task>() { taskIn }, "AGV");
_stockRepository.StockInfoRepository.UpdateData(stockInfo);
- _unitOfWorkManage.CommitTran();
-
responseContent.OK();
}
catch (Exception ex)
@@ -159,17 +161,18 @@
//鑾峰彇娴嬭瘯鏋舵壒娆″彿搴撳瓨
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
//鑾峰彇搴撳瓨璁板綍
- Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
- x.WarehouseId == warehouse.WarehouseId && x.StockStatus==StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt())
- .Includes(x => x.Details).Where(x => x.Details.Any(x => x.BatchNo == toolScrap.ToolCode)).First();
+ //鑾峰彇搴撳瓨璁板綍
+ List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
+ x.WarehouseId == warehouse.WarehouseId &&
+ x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
+ Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == toolScrap.ToolCode));
+
if (stockInfo == null)
{
return responseContent.Error($"{toolScrap.ToolCode}搴撳瓨淇℃伅涓嶅瓨鍦�");
}
//娓呴櫎搴撳瓨淇℃伅
_unitOfWorkManage.BeginTran();
- _stockRepository.StockInfoRepository.DeleteData(stockInfo);
- _stockRepository.StockInfoDetailRepository.DeleteData(stockInfo.Details);
_stockRepository.StockInfoRepository.DeleteAndMoveIntoHty(stockInfo,OperateTypeEnum.鑷姩鍒犻櫎);
_stockRepository.StockInfoDetailRepository.DeleteAndMoveIntoHty(stockInfo.Details, OperateTypeEnum.鑷姩鍒犻櫎);
_unitOfWorkManage.CommitTran();
@@ -192,13 +195,28 @@
try
{
Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x=>x.ApiCode==APIEnum.WMS_MES_TestToolSync.ToString());
- Root<TestToolSynInfo> root = new Root<TestToolSynInfo>()
+ MESRoot<TestToolSynInfo> root = new MESRoot<TestToolSynInfo>()
{
From = "WMS",
- DateTime = DateTime.Now.ToString(),
+ DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
Content=toolSynInfo
};
+ JsonSerializerSettings settings = new JsonSerializerSettings
+ {
+ ContractResolver = new CamelCasePropertyNamesContractResolver()
+ };
+ string request = JsonConvert.SerializeObject(root, settings);
+ string response = HttpMesHelper.Post(apiInfo.ApiAddress, request);
+ MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
//璋冪敤鎺ュ彛
+ if (mesResponseContent.BSucc==true)
+ {
+ content.OK(mesResponseContent.StrMsg);
+ }
+ else
+ {
+ content.Error(mesResponseContent.StrMsg);
+ }
}
catch (Exception ex)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 447eda6..607c8f4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -25,6 +25,7 @@
using WIDESEA_Common.OrderEnum;
using WIDESEA_Common.StockEnum;
using WIDESEA_Common.TaskEnum;
+using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
@@ -36,6 +37,7 @@
using WIDESEA_External.ERPService;
using WIDESEA_IBasicRepository;
using WIDESEA_IBasicService;
+using WIDESEA_IInboundRepository;
using WIDESEA_IInboundService;
using WIDESEA_IOutboundRepository;
using WIDESEA_IOutboundService;
@@ -61,6 +63,7 @@
private readonly IBasicRepository _basicRepository;
private readonly IApiInfoRepository _apiInfoRepository;
private readonly IInvokeERPService _invokeERPService;
+ private readonly IInboundRepository _inboundRepository;
public ITaskRepository Repository => BaseDal;
@@ -74,7 +77,7 @@
public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList();
- public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IOutboundService outboundService, IStockService stockService, IBasicRepository basicRepository, IApiInfoRepository apiInfoRepository, IInvokeERPService invokeERPService) : base(BaseDal)
+ public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockRepository stockRepository, IBasicService basicService, IRecordService recordService, IOutboundService outboundService, IStockService stockService, IBasicRepository basicRepository, IApiInfoRepository apiInfoRepository, IInvokeERPService invokeERPService, IInboundRepository inboundRepository) : base(BaseDal)
{
_mapper = mapper;
_unitOfWorkManage = unitOfWorkManage;
@@ -86,6 +89,7 @@
_basicRepository = basicRepository;
_apiInfoRepository = apiInfoRepository;
_invokeERPService = invokeERPService;
+ _inboundRepository = inboundRepository;
}
/// <summary>
@@ -131,7 +135,7 @@
return WebResponseContent.Instance.Error($"浠诲姟绫诲瀷閿欒");
}
- Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == task.PalletCode).Includes(x => x.Details).First();
+ Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == task.PalletCode && x.WarehouseId==task.WarehouseId).Includes(x => x.Details).First();
if (stockInfo == null)
{
return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樺搴旂殑缁勭洏淇℃伅");
@@ -142,7 +146,7 @@
return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
}
- if (stockInfo.Details == null || stockInfo.Details.Count == 0)
+ if (stockInfo.Details.Count == 0)
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌鎵樼洏搴撳瓨鏄庣粏淇℃伅");
}
@@ -160,27 +164,32 @@
LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
-
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseId== task.WarehouseId);
//娴嬭瘯鏋跺叆搴撳簱瀛樼姸鎬�
- if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt())
+ if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() && warehouse.WarehouseCode==WarehouseEnum.HA64.ToString())
{
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚鏈缓鍑哄簱鍗�.ObjToInt();
- stockInfo.Details.ForEach(x =>
- {
- x.Status = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
- });
}
else
{
stockInfo.StockStatus = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
+
}
+ stockInfo.Details.ForEach(x =>
+ {
+ x.Status = StockStatusEmun.鍏ュ簱瀹屾垚.ObjToInt();
+ });
stockInfo.LocationCode = locationInfo.LocationCode;
+ //鎺ㄩ�佸叆搴撳畬鎴愮粰Erp
+ //鑾峰彇鍏ュ簱鍗曟洿鏂板叆搴撳崟
+ //Dt_InboundOrder inboundOrder = _inboundRepository.InboundOrderRepository.Db.Queryable<Dt_InboundOrder>().Where(x=>x.InboundOrderNo);
+ if (true)
+ {
+ }
_unitOfWorkManage.BeginTran();
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
-
_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, (PalletTypeEnum)stockInfo.PalletType, LocationStatusEnum.InStock, stockInfo.WarehouseId);
-
_stockRepository.StockInfoRepository.UpdateData(stockInfo);
_stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details);
_recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationChangeType.InboundCompleted);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
index 5af3526..6809ade 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
@@ -11,6 +11,7 @@
using WIDESEA_TaskInfoService;
using WIDESEA_DTO.ERP;
using WIDESEA_DTO.MES;
+using WIDESEA_Core.Helper;
namespace WIDESEA_WMSServer.Controllers.MES
{
@@ -64,5 +65,15 @@
{
return _taskService.TestScrap(model.Content);
}
+ [HttpPost, Route("TestSynStock"), AllowAnonymous]
+ public WebResponseContent TestSynStock([FromBody]TestToolSynInfo toolSynInfo)
+ {
+ return _taskService.TestSynStock(toolSynInfo);
+ }
+ [HttpPost, Route("testHttp"), AllowAnonymous, MethodParamsValidate]
+ public string TestScrap(string str)
+ {
+ return HttpMesHelper.GetStr(str);
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
index 9390217..0df0bd4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
@@ -12,7 +12,7 @@
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
//杩炴帴瀛楃涓�
//"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=WIDESEAWMS_HUAIAN;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//璺ㄥ煙
"Cors": {
"PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
--
Gitblit v1.9.3