From c9c91ad3e3ac218d81c86809c93a35622b51a686 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 17 9月 2025 16:05:05 +0800
Subject: [PATCH] 初步 增加 推送线程
---
DEmon/iWareDataCore/Test_ORM/Test_ORM.cs | 40 ++
DBScript/02_DML/01_InitData.sql | 0
DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs | 96 +++++
DEmon/iWareDataCore/ORM/DbModelCore.cs | 25 +
DEmon/iWareCc/Service1.cs | 34 +
DBScript/01_DDL/02_DDL_TABLE_Edit_WGQ.sql | 0
DBScript/01_DDL/04_DDL_INDEX_WGQ.sql | 0
DEmon/iWareCc/SystemInteraction/dto/ApiResponse.cs | 35 +
DEmon/iWareCc/SystemInteraction/HTTPService.cs | 493 +++++++++++++++++++++++++++
DEmon/iWareCc/iWareCc.csproj | 7
DBScript/01_DDL/01_DDL_TABLE_WGQ.sql | 43 ++
DEmon/iWareDataCore/iWareDataCore.csproj | 2
DBScript/01_DDL/03_DDL_VIEW_WGQ.sql | 0
DEmon/iWareCc/SystemInteraction/dto/MesRequest.cs | 39 ++
DEmon/iWareCc/SystemInteraction/dto/InboundStockInfoToMes.cs | 57 +++
DEmon/iWareDataCore/ORM/Wms_outInStockRecord_V2_Mes.cs | 61 +++
DEmon/iWareCc/SystemInteraction/PushMesHandler.cs | 112 ++++++
17 files changed, 1,024 insertions(+), 20 deletions(-)
diff --git a/DBScript/01_DDL/01_DDL_TABLE_WGQ.sql b/DBScript/01_DDL/01_DDL_TABLE_WGQ.sql
new file mode 100644
index 0000000..cd418ff
--- /dev/null
+++ b/DBScript/01_DDL/01_DDL_TABLE_WGQ.sql
@@ -0,0 +1,43 @@
+use WGQ_WB19011_CORE
+go
+
+/*==============================================================*/
+/* Table: Wms_outInStockRecord_V2_Mes */
+/* Description: 鍑哄叆搴撹褰�(涓烘帹閫丮ES) */
+/* Author:shaocx */
+/* CreateTime:2025-09-17 */
+/*==============================================================*/
+IF NOT EXISTS( SELECT 1 FROM SYSOBJECTS WHERE ID = OBJECT_ID('Wms_outInStockRecord_V2_Mes') AND TYPE = 'U')
+create table Wms_outInStockRecord_V2_Mes(
+ ID int IDENTITY(1,1) NOT NULL, -- 涓婚敭
+
+ OutInFlagName VARCHAR(10) ,--- 鍑哄叆搴撶被鍨� 1 鍏ュ簱 2 鍑哄簱
+
+ ListNo NVARCHAR(128) NULL , -- 鍑哄叆鍗曞彿
+ Code NVARCHAR(128) NULL , -- 鍨嬫潗鍞竴缂栫爜
+ Name NVARCHAR(128) NULL , -- 鐗╂枡鍚嶇О
+
+ SerialNo NVARCHAR(128) NULL , -- 鍒嗘鍙�
+ IssueProjectNo NVARCHAR(128) NULL , -- 鍙戞斁宸ョ▼鍙�
+
+ PlaceCode VARCHAR(100) NULL , -- 搴撲綅缂栫爜
+ OccurrenceTime datetime NULL , -- 鍙戠敓鏃堕棿
+
+
+ IsSendToMes int NULL , -- 鎺ㄩ�佺姸鎬�
+ IsSendToMesStr VARCHAR(100) NULL , -- 鎺ㄩ�佺姸鎬�
+ SendToMesCount int NULL , -- 鎺ㄧ粰MES娆℃暟
+ SendToMesTime datetime null, -- 鎺ㄧ粰MES鏃堕棿
+ MesRet NVARCHAR(128) NULL , -- MES杩斿洖缁撴灉
+
+
+ Remark NVARCHAR(128) NULL , -- 澶囨敞
+ Creator varchar(128) null,-- 鍒涘缓浜�
+ CreateTime datetime null, -- 鍒涘缓鏃堕棿
+ LastModifier varchar(128) null,-- 淇敼浜�
+ LastModifyTime datetime null -- 淇敼鏃堕棿
+
+ constraint PK_Wms_outInStockRecord_V2_Mes primary key (ID)
+)
+GO
+
diff --git a/DBScript/01_DDL/02_DDL_TABLE_Edit_WGQ.sql b/DBScript/01_DDL/02_DDL_TABLE_Edit_WGQ.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/02_DDL_TABLE_Edit_WGQ.sql
diff --git a/DBScript/01_DDL/03_DDL_VIEW_WGQ.sql b/DBScript/01_DDL/03_DDL_VIEW_WGQ.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/03_DDL_VIEW_WGQ.sql
diff --git a/DBScript/01_DDL/04_DDL_INDEX_WGQ.sql b/DBScript/01_DDL/04_DDL_INDEX_WGQ.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/04_DDL_INDEX_WGQ.sql
diff --git a/DBScript/02_DML/01_InitData.sql b/DBScript/02_DML/01_InitData.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/02_DML/01_InitData.sql
diff --git a/DEmon/iWareCc/Service1.cs b/DEmon/iWareCc/Service1.cs
index 819f893..c8a4b4c 100644
--- a/DEmon/iWareCc/Service1.cs
+++ b/DEmon/iWareCc/Service1.cs
@@ -413,6 +413,8 @@
//ReSendThread.Name = "鍚慦IP閲嶆柊鎺ㄩ�佹姤鏂�";
//StartThread(ReSendThread);
+ //寮�鍚帹閫佺粰MES鐨勫嚭鍏ュ簱瀹屾垚绾跨▼ 銆怑ditby shaocx,2025-09-17銆�
+ new Thread(mesDataTranfficForRealMes.Handler).Start();
}
@@ -445,7 +447,7 @@
//缁撴潫鐢熸垚鍏ュ簱涓讳换鍔$殑绾跨▼
CloseThread(CreatMainTaskInThread);
- //缁撴潫鐢熸垚鍑哄簱涓讳换鍔$殑绾跨▼
+ //缁撴潫鐢熸垚鍑哄簱涓讳换鍔$殑绾跨▼
CloseThread(CreatMainTaskOutThread);
//鍏抽棴鍒嗚В浠诲姟鐨勭嚎绋�
@@ -516,8 +518,8 @@
var s = (StackerEntity)stacker;
//LogTextHelper.WriteLine(Resources.LogDir, "鑾峰彇鍫嗗灈鏈簕0}鐘舵�佺嚎绋嬪凡寮�鍚�", s.Equipment.EquipName);
- var items = new string[]
- {
+ var items = new string[]
+ {
s.OpcReadItems.SrmNo,// 1Srm缂栧彿
s.OpcReadItems.Mode,// 2浠诲姟鍙�
s.OpcReadItems.Alarm,// 3鍛婅
@@ -857,7 +859,7 @@
{
gateService.HandleMsgSCReceive(gateService.ReadFromDatagramPoolSCReceive());
}
- else
+ else
{
gateService.HandleMsgReceive(gateService.ReadFromDatagramPoolReceive());
gateService.HandleMsgAlarmReceive(gateService.ReadFromDatagramPoolAlarmReceive());
@@ -928,20 +930,20 @@
/// </summary>
private void CreateMainInTask()
{
- var c = (ConveyorEntity)CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor1");
- var mainTaskContainer = new MainTaskContainer();
- var 鐢熸垚鍏ュ簱涓讳换鍔� = new 鏍规嵁鎵爜鐢熸垚鍏ュ簱涓讳换鍔�(c, mainTaskContainer);
- var 淇濆瓨鐢熸垚鐨勪换鍔� = new 淇濆瓨鐢熸垚鐨勫叆搴撲换鍔�(c, mainTaskContainer);
- 鐢熸垚鍏ュ簱涓讳换鍔�.NextHandler = 淇濆瓨鐢熸垚鐨勪换鍔�;
+ var c = (ConveyorEntity)CacheEntity.Conveyors.Find(x => x.Equipment.EquipName == "conveyor1");
+ var mainTaskContainer = new MainTaskContainer();
+ var 鐢熸垚鍏ュ簱涓讳换鍔� = new 鏍规嵁鎵爜鐢熸垚鍏ュ簱涓讳换鍔�(c, mainTaskContainer);
+ var 淇濆瓨鐢熸垚鐨勪换鍔� = new 淇濆瓨鐢熸垚鐨勫叆搴撲换鍔�(c, mainTaskContainer);
+ 鐢熸垚鍏ュ簱涓讳换鍔�.NextHandler = 淇濆瓨鐢熸垚鐨勪换鍔�;
- while (true)
+ while (true)
+ {
+ if (CacheEntity.IsAutoRun)
{
- if (CacheEntity.IsAutoRun)
- {
- 鐢熸垚鍏ュ簱涓讳换鍔�.Handle();
- }
- Thread.Sleep(1000);
+ 鐢熸垚鍏ュ簱涓讳换鍔�.Handle();
}
+ Thread.Sleep(1000);
+ }
}
/// <summary>
/// 鐢熸垚鍑哄簱涓讳换鍔�
@@ -1287,7 +1289,7 @@
{
try
{
- // string stackerName = Enum.GetName(typeof(EEquipmentCnName), EEquipmentCnName.stacker1);
+ // string stackerName = Enum.GetName(typeof(EEquipmentCnName), EEquipmentCnName.stacker1);
var reports = dbModel.COUNTStackerReports.Where(x => x.isfinished == (int)EYesOrNo.鍚�).ToList();
var stacker = CacheEntity.Stackers.FirstOrDefault(x => x.Equipment.EquipName == "stacker1");
var unfinishedReport = reports.FirstOrDefault(x => x.name == stacker.Equipment.EquipName);
diff --git a/DEmon/iWareCc/SystemInteraction/HTTPService.cs b/DEmon/iWareCc/SystemInteraction/HTTPService.cs
new file mode 100644
index 0000000..b982817
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/HTTPService.cs
@@ -0,0 +1,493 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Http;
+using System.Text;
+
+namespace iWareCc
+{
+ public class HTTPService
+ {
+ private string BaseURI = "";
+ public HTTPService(string baseURI)
+ {
+ this.BaseURI = baseURI;
+ }
+
+ #region GET璋冪敤webapi鍏叡鏂规硶
+
+ /// <summary>
+ /// 閫氳繃GET鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <typeparam name="T">鍏ュ弬绫诲瀷</typeparam>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public T getContent<T>(string url, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ using (HttpResponseMessage response = client.GetAsync(url).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var str_result = response.Content.ReadAsStringAsync().Result;
+ T result = JsonConvert.DeserializeObject<T>(str_result);
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃GET鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string getContentForString(string url, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ using (HttpResponseMessage response = client.GetAsync(url).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父,response:" + JsonConvert.SerializeObject(response));
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "},response:" + JsonConvert.SerializeObject(response));
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+ #endregion
+
+ #region POST璋冪敤webapi鍏叡鏂规硶
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <typeparam name="T">鍏ュ弬绫诲瀷</typeparam>
+ /// <typeparam name="T2">鍑哄弬绫诲瀷</typeparam>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public T2 postContent<T, T2>(string url, T parameter, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.DefaultRequestHeaders.Add("Authorization", "123456");
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ string str = JsonConvert.SerializeObject(parameter);
+ var httpContent = new StringContent(str, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var str_result = response.Content.ReadAsStringAsync().Result;
+ T2 result = JsonConvert.DeserializeObject<T2>(str_result);
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string postContentForString(string url, IDictionary<string, string> parameter, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ string str = JsonConvert.SerializeObject(parameter);
+ var httpContent = new StringContent(str, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ return response.StatusCode.ToString();
+ // throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ return response.StatusCode.ToString();
+ // throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬瀛楃涓�</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string postContentForString(string url, string parameter, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+ var ee = new { name = parameter };
+ if (parameter=="")
+ {
+ parameter = ee.ToString();
+ }
+
+ var httpContent = new StringContent(parameter, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ return response.StatusCode.ToString();
+ // throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ return response.StatusCode.ToString();
+ // throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟(AGV涓撶敤)
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬瀛楃涓�</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string postContentForStringForAgv(string url, string parameter, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+ var ee = new { name = parameter };
+ if (parameter == "")
+ {
+ parameter = ee.ToString();
+ }
+
+ var httpContent = new StringContent(parameter, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ }
+ catch (Exception ex)
+ {
+ throw;
+ }
+ }
+
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬瀛楃涓�</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string postContentForStringWithToken(string url, string parameter,
+ Guid requestId, string token, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.DefaultRequestHeaders.Add("Authorization", token.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ var httpContent = new StringContent(parameter, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PostAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ #endregion
+
+ #region PUT璋冪敤webapi鍏叡鏂规硶
+
+ /// <summary>
+ /// 閫氳繃PUT鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <typeparam name="T">鍏ュ弬绫诲瀷</typeparam>
+ /// <typeparam name="T2">鍑哄弬绫诲瀷</typeparam>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public T2 putContent<T, T2>(string url, T parameter, Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ string str = JsonConvert.SerializeObject(parameter);
+ var httpContent = new StringContent(str, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var str_result = response.Content.ReadAsStringAsync().Result;
+ T2 result = JsonConvert.DeserializeObject<T2>(str_result);
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃PUT鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string putContentForString(string url, IDictionary<string, string> parameter,
+ Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ string str = JsonConvert.SerializeObject(parameter);
+ var httpContent = new StringContent(str, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// 閫氳繃POST鏂规硶璋冪敤HTTP鏈嶅姟
+ /// </summary>
+ /// <param name="url">鏈嶅姟鍦板潃</param>
+ /// <param name="parameter">鍏ュ弬瀛楃涓�</param>
+ /// <param name="requestId">鍙戣捣璇锋眰鐨勮涓烘爣璇�</param>
+ /// <param name="timeout">瓒呮椂鏃堕棿锛屽崟浣嶏細绉掞紝榛樿涓�30绉�</param>
+ /// <returns></returns>
+ public string putContentForString(string url, string parameter,
+ Guid requestId, int timeout = 30)
+ {
+ try
+ {
+ var client = new HttpClient();
+
+ client.BaseAddress = new Uri(this.BaseURI);
+ client.DefaultRequestHeaders.Accept.Clear();
+ client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
+ client.DefaultRequestHeaders.Add("RequestId", requestId.ToString());
+ client.Timeout = new TimeSpan(0, 0, timeout);
+
+ var httpContent = new StringContent(parameter, Encoding.UTF8);
+ httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json") { CharSet = "utf-8" };
+ using (HttpResponseMessage response = client.PutAsync(url, httpContent).Result)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ var result = response.Content.ReadAsStringAsync().Result;
+ return result;
+ }
+ else if (response.StatusCode == HttpStatusCode.InternalServerError)
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父");
+ }
+ else
+ {
+ throw new Exception("{" + this.BaseURI + "}琚皟鐢ㄧ殑HTTP鏈嶅姟鎺ュ彛{" + url + "}鍐呴儴鍙戠敓寮傚父{" + response.StatusCode + "}");
+ }
+ }
+ }
+ catch
+ {
+ throw;
+ }
+ }
+ #endregion
+ }
+}
diff --git a/DEmon/iWareCc/SystemInteraction/PushMesHandler.cs b/DEmon/iWareCc/SystemInteraction/PushMesHandler.cs
new file mode 100644
index 0000000..59a9d63
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/PushMesHandler.cs
@@ -0,0 +1,112 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace iWareCc
+{
+ /// <summary>
+ /// MES鎺ㄩ�佹帴鍙�
+ /// </summary>
+ public class PushMesHandler
+ {
+ public static string mes_api_url = "";// ConfigHelper.GetConfigString("MesUrl");//淇敼涓洪厤缃枃浠� 銆怑ditBy shaocx,2022-01-27銆�
+ static HTTPService mes_api = new HTTPService(mes_api_url);//mes鍩哄湴鍧�
+
+ /// <summary>
+ /// 缁橫ES鎺ㄩ�佸叆搴撲俊鎭�
+ /// </summary>
+ /// <param name="pushData"></param>
+ /// <returns></returns>
+ public static ApiResponse<string> Mes_InStockSend(List<InboundStockInfoToMes> pushData)
+ {
+ ApiResponse<string> res = null;
+ var funName = "Mes_InStockSend";
+ try
+ {
+ MesRequest<List<InboundStockInfoToMes>> mesRequest = new MesRequest<List<InboundStockInfoToMes>>();
+ mesRequest.Datas = pushData;
+ mesRequest.TableName = "T_WMS_Inbound_Record";
+ mesRequest.PrimaryKeys = "identifier";
+
+ string paprm = JsonConvert.SerializeObject(mesRequest);
+ //Log4NetHelper.WriteInfoLog(_logType, $"{funName},鍑嗗鍙傛暟:{paprm}");
+ Guid guid = System.Guid.NewGuid();
+
+ //妯℃嫙
+ if (1 == 2)
+ {//妯℃嫙鐜
+ res = new ApiResponse<string>();
+ res.Code = 500;
+ res.Success = false;
+ res.Message = "绯荤粺妯℃嫙瀹屾垚";
+ }
+ else
+ {
+ var resStr = mes_api.postContentForString("", paprm, guid);
+ //Log4NetHelper.WriteInfoLog(_logType, $"{funName},缁撴灉杩斿洖:{resStr}");
+ res = JsonConvert.DeserializeObject<ApiResponse<string>>(resStr);
+ }
+
+ //Log4NetHelper.WriteInfoLog(_logType, $"{funName},鍙傛暟:{paprm},杩斿洖:{JsonConvert.SerializeObject(res)}");
+ }
+ catch (Exception ex)
+ {
+ //Log4NetHelper.WriteErrorLog(_logType, $"{funName},寮傚父:" + ex.Message, ex);
+ res.Code = 500;
+ res.Success = false;
+ res.Message = "wms鍙戦�佸紓甯�:" + ex.Message;
+ }
+ return res;
+
+ }
+
+
+ ///// <summary>
+ ///// 缁橫ES鎺ㄩ�佸嚭搴撲俊鎭�
+ ///// </summary>
+ ///// <param name="pushData"></param>
+ ///// <returns></returns>
+ //public static ApiResponse Mes_OutStockSend(List<InboundStockInfoToMes> pushData, LogType _logType)
+ //{
+ // ApiResponse<string> res = null;
+ // var funName = "Mes_OutStockSend";
+ // try
+ // {
+ // MesRequest<List<InboundStockInfoToMes>> mesRequest = new MesRequest<List<InboundStockInfoToMes>>();
+ // mesRequest.Datas = pushData;
+ // mesRequest.TableName = "T_WMS_Outbound_Record";
+ // mesRequest.PrimaryKeys = "identifier";
+
+ // string paprm = JsonConvert.SerializeObject(mesRequest);
+ // //Log4NetHelper.WriteInfoLog(_logType, $"{funName},鍑嗗鍙傛暟:{paprm}");
+ // Guid guid = System.Guid.NewGuid();
+ // //妯℃嫙
+ // if (Form1.isvirtual)
+ // {//妯℃嫙鐜
+ // res = new ApiResponse<string>();
+ // res.ErrorCode = 0;
+ // res.ErrorMsg = "绯荤粺妯℃嫙瀹屾垚";
+ // }
+ // else
+ // {
+ // var resStr = mes_api.postContentForString("", paprm, guid);
+ // //Log4NetHelper.WriteInfoLog(_logType, $"{funName},缁撴灉杩斿洖:{resStr}");
+ // res = JsonConvert.DeserializeObject<ApiResponse<string>>(resStr);
+ // }
+
+ // //Log4NetHelper.WriteInfoLog(_logType, $"{funName},鍙傛暟:{paprm},杩斿洖:{JsonConvert.SerializeObject(res)}");
+ // }
+ // catch (Exception ex)
+ // {
+ // //Log4NetHelper.WriteErrorLog(_logType, $"{funName},寮傚父:" + ex.Message, ex);
+ // res.ErrorCode = 4;
+ // res.ErrorMsg = "wms鍙戦�佸紓甯�:" + ex.Message;
+ // }
+ // return res;
+
+ //}
+
+
+ }
+}
diff --git a/DEmon/iWareCc/SystemInteraction/dto/ApiResponse.cs b/DEmon/iWareCc/SystemInteraction/dto/ApiResponse.cs
new file mode 100644
index 0000000..ab8224e
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/dto/ApiResponse.cs
@@ -0,0 +1,35 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareCc
+{
+ /// <summary>
+ /// 閫氱敤娉涘瀷鎺ュ彛鍝嶅簲妯″瀷
+ /// </summary>
+ /// <typeparam name="T">Data 瀛楁鐨勭被鍨嬶紝鍙互鏄换鎰忕被鍨嬶紝濡� string銆乮nt銆佽嚜瀹氫箟绫荤瓑</typeparam>
+ public class ApiResponse<T>
+ {
+ /// <summary>
+ /// 鐘舵�佺爜锛屼緥濡� 200 琛ㄧず鎴愬姛
+ /// </summary>
+ public int Code { get; set; }
+
+ /// <summary>
+ /// 鏄惁鎴愬姛锛宼rue 琛ㄧず鎴愬姛锛宖alse 琛ㄧず澶辫触
+ /// </summary>
+ public bool Success { get; set; }
+
+ /// <summary>
+ /// 杩斿洖娑堟伅锛屼緥濡傦細"鎴愬姛" 鎴栭敊璇俊鎭�
+ /// </summary>
+ public string Message { get; set; }
+
+ /// <summary>
+ /// 杩斿洖鐨勬暟鎹唴瀹癸紝绫诲瀷涓烘硾鍨� T
+ /// </summary>
+ public T Data { get; set; }
+ }
+}
diff --git a/DEmon/iWareCc/SystemInteraction/dto/InboundStockInfoToMes.cs b/DEmon/iWareCc/SystemInteraction/dto/InboundStockInfoToMes.cs
new file mode 100644
index 0000000..8c99bcf
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/dto/InboundStockInfoToMes.cs
@@ -0,0 +1,57 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareCc
+{
+ /// <summary>
+ /// 鎺ㄩ�佸叆搴撴帴鍙� - 璇锋眰鍙傛暟涓殑鍗曚釜鍏ュ簱璁板綍椤�
+ /// </summary>
+ public class InboundStockInfoToMes
+ {
+
+ /// <summary>
+ /// 鍑哄叆搴撴爣璁�
+ /// </summary>
+ public string BusinessFlag { get; set; }
+
+ /// <summary>
+ /// 鍒嗘鍙�
+ /// </summary>
+ public string SerialNo { get; set; }
+
+ /// <summary>
+ /// 鑸瑰彿/鍙戞斁宸ョ▼鍙�
+ /// </summary>
+ public string IssueProjectNo { get; set; }
+
+ /// <summary>
+ /// 搴撲綅鍙�
+ /// </summary>
+ public string PlaceCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string Code { get; set; }
+
+
+ /// <summary>
+ /// 鍙戠敓鏃堕棿
+ /// </summary>
+ public string OccurrenceTime { get; set; }
+
+
+
+ /// <summary>
+ /// 鏃堕棿鎴�(鍙傛暟鑷姩鍒濆鍖�)
+ /// </summary>
+ public string Timestamp { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
+
+
+
+ }
+}
diff --git a/DEmon/iWareCc/SystemInteraction/dto/MesRequest.cs b/DEmon/iWareCc/SystemInteraction/dto/MesRequest.cs
new file mode 100644
index 0000000..50e025b
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/dto/MesRequest.cs
@@ -0,0 +1,39 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareCc
+{
+ /// <summary>
+ /// 鎺ㄩ�佷俊鎭�
+ /// </summary>
+ public class MesRequest<T>
+ {
+ /// <summary>
+ /// 鏁版嵁
+ /// </summary>
+ public T Datas { get; set; }
+
+ /// <summary>
+ /// 绯荤粺绫诲瀷
+ /// </summary>
+ public string SystemType { get; set; } = "ERP";
+ /// <summary>
+ /// Secret
+ /// </summary>
+ public string Secret { get; set; } = "HJY^*HGYIIY";
+
+
+ /// <summary>
+ /// 琛ㄥ悕
+ /// </summary>
+ public string TableName { get; set; }
+
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ public string PrimaryKeys { get; set; }
+ }
+}
diff --git a/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs
new file mode 100644
index 0000000..5435a1b
--- /dev/null
+++ b/DEmon/iWareCc/SystemInteraction/mesDataTranfficForRealMes.cs
@@ -0,0 +1,96 @@
+锘縰sing iWareDataCore.ORM;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+
+namespace iWareCc
+{
+ /// <summary>
+ /// MES鍑哄叆搴撴暟鎹紶杈�(鐪熸鐨凪ES)
+ /// </summary>
+ public class mesDataTranfficForRealMes
+ {
+ //public static LogType _logType = LogType.mesDataTranfficForRealMes;
+ public static async void Handler()
+ {
+ while (true)
+ {
+ try
+ {
+ Thread.Sleep(5000);
+
+ using (DbModelCore mod = new DbModelCore())
+ {
+ List<Wms_outInStockRecord_V2_Mes> sendMesData = mod.Wms_outInStockRecord_V2_Mes.Where(x => x.IsSendToMes == 0).OrderBy(x => x.ID).ToList();
+
+ if (sendMesData.Count > 0)
+ {
+ //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},瑕佹帹閫亄sendMesData.Count()}鏉�!";
+ foreach (var itemTask in sendMesData)
+ {
+ try
+ {
+ ApiResponse<string> ret = null;
+
+ //鑾峰彇淇℃伅鏄庣粏
+ List<InboundStockInfoToMes> pushData = new List<InboundStockInfoToMes>();
+ pushData.Add(new InboundStockInfoToMes()
+ {
+ BusinessFlag = itemTask.OutInFlagName,
+
+ OccurrenceTime鈥� = itemTask.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss"),
+ Code = itemTask.Code,
+ PlaceCode = itemTask.PlaceCode,
+ SerialNo = itemTask.SerialNo,
+ IssueProjectNo = itemTask.IssueProjectNo,
+
+
+ });
+
+
+ //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},宸叉帹閫佺粨鏉燂紝杩斿洖:{JsonConvert.SerializeObject(ret)}";
+ if (ret.Success)
+ {
+ itemTask.IsSendToMes = 1;//鎺ㄩ�佹垚鍔�
+ itemTask.IsSendToMesStr = "鎴愬姛";
+ }
+ else
+ {
+ itemTask.IsSendToMes = 0;//鎺ㄩ�佸け璐�
+ itemTask.IsSendToMesStr = "澶辫触";
+ }
+ itemTask.SendToMesTime = DateTime.Now;
+ itemTask.MesRet = ret.Message;
+ itemTask.SendToMesCount = (itemTask.SendToMesCount ?? 0) + 1;
+ if (itemTask.IsSendToMes == 0 && itemTask.SendToMesCount > 100)
+ {
+ itemTask.IsSendToMes = 3;//琛ㄧず寮哄埗鎺ㄩ�佹垚鍔�
+ itemTask.IsSendToMesStr = "寮哄埗鎴愬姛";
+ }
+ mod.SaveChanges();
+
+ }
+ catch (Exception ex)
+ {
+ //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鎺ㄩ�佺粰MES鏁版嵁寮傚父:" + JsonConvert.SerializeObject(ex);
+ //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex);
+ }
+ }
+ }
+ else
+ {
+ //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},娌℃湁鏁版嵁瑕佹帹閫佺粰MES!";
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ //SystemWarningMsg.msg_mesDataTranfficForRealMes = $"{MyExtend.MsgTimeStr()},鏁版嵁瑕佹帹閫佺粰MES鍑虹幇寮傚父:" + ex.Message;
+ //Log4NetHelper.WriteErrorLog(_logType, //SystemWarningMsg.msg_mesDataTranfficForRealMes, ex);
+ }
+ }
+ }
+ }
+}
diff --git a/DEmon/iWareCc/iWareCc.csproj b/DEmon/iWareCc/iWareCc.csproj
index 0c2d13b..62393d7 100644
--- a/DEmon/iWareCc/iWareCc.csproj
+++ b/DEmon/iWareCc/iWareCc.csproj
@@ -94,6 +94,7 @@
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Management" />
+ <Reference Include="System.Net.Http" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Xml.Linq" />
@@ -195,6 +196,12 @@
<Compile Include="Srm\EnumType\ESrmAlarm1.cs" />
<Compile Include="Srm\Strategy\鎺ㄩ�佸爢鍨涙満鍛婅鐘舵��.cs" />
<Compile Include="Srm\Strategy\鎺ㄩ�佸爢鍨涙満鐘舵��.cs" />
+ <Compile Include="SystemInteraction\dto\ApiResponse.cs" />
+ <Compile Include="SystemInteraction\dto\InboundStockInfoToMes.cs" />
+ <Compile Include="SystemInteraction\dto\MesRequest.cs" />
+ <Compile Include="SystemInteraction\HTTPService.cs" />
+ <Compile Include="SystemInteraction\mesDataTranfficForRealMes.cs" />
+ <Compile Include="SystemInteraction\PushMesHandler.cs" />
<Compile Include="Task\Service\TaskService.cs" />
<Compile Include="Util\OPCHelper.cs" />
<Compile Include="Util\SocketClient.cs" />
diff --git a/DEmon/iWareDataCore/ORM/DbModelCore.cs b/DEmon/iWareDataCore/ORM/DbModelCore.cs
index e5523ab..fae6e7b 100644
--- a/DEmon/iWareDataCore/ORM/DbModelCore.cs
+++ b/DEmon/iWareDataCore/ORM/DbModelCore.cs
@@ -1,9 +1,6 @@
namespace iWareDataCore.ORM
{
- using System;
using System.Data.Entity;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Linq;
public partial class DbModelCore : DbContext
{
@@ -53,10 +50,30 @@
public virtual DbSet<WebOrderDetailView> WebOrderDetailView { get; set; }
public virtual DbSet<MaterialPlaceView> MaterialPlaceView { get; set; }
public virtual DbSet<BASEMaterialClass> BASEMaterialClass { get; set; }
-
+ public virtual DbSet<Wms_outInStockRecord_V2_Mes> Wms_outInStockRecord_V2_Mes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
+ modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+ .Property(e => e.OutInFlagName)
+ .IsUnicode(false);
+
+ modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+ .Property(e => e.PlaceCode)
+ .IsUnicode(false);
+
+ modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+ .Property(e => e.IsSendToMesStr)
+ .IsUnicode(false);
+
+ modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+ .Property(e => e.Creator)
+ .IsUnicode(false);
+
+ modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+ .Property(e => e.LastModifier)
+ .IsUnicode(false);
+
modelBuilder.Entity<BASEInOutList>()
.HasMany(e => e.BASEInOutListDetails)
.WithRequired(e => e.BASEInOutList)
diff --git a/DEmon/iWareDataCore/ORM/Wms_outInStockRecord_V2_Mes.cs b/DEmon/iWareDataCore/ORM/Wms_outInStockRecord_V2_Mes.cs
new file mode 100644
index 0000000..b7061bc
--- /dev/null
+++ b/DEmon/iWareDataCore/ORM/Wms_outInStockRecord_V2_Mes.cs
@@ -0,0 +1,61 @@
+namespace iWareDataCore.ORM
+{
+ using System;
+ using System.Collections.Generic;
+ using System.ComponentModel.DataAnnotations;
+ using System.ComponentModel.DataAnnotations.Schema;
+ using System.Data.Entity.Spatial;
+
+ public partial class Wms_outInStockRecord_V2_Mes
+ {
+ public int ID { get; set; }
+
+ [StringLength(10)]
+ public string OutInFlagName { get; set; }
+
+ [StringLength(128)]
+ public string ListNo { get; set; }
+
+ [StringLength(128)]
+ public string Code { get; set; }
+
+ [StringLength(128)]
+ public string Name { get; set; }
+
+ [StringLength(128)]
+ public string SerialNo { get; set; }
+
+ [StringLength(128)]
+ public string IssueProjectNo { get; set; }
+
+ [StringLength(100)]
+ public string PlaceCode { get; set; }
+
+ public DateTime? OccurrenceTime { get; set; }
+
+ public int? IsSendToMes { get; set; }
+
+ [StringLength(100)]
+ public string IsSendToMesStr { get; set; }
+
+ public int? SendToMesCount { get; set; }
+
+ public DateTime? SendToMesTime { get; set; }
+
+ [StringLength(128)]
+ public string MesRet { get; set; }
+
+ [StringLength(128)]
+ public string Remark { get; set; }
+
+ [StringLength(128)]
+ public string Creator { get; set; }
+
+ public DateTime? CreateTime { get; set; }
+
+ [StringLength(128)]
+ public string LastModifier { get; set; }
+
+ public DateTime? LastModifyTime { get; set; }
+ }
+}
diff --git a/DEmon/iWareDataCore/Test_ORM/Test_ORM.cs b/DEmon/iWareDataCore/Test_ORM/Test_ORM.cs
new file mode 100644
index 0000000..01e1c12
--- /dev/null
+++ b/DEmon/iWareDataCore/Test_ORM/Test_ORM.cs
@@ -0,0 +1,40 @@
+//using System;
+//using System.ComponentModel.DataAnnotations.Schema;
+//using System.Data.Entity;
+//using System.Linq;
+
+//namespace iWareDataCore.Test_ORM
+//{
+// public partial class Test_ORM : DbContext
+// {
+// public Test_ORM()
+// : base("name=Test_ORM")
+// {
+// }
+
+// public virtual DbSet<Wms_outInStockRecord_V2_Mes> Wms_outInStockRecord_V2_Mes { get; set; }
+
+// protected override void OnModelCreating(DbModelBuilder modelBuilder)
+// {
+// modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+// .Property(e => e.OutInFlagName)
+// .IsUnicode(false);
+
+// modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+// .Property(e => e.PlaceCode)
+// .IsUnicode(false);
+
+// modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+// .Property(e => e.IsSendToMesStr)
+// .IsUnicode(false);
+
+// modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+// .Property(e => e.Creator)
+// .IsUnicode(false);
+
+// modelBuilder.Entity<Wms_outInStockRecord_V2_Mes>()
+// .Property(e => e.LastModifier)
+// .IsUnicode(false);
+// }
+// }
+//}
diff --git a/DEmon/iWareDataCore/iWareDataCore.csproj b/DEmon/iWareDataCore/iWareDataCore.csproj
index d18b11a..a8e0b5b 100644
--- a/DEmon/iWareDataCore/iWareDataCore.csproj
+++ b/DEmon/iWareDataCore/iWareDataCore.csproj
@@ -257,6 +257,8 @@
<Compile Include="TASK\Service\MainTaskViewService.cs" />
<Compile Include="TASK\Service\PartTaskService.cs" />
<Compile Include="TASK\Service\PartTaskViewService.cs" />
+ <Compile Include="Test_ORM\Test_ORM.cs" />
+ <Compile Include="ORM\Wms_outInStockRecord_V2_Mes.cs" />
<Compile Include="WebDav\Entity\FileInfo.cs" />
<Compile Include="WebDav\Service\FileService.cs" />
</ItemGroup>
--
Gitblit v1.9.3