From ba9d50cf57f3d1a35f1d043871a0f09bc3ac6116 Mon Sep 17 00:00:00 2001
From: 陈勇 <chenyong@hnkhzn.com>
Date: 星期四, 01 二月 2024 09:20:27 +0800
Subject: [PATCH] MES接口等

---
 .gitignore                                                                         |    4 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs                     |  171 +++++
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs             |  225 +++++++
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs            |   14 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs      |    8 
 代码管理/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs          |    3 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs       |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs           |   17 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs                               |   78 ++
 代码管理/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs                    |    5 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs         |  257 ++++++++
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs                               |   16 
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs            |   42 +
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs          |   56 +
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs           |   27 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs     |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs               |  181 ++++++
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs   |    3 
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs           |   23 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs    |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs             |   84 ++
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs                 |  121 ++++
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs            |  329 ++++++++++
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs     |   21 
 25 files changed, 1,757 insertions(+), 12 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a270f71
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+
+浠g爜绠$悊/WMS/WMS_Server/WIDESEA_WebApi/appsettings.json
+*.json
+浠g爜绠$悊/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs"
new file mode 100644
index 0000000..5ba148b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info
+{
+    public class BasicSN
+    {
+        public class detail
+        {
+            public string sn { get; set; }
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
new file mode 100644
index 0000000..0f05970
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
@@ -0,0 +1,42 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info.Request
+{
+    public class agvInWarehousePara :BasicSN
+    {
+        /// <summary>
+        /// 宸ュ崟缂栧彿
+        /// </summary>
+        public string JobID { get; set; }
+
+        /// <summary>
+        /// 杞﹁疆淇℃伅
+        /// </summary>
+        public List<detail> details { get; set; }
+
+        /// <summary>
+        /// 搴撴埧鍚嶇О
+        /// </summary>
+        public string warehouseName { get; set; }
+
+        /// <summary>
+        /// 鍖轰綅鍚嶇О
+        /// </summary>
+        public string zoneID { get; set; }
+
+        /// <summary>
+        /// 鍨涗綅鍚嶇О
+        /// </summary>
+        public string stackID { get; set; }
+
+        /// <summary>
+        /// 灞傚彿
+        /// </summary>
+        public int? layerNo { get; set; }
+
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs"
new file mode 100644
index 0000000..8efb589
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs"
@@ -0,0 +1,56 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info.Request
+{
+    public class agvMoveWarehousePara :BasicSN
+    {
+        /// <summary>
+        /// 杞﹁疆SN
+        /// </summary>
+        public List<detail> details { get; set; }
+
+        /// <summary>
+        /// 婧愬簱鎴垮悕绉�
+        /// </summary>
+        public string fromWarehouseName { get; set; }
+
+        /// <summary>
+        /// 婧愬尯浣嶅悕绉�
+        /// </summary>
+        public string fromZoneID { get; set; }
+
+        /// <summary>
+        /// 婧愬灈浣嶅悕绉�
+        /// </summary>
+        public string fromStackID { get; set; }
+
+        /// <summary>
+        /// 婧愬眰鍙�
+        /// </summary>
+        public string fromLayerNo { get; set; }
+
+        /// <summary>
+        /// 鐩爣搴撴埧鍚嶇О
+        /// </summary>
+        public string toWarehouseName { get; set;}
+
+        /// <summary>
+        /// 鐩爣鍖轰綅鍚嶇О
+        /// </summary>
+        public string toZoneID { get; set;}
+
+        /// <summary>
+        /// 鐩爣鍨涗綅鍚嶇О
+        /// </summary>
+        public string toStackID { get; set;}
+
+        /// <summary>
+        /// 鐩爣灞傚彿
+        /// </summary>
+        public string toLayerNo { get; set;}
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
new file mode 100644
index 0000000..ca20fd7
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
@@ -0,0 +1,23 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info
+{
+    public class agvOutWarehousePara : BasicSN
+    {
+        /// <summary>
+        /// 宸ュ崟鍙�
+        /// </summary>
+        public string JobID { get; set; }
+
+        /// <summary>
+        /// 杞﹁疆
+        /// </summary>
+        public List<detail> details { get; set; }
+    }
+
+    
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
new file mode 100644
index 0000000..2441480
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
@@ -0,0 +1,27 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info.Request
+{
+    public class agvTransferListPara :BasicSN
+    {
+        public string transferListID { get; set; }
+
+        public string materialCode { get; set; }
+
+        public string drawingNoVer { get; set; }
+
+        public string fromWarehouse { get; set; }
+        public string toWarehouse { get; set; }
+        public string Operator { get; set; }
+        public string updateTime { get; set; }
+        /// <summary>
+        /// 杞﹁疆淇℃伅
+        /// </summary>
+        public List<detail> details { get; set; }
+
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
new file mode 100644
index 0000000..6dda51a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
@@ -0,0 +1,121 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Text;
+
+namespace WIDESEA_Common
+{
+    public class Mes_WorkInfo
+    {
+        /// <summary>
+        /// 宸ヤ綔浠ゅ彿
+        /// </summary>
+        public string workOrder { get; set; } 
+
+        /// <summary>
+        /// 宸ュ崟鍙�
+        /// </summary>
+        public string jobID { get; set; }
+
+        /// <summary>
+        /// 闇�姹傚崟鍙�
+        /// </summary>
+        public string reqID { get; set; }
+
+        /// <summary>
+        /// 闇�姹傚崟鍙�
+        /// </summary>
+        public string reqIDLineNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string materialCode { get; set; }
+
+        /// <summary>
+        /// 鍥惧彿
+        /// </summary>
+        public string drawingNo { get; set; }
+
+        /// <summary>
+        /// 鎶�鏈姸鎬�
+        /// </summary>
+        public string drawingNoVer { get; set; }
+
+        /// <summary>
+        /// 浜у搧鍚�
+        /// </summary>
+        public string productName { get; set; }
+
+        /// <summary>
+        /// 浜у搧鎻忚堪
+        /// </summary>
+        public string productDesc { get; set; }
+
+        /// <summary>
+        /// 璁″垝鏁伴噺
+        /// </summary>
+        public int? quantity { get; set; }
+
+        /// <summary>
+        /// 杞瀷浠g爜
+        /// </summary>
+        //[AllowNull]
+        public string typeID { get; set; }
+
+        /// <summary>
+        /// 鎵撳寘鏁伴噺
+        /// </summary>
+        public int? stackNoRange { get; set; }
+
+        /// <summary>
+        /// 杞緞鍋忓樊
+        /// </summary>
+        public decimal? maxDiameterDiff { get; set; }
+
+        /// <summary>
+        /// 璁″垝寮�濮嬫椂闂�
+        /// </summary>
+        public DateTime? expectedStartTime { get; set; }
+
+        /// <summary>
+        /// 璁″垝缁撴潫鏃堕棿
+        /// </summary>
+        public DateTime? expectedFinishTime { get; set; }
+
+        /// <summary>
+        /// 杞﹁疆淇℃伅闆嗗悎
+        /// </summary>
+        public List<detail> details { get; set; }
+    }
+
+    public class detail
+    {
+        /// <summary>
+        /// 宸ュ崟缂栧彿
+        /// </summary>
+        public string jobID { get; set; }
+
+        /// <summary>
+        /// 鐐変唬鍙�
+        /// </summary>
+        public string heatID { get; set; }
+
+        /// <summary>
+        ///閽㈠澂鍙�
+        /// </summary>
+        public int? billetID { get; set; }
+
+        /// <summary>
+        /// 杞﹁疆SN鍙�
+        /// </summary>
+        public string SN { get; set; }
+
+        /// <summary>
+        /// 鐑鐞嗘壒娆�
+        /// </summary>
+        public string heatBatchID { get; set; }
+    }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs"
index f43a0e4..6f0e255 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs"
@@ -15,6 +15,11 @@
         /// <summary>
         /// 绌鸿揣浣�
         /// </summary>
+<<<<<<< Updated upstream
         Empty
+=======
+        Empty,
+        Busy
+>>>>>>> Stashed changes
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs"
index 7aaa135..9d6d4e8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs"
@@ -1,4 +1,5 @@
-锘縰sing WIDESEA_Core.Enums;
+锘縰sing System;
+using WIDESEA_Core.Enums;
 using WIDESEA_Core.Extensions;
 
 namespace WIDESEA_Core.Utilities
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs"
new file mode 100644
index 0000000..6a26d87
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs"
@@ -0,0 +1,329 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    [Entity(TableCnName = "鐗╂枡淇℃伅",TableName = "dt_materielinfo")]
+    public partial class dt_materielinfo:BaseEntity
+    {
+        /// <summary>
+       ///涓婚敭
+       /// </summary>
+       [Display(Name ="涓婚敭")]
+       [Column(TypeName="uniqueidentifier")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public Guid materiel_pkid { get; set; }
+
+       /// <summary>
+       ///鐗╂枡id
+       /// </summary>
+       [Display(Name ="鐗╂枡id")]
+       [MaxLength(100)]
+       [Column(TypeName="nvarchar(100)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string materiel_id { get; set; }
+
+       /// <summary>
+       ///鎵�灞炲簱鍖�
+       /// </summary>
+       [Display(Name ="鎵�灞炲簱鍖�")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int materiel_areaid { get; set; }
+
+       /// <summary>
+       ///鐗╂枡鍚嶇О
+       /// </summary>
+       [Display(Name ="鐗╂枡鍚嶇О")]
+       [MaxLength(200)]
+       [Column(TypeName="nvarchar(200)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string materiel_name { get; set; }
+
+       /// <summary>
+       ///鐗╂枡淇℃伅鎻忚堪
+       /// </summary>
+       [Display(Name ="鐗╂枡淇℃伅鎻忚堪")]
+       [MaxLength(200)]
+       [Column(TypeName="nvarchar(200)")]
+       [Editable(true)]
+       public string materiel_desc { get; set; }
+
+       /// <summary>
+       ///鍖呰瑙勬牸
+       /// </summary>
+       [Display(Name ="鍖呰瑙勬牸")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_packspes { get; set; }
+
+       /// <summary>
+       ///褰撳墠鐘舵��
+       /// </summary>
+       [Display(Name ="褰撳墠鐘舵��")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_state { get; set; }
+
+       /// <summary>
+       ///鐗╂枡绫诲瀷
+       /// </summary>
+       [Display(Name ="鐗╂枡绫诲瀷")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_type { get; set; }
+
+       /// <summary>
+       ///璁¢噺鍗曚綅
+       /// </summary>
+       [Display(Name ="璁¢噺鍗曚綅")]
+       [MaxLength(10)]
+       [Column(TypeName="nvarchar(10)")]
+       [Editable(true)]
+       public string materiel_unit { get; set; }
+
+       /// <summary>
+       ///鏈�灏忓寘瑁�
+       /// </summary>
+       [Display(Name ="鏈�灏忓寘瑁�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_minpack_qty { get; set; }
+
+       /// <summary>
+       ///鐢熶骇鍟�
+       /// </summary>
+       [Display(Name ="鐢熶骇鍟�")]
+       [MaxLength(40)]
+       [Column(TypeName="nvarchar(40)")]
+       [Editable(true)]
+       public string materiel_mfacturer { get; set; }
+
+       /// <summary>
+       ///渚涘簲鍟�
+       /// </summary>
+       [Display(Name ="渚涘簲鍟�")]
+       [MaxLength(40)]
+       [Column(TypeName="nvarchar(40)")]
+       [Editable(true)]
+       public string materiel_supplier { get; set; }
+
+       /// <summary>
+       ///鍑�閲�
+       /// </summary>
+       [Display(Name ="鍑�閲�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_netweight { get; set; }
+
+       /// <summary>
+       ///姣涢噸
+       /// </summary>
+       [Display(Name ="姣涢噸")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_grossweight { get; set; }
+
+       /// <summary>
+       ///鏈夋晥鏈�
+       /// </summary>
+       [Display(Name ="鏈夋晥鏈�")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       public int? materiel_validity { get; set; }
+
+       /// <summary>
+       ///瀹夊叏搴撳瓨
+       /// </summary>
+       [Display(Name ="瀹夊叏搴撳瓨")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_safety { get; set; }
+
+       /// <summary>
+       ///鍒涘缓鑰�
+       /// </summary>
+       [Display(Name ="鍒涘缓鑰�")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_creator { get; set; }
+
+       /// <summary>
+       ///鍒涘缓鏃堕棿
+       /// </summary>
+       [Display(Name ="鍒涘缓鏃堕棿")]
+       [Column(TypeName="datetime")]
+       [Editable(true)]
+       public DateTime? materiel_createtime { get; set; }
+
+       /// <summary>
+       ///澶囨敞
+       /// </summary>
+       [Display(Name ="澶囨敞")]
+       [MaxLength(100)]
+       [Column(TypeName="nvarchar(100)")]
+       [Editable(true)]
+       public string materiel_remark { get; set; }
+
+       /// <summary>
+       ///閲囪喘绫诲瀷
+       /// </summary>
+       [Display(Name ="閲囪喘绫诲瀷")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_purchaseType { get; set; }
+
+       /// <summary>
+       ///鑻辨枃鎻忚堪
+       /// </summary>
+       [Display(Name ="鑻辨枃鎻忚堪")]
+       [MaxLength(200)]
+       [Column(TypeName="nvarchar(200)")]
+       [Editable(true)]
+       public string materiel_englishdesc { get; set; }
+
+       /// <summary>
+       ///鐗╂枡缁�
+       /// </summary>
+       [Display(Name ="鐗╂枡缁�")]
+       [MaxLength(20)]
+       [Column(TypeName="varchar(20)")]
+       [Editable(true)]
+       public string materiel_materielGroup { get; set; }
+
+       /// <summary>
+       ///浜у搧缁�
+       /// </summary>
+       [Display(Name ="浜у搧缁�")]
+       [MaxLength(20)]
+       [Column(TypeName="varchar(20)")]
+       [Editable(true)]
+       public string materiel_productGroup { get; set; }
+
+       /// <summary>
+       ///澶у皬/閲忕翰
+       /// </summary>
+       [Display(Name ="澶у皬/閲忕翰")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_size { get; set; }
+
+       /// <summary>
+       ///MRP绫诲瀷
+       /// </summary>
+       [Display(Name ="MRP绫诲瀷")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_mrpType { get; set; }
+
+       /// <summary>
+       ///杩芥函鏍囪瘑
+       /// </summary>
+       [Display(Name ="杩芥函鏍囪瘑")]
+       [MaxLength(20)]
+       [Column(TypeName="varchar(20)")]
+       [Editable(true)]
+       public string materiel_traceabilityCode { get; set; }
+
+       /// <summary>
+       ///鐗╂枡闀�
+       /// </summary>
+       [Display(Name ="鐗╂枡闀�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_long { get; set; }
+
+       /// <summary>
+       ///鐗╂枡瀹�
+       /// </summary>
+       [Display(Name ="鐗╂枡瀹�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_width { get; set; }
+
+       /// <summary>
+       ///鐗╂枡楂�
+       /// </summary>
+       [Display(Name ="鐗╂枡楂�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_height { get; set; }
+
+       /// <summary>
+       ///鎵樼洏闀�
+       /// </summary>
+       [Display(Name ="鎵樼洏闀�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_palletlong { get; set; }
+
+       /// <summary>
+       ///鎵樼洏瀹�
+       /// </summary>
+       [Display(Name ="鎵樼洏瀹�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_palletwidth { get; set; }
+
+       /// <summary>
+       ///鎵樼洏楂�
+       /// </summary>
+       [Display(Name ="鎵樼洏楂�")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       [Editable(true)]
+       public decimal? materiel_palletheight { get; set; }
+
+       /// <summary>
+       ///搴撳瓨鍦扮偣
+       /// </summary>
+       [Display(Name ="搴撳瓨鍦扮偣")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       public string materiel_location { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Key]
+       [Display(Name ="ID")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
+        public int ID { get; set; }
+
+       
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs"
new file mode 100644
index 0000000..fd6ffab
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class dt_materielinfo
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
index 363ff30..6b483b0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
@@ -134,6 +134,21 @@
        [Column(TypeName="int")]
        public int? column { get; set; }
 
-       
+        /// <summary>
+        ///宸ュ崟缂栧彿
+        /// </summary>
+        [Display(Name = "宸ュ崟缂栧彿")]
+        [MaxLength(255)]
+        [Column(TypeName = "nvarchar(255)")]
+        [Editable(true)]
+        public string Number { get; set; }
+
+        /// <summary>
+        ///鐐夊彿
+        /// </summary>
+        [Display(Name = "鐐夊彿")]
+        [Column(TypeName = "int")]
+        [Required(AllowEmptyStrings = false)]
+        public int heatNumber { get; set; }
     }
 }
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
new file mode 100644
index 0000000..3000592
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
@@ -0,0 +1,225 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    [Entity(TableCnName = "AGV浠诲姟", TableName = "dt_agvtask")]
+    public partial class dt_agvtask : BaseEntity
+    {
+        /// <summary>
+        ///浠诲姟Id
+        /// </summary>
+        [Key]
+        [Display(Name = "浠诲姟Id")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public Guid agv_id { get; set; }
+
+        /// <summary>
+        ///浠诲姟缂栧彿
+        /// </summary>
+        [Display(Name = "浠诲姟缂栧彿")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_tasknum { get; set; }
+
+        /// <summary>
+        ///璧风偣鍦板潃
+        /// </summary>
+        [Display(Name = "璧风偣鍦板潃")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_fromaddress { get; set; }
+
+        /// <summary>
+        ///缁堢偣鍦板潃
+        /// </summary>
+        [Display(Name = "缁堢偣鍦板潃")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_toaddress { get; set; }
+
+        /// <summary>
+        ///AGV缂栧彿
+        /// </summary>
+        [Display(Name = "AGV缂栧彿")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_code { get; set; }
+
+        /// <summary>
+        ///浠诲姟鐘舵��
+        /// </summary>
+        [Display(Name = "浠诲姟鐘舵��")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_taskstate { get; set; }
+
+        /// <summary>
+        ///AGV宸ヤ綔绫诲瀷
+        /// </summary>
+        [Display(Name = "AGV宸ヤ綔绫诲瀷")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? agv_worktype { get; set; }
+
+        /// <summary>
+        ///鐗╂枡绫诲瀷
+        /// </summary>
+        [Display(Name = "鐗╂枡绫诲瀷")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_materielid { get; set; }
+
+        /// <summary>
+        ///鏁伴噺
+        /// </summary>
+        [Display(Name = "鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public int? agv_qty { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鏃堕棿
+        /// </summary>
+        [Display(Name = "鍒涘缓鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public DateTime agv_createtime { get; set; }
+
+        /// <summary>
+        ///鎵ц鏃堕棿
+        /// </summary>
+        [Display(Name = "鎵ц鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_realesstime { get; set; }
+
+        /// <summary>
+        ///瀹屾垚鏃堕棿
+        /// </summary>
+        [Display(Name = "瀹屾垚鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_finishedtime { get; set; }
+
+        /// <summary>
+        ///浠诲姟绫诲瀷
+        /// </summary>
+        [Display(Name = "浠诲姟绫诲瀷")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_tasktype { get; set; }
+
+        /// <summary>
+        ///澶囨敞
+        /// </summary>
+        [Display(Name = "澶囨敞")]
+        [MaxLength(100)]
+        [Column(TypeName = "nvarchar(100)")]
+        [Editable(true)]
+        public string agv_remark { get; set; }
+
+        /// <summary>
+        ///浠诲姟绛夌骇
+        /// </summary>
+        [Display(Name = "浠诲姟绛夌骇")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? agv_grade { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鑰�
+        /// </summary>
+        [Display(Name = "鍒涘缓鑰�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string agv_userid { get; set; }
+
+        /// <summary>
+        ///鎵樼洏鐮�
+        /// </summary>
+        [Display(Name = "鎵樼洏鐮�")]
+        [MaxLength(30)]
+        [Column(TypeName = "nvarchar(30)")]
+        [Editable(true)]
+        //[Required(AllowEmptyStrings = false)]//涓嶈兘涓虹┖
+        public string agv_barcode { get; set; }
+
+        /// <summary>
+        ///鐗╂枡鐮�
+        /// </summary>
+        [Display(Name = "鐗╂枡鐮�")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_materbarcode { get; set; }
+
+        /// <summary>
+        ///璧峰鐐规墽琛屼腑
+        /// </summary>
+        [Display(Name = "璧峰鐐规墽琛屼腑")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_executingBeginTime { get; set; }
+
+        /// <summary>
+        ///璧峰鐐瑰畬鎴�
+        /// </summary>
+        [Display(Name = "璧峰鐐瑰畬鎴�")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_executingEndTime { get; set; }
+
+        /// <summary>
+        ///鐩殑鐐规墽琛屼腑
+        /// </summary>
+        [Display(Name = "鐩殑鐐规墽琛屼腑")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_completeBeginTime { get; set; }
+
+        /// <summary>
+        ///
+        /// </summary>
+        [Display(Name = "unitag")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Editable(true)]
+        public Guid? unitag { get; set; }
+
+        /// <summary>
+        ///杞﹁疆SN鍙�
+        /// </summary>
+        [Display(Name = "杞﹁疆SN鍙�")]
+        [MaxLength(500)]
+        [Column(TypeName = "nvarchar(500)")]
+        public string bindSN { get; set; }
+
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs"
new file mode 100644
index 0000000..7d395a2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs"
@@ -0,0 +1,257 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    [Entity(TableCnName = "AGV鍘嗗彶浠诲姟", TableName = "dt_agvtask_hty")]
+    public partial class dt_agvtask_hty : BaseEntity
+    {
+        /// <summary>
+        ///鍘嗗彶浠诲姟ID
+        /// </summary>
+        [Key]
+        [Display(Name = "鍘嗗彶浠诲姟ID")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public Guid hty_pkid { get; set; }
+
+        /// <summary>
+        ///浠诲姟ID
+        /// </summary>
+        [Display(Name = "浠诲姟ID")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public Guid agv_id { get; set; }
+
+        /// <summary>
+        ///浠诲姟缂栧彿
+        /// </summary>
+        [Display(Name = "浠诲姟缂栧彿")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_tasknum { get; set; }
+
+        /// <summary>
+        ///鐗╂枡绫诲瀷
+        /// </summary>
+        [Display(Name = "鐗╂枡绫诲瀷")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_materielid { get; set; }
+
+        /// <summary>
+        ///鏁伴噺
+        /// </summary>
+        [Display(Name = "鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public int? agv_qty { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鏃堕棿
+        /// </summary>
+        [Display(Name = "鍒涘缓鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public DateTime agv_createtime { get; set; }
+
+        /// <summary>
+        ///鎵ц鏃堕棿
+        /// </summary>
+        [Display(Name = "鎵ц鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_realesstime { get; set; }
+
+        /// <summary>
+        ///瀹屾垚鏃堕棿
+        /// </summary>
+        [Display(Name = "瀹屾垚鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_finishedtime { get; set; }
+
+        /// <summary>
+        ///浠诲姟鐘舵��
+        /// </summary>
+        [Display(Name = "浠诲姟鐘舵��")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_taskstate { get; set; }
+
+        /// <summary>
+        ///浠诲姟绫诲瀷
+        /// </summary>
+        [Display(Name = "浠诲姟绫诲瀷")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_tasktype { get; set; }
+
+        /// <summary>
+        ///璧风偣鍦板潃
+        /// </summary>
+        [Display(Name = "璧风偣鍦板潃")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_fromaddress { get; set; }
+
+        /// <summary>
+        ///缁堢偣鍦板潃
+        /// </summary>
+        [Display(Name = "缁堢偣鍦板潃")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_toaddress { get; set; }
+
+        /// <summary>
+        ///鎿嶄綔绫诲瀷
+        /// </summary>
+        [Display(Name = "鎿嶄綔绫诲瀷")]
+        [MaxLength(10)]
+        [Column(TypeName = "nvarchar(10)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_operatetype { get; set; }
+
+        /// <summary>
+        ///鎿嶄綔鑰�
+        /// </summary>
+        [Display(Name = "鎿嶄綔鑰�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_compeletor { get; set; }
+
+        /// <summary>
+        ///鎿嶄綔鏃堕棿
+        /// </summary>
+        [Display(Name = "鎿嶄綔鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public DateTime agv_completedate { get; set; }
+
+        /// <summary>
+        ///浠诲姟绛夌骇
+        /// </summary>
+        [Display(Name = "浠诲姟绛夌骇")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? agv_grade { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鑰�
+        /// </summary>
+        [Display(Name = "鍒涘缓鑰�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string agv_userid { get; set; }
+
+        /// <summary>
+        ///鎵樼洏鐮�
+        /// </summary>
+        [Display(Name = "鎵樼洏鐮�")]
+        [MaxLength(30)]
+        [Column(TypeName = "nvarchar(30)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_barcode { get; set; }
+
+        /// <summary>
+        ///AGV缂栧彿
+        /// </summary>
+        [Display(Name = "AGV缂栧彿")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public string agv_code { get; set; }
+
+        /// <summary>
+        ///AGV宸ヤ綔绫诲瀷
+        /// </summary>
+        [Display(Name = "AGV宸ヤ綔绫诲瀷")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        [Required(AllowEmptyStrings = false)]
+        public int? agv_worktype { get; set; }
+
+        /// <summary>
+        ///鐗╂枡鐮�
+        /// </summary>
+        [Display(Name = "鐗╂枡鐮�")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string agv_materbarcode { get; set; }
+
+        /// <summary>
+        ///璧峰鐐规墽琛屼腑
+        /// </summary>
+        [Display(Name = "璧峰鐐规墽琛屼腑")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_executingBeginTime { get; set; }
+
+        /// <summary>
+        ///璧峰鐐瑰畬鎴�
+        /// </summary>
+        [Display(Name = "璧峰鐐瑰畬鎴�")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_executingEndTime { get; set; }
+
+        /// <summary>
+        ///鐩殑鐐规墽琛屼腑
+        /// </summary>
+        [Display(Name = "鐩殑鐐规墽琛屼腑")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? agv_completeBeginTime { get; set; }
+
+        /// <summary>
+        ///澶囨敞
+        /// </summary>
+        [Display(Name = "澶囨敞")]
+        [MaxLength(100)]
+        [Column(TypeName = "nvarchar(100)")]
+        [Editable(true)]
+        public string agv_remark { get; set; }
+
+        /// <summary>
+        ///杞﹁疆SN鍙�
+        /// </summary>
+        [Display(Name = "杞﹁疆SN鍙�")]
+        [MaxLength(500)]
+        [Column(TypeName = "nvarchar(500)")]
+        public string bindSN { get; set; }
+
+
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs"
new file mode 100644
index 0000000..ddf51ac
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class dt_agvtask
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs"
new file mode 100644
index 0000000..0f8e0ce
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class dt_agvtask_hty
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs"
new file mode 100644
index 0000000..ca992eb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs"
@@ -0,0 +1,84 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    [Entity(TableCnName = "宸ュ崟璇︾粏淇℃伅", TableName = "dt_mes_detail")]
+    public partial class dt_mes_detail : BaseEntity
+    {
+        /// <summary>
+        ///宸ュ崟鏄庣粏ID
+        /// </summary>
+        [Key]
+        [Display(Name = "mes_detail_id")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Required(AllowEmptyStrings = false)]
+        public Guid mes_detail_id { get; set; }
+
+        /// <summary>
+        ///宸ュ崟澶磋〃ID
+        /// </summary>
+        [Key]
+        [Display(Name = "mes_headID")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Required(AllowEmptyStrings = false)]
+        public Guid mes_headID { get; set; }
+
+        /// <summary>
+        ///宸ュ崟鍗曞彿
+        /// </summary>
+        [Display(Name = "jobID")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string jobID { get; set; }
+
+        /// <summary>
+        ///鐐変唬鍙�
+        /// </summary>
+        [Display(Name = "鐐変唬鍙�")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string heatID { get; set; }
+
+        /// <summary>
+        ///閽㈠澂鍙�
+        /// </summary>
+        [Display(Name = "閽㈠澂鍙�")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? billetID { get; set; }
+
+        /// <summary>
+        ///杞﹁疆SN鍙�
+        /// </summary>
+        [Display(Name = "杞﹁疆SN鍙�")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string SN { get; set; }
+
+        /// <summary>
+        ///鐑鐞嗘壒娆�
+        /// </summary>
+        [Display(Name = "鐑鐞嗘壒娆�")]
+        [MaxLength(30)]
+        [Column(TypeName = "varchar(30)")]
+        [Editable(true)]
+        public string heatBatchID { get; set; }
+
+       
+
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
new file mode 100644
index 0000000..55a2356
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
@@ -0,0 +1,181 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    [Entity(TableCnName = "宸ュ崟淇℃伅", TableName = "dt_mes_head")]
+    public partial class dt_mes_head : BaseEntity
+    {
+
+        /// <summary>
+        ///ID
+        /// </summary>
+        [Key]
+        [Display(Name = "mes_id")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Required(AllowEmptyStrings = false)]
+        public Guid mes_id { get; set; }
+
+        /// <summary>
+        ///宸ヤ綔浠ゅ彿
+        /// </summary>
+        [Display(Name = "宸ヤ綔浠ゅ彿")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        [Editable(true)]
+        public string workOrder { get; set; }
+
+        /// <summary>
+        ///宸ュ崟缂栧彿
+        /// </summary>
+        [Display(Name = "宸ュ崟缂栧彿")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string jobID { get; set; }
+
+        /// <summary>
+        ///闇�姹傚崟鍙�
+        /// </summary>
+        [Display(Name = "闇�姹傚崟鍙�")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string reqID { get; set; }
+
+        /// <summary>
+        ///闇�姹傚崟鍙疯鍙�
+        /// </summary>
+        [Display(Name = "闇�姹傚崟鍙疯鍙�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string reqIDLineNo { get; set; }
+
+        /// <summary>
+        ///宸ュ崟绫诲瀷 (17-鏈哄姞宸� 28-妫�娴嬬嚎)
+        /// </summary>
+        [Display(Name = "宸ュ崟绫诲瀷")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string processCode { get; set; }
+
+        /// <summary>
+        ///鐗╂枡缂栫爜
+        /// </summary>
+        [Display(Name = "鐗╂枡缂栫爜")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string materialCode { get; set; }
+
+        /// <summary>
+        ///鍥惧彿
+        /// </summary>
+        [Display(Name = "鍥惧彿")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string drawingNo { get; set; }
+
+        /// <summary>
+        ///鎶�鏈姸鎬�
+        /// </summary>
+        [Display(Name = "鎶�鏈姸鎬�")]
+        [MaxLength(10)]
+        [Column(TypeName = "nvarchar(10)")]
+        [Editable(true)]
+        public string drawingNoVer { get; set; }
+
+        /// <summary>
+        ///浜у搧鍚嶇О
+        /// </summary>
+        [Display(Name = "浜у搧鍚嶇О")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string productName { get; set; }
+
+        /// <summary>
+        ///浜у搧鎻忚堪
+        /// </summary>
+        [Display(Name = "浜у搧鎻忚堪")]
+        [Column(TypeName = "nvarchar(200)")]
+        [Editable(true)]
+        [MaxLength(200)]
+        public string productDesc { get; set; }
+
+        /// <summary>
+        ///瀹屾垚鏁伴噺
+        /// </summary>
+        [Display(Name = "瀹屾垚鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? quantity { get; set; }
+
+        /// <summary>
+        ///杞瀷浠g爜
+        /// </summary>
+        [Display(Name = "杞瀷浠g爜")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string typeID { get; set; }
+
+        /// <summary>
+        ///鎵撳寘鏁伴噺
+        /// </summary>
+        [Display(Name = "鎵撳寘鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? stackNoRange { get; set; }
+
+        /// <summary>
+        ///杞緞鍋忓樊
+        /// </summary>
+        [Display(Name = "杞緞鍋忓樊")]
+        [Column(TypeName = "nmberic(18,2)")]
+        [Editable(true)]
+        public decimal? maxDiameterDiff { get; set; }
+
+        /// <summary>
+        ///宸ュ崟寮�濮嬫椂闂�
+        /// </summary>
+        [Display(Name = "宸ュ崟寮�濮嬫椂闂�")]
+        [Column(TypeName = "datetime")]
+        public DateTime? expectedStartTime { get; set; }
+
+        /// <summary>
+        ///宸ュ崟缁撴潫鏃堕棿
+        /// </summary>
+        [Display(Name = "宸ュ崟缁撴潫鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        public DateTime? expectedFinishTime { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鏃堕棿
+        /// </summary>
+        [Display(Name = "鍒涘缓鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        public DateTime CreateTime { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鑰�
+        /// </summary>
+        [Display(Name = "鍒涘缓鑰�")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        public string creator { get; set; }
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs"
new file mode 100644
index 0000000..d5640ee
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class dt_ActualProduction
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs"
new file mode 100644
index 0000000..ba44454
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class dt_mes_head
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs"
new file mode 100644
index 0000000..e9ff5f8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs"
@@ -0,0 +1,171 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.Repositories;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.FreeDB;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Comm;
+
+namespace WIDESEA_WCS.JobsPart.Common
+{
+    public class StationTask
+    {
+
+        FreeDB freeDB = new FreeDB();
+        public void CreateTask()
+        {
+            VOLContext context = new VOLContext();
+            Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+            Idt_WorkinfoRepository workinfoRepository = new dt_WorkinfoRepository(context);
+
+            List<dt_stationinfo> stationinfos = stationinfoRepository.Find(x => x.stationCode.Contains('X'));
+
+            foreach (var item in stationinfos)
+            {
+                //鏍规嵁涓嬫枡鍙g殑缁戝畾淇℃伅鏌ヨ瀵瑰簲宸ュ崟锛屾娴嬫宸ュ崟鏄惁宸插畬鎴�  瀹屾垚鍗冲彲灏嗗叾閫佸叆搴�
+                dt_Workinfo workinfo = workinfoRepository.FindFirst(x => x.WorkNumber == item.Number);
+                int CompeletedNum = Convert.ToInt32(workinfo.PlannedQuantity) - Convert.ToInt32(workinfo.QuantityCompletion);
+
+                //鍒ゅ畾浠诲姟鏄惁宸插垱寤�//濡傚凡瀛樺湪  
+                if (freeDB.Select<dt_agvtask>().Where(x => x.agv_fromaddress == item.stationCode).Count() > 0)
+                    continue;
+
+                if (item.quantity == 5 || CompeletedNum == 0)  //寰幆璇诲彇杞﹁疆鏁颁负5鎴栬�呰鍗曞凡瀹屾垚鏁伴噺鐨勪笅鏂欏彛    鈫掑伐鍗曚汉宸ュ叧闂殑宸ュ崟
+                {
+                    dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, workinfo, item);
+
+                    if (TargetLocation != null)
+                    {
+                        //todo:  璋冪敤WMS鎺ュ彛鍒涘缓浠诲姟
+                        dt_agvtask agvtask = new dt_agvtask()
+                        {
+                            agv_fromaddress = item.stationCode,
+                            agv_id = Guid.NewGuid(),
+                            agv_grade = 0,
+                            agv_barcode = "",
+                            agv_createtime = DateTime.Now,
+                            agv_taskstate = TaskStatus.Created.ToString(),
+                            agv_toaddress = TargetLocation.stationCode,
+
+                        };
+
+                        freeDB.Add(agvtask);
+                        TargetLocation.location_state = LocationStateEnum.Busy.ToString();
+                        freeDB.Update(TargetLocation);
+                    }
+                }
+
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇绌哄簱浣�
+        /// </summary>
+        /// <param name="stationinfoRepository">搴撳瓨</param>
+        /// <param name="workinfo">璁㈠崟</param>
+        /// <param name="stationinfo">涓嬫枡鍙d俊鎭�</param>
+        /// <returns></returns>
+        private dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_Workinfo workinfo, dt_stationinfo stationinfo)
+        {
+            //鏀捐揣浣�
+            dt_stationinfo TargetLocation = null;
+
+            //鏍规嵁璁㈠崟鏁伴噺鏉ュ鎵惧搴斿簱鍖轰笖鍚岀墿鏂欑被鍨嬪簱浣�
+
+            if (workinfo.PlannedQuantity < 50)    //搴撳尯1 鐗╂枡绫诲瀷澶�
+            {
+                dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == "1").OrderByDescending(x => x.lastUpdateTime).FirstOrDefault();
+                if (station != null)
+                {
+                    //濡傚瓨鍦ㄥ悓鐗╂枡绫诲瀷涓斿湪1琛岀殑搴撳瓨鍒欐柊鍏ュ簱鐨勭墿鏂欐斁鑷冲悓鍒� 涓嶅瓨鍦ㄥ垯瀵绘壘鏂拌搴撲綅
+                    if (station.line == 1)
+                    {
+                        TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.column == station.column && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+                    }
+                    TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.line == 1 && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+                }
+                else
+                {
+                    TargetLocation = stationinfoRepository.Find(x => x.area == "1" && x.location_state == LocationStateEnum.Empty.ToString() && x.line == 1 && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+                }
+            }
+            else
+            {
+                //int quantity = Convert.ToInt32(workinfo.PlannedQuantity);
+                //string area = GetArea(quantity);
+
+                dt_materielinfo materielinfo = freeDB.Select<dt_materielinfo>().Where(x => x.materiel_id == stationinfo.stationType).First();
+
+                if (materielinfo == null)
+                    throw new Exception($"鏃犳鐗╂枡绫诲瀷{stationinfo.stationType}搴撳尯");
+
+                string area = materielinfo.materiel_areaid.ToString();
+
+                //濡傚瓨鍦ㄥ悓绫诲瀷鐗╂枡鍒欐斁缃悓琛屽簱浣� 涓嶅瓨鍦ㄥ垯鏀剧疆鏂拌鐨勭涓�鍒椾腑
+                dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == area).OrderBy(x => x.lastUpdateTime).FirstOrDefault();
+                if (station != null)
+                {
+                    TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.line == station.line).OrderBy(x => x.column).FirstOrDefault();
+                    if (TargetLocation == null)
+                    {
+                        TargetLocation = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
+                    }
+                }
+                else
+                {
+                    TargetLocation = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
+                }
+
+                //todo  濡傜墿鏂欏凡婊″垯鏀剧疆鍏朵粬搴撳尯
+                //if (TargetLocation == null)
+                //{
+                //    stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
+                //}
+            }
+
+            if (TargetLocation == null)
+            {
+                throw new Exception("搴撲綅宸叉弧");
+            }
+
+            //else if (workinfo.PlannedQuantity >= 50 && workinfo.PlannedQuantity < 110)  //搴撳尯2 
+            //{
+            //    //濡傚瓨鍦ㄥ悓绫诲瀷鐗╂枡鍒欐斁缃悓琛屽簱浣� 涓嶅瓨鍦ㄥ垯鏀剧疆鏂拌鐨勭涓�鍒椾腑
+            //    dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == "2").OrderBy(x => x.lastUpdateTime).FirstOrDefault();
+            //    if (station != null)
+            //    {
+            //        TargetLocation  = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.line == station.line).OrderBy(x => x.column).FirstOrDefault();
+            //    }
+            //    else
+            //    {
+            //        TargetLocation = stationinfoRepository.Find(x => x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
+            //    }
+            //}
+            //else if(workinfo.PlannedQuantity >= 110 && workinfo.PlannedQuantity < 180)
+            //{
+
+            //}
+            return TargetLocation;
+        }
+
+        /// <summary>
+        /// 鏍规嵁璁㈠崟鏁伴噺杩斿洖搴撳尯(鏆傛椂寮冪敤)   //鏇存崲涓哄簱浣嶇被鍨嬪尮閰�
+        /// </summary>
+        /// <param name="quantity"></param>
+        /// <returns></returns>
+        private string GetArea(int quantity)
+        {
+            if (quantity >= 50 && quantity < 180)
+                return "2";
+            else if (quantity >= 180 && quantity < 180)
+                return "3";
+            else if (quantity >= 180 && quantity < 220)
+                return "4";
+            return null;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
index 7359fba..ae1022e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
@@ -1,15 +1,21 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common;
+using WIDESEA_Core.FreeDB;
 using WIDESEA_Core.Utilities;
 using WIDESEA_Entity.DomainModels;
+using static FreeSql.Internal.GlobalFilter;
 
 namespace WIDESEA_WCS
 {
     public partial class ToMesServer
     {
+
         /// <summary>
         /// 娣诲姞宸ュ崟淇℃伅
         /// </summary>
@@ -30,5 +36,75 @@
             WebResponseContent content = new WebResponseContent();
             return content;
         }
+
+        /// <summary>
+        /// MES涓嬪彂WMS宸ュ崟鎺ュ彛
+        /// </summary>
+        /// <param name="json"></param>
+        /// <returns></returns>
+        public static WebResponseContent AddMes_Info(object json)
+        {
+            WebResponseContent content = new WebResponseContent();
+            FreeDB freeDB = new FreeDB();
+            try
+            {
+                Mes_WorkInfo workInfo = JsonConvert.DeserializeObject<Mes_WorkInfo>(json.ToString());
+
+                if (workInfo == null)
+                {
+                    return content.Error("宸ュ崟淇℃伅鏁版嵁涓虹┖");
+                }
+
+                var mesinfo = freeDB.Select<dt_mes_head>().Where(x => x.jobID == workInfo.jobID).First();
+                if (mesinfo != null)
+                {
+                    return content.Error($"宸ュ崟鍙穥mesinfo.jobID}宸插瓨鍦�,璇锋牳瀹炲悗鍦ㄥ彂閫侊紒");
+                }
+
+                Guid head = Guid.NewGuid();
+                dt_mes_head mes_Head = new dt_mes_head
+                {
+                    mes_id = head,
+                    CreateTime = DateTime.Now,
+                    creator = "MES",
+                    drawingNo = workInfo.drawingNo,
+                    drawingNoVer = workInfo.drawingNoVer,
+                    expectedFinishTime = workInfo.expectedFinishTime,
+                    expectedStartTime = workInfo.expectedStartTime,
+                    jobID = workInfo.jobID,
+                    materialCode = workInfo.materialCode,
+                    maxDiameterDiff = workInfo.maxDiameterDiff,
+                    productDesc = workInfo.productDesc,
+                    productName = workInfo.productName,
+                    quantity = workInfo.quantity,
+                    reqID = workInfo.reqID,
+                    reqIDLineNo = workInfo.reqIDLineNo,
+                    stackNoRange = workInfo.stackNoRange,
+                    typeID = workInfo.typeID,
+                    workOrder = workInfo.workOrder
+                };
+                freeDB.Add(mes_Head);
+
+                foreach (var item in workInfo.details)
+                {
+                    dt_mes_detail mes_Detail = new dt_mes_detail
+                    {
+                        mes_detail_id = Guid.NewGuid(),
+                        mes_headID = head,
+                        jobID = item.jobID,
+                        billetID = item.billetID,
+                        heatBatchID = item.heatBatchID,
+                        heatID = item.heatID,
+                        SN = item.SN
+                    };
+                    freeDB.Add(mes_Detail);
+                }
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                return content.Error(ex.Message); 
+            }
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs"
index a796b98..140005b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
 using WIDESEA_Core.Utilities;
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_WCS;
@@ -32,5 +33,16 @@
         {
             return ToMesServer.AddActualProduction(request);
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="json"></param>
+        /// <returns></returns>
+        [HttpPost,Route("AddMes_Info"),AllowAnonymous]
+        public WebResponseContent AddMES_info([FromBody] object json)
+        {
+            return ToMesServer.AddMes_Info(json);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs"
index db3e67c..b571259 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs"
@@ -1,11 +1,3 @@
-/*
- *鎵�鏈夊叧浜巇t_areainfo绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
-*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
-*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
-*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
-*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
-*dt_areainfoService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
-*/
 using WIDESEA_Core.BaseProvider;
 using WIDESEA_Core.Extensions.AutofacManager;
 using WIDESEA_Entity.DomainModels;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
index 9bb2ced..595067f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs"
@@ -99,5 +99,8 @@
 
             return base.Add(saveDataModel);
         }
+
+
+
     }
 }

--
Gitblit v1.9.3