From db6156a92cc59467bde608a00c76952ebc75e488 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 05 三月 2024 09:51:05 +0800
Subject: [PATCH] 优化代码

---
 代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs            |   18 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs                                                 |  109 +
 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs           |   13 
 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/REQ_GEO.pdf                                                                         |    0 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs                                                               |  352 +++
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_data_detectionlineController.cs |   33 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs    |   16 
 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/REQ_INPUT.pdf                                                                       |    0 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_detailService.cs                                       |   12 
 项目资料/其他/现场IP分配.xlsx                                                                                            |    0 
 项目资料/DB/dt_geometry_data(机加工).xlsx                                                                             |    0 
 代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs                                       |    5 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_areainfo.cs                                          |  108 +
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js                                     |    6 
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_headController.cs                            |   21 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs                                                           |    7 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs                                                    |   16 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs              |   24 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_headRepository.cs                                  |   18 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_detailService.cs                               |   13 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs                                   |   28 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_areainfo.cs                                  |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs                                                        |   10 
 代码管理/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue                                     |    5 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs                                         |   10 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs                                           |  191 ++
 代码管理/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data_detectionline.vue                          |  105 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs                     |   27 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_detailRepository.cs                                |   18 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs                                   |   41 
 代码管理/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue                                        |   24 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs                                                  |   56 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs                                         |   24 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs                                 |   13 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs                                 |   21 
 项目资料/DB/检测线dt_geometry_data.sql                                                                                |  677 ++++++++
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs                           |   10 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs                                                           |    5 
 代码管理/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue                                         |    5 
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs                    |   33 
 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/PCS和桁架协议.xlsx                                                                       |    0 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs            |   18 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_headService.cs                                         |   12 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_headRepository.cs                                    |   24 
 代码管理/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js                                     |    7 
 项目资料/DB/机加工dt_geometry_data.sql                                                                                |    0 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_detailRepository.cs                                  |   24 
 代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue                                            |   25 
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_detailController.cs                          |   21 
 项目资料/DB/dt_geometry_data(检测线).xlsx                                                                             |    0 
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js                       |   81 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs              |   24 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs                                 |    4 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs                                                        |   10 
 代码管理/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js                       |   75 
 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/PCS与AGV和桁架防呆协议.xlsx                                                                 |    0 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs                     |  242 +++
 代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs                                                   |   31 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs                     |  242 +++
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs                                       |   14 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs                                         |   83 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs                                                       |    2 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs                                               |   61 
 代码管理/WMS/WMS_Client/src/router/viewGird.js                                                                     |    4 
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_detail.js                                           |   75 
 代码管理/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue                          |  105 +
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_detailController.cs                  |   33 
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue                                        |   38 
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue                          |  105 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs                                                         |    5 
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_data_detectionlineController.cs         |   21 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs                               |   31 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.cs             |   21 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs                   |   12 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs    |   16 
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_head.vue                                                |   79 +
 代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs                                             |   13 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs                                                     |   14 
 代码管理/PCS/WCS_Client/src/router/viewGird.js                                                                     |   12 
 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_data_detectionlineController.cs |   33 
 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_data_detectionlineController.cs         |   21 
 代码管理/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js                       |   75 
 代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs                                       |   26 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs             |   41 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs                                       |   13 
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_detail.vue                                              |   62 
 代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs                                        |    4 
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js                                             |   75 
 代码管理/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js                                     |   75 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs                                                   |   94 +
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs                     |   27 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs                                     |   16 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs             |   41 
 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs                   |   12 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_detailService.cs                                         |   27 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs                                   |   21 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_detailService.cs                                 |   41 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs                                           |   34 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs           |   13 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_headService.cs                                           |   27 
 /dev/null                                                                                                      |    0 
 代码管理/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue                                        |   73 
 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.cs             |   21 
 103 files changed, 4,288 insertions(+), 263 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
index 8935403..7bb8eff 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
@@ -35,6 +35,12 @@
 
         //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
         // this.boxOptions.labelWidth = 150;
+        this.pagination.order = "asc"; 
+        this.columns.forEach(row=>{
+          if(row.field=="ID"){
+            row.sort=true;
+          }
+        })
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js"
new file mode 100644
index 0000000..7bb8eff
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js"
@@ -0,0 +1,81 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+        this.pagination.order = "asc"; 
+        this.columns.forEach(row=>{
+          if(row.field=="ID"){
+            row.sort=true;
+          }
+        })
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_detail.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_detail.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_detail.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/dt_mes_head.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
index f03fb96..db255a7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
@@ -193,6 +193,18 @@
         path: '/dt_pattern',
         name: 'dt_pattern',
         component: () => import('@/views/widesea_wcs/wcs/dt_pattern.vue')
+    }    ,{
+        path: '/dt_mes_head',
+        name: 'dt_mes_head',
+        component: () => import('@/views/widesea_wcs/tomes/dt_mes_head.vue')
+    }    ,{
+        path: '/dt_mes_detail',
+        name: 'dt_mes_detail',
+        component: () => import('@/views/widesea_wcs/tomes/dt_mes_detail.vue')
+    }    ,{
+        path: '/dt_geometry_data_detectionline',
+        name: 'dt_geometry_data_detectionline',
+        component: () => import('@/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue')
     }]
 
 export default viewgird
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
index 07dedbc..d846b2d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
@@ -22,27 +22,28 @@
     export default defineComponent({
         setup() {
             const table = ref({
-                key: 'TypeId',
+                key: 'ID',
                 footer: "Foots",
-                cnName: '杞﹁疆淇℃伅',
+                cnName: '鏈哄姞宸ヨ溅杞俊鎭�',
                 name: 'baseinfo/dt_geometry_data',
                 url: "/dt_geometry_data/",
-                sortName: "TypeId"
+                sortName: "ID"
             });
-            const editFormFields = ref({"Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
-            const editFormOptions = ref([[{"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
-                              [{"title":"","required":true,"field":"a","type":"text"},
-                               {"title":"","required":true,"field":"b","type":"text"}],
-                              [{"title":"","required":true,"field":"c","type":"text"},
-                               {"title":"","required":true,"field":"d","type":"text"}],
-                              [{"title":"","required":true,"field":"e","type":"text"},
-                               {"title":"","required":true,"field":"f","type":"text"}],
-                              [{"title":"","required":true,"field":"g","type":"text"},
-                               {"title":"","required":true,"field":"h","type":"decimal"}]]);
-            const searchFormFields = ref({"Description":""});
-            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"}]]);
-            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
-                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left',sort:true},
+            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
+            const editFormOptions = ref([[{"title":"","required":true,"field":"TypeId","type":"text"},
+                               {"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"a","required":true,"field":"a","type":"text"},
+                               {"title":"b","required":true,"field":"b","type":"text"}],
+                              [{"title":"c","required":true,"field":"c","type":"text"},
+                               {"title":"d","required":true,"field":"d","type":"text"}],
+                              [{"title":"e","required":true,"field":"e","type":"text"},
+                               {"title":"f","required":true,"field":"f","type":"text"}],
+                              [{"title":"g","required":true,"field":"g","type":"text"},
+                               {"title":"h","required":true,"field":"h","type":"text"}]]);
+            const searchFormFields = ref({"TypeId":"","Description":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"},{"title":"","field":"TypeId","type":"like"}]]);
+            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
+                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left'},
                        {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
                        {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
                        {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
@@ -50,7 +51,8 @@
                        {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
                        {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
                        {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
-                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'}]);
+                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
+                       {field:'ID',title:'ID',type:'int',sort:true,width:80,hidden:true,readonly:true,require:true,align:'left'}]);
             const detail = ref({
                 cnName: "#detailCnName",
                 table: "#detailTable",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue"
new file mode 100644
index 0000000..d02efd5
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue"
@@ -0,0 +1,105 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'ID',
+                footer: "Foots",
+                cnName: '妫�娴嬬嚎杞﹁疆淇℃伅',
+                name: 'baseinfo/dt_geometry_data_detectionline',
+                url: "/dt_geometry_data_detectionline/",
+                sortName: "ID"
+            });
+            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":"","skip_01":"","skip_02":"","skip_03":"","skip_04":"","skip_05":"","skip_06":"","skip_07":"","skip_08":"","skip_09":"","skip_10":"","skip_11":"","skip_12":"","skip_13":"","skip_14":"","skip_15":""});
+            const editFormOptions = ref([[{"title":"","required":true,"field":"TypeId","type":"text"},
+                               {"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"","required":true,"field":"a","type":"text"},
+                               {"title":"","required":true,"field":"b","type":"text"}],
+                              [{"title":"","required":true,"field":"c","type":"text"},
+                               {"title":"","required":true,"field":"d","type":"text"}],
+                              [{"title":"","required":true,"field":"e","type":"text"},
+                               {"title":"","required":true,"field":"f","type":"text"}],
+                              [{"title":"","required":true,"field":"g","type":"text"},
+                               {"title":"","required":true,"field":"h","type":"text"}],
+                              [{"title":"","field":"skip_01","type":"text"},
+                               {"title":"","field":"skip_02","type":"text"}],
+                              [{"title":"","field":"skip_03","type":"text"},
+                               {"title":"","field":"skip_04","type":"text"}],
+                              [{"title":"","field":"skip_05","type":"text"},
+                               {"title":"","field":"skip_06","type":"text"}],
+                              [{"title":"","field":"skip_07","type":"text"},
+                               {"title":"","field":"skip_08","type":"text"}],
+                              [{"title":"","field":"skip_09","type":"text"},
+                               {"title":"","field":"skip_10","type":"text"}],
+                              [{"title":"","field":"skip_11","type":"text"},
+                               {"title":"","field":"skip_12","type":"text"}],
+                              [{"title":"","field":"skip_13","type":"text"},
+                               {"title":"","field":"skip_14","type":"text"}],
+                              [{"title":"","field":"skip_15","type":"text"}]]);
+            const searchFormFields = ref({"TypeId":"","Description":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"},{"title":"","field":"TypeId","type":"like"}]]);
+            const columns = ref([{field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
+                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left'},
+                       {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
+                       {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
+                       {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
+                       {field:'d',title:'d',type:'float',width:110,require:true,align:'left'},
+                       {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
+                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
+                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
+                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
+                       {field:'skip_01',title:'skip_01',type:'byte',width:110,align:'left'},
+                       {field:'skip_02',title:'skip_02',type:'byte',width:110,align:'left'},
+                       {field:'skip_03',title:'skip_03',type:'byte',width:110,align:'left'},
+                       {field:'skip_04',title:'skip_04',type:'byte',width:110,align:'left'},
+                       {field:'skip_05',title:'skip_05',type:'byte',width:110,align:'left'},
+                       {field:'skip_06',title:'skip_06',type:'byte',width:110,align:'left'},
+                       {field:'skip_07',title:'skip_07',type:'byte',width:110,align:'left'},
+                       {field:'skip_08',title:'skip_08',type:'byte',width:110,align:'left'},
+                       {field:'skip_09',title:'skip_09',type:'byte',width:110,align:'left'},
+                       {field:'skip_10',title:'skip_10',type:'byte',width:110,align:'left'},
+                       {field:'skip_11',title:'skip_11',type:'byte',width:110,align:'left'},
+                       {field:'skip_12',title:'skip_12',type:'byte',width:110,align:'left'},
+                       {field:'skip_13',title:'skip_13',type:'byte',width:110,align:'left'},
+                       {field:'skip_14',title:'skip_14',type:'byte',width:110,align:'left'},
+                       {field:'skip_15',title:'skip_15',type:'byte',width:110,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_detail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_detail.vue"
new file mode 100644
index 0000000..9db2bc2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_detail.vue"
@@ -0,0 +1,62 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/tomes/dt_mes_detail.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wcs/tomes/dt_mes_detail.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'id',
+                footer: "Foots",
+                cnName: '宸ュ崟瀛愯〃',
+                name: 'tomes/dt_mes_detail',
+                url: "/dt_mes_detail/",
+                sortName: "id"
+            });
+            const editFormFields = ref({});
+            const editFormOptions = ref([]);
+            const searchFormFields = ref({});
+            const searchFormOptions = ref([]);
+            const columns = ref([{field:'mes_detail_id',title:'宸ュ崟鏄庣粏ID',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'jobID',title:'宸ュ崟缂栧彿',type:'string',width:110,align:'left',sort:true},
+                       {field:'heatID',title:'鐐変唬鍙�',type:'string',width:110,align:'left'},
+                       {field:'billetID',title:'閽㈠澂鍙�',type:'int',width:110,align:'left'},
+                       {field:'SN',title:'杞﹁疆SN鍙�',type:'string',width:110,align:'left'},
+                       {field:'heatBatchID',title:'鐑鐞嗘壒娆�',type:'string',width:110,align:'left'},
+                       {field:'mes_headID',title:'宸ュ崟澶磋〃ID',type:'guid',width:110,hidden:true,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_head.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_head.vue"
new file mode 100644
index 0000000..f854086
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/dt_mes_head.vue"
@@ -0,0 +1,79 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/tomes/dt_mes_head.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wcs/tomes/dt_mes_head.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'ID',
+                footer: "Foots",
+                cnName: '宸ュ崟澶磋〃',
+                name: 'tomes/dt_mes_head',
+                url: "/dt_mes_head/",
+                sortName: "ID"
+            });
+            const editFormFields = ref({});
+            const editFormOptions = ref([]);
+            const searchFormFields = ref({});
+            const searchFormOptions = ref([]);
+            const columns = ref([{field:'mes_id',title:'mes_id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'workOrder',title:'宸ヤ綔浠ゅ彿',type:'string',width:110,align:'left',sort:true},
+                       {field:'jobID',title:'宸ュ崟缂栧彿',type:'string',width:110,align:'left'},
+                       {field:'reqID',title:'闇�姹傚崟鍙�',type:'string',width:110,align:'left'},
+                       {field:'reqIDLineNo',title:'闇�姹傚崟鍙疯鍙�',type:'string',width:110,align:'left'},
+                       {field:'materialCode',title:'鐗╂枡缂栫爜',type:'string',width:110,align:'left'},
+                       {field:'drawingNo',title:'鍥惧彿',type:'string',width:110,align:'left'},
+                       {field:'drawingNoVer',title:'鎶�鏈姸鎬�',type:'string',width:110,align:'left'},
+                       {field:'productName',title:'浜у搧鍚嶇О',type:'string',width:110,align:'left'},
+                       {field:'processCode',title:'宸ュ崟绫诲瀷',bind: { key: 'WorkTypes' },type:'string',width:110,align:'left'},
+                       {field:'quantity',title:'璁″垝鏁伴噺',type:'int',width:110,align:'left'},
+                       {field:'finishNum',title:'瀹屾垚鏁伴噺',type:'int',width:110,align:'left'},
+                       {field:'skip_op_1',title:'瑙嗚妫�娴�1',type:'bool',bind:{ key:'skip_op_Status',data:[]},width:110,require:true,align:'left'},
+                       {field:'skip_op_2',title:'瑙嗚妫�娴�2',type:'bool',bind:{ key:'skip_op_Status',data:[]},width:110,require:true,align:'left'},
+                       {field:'skip_op_3',title:'閾炬潯鏈�',type:'bool',bind:{ key:'skip_op_Status',data:[]},width:110,require:true,align:'left'},
+                       {field:'area',title:'鍏ュ簱搴撳尯',type:'string',width:110,align:'left'},
+                       {field:'typeID',title:'杞瀷浠g爜',type:'string',width:110,align:'left'},
+                       {field:'stackNoRange',title:'鎵撳寘鏁伴噺',type:'int',width:110,align:'left'},
+                       {field:'maxDiameterDiff',title:'杞緞鍋忓樊',type:'decimal',width:110,align:'left'},
+                       {field:'expectedStartTime',title:'璁″垝寮�濮嬫椂闂�',type:'datetime',width:150,align:'left',sort:true},
+                       {field:'expectedFinishTime',title:'璁″垝瀹屾垚鏃堕棿',type:'datetime',width:150,align:'left',sort:true},
+                       {field:'CreateTime',title:'鍒涘缓鏃堕棿',type:'datetime',width:150,align:'left',sort:true},
+                       {field:'creator',title:'鍒涘缓鑰�',type:'string',width:100,align:'left'},
+                       {field:'productDesc',title:'浜у搧鎻忚堪',type:'string',width:180,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs"
index 57025f3..b7cf511 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs"
@@ -42,11 +42,11 @@
                 interface_name = name,
                 interface_message = message,
             };
-            dt_Interfacerecord_pcs data = null;
-            if (interfacerecord.interface_message != "")
-                data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && (interfacerecord.interface_createtime.Ticks - x.interface_createtime.Ticks >= 5) && x.interface_paradata.Contains(id));//瓒呰繃5绉掕褰�
-            //data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && x.interface_createtime.Day == DateTime.Now.Day && x.interface_paradata.Contains(id));
-            if (data == null)
+            //dt_Interfacerecord_pcs data = null;
+            //if (interfacerecord.interface_message != "")
+            //    data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && (interfacerecord.interface_createtime.Ticks - x.interface_createtime.Ticks >= 5) && x.interface_paradata.Contains(id));//瓒呰繃5绉掕褰�
+            ////data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && x.interface_createtime.Day == DateTime.Now.Day && x.interface_paradata.Contains(id));
+            //if (data == null)
                 interfacerecord_PcsRepository.Add(interfacerecord, true);
         }
     }
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"
index 5505f75..db867e5 100644
--- "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"
@@ -9,19 +9,14 @@
     public class Mes_WorkInfo
     {
         /// <summary>
-        /// 宸ヤ綔浠ゅ彿
-        /// </summary>
-        public string workOrder { get; set; } 
-
-        /// <summary>
-        /// 宸ュ崟绫诲瀷
+        /// 宸ュ崟绫诲瀷 (17-鏈哄姞宸� 28-妫�娴嬬嚎)
         /// </summary>
         public string processCode { get; set; }
 
         /// <summary>
-        /// 瀹屾垚鏁伴噺
+        /// 宸ヤ綔浠ゅ彿
         /// </summary>
-        public int finishNum { get; set; }
+        public string workOrder { get; set; }
 
         /// <summary>
         /// 宸ュ崟鍙�
@@ -66,7 +61,7 @@
         /// <summary>
         /// 璁″垝鏁伴噺
         /// </summary>
-        public int? quantity { get; set; }
+        public int quantity { get; set; }
 
         /// <summary>
         /// 杞瀷浠g爜
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs"
index 96e0d5f..02482b4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs"
@@ -13,13 +13,12 @@
 
 namespace WIDESEA_Entity.DomainModels
 {
-    [Entity(TableCnName = "杞﹁疆淇℃伅",TableName = "dt_geometry_data")]
+    [Entity(TableCnName = "鏈哄姞宸ヨ溅杞俊鎭�",TableName = "dt_geometry_data")]
     public partial class dt_geometry_data:BaseEntity
     {
         /// <summary>
        ///
        /// </summary>
-       [Key]
        [Display(Name ="TypeId")]
        [Column(TypeName="int")]
        [Editable(true)]
@@ -37,7 +36,7 @@
        public string Description { get; set; }
 
        /// <summary>
-       ///
+       ///a
        /// </summary>
        [Display(Name ="a")]
        [Column(TypeName="float")]
@@ -46,7 +45,7 @@
        public float a { get; set; }
 
        /// <summary>
-       ///
+       ///b
        /// </summary>
        [Display(Name ="b")]
        [Column(TypeName="float")]
@@ -55,7 +54,7 @@
        public float b { get; set; }
 
        /// <summary>
-       ///
+       ///c
        /// </summary>
        [Display(Name ="c")]
        [Column(TypeName="float")]
@@ -64,7 +63,7 @@
        public float c { get; set; }
 
        /// <summary>
-       ///
+       ///d
        /// </summary>
        [Display(Name ="d")]
        [Column(TypeName="float")]
@@ -73,7 +72,7 @@
        public float d { get; set; }
 
        /// <summary>
-       ///
+       ///e
        /// </summary>
        [Display(Name ="e")]
        [Column(TypeName="float")]
@@ -82,7 +81,7 @@
        public float e { get; set; }
 
        /// <summary>
-       ///
+       ///f
        /// </summary>
        [Display(Name ="f")]
        [Column(TypeName="float")]
@@ -91,7 +90,7 @@
        public float f { get; set; }
 
        /// <summary>
-       ///
+       ///g
        /// </summary>
        [Display(Name ="g")]
        [Column(TypeName="float")]
@@ -100,7 +99,7 @@
        public float g { get; set; }
 
        /// <summary>
-       ///
+       ///h
        /// </summary>
        [Display(Name ="h")]
        [Column(TypeName="float")]
@@ -108,6 +107,15 @@
        [Required(AllowEmptyStrings=false)]
        public float h { get; set; }
 
+       /// <summary>
+       ///
+       /// </summary>
+       [Key]
+       [Display(Name ="ID")]
+       [Column(TypeName="int")]
+       [Required(AllowEmptyStrings=false)]
+       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/BaseInfo/dt_geometry_data_detectionline.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs"
new file mode 100644
index 0000000..e6671fb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs"
@@ -0,0 +1,242 @@
+/*
+ *浠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_geometry_data_detectionline")]
+    public partial class dt_geometry_data_detectionline:BaseEntity
+    {
+        /// <summary>
+       ///
+       /// </summary>
+       [Key]
+       [Display(Name ="ID")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int ID { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="TypeId")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int TypeId { get; set; }
+
+       /// <summary>
+       ///鍥惧彿
+       /// </summary>
+       [Display(Name ="鍥惧彿")]
+       [MaxLength(100)]
+       [Column(TypeName="nvarchar(100)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string Description { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="a")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float a { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="b")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float b { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="c")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float c { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="d")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float d { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="e")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float e { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="f")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float f { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="g")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float g { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="h")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float h { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_01")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_01 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_02")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_02 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_03")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_03 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_04")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_04 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_05")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_05 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_06")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_06 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_07")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_07 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_08")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_08 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_09")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_09 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_10")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_10 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_11")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_11 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_12")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_12 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_13")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_13 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_14")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_14 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_15")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_15 { 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/BaseInfo/partial/dt_geometry_data_detectionline.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.cs"
new file mode 100644
index 0000000..3acae4c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.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_geometry_data_detectionline
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹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_areainfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_areainfo.cs"
new file mode 100644
index 0000000..46b36a0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_areainfo.cs"
@@ -0,0 +1,108 @@
+/*
+ *浠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_areainfo")]
+    public partial class dt_areainfo:BaseEntity
+    {
+        /// <summary>
+       ///搴撳尯ID
+       /// </summary>
+       [Key]
+       [Display(Name ="搴撳尯ID")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int area_code { get; set; }
+
+       /// <summary>
+       ///鍚嶇О
+       /// </summary>
+       [Display(Name ="鍚嶇О")]
+       [MaxLength(50)]
+       [Column(TypeName="nvarchar(50)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string area_name { get; set; }
+
+       /// <summary>
+       ///鎻忚堪
+       /// </summary>
+       [Display(Name ="鎻忚堪")]
+       [MaxLength(250)]
+       [Column(TypeName="nvarchar(250)")]
+       [Editable(true)]
+       public string area_des { get; set; }
+
+       /// <summary>
+       ///鍒涘缓鑰�
+       /// </summary>
+       [Display(Name ="鍒涘缓鑰�")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string area_creator { get; set; }
+
+       /// <summary>
+       ///鍒涘缓鏃堕棿
+       /// </summary>
+       [Display(Name ="鍒涘缓鏃堕棿")]
+       [Column(TypeName="datetime")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public DateTime area_datetime { get; set; }
+
+       /// <summary>
+       ///缁戝畾绫诲瀷
+       /// </summary>
+       [Display(Name ="缁戝畾绫诲瀷")]
+       [MaxLength(100)]
+       [Column(TypeName="nvarchar(100)")]
+       [Required(AllowEmptyStrings=false)]
+       public string area_bindType { get; set; }
+
+       /// <summary>
+       ///鏈�澶ф暟閲�
+       /// </summary>
+       [Display(Name ="鏈�澶ф暟閲�")]
+       [Column(TypeName="int")]
+       public int? area_max { get; set; }
+
+       /// <summary>
+       ///鏈�灏忔暟閲�
+       /// </summary>
+       [Display(Name ="鏈�灏忔暟閲�")]
+       [Column(TypeName="int")]
+       public int? area_minimum { get; set; }
+
+       /// <summary>
+       ///澶囩敤鍖�1
+       /// </summary>
+       [Display(Name ="澶囩敤鍖�1")]
+       [MaxLength(50)]
+       [Column(TypeName="nvarchar(50)")]
+       public string area_spare1 { get; set; }
+
+       /// <summary>
+       ///澶囩敤鍖�2
+       /// </summary>
+       [Display(Name ="澶囩敤鍖�2")]
+       [MaxLength(50)]
+       [Column(TypeName="nvarchar(50)")]
+       public string area_spare2 { 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/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 b8473c3..3c02acd 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"
@@ -36,13 +36,13 @@
         public string stationCode { get; set; }
 
         /// <summary>
-        ///鐗╂枡绫诲瀷
+        ///鍥惧彿/鐗╂枡绫诲瀷
         /// </summary>
         [Display(Name = "鐗╂枡绫诲瀷")]
         [MaxLength(25)]
         [Column(TypeName = "nvarchar(25)")]
         //[Editable(true)]
-        public string? stationType { get; set; }
+        public string stationType { get; set; }
 
         /// <summary>
         ///鍖哄煙
@@ -118,14 +118,14 @@
         /// </summary>
         [Display(Name = "琛�")]
         [Column(TypeName = "int")]
-        public int? line { get; set; }
+        public int line { get; set; }
 
         /// <summary>
         ///鍒�
         /// </summary>
         [Display(Name = "鍒�")]
         [Column(TypeName = "int")]
-        public int? column { get; set; }
+        public int column { get; set; }
 
         /// <summary>
         ///宸ュ崟缂栧彿
@@ -140,7 +140,9 @@
         ///鐐夊彿
         /// </summary>
         [Display(Name = "鐐夊彿")]
-        [Column(TypeName = "int")]
-        public int? heatNumber { get; set; }
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        public string 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/System/partial/dt_areainfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_areainfo.cs"
new file mode 100644
index 0000000..c4017d1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_areainfo.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_areainfo
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹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_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"
index d7b76e5..9731b2a 100644
--- "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"
@@ -130,7 +130,7 @@
         [Display(Name = "宸ュ崟鏁伴噺")]
         [Column(TypeName = "int")]
         [Editable(true)]
-        public int? quantity { get; set; }
+        public int quantity { get; set; }
 
         /// <summary>
         ///杞瀷浠g爜
@@ -186,6 +186,36 @@
         [Column(TypeName = "nvarchar(40)")]
         public string creator { get; set; }
 
-        //public string processCode { get; set; }
+        /// <summary>
+        ///搴撳尯
+        /// </summary>
+        [Display(Name = "搴撳尯")]
+        [MaxLength(15)]
+        [Column(TypeName = "nvarchar(15)")]
+        public string area { get; set; }
+
+        /// <summary>
+        ///瑙嗚妫�娴嬭澶�1
+        /// </summary>
+        [Display(Name = "瑙嗚妫�娴嬭澶�1")]
+        [Column(TypeName = "bit")]
+        [Editable(true)]
+        public bool skip_op_1 { get; set; }
+
+        /// <summary>
+        ///瑙嗚妫�娴嬭澶�2
+        /// </summary>
+        [Display(Name = "瑙嗚妫�娴嬭澶�2")]
+        [Column(TypeName = "bit")]
+        [Editable(true)]
+        public bool skip_op_2 { get; set; }
+
+        /// <summary>
+        ///閾炬潯鏈�
+        /// </summary>
+        [Display(Name = "閾炬潯鏈�")]
+        [Column(TypeName = "bit")]
+        [Editable(true)]
+        public bool skip_op_3 { 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/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs"
new file mode 100644
index 0000000..5a051cb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs"
@@ -0,0 +1,16 @@
+using WIDESEA_Entity.MappingConfiguration;
+using WIDESEA_Entity.DomainModels;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace WIDESEA_Entity.MappingConfiguration
+{
+    public class dt_geometry_data_detectionlineMapConfig : EntityMappingConfiguration<dt_geometry_data_detectionline>
+    {
+        public override void Map(EntityTypeBuilder<dt_geometry_data_detectionline>
+        builderTable)
+        {
+          //b.Property(x => x.StorageName).HasMaxLength(45);
+        }
+     }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs"
index 3a12737..41e68a9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs"
@@ -41,17 +41,19 @@
                     if (!Release) throw new Exception("妗佹灦鏈厑璁歌繘鍏ワ紒");
                     if (!Gantry_Out_of_Area) throw new Exception("妗佹灦鍦ㄥ尯鍩熷唴锛�");
                 }
-                else if (MethodName == "EnteriorLeav")//杩涘叆绂诲紑鍖哄煙
+                else if (MethodName == "EnteriorLeav")//杩涘叆/绂诲紑鍖哄煙
                 {
                     Gantry_client.WriteByOrder("W_AreaNr", (Int16)requestin.AreaNr, numbers[requestin.AreaNr - 1]);//鍖哄煙鍙�
                     if (requestin.Type == 1)
                     {
+                        Gantry_client.WriteByOrder("W_AGV_Leaving", false, numbers[requestin.AreaNr - 1]);//姝e湪绂诲紑
                         Gantry_client.WriteByOrder("W_AGV_Entering", true, numbers[requestin.AreaNr - 1]);//姝e湪杩涘叆
                         var Area_Occupied_by_AGV = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Area_Occupied_by_AGV").First(), Gantry_client);//妗佹灦鍙嶉AGV鍗犱綅淇″彿
                         if (!Area_Occupied_by_AGV) throw new Exception("妗佹灦鏈弽棣圓GV鍗犱綅淇″彿");
                     }
                     else if (requestin.Type == 2)
                     {
+                        Gantry_client.WriteByOrder("W_AGV_Entering", false, numbers[requestin.AreaNr - 1]);//姝e湪杩涘叆
                         Gantry_client.WriteByOrder("W_AGV_Leaving", true, numbers[requestin.AreaNr - 1]);//姝e湪绂诲紑
                         var Area_Occupied_by_AGV = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Area_Occupied_by_AGV").First(), Gantry_client);//妗佹灦鍙嶉AGV鍗犱綅淇″彿
                         if (Area_Occupied_by_AGV) throw new Exception("妗佹灦鏈弽棣圓GV绂诲紑淇″彿");
@@ -72,6 +74,7 @@
             catch (Exception ex)
             {
                 respone.Message = ex.Message;
+                return respone;
             }
             return respone;
         }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs"
index 84d6f6f..54e0f69 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs"
@@ -19,8 +19,11 @@
         Idt_plcinfoheadRepository repository = new dt_plcinfoheadRepository(Context);
         Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context);
         Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
+        Idt_geometry_data_detectionlineRepository detectionlineRepository = new dt_geometry_data_detectionlineRepository(Context);
         Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
-
+        Idt_mes_detailRepository mes_DetailRepository = new dt_mes_detailRepository(Context);
+        Idt_mes_headRepository mes_HeadRepository = new dt_mes_headRepository(Context);
+        Idt_patternRepository patternRepository = new dt_patternRepository(Context);
         #region 鏌ヨ杞﹁疆鏁版嵁
         public void QueryWheeldata(PLCClient client)
         {
@@ -35,37 +38,54 @@
                     if ((byte)on == 1)
                     {
                         var wp_type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_type").First(), client);
-                        var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
-                        if (geometry == null)
+                        if (name != "杈婇亾涓婃枡鏌ヨ杞﹁疆")
                         {
-                            //DBExtension.Write(details.Where(x => x.plcdetail_name == "W_i_status").First(), client, (Int16)2);
-                            //1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹�
-                            client.WriteByOrder("W_i_status", (byte)2, name);
-                            //灞忚斀宸ヨ壓(灞忚斀瑙嗚妫�娴�/灞忚斀娑傛补);
-                            //client.WriteByOrder("W_i_skip_op", "1", name);
-                            client.WriteByOrder("R_oi_on", (byte)0, name);
+                            var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
+                            if (geometry == null)
+                            {
+                                //DBExtension.Write(details.Where(x => x.plcdetail_name == "W_i_status").First(), client, (Int16)2);
+                                //1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹�
+                                client.WriteByOrder("W_i_status", (byte)2, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                            }
+                            else
+                            {
+                                //1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹�
+                                client.WriteByOrder("W_i_status", (byte)1, name);
+                                client.WriteByOrder("W_i_parameter_a", (float)geometry.a, name);
+                                client.WriteByOrder("W_i_parameter_b", (float)geometry.b, name);
+                                client.WriteByOrder("W_i_parameter_c", (float)geometry.c, name);
+                                client.WriteByOrder("W_i_parameter_d", (float)geometry.d, name);
+                                client.WriteByOrder("W_i_parameter_e", (float)geometry.e, name);
+                                client.WriteByOrder("W_i_parameter_f", (float)geometry.f, name);
+                                client.WriteByOrder("W_i_parameter_g", (float)geometry.g, name);
+                                client.WriteByOrder("W_i_parameter_h", (float)geometry.h, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                            }
                         }
                         else
                         {
-                            //1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹�
-                            client.WriteByOrder("W_i_status", (byte)1, name);
-                            client.WriteByOrder("W_i_parameter_a", (float)geometry.a, name);
-                            client.WriteByOrder("W_i_parameter_b", (float)geometry.b, name);
-                            client.WriteByOrder("W_i_parameter_c", (float)geometry.c, name);
-                            client.WriteByOrder("W_i_parameter_d", (float)geometry.d, name);
-                            client.WriteByOrder("W_i_parameter_e", (float)geometry.e, name);
-                            client.WriteByOrder("W_i_parameter_f", (float)geometry.f, name);
-                            client.WriteByOrder("W_i_parameter_g", (float)geometry.g, name);
-                            client.WriteByOrder("W_i_parameter_h", (float)geometry.h, name);
-                            //灞忚斀宸ヨ壓(灞忚斀瑙嗚妫�娴�/灞忚斀娑傛补)
-                            if (name != "杈婇亾涓婃枡鏌ヨ杞﹁疆")
+                            var geometry = detectionlineRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
+                            if (geometry == null)
                             {
-                                client.WriteByOrder("W_i_skip_op_SJ1", (byte)1, name);//灞忚斀瑙嗚妫�娴嬭澶�1
-                                client.WriteByOrder("W_i_skip_op_SJ2", (byte)1, name);//灞忚斀瑙嗚妫�娴嬭澶�2
-                                client.WriteByOrder("W_i_skip_op_LT", (byte)1, name);//灞忚斀閾炬潯鏈�
+                                client.WriteByOrder("W_i_status", (byte)2, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
                             }
-                            client.WriteByOrder("R_oi_on", (byte)0, name);
+                            else
+                            {
+                                client.WriteByOrder("W_i_status", (byte)1, name);
+                                client.WriteByOrder("W_i_parameter_a", (float)geometry.a, name);
+                                client.WriteByOrder("W_i_parameter_b", (float)geometry.b, name);
+                                client.WriteByOrder("W_i_parameter_c", (float)geometry.c, name);
+                                client.WriteByOrder("W_i_parameter_d", (float)geometry.d, name);
+                                client.WriteByOrder("W_i_parameter_e", (float)geometry.e, name);
+                                client.WriteByOrder("W_i_parameter_f", (float)geometry.f, name);
+                                client.WriteByOrder("W_i_parameter_g", (float)geometry.g, name);
+                                client.WriteByOrder("W_i_parameter_h", (float)geometry.h, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                            }
                         }
+
                     }
                 }
             }
@@ -89,29 +109,89 @@
                     var on = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_oi_on").First(), client);
                     if ((byte)on == 1)
                     {
-                        var wp_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_id").First(), client);
-                        //闇�娣诲姞鏌ヨ杞﹁疆SN鍙疯鍗曢�昏緫   闇�娣诲姞鍏ュ簱妯″紡鍒ゆ柇锛屾墜鍔ㄥ叆搴撴ā寮忛渶浜哄伐娣诲姞鍏ュ簱搴撳尯锛屽惁鍒欐姤璀�
-
-
-                        var wp_type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_type").First(), client);
-                        var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
-                        if (geometry == null)
+                        //var wp_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_id").First(), client).ToString();
+                        var wp_id = client.ReadByOrder<string>("R_o_wp_id", name);
+                        var mes_Detail = mes_DetailRepository.FindFirst(x => x.SN == wp_id);
+                        if (mes_Detail == null)
                         {
-                            //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
-                            client.WriteByOrder("W_i_status", (Int16)2, name);
-                            client.WriteByOrder("R_oi_on", (Int16)0, name);
+                            client.WriteByOrder("W_i_status", (byte)2, name);
+                            client.WriteByOrder("R_oi_on", (byte)0, name);
+                            continue;
+                        }
+                        var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == mes_Detail.jobID);
+                        if (mes_Head == null)
+                        {
+                            client.WriteByOrder("W_i_status", (byte)2, name);
+                            client.WriteByOrder("R_oi_on", (byte)0, name);
+                            continue;
+                        }
+
+                        if (name != "杈婇亾涓婃枡鏌ヨ璁㈠崟")
+                        {
+                            //闇�娣诲姞鏌ヨ杞﹁疆SN鍙疯鍗曢�昏緫   闇�娣诲姞鍏ュ簱妯″紡鍒ゆ柇锛屾墜鍔ㄥ叆搴撴ā寮忛渶浜哄伐娣诲姞鍏ュ簱搴撳尯锛屽惁鍒欐姤璀�
+                            var pattern = patternRepository.FindFirst(x => x.pattern_name == "鍏ュ簱妯″紡").pattern_state;
+                            if (pattern != 1 && string.IsNullOrEmpty(mes_Head.area))
+                            {
+                                client.WriteByOrder("W_i_status", (byte)4, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                                continue;
+                            }
+                            var wp_type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_type").First(), client);
+                            //var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type);
+                            var geometry = dataRepository.FindFirst(x => x.Description == mes_Head.drawingNo);
+                            if (geometry == null)
+                            {
+                                //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
+                                client.WriteByOrder("W_i_status", (byte)2, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                                continue;
+                            }
+                            else
+                            {
+                                //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
+                                client.WriteByOrder("W_i_status", (byte)1, name);
+                                client.WriteByOrder("W_i_job_id", mes_Detail.jobID, name);
+                                client.WriteByOrder("W_i_drawing_id", mes_Head.drawingNo, name);
+                                client.WriteByOrder("W_i_heat_id", mes_Detail.heatID, name);
+                                //client.WriteByOrder("W_i_sourceheat", "", name);
+                                client.WriteByOrder("W_i_batch_id", mes_Detail.heatBatchID, name);
+
+                                //灞忚斀宸ヨ壓(灞忚斀瑙嗚妫�娴�/灞忚斀娑傛补)
+                                //if (name != "杈婇亾涓婃枡鏌ヨ杞﹁疆")
+                                //{
+                                client.WriteByOrder("W_i_skip_op_SJ1", mes_Head.skip_op_1, name);//灞忚斀瑙嗚妫�娴嬭澶�1
+                                client.WriteByOrder("W_i_skip_op_SJ2", mes_Head.skip_op_2, name);//灞忚斀瑙嗚妫�娴嬭澶�2
+                                client.WriteByOrder("W_i_skip_op_LT", mes_Head.skip_op_3, name);//灞忚斀閾炬潯鏈�
+                                //}
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+
+                            }
                         }
                         else
                         {
-                            //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
-                            client.WriteByOrder("W_i_status", (Int16)1, name);
-                            //client.WriteByOrder("W_i_job_id", "", name);
-                            //client.WriteByOrder("W_i_drawing_id", "", name);
-                            //client.WriteByOrder("W_i_heat_id", "", name);
-                            //client.WriteByOrder("W_i_sourceheat", "", name);
-                            //client.WriteByOrder("W_i_batch_id", "", name);
-                            client.WriteByOrder("R_oi_on", (Int16)0, name);
+                            var geometry = dataRepository.FindFirst(x => x.Description == mes_Head.drawingNo);
+                            if (geometry == null)
+                            {
+                                //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
+                                client.WriteByOrder("W_i_status", (byte)2, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                                continue;
+                            }
+                            else
+                            {
+                                //1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨嬶紝4-鎵嬪姩鍏ュ簱妯″紡浜哄伐鏈�夋嫨搴撳尯
+                                client.WriteByOrder("W_i_status", (byte)1, name);
+                                client.WriteByOrder("W_i_job_id", mes_Detail.jobID, name);
+                                client.WriteByOrder("W_i_drawing_id", mes_Head.drawingNo, name);
+                                client.WriteByOrder("W_i_heat_id", mes_Detail.heatID, name);
+                                //client.WriteByOrder("W_i_sourceheat", "", name);
+                                client.WriteByOrder("W_i_batch_id", mes_Detail.heatBatchID, name);
+                                client.WriteByOrder("R_oi_on", (byte)0, name);
+                            }
                         }
+
+
+
                     }
                 }
             }
@@ -122,7 +202,7 @@
         }
         #endregion
 
-        #region 涓嬫枡浣嶄氦浜�
+        #region 涓嬫枡浣嶄氦浜�   锛侊紒锛佷笅鏂欓�昏緫闇�淇敼
         public void Layofflevel(PLCClient client)
         {
             try
@@ -140,46 +220,178 @@
                     var Request = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Request_Load").First(), client);
                     if (!Request) continue;
 
-                    List<string> StationCodes = new List<string>() { "X01001001", "X01001002", "X01001003" };
-                    if (name == "2鍗曞厓涓嬫枡鍖�")
-                        StationCodes = new List<string>() { "X02001001", "X02001002", "X02001003" };
-                    if (name == "3鍗曞厓涓嬫枡鍖�")
-                        StationCodes = new List<string>() { "X03001001", "X03001002" };
+                    var Stations = stationinfoRepository.Find(x => x.area == PipelineJob.area_code(name));
+                    foreach (var station in Stations)
+                    {
+                        if (!station.enable)
+                            client.WriteByOrder("W_Enabl_Load", false, name);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆
+                    }
+                    var NGStation = "X01001003";
+                    if (name == "2鍗曞厓涓嬫枡鍖�") NGStation = "X02001003";
+                    if (name == "3鍗曞厓涓嬫枡鍖�") NGStation = "X03001002";
                     var Wheel_Type = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_Type").First(), client);//杞﹁疆绫诲瀷
                     var Wheel_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_id").First(), client).ToString();//杞﹁疆SN鍙�
-                    for (int i = 0; i < StationCodes.Count - 1; i++)
+
+                    var mes_Detail = mes_DetailRepository.FindFirst(x => x.SN == Wheel_id);
+                    var mes_Head = mes_HeadRepository.FindFirst(x => x.jobID == mes_Detail.jobID);
+
+                    var PartStatus = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok
+                    if (PartStatus == 1)
                     {
-                        var PartStatus = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok
-                        string NG = StationCodes[StationCodes.Count - 1];//NG璐т綅
-                        var station = stationinfoRepository.FindFirst(x => x.stationCode == StationCodes[i] && x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity < 5);
-                        if (station == null) continue;
-                        var Pipelinedetails = plcRepository.Find(x => x.plcdetail_iotype == Pipelineplc.plcinfo_iotyep && x.plcdetail_number == StationCodes[i]).ToList();
-                        var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃�
-                        if (PalletSignal == 1)
+                        var Stationinfo = Stations
+                        .Where(x => x.enable
+                        && x.stationCode != NGStation
+                        && x.location_state == LocationStateEnum.Stroge.ToString()
+                        && x.quantity < 5
+                        && x.stationType == PipelineJob.QueryMateriel(Wheel_Type)
+                        && x.Number == mes_Detail.jobID
+                        && x.heatNumber == mes_Detail.heatID).FirstOrDefault();
+                        if (Stationinfo == null)
+                            Stationinfo = Stations.Where(x => x.enable && x.stationCode != NGStation && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 0).FirstOrDefault();
+                        if (Stationinfo != null)
                         {
-                            if (PartStatus == 1 && NG != station.stationCode)
+                            var Pipelinedetails = plcRepository.Find(x => x.plcdetail_iotype == Pipelineplc.plcinfo_iotyep && x.plcdetail_number == Stationinfo.stationCode).ToList();
+                            var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃�
+                            if (PalletSignal == 1)
                             {
-                                client.WriteByOrder("W_AreaNr", (Int16)i + 1, name);//鍖哄煙璐т綅鍙�
-                                client.WriteByOrder("W_IndexNr", (Int16)station.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
+                                var SNS = Stationinfo.bindSN.Split(",");
+                                List<string> list = new List<string>();
+                                foreach (var SN in SNS)
+                                {
+                                    if (!string.IsNullOrEmpty(SN))
+                                        list.Add(SN);
+                                }
+                                //缂撳瓨鏋朵笂杞﹁疆鏁伴噺涓嶴N鍙锋暟閲忎笉涓�鑷�
+                                if (list.Count != Stationinfo.quantity)
+                                {
+                                    Stationinfo.location_state = LocationStateEnum.Abnormal.ToString();
+                                    stationinfoRepository.Update(Stationinfo, true);
+                                    //鍐欏叆妗佹灦鎶ヨ淇″彿
+                                    throw new Exception("涓嬫枡浣嶈溅杞暟閲忎笌SN鍙锋暟閲忎笉涓�鑷达紝涓嬫枡浣嶇紪鍙凤細" + Stationinfo.stationCode);
+                                }
+                                var area = Convert.ToInt16(Stationinfo.stationCode.Substring(Stationinfo.stationCode.Length - 1, 1));
+                                client.WriteByOrder("W_AreaNr", (Int16)area, name);//鍖哄煙璐т綅鍙�
+                                client.WriteByOrder("W_IndexNr", (Int16)Stationinfo.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
+                                client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏)
+                                client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽
+                                return;
                             }
-                            else if (PartStatus == 2 && NG == station.stationCode)
-                            {
-                                client.WriteByOrder("W_AreaNr", (Int16)i + 1, name);//鍖哄煙璐т綅鍙�
-                                client.WriteByOrder("W_IndexNr", (Int16)station.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
-                            }
-                            client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏)
-                            client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽
                         }
                     }
+                    else if (PartStatus == 2)
+                    {
+                        var Stationinfo = Stations
+                        .Where(x => x.enable
+                        && x.stationCode == NGStation
+                        && x.location_state == LocationStateEnum.Stroge.ToString()
+                        && x.quantity < 5
+                        && x.stationType == PipelineJob.QueryMateriel(Wheel_Type)
+                        && x.Number == mes_Detail.jobID
+                        && x.heatNumber == mes_Detail.heatID).FirstOrDefault();
+                        if (Stationinfo != null)
+                        {
+                            var Pipelinedetails = plcRepository.Find(x => x.plcdetail_iotype == Pipelineplc.plcinfo_iotyep && x.plcdetail_number == Stationinfo.stationCode).ToList();
+                            var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃�
+                            if (PalletSignal == 1)
+                            {
+                                var SNS = Stationinfo.bindSN.Split(",");
+                                List<string> list = new List<string>();
+                                foreach (var SN in SNS)
+                                {
+                                    if (!string.IsNullOrEmpty(SN))
+                                        list.Add(SN);
+                                }
+                                //缂撳瓨鏋朵笂杞﹁疆鏁伴噺涓嶴N鍙锋暟閲忎笉涓�鑷�
+                                if (list.Count != Stationinfo.quantity)
+                                {
+                                    Stationinfo.location_state = LocationStateEnum.Abnormal.ToString();
+                                    stationinfoRepository.Update(Stationinfo, true);
+                                    //鍐欏叆妗佹灦鎶ヨ淇″彿
+                                    throw new Exception("涓嬫枡浣嶈溅杞暟閲忎笌SN鍙锋暟閲忎笉涓�鑷达紝涓嬫枡浣嶇紪鍙凤細" + Stationinfo.stationCode);
+                                }
+                                var area = Convert.ToInt16(Stationinfo.stationCode.Substring(Stationinfo.stationCode.Length - 1, 1));
+                                client.WriteByOrder("W_AreaNr", (Int16)area, name);//鍖哄煙璐т綅鍙�
+                                client.WriteByOrder("W_IndexNr", (Int16)Stationinfo.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
+                                client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏)
+                                client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽
+                                return;
+                            }
+                        }
+                    }
+                    #region
+                    //var Stationinfo = Stations
+                    //    .Where(x => x.enable
+                    //    && x.location_state == LocationStateEnum.Stroge.ToString()
+                    //    && x.quantity < 5
+                    //    && x.stationType == PipelineJob.QueryMateriel(Wheel_Type)
+                    //    && x.Number == mes_Detail.jobID
+                    //    && x.heatNumber == mes_Detail.heatID).FirstOrDefault();
+                    //if (Stationinfo == null)
+                    //    Stationinfo = Stations.Where(x => x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 0).FirstOrDefault();
+                    //if (Stationinfo != null)
+                    //{
+
+                    //}
+
+                    //List<string> StationCodes = new List<string>() { "X01001001", "X01001002", "X01001003" };
+                    //if (name == "2鍗曞厓涓嬫枡鍖�")
+                    //    StationCodes = new List<string>() { "X02001001", "X02001002", "X02001003" };
+                    //if (name == "3鍗曞厓涓嬫枡鍖�")
+                    //    StationCodes = new List<string>() { "X03001001", "X03001002" };
+
+                    #endregion
                     var finished = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_load_finished").First(), client);//鏀炬枡瀹屾垚
-                    if (finished)
+                    var updatefinished = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "W_Storage_update").First(), client);//璐т綅鐘舵�佹洿鏂�
+                    if (!finished && updatefinished)
+                        client.WriteByOrder("W_Storage_update", false, name);//璐т綅鐘舵�佹洿鏂�
+                    if (finished && !updatefinished)
                     {
                         var AreaNr = (Int16)DBExtension.Read(details.Where(x => x.plcdetail_name == "W_AreaNr").First(), client);
-                        var station = stationinfoRepository.FindFirst(x => x.stationCode == StationCodes[AreaNr - 1]);
+                        var station = stationinfoRepository.FindFirst(x => x.stationCode.Substring(x.stationCode.Length - 1, 1) == AreaNr.ToString());
                         station.quantity = station.quantity++;
-                        stationinfoRepository.Update(station);
+                        station.bindSN = station.bindSN == string.Empty ? Wheel_id : station.bindSN + "," + Wheel_id;
+                        if (station.quantity == 0)
+                        {
+                            station.stationType = Wheel_id;
+                            station.Number = Wheel_id;
+                            station.heatNumber = Wheel_id;
+                        }
+                        var count = stationinfoRepository.Update(station);
+                        if (count < 1)
+                            throw new Exception($"涓嬫枡浣嶄俊鎭洿鏂板け璐ワ紒涓嬫枡浣嶇紪鍙凤細{station.stationCode}");
                         client.WriteByOrder("W_Storage_update", true, name);//璐т綅鐘舵�佹洿鏂�
+                        client.WriteByOrder("W_Enabl_Load", false, name);//鏄惁鍏佽
                     }
+                    #region
+                    //for (int i = 0; i < StationCodes.Count - 1; i++)
+                    //{
+                    //    var PartStatus = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok
+                    //    string NG = StationCodes[StationCodes.Count - 1];//NG璐т綅
+                    //    var station = stationinfoRepository.FindFirst(x => x.stationCode == StationCodes[i] && x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity < 5);
+                    //    if (station == null) continue;
+                    //    var Pipelinedetails = plcRepository.Find(x => x.plcdetail_iotype == Pipelineplc.plcinfo_iotyep && x.plcdetail_number == StationCodes[i]).ToList();
+                    //    var PalletSignal = (Int16)DBExtension.Read(Pipelinedetails.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃�
+                    //    if (PalletSignal == 1)
+                    //    {
+                    //        if (PartStatus == 1 && NG != station.stationCode)
+                    //        {
+                    //            client.WriteByOrder("W_AreaNr", (Int16)i + 1, name);//鍖哄煙璐т綅鍙�
+                    //            client.WriteByOrder("W_IndexNr", (Int16)station.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
+                    //            client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏)
+                    //            client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽
+                    //            return;
+                    //        }
+                    //        else if (PartStatus == 2 && NG == station.stationCode)
+                    //        {
+                    //            client.WriteByOrder("W_AreaNr", (Int16)i + 1, name);//鍖哄煙璐т綅鍙�
+                    //            client.WriteByOrder("W_IndexNr", (Int16)station.quantity + 1, name);//鎵樼洏涓婄殑绗嚑涓溅杞�
+                    //            client.WriteByOrder("W_Storage_Type", (Int16)1, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁(鏆傛椂鍙湁妯斁鎵樼洏)
+                    //            client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽
+                    //            return;
+                    //        }
+                    //    }
+                    //}
+                    #endregion
                 }
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs"
new file mode 100644
index 0000000..33c13a5
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_geometry_data_detectionlineRepository缂栧啓鎺ュ彛
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Extensions.AutofacManager;
+namespace WIDESEA_WCS.IRepositories
+{
+    public partial interface Idt_geometry_data_detectionlineRepository : IDependency,IRepository<dt_geometry_data_detectionline>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_detailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_detailRepository.cs"
new file mode 100644
index 0000000..54a6081
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_detailRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_mes_detailRepository缂栧啓鎺ュ彛
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Extensions.AutofacManager;
+namespace WIDESEA_WCS.IRepositories
+{
+    public partial interface Idt_mes_detailRepository : IDependency,IRepository<dt_mes_detail>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_headRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_headRepository.cs"
new file mode 100644
index 0000000..23db898
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/Idt_mes_headRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_mes_headRepository缂栧啓鎺ュ彛
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Extensions.AutofacManager;
+namespace WIDESEA_WCS.IRepositories
+{
+    public partial interface Idt_mes_headRepository : IDependency,IRepository<dt_mes_head>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..353d3fb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_geometry_data_detectionlineService : IService<dt_geometry_data_detectionline>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..685b5d2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜巇t_geometry_data_detectionline绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_geometry_data_detectionlineService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_detailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_detailService.cs"
new file mode 100644
index 0000000..c29cef4
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_detailService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_mes_detailService : IService<dt_mes_detail>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_headService.cs"
new file mode 100644
index 0000000..98b2f76
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Idt_mes_headService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_mes_headService : IService<dt_mes_head>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_detailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_detailService.cs"
new file mode 100644
index 0000000..8138bff
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_detailService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜巇t_mes_detail绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_mes_detailService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs"
new file mode 100644
index 0000000..cea31a9
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/Idt_mes_headService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜巇t_mes_head绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface Idt_mes_headService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
index cc62517..fe04fe0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
@@ -34,6 +34,8 @@
             //Creation.HCJCreation();
             //Creation.PLCinfodetail();
 
+            StationTask.CreateTask();
+
         }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs"
index e953d35..788360d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs"
@@ -15,6 +15,7 @@
 using WIDESEA_Core.EFDbContext;
 using WIDESEA_Core.Extensions;
 using WIDESEA_Core.FreeDB;
+using WIDESEA_Entity.DomainModels;
 using WIDESEA_WCS.IRepositories;
 using WIDESEA_WCS.Jobs;
 using WIDESEA_WCS.Repositories;
@@ -85,7 +86,7 @@
 
 
                 ///鏌ユ壘涓婃枡鍖虹殑璐т綅
-                var Stations = stationinfoRepository.Find(x => x.area == "6");
+                var Stations = stationinfoRepository.Find(x => x.area == area_code(number));
                 //缂撳瓨鏋舵湭鍚敤绂佹妗佹灦杩涘叆
                 foreach (var station in Stations)
                 {
@@ -93,12 +94,18 @@
                         Gantry_client.WriteByOrder("W_RequestUnload", false, number);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆
                 }
 
-                var Station = Stations?.Where(x => x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderBy(x => x.quantity).First();
+                var Station = Stations?.Where(x => x.enable && x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderBy(x => x.quantity).FirstOrDefault();
                 if (Station != null)
                 {
                     var SNS = Station.bindSN.Split(",");
+                    List<string> list = new List<string>();
+                    foreach (var SN in SNS)
+                    {
+                        if (!string.IsNullOrEmpty(SN))
+                            list.Add(SN);
+                    }
                     //缂撳瓨鏋朵笂杞﹁疆鏁伴噺涓嶴N鍙锋暟閲忎笉涓�鑷�
-                    if (SNS.Length != Station.quantity)
+                    if (list.Count != Station.quantity)
                     {
                         Station.location_state = LocationStateEnum.Abnormal.ToString();
                         stationinfoRepository.Update(Station, true);
@@ -114,7 +121,7 @@
                         Gantry_client.WriteByOrder("W_AreaNr", (Int16)area, number);//鍖哄煙璐т綅鍙�
                         Gantry_client.WriteByOrder("W_IndexNr", (Int16)SNS.Length, number);//鎵樼洏涓婄殑绗嚑涓溅杞�
                         Gantry_client.WriteByOrder("W_Storage_Type", (Int16)1, number); //鎵樼洏绫诲瀷1-妯斁;2-绔栨斁
-                        Gantry_client.WriteByOrder("W_Wheel_Type", (Int16)Convert.ToInt16(Station.stationType), number);//杞﹁疆绫诲瀷
+                        Gantry_client.WriteByOrder("W_Wheel_Type", (Int16)Convert.ToInt16(QueryMateriel(Station.stationType)), number);//杞﹁疆绫诲瀷
                         Gantry_client.WriteByOrder("W_Wheel_id", SNS[SNS.Length - 1], number);//杞﹁疆SN鍙�
                         Gantry_client.WriteByOrder("W_RequestUnload", true, number);
                     }
@@ -139,22 +146,47 @@
                         }
                     }
                     var finished = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Unlod_finished").First(), Gantry_client);//澶瑰彇瀹屾垚
-                    if (finished)
+                    var updatefinished = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "W_Storage_update").First(), Gantry_client);//璐т綅鐘舵�佹洿鏂�
+                    if (!finished && updatefinished)
+                        Gantry_client.WriteByOrder("W_Storage_update", false, number);//璐т綅鐘舵�佹洿鏂�
+                    if (finished && !updatefinished)
                     {
                         Station.quantity = Station.quantity - 1;
                         Station.bindSN = OperStr(SNS);
+                        if (Station.quantity <= 0)
+                        {
+                            Station.stationType = string.Empty;
+                            //Station.location_state = LocationStateEnum.Empty.ToString();
+                            Station.Number = string.Empty;
+                            Station.heatNumber = string.Empty;
+                        }
                         var count = stationinfoRepository.Update(Station, true);
                         if (count < 1)
                             throw new Exception($"涓婃枡浣嶄俊鎭洿鏂板け璐ワ紒涓婃枡浣嶇紪鍙凤細{Station.stationCode}");
                         Gantry_client.WriteByOrder("W_Storage_update", true, number);//璐т綅鐘舵�佹洿鏂�
                         Gantry_client.WriteByOrder("W_RequestUnload", false, number);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆
+                        //finished = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Unlod_finished").First(), Gantry_client);
+                        //while (finished)
+                        //{
+                        //    finished = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Unlod_finished").First(), Gantry_client);
+                        //    Gantry_client.WriteByOrder("W_Storage_update", false, number);//璐т綅鐘舵�佹洿鏂�
+                        //}
                     }
+                    //else if (!finished && updatefinished)
+                    //    Gantry_client.WriteByOrder("W_Storage_update", false, number);//璐т綅鐘舵�佹洿鏂�
+
                 }
             }
             catch (Exception ex)
             {
                 //WritePCSLog.LogAdd(requestin.AreaNr.ToString(), respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), remark, "妫�娴嬬嚎涓婃枡鍖�", ex.Message);
             }
+        }
+        public static string area_code(string area_name)
+        {
+            FreeDB freeDB = new FreeDB();
+            var areainfo = freeDB.Select<dt_areainfo>().Where(x => x.area_name == area_name).First();
+            return areainfo.area_code.ToString();
         }
 
         private string OperStr(string[] strArrty)
@@ -164,5 +196,19 @@
 
             return Newsn;
         }
+        private int QueryMateriel(string type)
+        {
+            VOLContext Context = new VOLContext();
+            Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
+            var materielinfo = dataRepository.FindFirst(x => x.Description == type);
+            return materielinfo.TypeId;
+        }
+        public static string QueryMateriel(int  typeId)
+        {
+            VOLContext Context = new VOLContext();
+            Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context);
+            var materielinfo = dataRepository.FindFirst(x => x.TypeId == typeId);
+            return materielinfo.Description;
+        }
     }
 }
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"
index 04209b7..33de533 100644
--- "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"
@@ -16,8 +16,8 @@
     public class StationTask
     {
 
-        FreeDB freeDB = new FreeDB();
-        public void CreateTask()
+        static FreeDB freeDB = new FreeDB();
+        public static void CreateTask()
         {
             VOLContext context = new VOLContext();
             Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
@@ -30,7 +30,9 @@
                 //鏍规嵁涓嬫枡鍙g殑缁戝畾淇℃伅鏌ヨ瀵瑰簲宸ュ崟锛屾娴嬫宸ュ崟鏄惁宸插畬鎴�  瀹屾垚鍗冲彲灏嗗叾閫佸叆搴�
 
                 dt_mes_head mesinfo = freeDB.Select<dt_mes_head>().Where(x => x.jobID == item.Number).First();
+                dt_geometry_data dt_Geometry_Data = freeDB.Select<dt_geometry_data>().Where(x => x.Description == mesinfo.drawingNo).First();
                 int CompeletedNum = Convert.ToInt32(mesinfo.quantity) - Convert.ToInt32(mesinfo.finishNum);
+
 
                 //鍒ゅ畾浠诲姟鏄惁宸插垱寤�//濡傚凡瀛樺湪  
                 if (freeDB.Select<dt_agvtask>().Where(x => x.agv_fromaddress == item.stationCode).Count() > 0)
@@ -38,8 +40,11 @@
 
                 if (item.quantity == 5 || CompeletedNum == 0)  //寰幆璇诲彇杞﹁疆鏁颁负5鎴栬�呰鍗曞凡瀹屾垚鏁伴噺鐨勪笅鏂欏彛    鈫掑伐鍗曚汉宸ュ叧闂殑宸ュ崟
                 {
-                    if (mesinfo.quantity <= 50)    //灏忎簬50浠剁洿鎺ュ嚭搴�
+
+
+                    if (mesinfo.quantity <= 50 || item.stationCode.Contains("3"))    //灏忎簬50浠剁洿鎺ュ嚭搴�
                     {
+                        //var station =
                         //todo 瀵绘壘鍙斁璐у鍗忔斁璐у彴
                         dt_agvtask agvtask = new dt_agvtask()
                         {
@@ -56,7 +61,7 @@
                     }
                     else
                     {
-                        dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, mesinfo, item);
+                        dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, mesinfo, item, CompeletedNum, dt_Geometry_Data.e);
 
                         if (TargetLocation != null)
                         {
@@ -88,11 +93,10 @@
         /// <param name="workinfo">璁㈠崟</param>
         /// <param name="stationinfo">涓嬫枡鍙d俊鎭�</param>
         /// <returns></returns>
-        private dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_mes_head mesinfo, dt_stationinfo stationinfo)
+        private static dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_mes_head mesinfo, dt_stationinfo stationinfo, int CompeletedNum, float e)
         {
             //鏀捐揣浣�
             dt_stationinfo TargetLocation = null;
-
 
             #region 鏍规嵁璁㈠崟鏁伴噺鏉ュ鎵惧搴斿簱鍖轰笖鍚岀墿鏂欑被鍨嬪簱浣�
             //if (workinfo.PlannedQuantity < 50)    //搴撳尯1 鐗╂枡绫诲瀷澶�
@@ -169,22 +173,73 @@
             //} 
             #endregion
 
-            //鏍规嵁璁㈠崟鐐夊彿/宸ュ崟鍙�/绫诲瀷
-            if (mesinfo.quantity >= 180)
+            var detail = freeDB.Select<dt_mes_detail>().Where(x => x.jobID == mesinfo.jobID).First();
+            dt_inventory inventory = null;
+            if (detail.heatID != null)
             {
-                //鏌ヨ搴撳瓨璁板綍涓槸鍚﹀瓨鍦ㄥ悓绫诲瀷/宸ュ崟/鐐夊彿鐨勮褰�  濡傛湁鍒欐斁缃悓涓�琛岋紝鏃犲垯瀵绘壘鏂板簱浣�
-                var detail = freeDB.Select<dt_mes_detail>().Where(x => x.jobID == mesinfo.jobID).First();
-                var inventory = freeDB.Select<dt_inventory>().Where(x => x.HeatNumber == detail.heatID /*&& x.*/).First();
-                if (inventory != null)
+                inventory = freeDB.Select<dt_inventory>().Where(x => x.HeatNumber == detail.heatID && x.FigureNumber == mesinfo.drawingNo && x.jobID == mesinfo.jobID).First();
+            }
+            else
+            {
+                inventory = freeDB.Select<dt_inventory>().Where(x => x.FigureNumber == mesinfo.drawingNo && x.jobID == mesinfo.jobID).First();
+            }
+
+            if (inventory != null)
+            {
+                var station = stationinfoRepository.FindFirst(x => x.stationCode == inventory.stationCode);
+                if (CompeletedNum <= 15 || station.area == "1")
                 {
-                    int line = Convert.ToInt16(inventory.stationCode.Split("-")[0]);
-                    TargetLocation = stationinfoRepository.Find(x => x.line == line && x.location_state == LocationStateEnum.Empty.ToString() && x.area == inventory.area).FirstOrDefault();
+                    TargetLocation = stationinfoRepository.Find(x => x.column == station.column && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.area == inventory.area).OrderBy(x => x.line).FirstOrDefault();
                 }
                 else
                 {
-                    TargetLocation = stationinfoRepository.Find(x => x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+                    TargetLocation = stationinfoRepository.Find(x => x.line == station.line && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.area == inventory.area).OrderBy(x => x.column).FirstOrDefault();
                 }
+                if (TargetLocation != null) return TargetLocation;
             }
+
+            if (CompeletedNum <= 15)
+            {
+                TargetLocation = stationinfoRepository.Find(x => x.line == 1 && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.area == "1").OrderBy(x => x.column).FirstOrDefault();
+            }
+            else
+            {
+                //if (50 < mesinfo.quantity && mesinfo.quantity <= 180 && e < 1100)
+                //    TargetLocation = stationinfoRepository.Find(x => x.column == 1 && x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).FirstOrDefault();
+                //else if (180 < mesinfo.quantity && mesinfo.quantity <= 225 && e < 1100)
+                //    TargetLocation = stationinfoRepository.Find(x => x.column == 1 && x.area == "3" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).FirstOrDefault();
+                //if (50 < mesinfo.quantity && e > 1100 || TargetLocation == null)
+                var area = GetArea(mesinfo.quantity, e);
+                TargetLocation = stationinfoRepository.Find(x => x.column == 1 && x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).FirstOrDefault();
+                if (TargetLocation == null)
+                    TargetLocation = stationinfoRepository.Find(x => x.column == 1 && x.area == "4" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).FirstOrDefault();
+            }
+
+            #region
+
+            //鏍规嵁璁㈠崟鐐夊彿/宸ュ崟鍙�/绫诲瀷
+            //if (mesinfo.quantity >= 180)
+            //{
+            //    //鏌ヨ搴撳瓨璁板綍涓槸鍚﹀瓨鍦ㄥ悓绫诲瀷/宸ュ崟/鐐夊彿鐨勮褰�  濡傛湁鍒欐斁缃悓涓�琛岋紝鏃犲垯瀵绘壘鏂板簱浣�
+            //    var detail = freeDB.Select<dt_mes_detail>().Where(x => x.jobID == mesinfo.jobID).First();
+            //    var inventory = freeDB.Select<dt_inventory>().Where(x => x.HeatNumber == detail.heatID && x.FigureNumber == mesinfo.drawingNo && x.jobID == mesinfo.jobID).First();
+            //    if (inventory != null)
+            //    {
+            //        //int line = Convert.ToInt16(inventory.stationCode.Split("-")[0]);
+            //        var line = stationinfoRepository.FindFirst(x => x.stationCode == inventory.stationCode).line;
+            //        TargetLocation = stationinfoRepository.Find(x => x.line == line && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.area == inventory.area).OrderBy(x => x.column).FirstOrDefault();
+            //        if (TargetLocation == null && CompeletedNum <= 15)
+            //        {
+            //            TargetLocation = stationinfoRepository.Find(x => x.area == "1" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+            //        }
+            //    }
+            //    else
+            //    {
+            //        TargetLocation = stationinfoRepository.Find(x => x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+
+            //    }
+            //}
+            #endregion
 
             if (TargetLocation == null)
             {
@@ -198,14 +253,26 @@
         /// </summary>
         /// <param name="quantity"></param>
         /// <returns></returns>
-        private string GetArea(int quantity)
+        private static string GetArea(int quantity, float e)
         {
-            if (quantity >= 50 && quantity < 180)
-                return "2";
-            else if (quantity >= 180 && quantity < 180)
-                return "3";
-            else if (quantity >= 180 && quantity < 220)
+            if (e < 1100)
+            {
+                if (quantity <= 180)
+                    return "2";
+                else if (quantity <= 225)
+                    return "3";
+            }
+            else
+            {
                 return "4";
+            }
+
+            //if (quantity > 50 && quantity <= 180 && e < 1100)
+            //    return "2";
+            //else if (quantity > 180 && quantity <= 225 && e < 1100)
+            //    return "3";
+            //else if (quantity > 50 && e > 1100)
+            //    return "4";
             return null;
         }
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs"
new file mode 100644
index 0000000..4eb919d
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_geometry_data_detectionlineRepository缂栧啓浠g爜
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Repositories
+{
+    public partial class dt_geometry_data_detectionlineRepository : RepositoryBase<dt_geometry_data_detectionline> , Idt_geometry_data_detectionlineRepository
+    {
+    public dt_geometry_data_detectionlineRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static Idt_geometry_data_detectionlineRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<Idt_geometry_data_detectionlineRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_detailRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_detailRepository.cs"
new file mode 100644
index 0000000..b07c5a8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_detailRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_mes_detailRepository缂栧啓浠g爜
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Repositories
+{
+    public partial class dt_mes_detailRepository : RepositoryBase<dt_mes_detail> , Idt_mes_detailRepository
+    {
+    public dt_mes_detailRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static Idt_mes_detailRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<Idt_mes_detailRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_headRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_headRepository.cs"
new file mode 100644
index 0000000..748b60b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/dt_mes_headRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_mes_headRepository缂栧啓浠g爜
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Repositories
+{
+    public partial class dt_mes_headRepository : RepositoryBase<dt_mes_head> , Idt_mes_headRepository
+    {
+    public dt_mes_headRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static Idt_mes_headRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<Idt_mes_headRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..9167bbf
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜巇t_geometry_data_detectionline绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*dt_geometry_data_detectionlineService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+using System.Linq;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+using WIDESEA_Core.Extensions;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_WCS.IRepositories;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_geometry_data_detectionlineService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly Idt_geometry_data_detectionlineRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public dt_geometry_data_detectionlineService(
+            Idt_geometry_data_detectionlineRepository dbRepository,
+            IHttpContextAccessor httpContextAccessor
+            )
+        : base(dbRepository)
+        {
+            _httpContextAccessor = httpContextAccessor;
+            _repository = dbRepository;
+            //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
+            //base.Init(dbRepository);
+        }
+  }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..495eb30
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_geometry_data_detectionlineService涓嶪dt_geometry_data_detectionlineService涓紪鍐�
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.IServices;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_geometry_data_detectionlineService : ServiceBase<dt_geometry_data_detectionline, Idt_geometry_data_detectionlineRepository>
+    , Idt_geometry_data_detectionlineService, IDependency
+    {
+    public dt_geometry_data_detectionlineService(Idt_geometry_data_detectionlineRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static Idt_geometry_data_detectionlineService Instance
+    {
+      get { return AutofacContainerModule.GetService<Idt_geometry_data_detectionlineService>(); } }
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_detailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_detailService.cs"
new file mode 100644
index 0000000..bed465a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_detailService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜巇t_mes_detail绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*dt_mes_detailService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+using System.Linq;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+using WIDESEA_Core.Extensions;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_WCS.IRepositories;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_mes_detailService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly Idt_mes_detailRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public dt_mes_detailService(
+            Idt_mes_detailRepository dbRepository,
+            IHttpContextAccessor httpContextAccessor
+            )
+        : base(dbRepository)
+        {
+            _httpContextAccessor = httpContextAccessor;
+            _repository = dbRepository;
+            //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
+            //base.Init(dbRepository);
+        }
+  }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs"
new file mode 100644
index 0000000..9fe1556
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/dt_mes_headService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜巇t_mes_head绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*dt_mes_headService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+using System.Linq;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+using WIDESEA_Core.Extensions;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_WCS.IRepositories;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_mes_headService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly Idt_mes_headRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public dt_mes_headService(
+            Idt_mes_headRepository dbRepository,
+            IHttpContextAccessor httpContextAccessor
+            )
+        : base(dbRepository)
+        {
+            _httpContextAccessor = httpContextAccessor;
+            _repository = dbRepository;
+            //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
+            //base.Init(dbRepository);
+        }
+  }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_detailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_detailService.cs"
new file mode 100644
index 0000000..7c131a6
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_detailService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_mes_detailService涓嶪dt_mes_detailService涓紪鍐�
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.IServices;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_mes_detailService : ServiceBase<dt_mes_detail, Idt_mes_detailRepository>
+    , Idt_mes_detailService, IDependency
+    {
+    public dt_mes_detailService(Idt_mes_detailRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static Idt_mes_detailService Instance
+    {
+      get { return AutofacContainerModule.GetService<Idt_mes_detailService>(); } }
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_headService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_headService.cs"
new file mode 100644
index 0000000..2049c4c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/dt_mes_headService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_mes_headService涓嶪dt_mes_headService涓紪鍐�
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.IServices;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Services
+{
+    public partial class dt_mes_headService : ServiceBase<dt_mes_head, Idt_mes_headRepository>
+    , Idt_mes_headService, IDependency
+    {
+    public dt_mes_headService(Idt_mes_headRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static Idt_mes_headService Instance
+    {
+      get { return AutofacContainerModule.GetService<Idt_mes_headService>(); } }
+    }
+ }
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 32b03ed..5f48525 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"
@@ -83,7 +83,10 @@
                     typeID = workInfo.typeID,
                     workOrder = workInfo.workOrder,
                     processCode = workInfo.processCode,
-                    finishNum = 0
+                    finishNum = 0,
+                    //skip_op_1 = false,
+                    //skip_op_2 = false,
+                    //skip_op_3 = false,
                 };
                 freeDB.Add(mes_Head);
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_data_detectionlineController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_data_detectionlineController.cs"
new file mode 100644
index 0000000..19b7acf
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_data_detectionlineController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("dt_geometry_data_detectionline",Enums.ActionPermissionOptions.Search)]
+ */
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IServices;
+
+namespace WIDESEA_WCS.Controllers
+{
+    public partial class dt_geometry_data_detectionlineController
+    {
+        private readonly Idt_geometry_data_detectionlineService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public dt_geometry_data_detectionlineController(
+            Idt_geometry_data_detectionlineService service,
+            IHttpContextAccessor httpContextAccessor
+        )
+        : base(service)
+        {
+            _service = service;
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_detailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_detailController.cs"
new file mode 100644
index 0000000..7f71424
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_detailController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("dt_mes_detail",Enums.ActionPermissionOptions.Search)]
+ */
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IServices;
+
+namespace WIDESEA_WCS.Controllers
+{
+    public partial class dt_mes_detailController
+    {
+        private readonly Idt_mes_detailService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public dt_mes_detailController(
+            Idt_mes_detailService service,
+            IHttpContextAccessor httpContextAccessor
+        )
+        : base(service)
+        {
+            _service = service;
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs"
new file mode 100644
index 0000000..02e9d63
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_mes_headController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("dt_mes_head",Enums.ActionPermissionOptions.Search)]
+ */
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IServices;
+
+namespace WIDESEA_WCS.Controllers
+{
+    public partial class dt_mes_headController
+    {
+        private readonly Idt_mes_headService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public dt_mes_headController(
+            Idt_mes_headService service,
+            IHttpContextAccessor httpContextAccessor
+        )
+        : base(service)
+        {
+            _service = service;
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_data_detectionlineController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_data_detectionlineController.cs"
new file mode 100644
index 0000000..e3daade
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_data_detectionlineController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_geometry_data_detectionlineController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+    [Route("api/dt_geometry_data_detectionline")]
+    [PermissionTable(Name = "dt_geometry_data_detectionline")]
+    public partial class dt_geometry_data_detectionlineController : ApiBaseController<Idt_geometry_data_detectionlineService>
+    {
+        public dt_geometry_data_detectionlineController(Idt_geometry_data_detectionlineService service)
+        : base(service)
+        {
+        }
+    }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_detailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_detailController.cs"
new file mode 100644
index 0000000..e68d7c1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_detailController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_mes_detailController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+    [Route("api/dt_mes_detail")]
+    [PermissionTable(Name = "dt_mes_detail")]
+    public partial class dt_mes_detailController : ApiBaseController<Idt_mes_detailService>
+    {
+        public dt_mes_detailController(Idt_mes_detailService service)
+        : base(service)
+        {
+        }
+    }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_headController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_headController.cs"
new file mode 100644
index 0000000..37ecfb9
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_mes_headController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_mes_headController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+    [Route("api/dt_mes_head")]
+    [PermissionTable(Name = "dt_mes_head")]
+    public partial class dt_mes_headController : ApiBaseController<Idt_mes_headService>
+    {
+        public dt_mes_headController(Idt_mes_headService service)
+        : base(service)
+        {
+        }
+    }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js"
index 8935403..2831cb1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js"
@@ -35,6 +35,13 @@
 
         //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
         // this.boxOptions.labelWidth = 150;
+        this.pagination.order = "asc"; 
+        this.columns.forEach(row=>{
+          if(row.field=="TypeId"){
+            row.sort=true;
+          }
+        })
+        
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+**  Author:jxx 2022
+**  QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
+        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        //     onClick: function () {
+        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // this.boxOptions.labelWidth = 150;
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true;
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js"
index 9d02714..060560a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js"
@@ -177,6 +177,10 @@
         path: '/dt_geometry_data',
         name: 'dt_geometry_data',
         component: () => import('@/views/widesea_wms/baseinfo/dt_geometry_data.vue')
+    }    ,{
+        path: '/dt_geometry_data_detectionline',
+        name: 'dt_geometry_data_detectionline',
+        component: () => import('@/views/widesea_wms/baseinfo/dt_geometry_data_detectionline.vue')
     }]
 
 export default viewgird
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue"
index 357cbb5..890f881 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask.vue"
@@ -39,13 +39,14 @@
             const searchFormFields = ref({"agv_tasknum":"","agv_fromaddress":"","agv_toaddress":"","agv_code":[],"agv_taskstate":[],"agv_materielid":"","agv_createtime":"","agv_barcode":"","agv_materbarcode":""});
             const searchFormOptions = ref([[{"title":"浠诲姟缂栧彿","field":"agv_tasknum","type":"like"},{"title":"璧风偣鍦板潃","field":"agv_fromaddress","type":"like"},{"title":"缁堢偣鍦板潃","field":"agv_toaddress","type":"like"}],[{"dataKey":"agv_code","data":[],"title":"AGV缂栧彿","field":"agv_code","type":"selectList"},{"dataKey":"Taskstates","data":[],"title":"浠诲姟鐘舵��","field":"agv_taskstate","type":"selectList"},{"title":"鐗╂枡绫诲瀷","field":"agv_materielid","type":"like"}],[{"title":"鍒涘缓鏃堕棿","field":"agv_createtime","type":"datetime"},{"title":"鎵樼洏鐮�","field":"agv_barcode","type":"like"},{"title":"鐗╂枡鐮�","field":"agv_materbarcode","type":"like"}]]);
             const columns = ref([{field:'agv_id',title:'浠诲姟Id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
-                       {field:'agv_tasknum',title:'浠诲姟缂栧彿',type:'string',sort:true,width:110,require:true,align:'left',sort:true},
+                       {field:'agv_tasknum',title:'浠诲姟缂栧彿',type:'string',sort:true,width:110,require:true,align:'left'},
                        {field:'agv_fromaddress',title:'璧风偣鍦板潃',type:'string',width:110,align:'left'},
                        {field:'agv_toaddress',title:'缁堢偣鍦板潃',type:'string',width:110,align:'left'},
                     //    {field:'agv_code',title:'AGV缂栧彿',type:'string',bind:{ key:'agv_code',data:[]},width:110,require:true,align:'left'},
                        {field:'agv_taskstate',title:'浠诲姟鐘舵��',type:'string',bind:{ key:'Taskstates',data:[]},width:110,require:true,align:'left'},
                     //    {field:'agv_worktype',title:'AGV宸ヤ綔绫诲瀷',type:'int',width:110,align:'left'},
-                       {field:'agv_materielid',title:'鐗╂枡绫诲瀷',type:'string',width:110,require:true,align:'left'},
+                    //    {field:'agv_materielid',title:'鐗╂枡绫诲瀷',type:'string',width:110,require:true,align:'left'},
+                    {field:'agv_materielid',title:'鍥惧彿',type:'string',width:110,require:true,align:'left'},
                        {field:'bindSN',title:'杞﹁疆SN鍙�',type:'string',width:110,align:'left'},
                        {field:'agv_qty',title:'鏁伴噺',type:'int',width:110,require:true,align:'left'},
                     //    {field:'agv_finishedtime',title:'瀹屾垚鏃堕棿',type:'datetime',width:150,align:'left',sort:true},
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue"
index e846064..4926af9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/Task/widesea_wms/taskinfo/dt_agvtask_hty.vue"
@@ -54,12 +54,11 @@
                        {field:'agv_barcode',title:'鎵樼洏鐮�',type:'string',width:110,require:true,align:'left'},
                        {field:'agv_code',title:'AGV缂栧彿',type:'string',width:110,require:true,align:'left'},
                        {field:'agv_worktype',title:'AGV宸ヤ綔绫诲瀷',type:'int',width:110,require:true,align:'left'},
-                       {field:'agv_materbarcode',title:'鐗╂枡鐮�',type:'string',width:110,align:'left'},
+                       {field:'agv_materbarcode',title:'鐗╂枡缂栫爜',type:'string',width:110,align:'left'},
                        {field:'agv_executingBeginTime',title:'璧峰鐐规墽琛屼腑',type:'datetime',width:150,align:'left',sort:true},
                        {field:'agv_executingEndTime',title:'璧峰鐐瑰畬鎴�',type:'datetime',width:150,align:'left',sort:true},
                        {field:'agv_completeBeginTime',title:'鐩殑鐐规墽琛屼腑',type:'datetime',width:150,align:'left',sort:true},
-                       {field:'agv_remark',title:'澶囨敞',type:'string',width:220,align:'left'},
-                       {field:'ID',title:'涓婚敭',type:'int',width:80,hidden:true,readonly:true,require:true,align:'left'}]);
+                       {field:'agv_remark',title:'澶囨敞',type:'string',width:220,align:'left'}]);
             const detail = ref({
                 cnName: "#detailCnName",
                 table: "#detailTable",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
new file mode 100644
index 0000000..532eb2e
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
@@ -0,0 +1,73 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/baseinfo/dt_geometry_data.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wcs/baseinfo/dt_geometry_data.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'TypeId',
+                footer: "Foots",
+                cnName: '杞﹁疆淇℃伅',
+                name: 'baseinfo/dt_geometry_data',
+                url: "/dt_geometry_data/",
+                sortName: "TypeId"
+            });
+            const editFormFields = ref({"Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
+            const editFormOptions = ref([[{"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"a","required":true,"field":"a","type":"text"},
+                               {"title":"b","required":true,"field":"b","type":"text"}],
+                              [{"title":"c","required":true,"field":"c","type":"text"},
+                               {"title":"d","required":true,"field":"d","type":"text"}],
+                              [{"title":"e","required":true,"field":"e","type":"text"},
+                               {"title":"f","required":true,"field":"f","type":"text"}],
+                              [{"title":"g","required":true,"field":"g","type":"text"},
+                               {"title":"h","required":true,"field":"h","type":"text"}]]);
+            const searchFormFields = ref({"Description":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"}]]);
+            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left',sort:true},
+                       {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
+                       {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
+                       {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
+                       {field:'d',title:'d',type:'float',width:110,require:true,align:'left'},
+                       {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
+                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
+                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
+                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue"
new file mode 100644
index 0000000..efd7583
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data_detectionline.vue"
@@ -0,0 +1,105 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wcs/baseinfo/dt_geometry_data_detectionline.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'ID',
+                footer: "Foots",
+                cnName: '妫�娴嬬嚎杞﹁疆淇℃伅',
+                name: 'baseinfo/dt_geometry_data_detectionline',
+                url: "/dt_geometry_data_detectionline/",
+                sortName: "ID"
+            });
+            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":"","skip_01":"","skip_02":"","skip_03":"","skip_04":"","skip_05":"","skip_06":"","skip_07":"","skip_08":"","skip_09":"","skip_10":"","skip_11":"","skip_12":"","skip_13":"","skip_14":"","skip_15":""});
+            const editFormOptions = ref([[{"title":"TypeId","required":true,"field":"TypeId","type":"text"},
+                               {"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"a","required":true,"field":"a","type":"text"},
+                               {"title":"b","required":true,"field":"b","type":"text"}],
+                              [{"title":"c","required":true,"field":"c","type":"text"},
+                               {"title":"d","required":true,"field":"d","type":"text"}],
+                              [{"title":"e","required":true,"field":"e","type":"text"},
+                               {"title":"f","required":true,"field":"f","type":"text"}],
+                              [{"title":"g","required":true,"field":"g","type":"text"},
+                               {"title":"h","required":true,"field":"h","type":"text"}],
+                              [{"title":"skip_01","field":"skip_01","type":"text"},
+                               {"title":"skip_02","field":"skip_02","type":"text"}],
+                              [{"title":"skip_03","field":"skip_03","type":"text"},
+                               {"title":"skip_04","field":"skip_04","type":"text"}],
+                              [{"title":"skip_05","field":"skip_05","type":"text"},
+                               {"title":"skip_06","field":"skip_06","type":"text"}],
+                              [{"title":"skip_07","field":"skip_07","type":"text"},
+                               {"title":"skip_08","field":"skip_08","type":"text"}],
+                              [{"title":"skip_09","field":"skip_09","type":"text"},
+                               {"title":"skip_10","field":"skip_10","type":"text"}],
+                              [{"title":"skip_11","field":"skip_11","type":"text"},
+                               {"title":"skip_12","field":"skip_12","type":"text"}],
+                              [{"title":"skip_13","field":"skip_13","type":"text"},
+                               {"title":"skip_14","field":"skip_14","type":"text"}],
+                              [{"title":"skip_15","field":"skip_15","type":"text"}]]);
+            const searchFormFields = ref({"TypeId":"","Description":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"},{"title":"TypeId","field":"TypeId","type":"like"}]]);
+            const columns = ref([{field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
+                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left'},
+                       {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
+                       {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
+                       {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
+                       {field:'d',title:'d',type:'float',width:110,require:true,align:'left'},
+                       {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
+                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
+                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
+                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
+                       {field:'skip_01',title:'skip_01',type:'byte',width:110,align:'left'},
+                       {field:'skip_02',title:'skip_02',type:'byte',width:110,align:'left'},
+                       {field:'skip_03',title:'skip_03',type:'byte',width:110,align:'left'},
+                       {field:'skip_04',title:'skip_04',type:'byte',width:110,align:'left'},
+                       {field:'skip_05',title:'skip_05',type:'byte',width:110,align:'left'},
+                       {field:'skip_06',title:'skip_06',type:'byte',width:110,align:'left'},
+                       {field:'skip_07',title:'skip_07',type:'byte',width:110,align:'left'},
+                       {field:'skip_08',title:'skip_08',type:'byte',width:110,align:'left'},
+                       {field:'skip_09',title:'skip_09',type:'byte',width:110,align:'left'},
+                       {field:'skip_10',title:'skip_10',type:'byte',width:110,align:'left'},
+                       {field:'skip_11',title:'skip_11',type:'byte',width:110,align:'left'},
+                       {field:'skip_12',title:'skip_12',type:'byte',width:110,align:'left'},
+                       {field:'skip_13',title:'skip_13',type:'byte',width:110,align:'left'},
+                       {field:'skip_14',title:'skip_14',type:'byte',width:110,align:'left'},
+                       {field:'skip_15',title:'skip_15',type:'byte',width:110,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue"
index b74bb98..e3783b9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue"
@@ -29,19 +29,21 @@
                 url: "/dt_geometry_data/",
                 sortName: "TypeId"
             });
-            const editFormFields = ref({"Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
-            const editFormOptions = ref([[{"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
-                              [{"title":"","required":true,"field":"a","type":"text"},
-                               {"title":"","required":true,"field":"b","type":"text"}],
-                              [{"title":"","required":true,"field":"c","type":"text"},
-                               {"title":"","required":true,"field":"d","type":"text"}],
-                              [{"title":"","required":true,"field":"e","type":"text"},
-                               {"title":"","required":true,"field":"f","type":"text"}],
-                              [{"title":"","required":true,"field":"g","type":"text"},
-                               {"title":"","required":true,"field":"h","type":"decimal"}]]);
+            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
+            const editFormOptions = ref([
+                              [{"title":"TypeId","required":true,"field":"TypeId","type":"text"},
+                               {"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"a","required":true,"field":"a","type":"text"},
+                               {"title":"b","required":true,"field":"b","type":"text"}],
+                              [{"title":"c","required":true,"field":"c","type":"text"},
+                               {"title":"d","required":true,"field":"d","type":"text"}],
+                              [{"title":"e","required":true,"field":"e","type":"text"},
+                               {"title":"f","required":true,"field":"f","type":"text"}],
+                              [{"title":"g","required":true,"field":"g","type":"text"},
+                               {"title":"h","required":true,"field":"h","type":"decimal"}]]);
             const searchFormFields = ref({"Description":""});
             const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"}]]);
-            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+            const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,readonly:true,require:true,align:'left'},
                        {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left',sort:true},
                        {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
                        {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data_detectionline.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data_detectionline.vue"
new file mode 100644
index 0000000..056437b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data_detectionline.vue"
@@ -0,0 +1,105 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid"
+               :columns="columns"
+               :detail="detail"
+               :editFormFields="editFormFields"
+               :editFormOptions="editFormOptions"
+               :searchFormFields="searchFormFields"
+               :searchFormOptions="searchFormOptions"
+               :table="table"
+               :extend="extend">
+    </view-grid>
+</template>
+<script>
+    import extend from "@/extension/widesea_wms/baseinfo/dt_geometry_data_detectionline.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'ID',
+                footer: "Foots",
+                cnName: '妫�娴嬬嚎杞﹁疆淇℃伅',
+                name: 'baseinfo/dt_geometry_data_detectionline',
+                url: "/dt_geometry_data_detectionline/",
+                sortName: "ID"
+            });
+            const editFormFields = ref({"TypeId":"","Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":"","skip_01":"","skip_02":"","skip_03":"","skip_04":"","skip_05":"","skip_06":"","skip_07":"","skip_08":"","skip_09":"","skip_10":"","skip_11":"","skip_12":"","skip_13":"","skip_14":"","skip_15":""});
+            const editFormOptions = ref([[{"title":"","required":true,"field":"TypeId","type":"text"},
+                               {"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+                              [{"title":"","required":true,"field":"a","type":"text"},
+                               {"title":"","required":true,"field":"b","type":"text"}],
+                              [{"title":"","required":true,"field":"c","type":"text"},
+                               {"title":"","required":true,"field":"d","type":"text"}],
+                              [{"title":"","required":true,"field":"e","type":"text"},
+                               {"title":"","required":true,"field":"f","type":"text"}],
+                              [{"title":"","required":true,"field":"g","type":"text"},
+                               {"title":"","required":true,"field":"h","type":"text"}],
+                              [{"title":"","field":"skip_01","type":"text"},
+                               {"title":"","field":"skip_02","type":"text"}],
+                              [{"title":"","field":"skip_03","type":"text"},
+                               {"title":"","field":"skip_04","type":"text"}],
+                              [{"title":"","field":"skip_05","type":"text"},
+                               {"title":"","field":"skip_06","type":"text"}],
+                              [{"title":"","field":"skip_07","type":"text"},
+                               {"title":"","field":"skip_08","type":"text"}],
+                              [{"title":"","field":"skip_09","type":"text"},
+                               {"title":"","field":"skip_10","type":"text"}],
+                              [{"title":"","field":"skip_11","type":"text"},
+                               {"title":"","field":"skip_12","type":"text"}],
+                              [{"title":"","field":"skip_13","type":"text"},
+                               {"title":"","field":"skip_14","type":"text"}],
+                              [{"title":"","field":"skip_15","type":"text"}]]);
+            const searchFormFields = ref({"TypeId":"","Description":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"},{"title":"","field":"TypeId","type":"like"}]]);
+            const columns = ref([{field:'ID',title:'ID',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+                       {field:'TypeId',title:'TypeId',type:'int',width:110,require:true,align:'left',sort:true},
+                       {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left'},
+                       {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
+                       {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
+                       {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
+                       {field:'d',title:'d',type:'float',width:110,require:true,align:'left'},
+                       {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
+                       {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
+                       {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
+                       {field:'h',title:'h',type:'float',width:110,require:true,align:'left'},
+                       {field:'skip_01',title:'skip_01',type:'byte',width:110,align:'left'},
+                       {field:'skip_02',title:'skip_02',type:'byte',width:110,align:'left'},
+                       {field:'skip_03',title:'skip_03',type:'byte',width:110,align:'left'},
+                       {field:'skip_04',title:'skip_04',type:'byte',width:110,align:'left'},
+                       {field:'skip_05',title:'skip_05',type:'byte',width:110,align:'left'},
+                       {field:'skip_06',title:'skip_06',type:'byte',width:110,align:'left'},
+                       {field:'skip_07',title:'skip_07',type:'byte',width:110,align:'left'},
+                       {field:'skip_08',title:'skip_08',type:'byte',width:110,align:'left'},
+                       {field:'skip_09',title:'skip_09',type:'byte',width:110,align:'left'},
+                       {field:'skip_10',title:'skip_10',type:'byte',width:110,align:'left'},
+                       {field:'skip_11',title:'skip_11',type:'byte',width:110,align:'left'},
+                       {field:'skip_12',title:'skip_12',type:'byte',width:110,align:'left'},
+                       {field:'skip_13',title:'skip_13',type:'byte',width:110,align:'left'},
+                       {field:'skip_14',title:'skip_14',type:'byte',width:110,align:'left'},
+                       {field:'skip_15',title:'skip_15',type:'byte',width:110,align:'left'}]);
+            const detail = ref({
+                cnName: "#detailCnName",
+                table: "#detailTable",
+                columns: [],
+                sortName: "",
+                key: ""
+            });
+            return {
+                table,
+                extend,
+                editFormFields,
+                editFormOptions,
+                searchFormFields,
+                searchFormOptions,
+                columns,
+                detail,
+            };
+        },
+    });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue"
index 4f629d1..29a767b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue"
@@ -22,18 +22,19 @@
     export default defineComponent({
         setup() {
             const table = ref({
-                key: 'zj',
+                key: 'id',
                 footer: "Foots",
                 cnName: '搴撲綅淇℃伅',
                 name: 'system/dt_stationinfo',
                 url: "/dt_stationinfo/",
-                sortName: "zj"
+                sortName: "id"
             });
-            const editFormFields = ref({"stationCode":"","location_state":"","bindSN":"","tray_status":"","Number":"","heatNumber":"","remark":""});
+            const editFormFields = ref({"stationCode":"","stationType":"","location_state":"","bindSN":"","tray_status":"","Number":"","heatNumber":"","remark":""});
             const editFormOptions = ref([[{"title":"缂撳瓨鏋剁紪鍙�","field":"stationCode","disabled": true}],
+                              [{"title":"鍥惧彿","field":"stationType"}],
                               [{"dataKey":"location_states","data":[],"title":"璐т綅鐘舵��","field":"location_state","type":"select"}],
                               [{"title":"杞﹁疆SN鍙�","field":"bindSN"}],
-                              [{"dataKey":"tray_status","data":[],"title":"鎵樼洏鐘舵��","field":"tray_status"}],
+                              [{"dataKey":"tray_status","data":[],"title":"鎵樼洏鐘舵��","field":"tray_status","type":"select"}],
                               [{"title":"宸ュ崟缂栧彿","field":"Number"}],
                               [{"title":"鐐夊彿","field":"heatNumber","type":"text"}],
                               [{"title":"澶囨敞","field":"remark"}]]);
@@ -41,20 +42,20 @@
             const searchFormOptions = ref([[{"title":"缂撳瓨鏋剁紪鍙�","field":"stationCode","type":"like"},{"title":"杞﹁疆SN鍙�","field":"bindSN","type":"like"},{"dataKey":"materielinfos","data":[],"title":"鐗╂枡绫诲瀷","field":"stationType","type":"select"}],[{"dataKey":"area_name","data":[],"title":"鍖哄煙","field":"area","type":"select"},{"dataKey":"location_states","data":[],"title":"璐т綅鐘舵��","field":"location_state","type":"selectList"},{"dataKey":"status","data":[],"title":"鏄惁鍚敤","field":"enable","type":"select"}]]);
             const columns = ref([{field:'id',title:'id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'},
                        {field:'stationCode',title:'缂撳瓨鏋剁紪鍙�',type:'string',width:110,align:'left',sort:true},
-                       {field:'stationType',title:'鐗╂枡绫诲瀷',type:'string',bind:{ key:'materielinfos',data:[]},width:110,align:'left'},
+                       {field:'stationType',title:'鍥惧彿',type:'string',bind:{ key:'materielinfos',data:[]},width:110,align:'left'},
                        {field:'area',title:'鍖哄煙',type:'string',bind:{ key:'area_name',data:[]},width:110,require:true,align:'left'},
                        {field:'enable',title:'鏄惁鍚敤',type:'bool',bind:{ key:'status',data:[]},width:110,require:true,align:'left'},
                        {field:'location_state',title:'璐т綅鐘舵��',type:'string',bind:{ key:'location_states',data:[]},width:220,align:'left'},
-                       {field:'lastUpdateTime',title:'鏈�鍚庣姸鎬佹敼鍙樻椂闂�',type:'datetime',width:150,align:'left',sort:true},
+                    //    {field:'lastUpdateTime',title:'鏈�鍚庣姸鎬佹敼鍙樻椂闂�',type:'datetime',width:150,align:'left',sort:true},
                        {field:'quantity',title:'杞﹁疆鏁伴噺',type:'int',width:80,align:'left'},
                        {field:'bindSN',title:'杞﹁疆SN鍙�',type:'string',width:220,align:'left'},
-                       {field:'tray_status',title:'鎵樼洏鐘舵��',type:'string',bind:{ key:'tray_status',data:[]},width:110,align:'left'},
-                       {field:'line',title:'琛�',type:'int',width:80,align:'left'},
-                       {field:'column',title:'鍒�',type:'int',width:80,align:'left'},
-                       {field:'remark',title:'澶囨敞',type:'string',width:120,align:'left'},
-                       {field:'zj',title:'涓婚敭',type:'int',width:80,hidden:true,require:true,align:'left'},
+                       {field:'tray_status',title:'鎵樼洏绫诲瀷',type:'string',bind:{ key:'tray_status',data:[]},width:110,align:'left'},
+                    //    {field:'line',title:'琛�',type:'int',width:80,align:'left'},
+                    //    {field:'column',title:'鍒�',type:'int',width:80,align:'left'},
+                    {field:'heatNumber',title:'鐐夊彿',type:'int',width:80,align:'left'},
+                    //    {field:'zj',title:'涓婚敭',type:'int',width:80,hidden:true,require:true,align:'left'},
                        {field:'Number',title:'宸ュ崟缂栧彿',type:'string',width:220,align:'left'},
-                       {field:'heatNumber',title:'鐐夊彿',type:'int',width:80,align:'left'}]);
+                       {field:'remark',title:'澶囨敞',type:'string',width:120,align:'left'}]);
             const detail = ref({
                 cnName: "#detailCnName",
                 table: "#detailTable",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
index c0dbb10..bce45cc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
@@ -12,6 +12,10 @@
         /// 宸ュ崟缂栧彿
         /// </summary>
         public string JobID { get; set; }
+        /// <summary>
+        /// 17-鏈哄姞宸� 28-妫�娴嬬嚎
+        /// </summary>
+        public string processCode { get; set; }
 
         /// <summary>
         /// 杞﹁疆淇℃伅
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
index ca20fd7..533c376 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
@@ -12,7 +12,10 @@
         /// 宸ュ崟鍙�
         /// </summary>
         public string JobID { get; set; }
-
+        /// <summary>
+        /// 17-鏈哄姞宸� 28-妫�娴嬬嚎
+        /// </summary>
+        public string processCode {  get; set; }
         /// <summary>
         /// 杞﹁疆
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
index a643e3e..7a412cc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
@@ -8,16 +8,34 @@
 {
     public class agvTransferListPara : BasicSN
     {
+        /// <summary>
+        /// 杞Щ鍗曞彿
+        /// </summary>
         public string transferListID { get; set; }
-
+        /// <summary>
+        /// 杞﹁疆鐗╂枡缂栫爜
+        /// </summary>
         public string materialCode { get; set; }
-
+        /// <summary>
+        /// 鎶�鏈姸鎬�
+        /// </summary>
         public string drawingNoVer { get; set; }
-
+        /// <summary>
+        /// 婧愬簱鎴垮悕绉�
+        /// </summary>
         public string fromWarehouse { get; set; }
+        /// <summary>
+        /// 鐩爣搴撴埧鍚嶇О
+        /// </summary>
         public string toWarehouse { get; set; }
+        /// <summary>
+        /// 鎿嶄綔浜哄憳
+        /// </summary>
         public string Operator { get; set; }
-        public string updateTime { get; set; }
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+        public DateTime updateTime { get; set; }
         /// <summary>
         /// 杞﹁疆淇℃伅
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
index b5bf24c..79366ed 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
@@ -16,24 +16,39 @@
         /// </summary>
         //TakeEmpty = 2,
         /// <summary>
-        /// 鍏ュ簱
+        /// 寰呮搴撳叆搴�
         /// </summary>
-        [Description("鍏ュ簱")]
+        [Description("寰呮搴撳叆搴�")]
         TaskType_Inbound = 1,
         /// <summary>
-        /// 鍑哄簱
+        /// 寰呮搴撳嚭搴�
         /// </summary>
-        [Description("鍑哄簱")]
+        [Description("寰呮搴撳嚭搴�")]
         TaskType_Outbound = 2,
         /// <summary>
-        /// 澶栧崗鍏ュ簱
+        /// 澶栧崗搴撳叆搴�
         /// </summary>
-        [Description("澶栧崗鍏ュ簱")]
+        [Description("澶栧崗搴撳叆搴�")]
         TaskType_OutsourceInbound = 3,
         /// <summary>
-        /// 澶栧崗鍑哄簱
+        /// 澶栧崗搴撳嚭搴�
         /// </summary>
-        [Description("澶栧崗鍑哄簱")]
+        [Description("澶栧崗搴撳嚭搴�")]
         TaskType_OutsourceOutbound = 4,
+        /// <summary>
+        /// 寰呮搴撳唴绉诲簱
+        /// </summary>
+        [Description("寰呮搴撳唴绉诲簱")]
+        TaskType_Carry,
+        /// <summary>
+        /// 寰呮绉诲簱澶栧崗
+        /// </summary>
+        [Description("寰呮绉诲簱澶栧崗")]
+        TaskType_OutsourceCarry,
+        /// <summary>
+        /// 琛ョ┖鎵樹换鍔�
+        /// </summary>
+        [Description("琛ョ┖鎵樹换鍔�")]
+        TaskType_EmptyPallet,
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs"
new file mode 100644
index 0000000..e6671fb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data_detectionline.cs"
@@ -0,0 +1,242 @@
+/*
+ *浠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_geometry_data_detectionline")]
+    public partial class dt_geometry_data_detectionline:BaseEntity
+    {
+        /// <summary>
+       ///
+       /// </summary>
+       [Key]
+       [Display(Name ="ID")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int ID { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="TypeId")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public int TypeId { get; set; }
+
+       /// <summary>
+       ///鍥惧彿
+       /// </summary>
+       [Display(Name ="鍥惧彿")]
+       [MaxLength(100)]
+       [Column(TypeName="nvarchar(100)")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public string Description { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="a")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float a { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="b")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float b { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="c")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float c { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="d")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float d { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="e")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float e { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="f")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float f { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="g")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float g { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="h")]
+       [Column(TypeName="float")]
+       [Editable(true)]
+       [Required(AllowEmptyStrings=false)]
+       public float h { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_01")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_01 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_02")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_02 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_03")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_03 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_04")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_04 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_05")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_05 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_06")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_06 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_07")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_07 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_08")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_08 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_09")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_09 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_10")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_10 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_11")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_11 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_12")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_12 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_13")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_13 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_14")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_14 { get; set; }
+
+       /// <summary>
+       ///
+       /// </summary>
+       [Display(Name ="skip_15")]
+       [Column(TypeName="tinyint")]
+       [Editable(true)]
+       public byte? skip_15 { get; set; }
+
+       
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.cs"
new file mode 100644
index 0000000..3acae4c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data_detectionline.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_geometry_data_detectionline
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
index 80a7b11..94f30f1 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
@@ -46,11 +46,11 @@
         /// <summary>
         ///鐔旂偧鐐夊彿
         /// </summary>
-        [Display(Name = "鐔旂偧鐐夊彿")]
-        [MaxLength(255)]
-        [Column(TypeName = "varchar(255)")]
-        [Editable(true)]
-        public string HearthNumber { get; set; }
+        //[Display(Name = "鐔旂偧鐐夊彿")]
+        //[MaxLength(255)]
+        //[Column(TypeName = "varchar(255)")]
+        //[Editable(true)]
+        //public string HearthNumber { get; set; }
 
         /// <summary>
         ///鐐変唬鍙�
@@ -95,14 +95,14 @@
         public string remark { get; set; }
 
         /// <summary>
-        ///ID
+        ///
         /// </summary>
         [Key]
         [Display(Name = "ID")]
-        [Column(TypeName = "int")]
+        [Column(TypeName = "uniqueidentifier")]
         [Editable(true)]
         [Required(AllowEmptyStrings = false)]
-        public int ID { get; set; }
+        public Guid ID { get; set; }
 
         /// <summary>
         ///璐т綅缂栧彿
@@ -111,12 +111,16 @@
         [MaxLength(30)]
         [Column(TypeName = "nvarchar(30)")]
         public string stationCode { get; set; }
-
+        /// <summary>
+        /// 鍖哄煙浠g爜
+        /// </summary>
         [Display(Name = "鍖哄煙浠g爜")]
         [Column(TypeName = "nvarchar(15)")]
         [Editable(true)]
         public string area { get; set; }
-
+        /// <summary>
+        /// 宸ュ崟缂栧彿
+        /// </summary>
         [Display(Name = "宸ュ崟缂栧彿")]
         [Column(TypeName = "nvarchar(40)")]
         [Editable(true)]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
index 1b2d904..01f083e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs"
@@ -36,7 +36,7 @@
         public string stationCode { get; set; }
 
         /// <summary>
-        ///鐗╂枡绫诲瀷
+        ///鍥惧彿/鐗╂枡绫诲瀷
         /// </summary>
         [Display(Name = "鐗╂枡绫诲瀷")]
         [MaxLength(25)]
@@ -51,7 +51,7 @@
         [MaxLength(15)]
         [Column(TypeName = "nvarchar(15)")]
         [Editable(true)]
-        [Required(AllowEmptyStrings = false)]
+        //[Required(AllowEmptyStrings = false)]//鏄惁蹇呭~
         public string area { get; set; }
 
         /// <summary>
@@ -60,7 +60,7 @@
         [Display(Name = "鏄惁鍚敤")]
         [Column(TypeName = "bit")]
         [Editable(true)]
-        [Required(AllowEmptyStrings = false)]
+        //[Required(AllowEmptyStrings = false)]
         public bool enable { get; set; }
 
         /// <summary>
@@ -85,7 +85,7 @@
         /// </summary>
         [Display(Name = "杞﹁疆鏁伴噺")]
         [Column(TypeName = "int")]
-        public int? quantity { get; set; }
+        public int quantity { get; set; }
 
         /// <summary>
         ///杞﹁疆SN鍙�
@@ -139,8 +139,9 @@
         ///鐐夊彿
         /// </summary>
         [Display(Name = "鐐夊彿")]
-        [Column(TypeName = "int")]
-        public int? heatNumber { get; set; }
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
+        public string heatNumber { get; set; }
 
 
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
index 3255702..43e4e3d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
@@ -75,12 +75,12 @@
         public string agv_taskstate { get; set; }
 
         /// <summary>
-        ///AGV宸ヤ綔绫诲瀷
+        ///宸ュ崟绫诲瀷
         /// </summary>
         [Display(Name = "AGV宸ヤ綔绫诲瀷")]
         [Column(TypeName = "int")]
         [Editable(true)]
-        public int? agv_worktype { get; set; }
+        public int agv_worktype { get; set; }
 
         /// <summary>
         ///鐗╂枡绫诲瀷
@@ -99,7 +99,7 @@
         [Column(TypeName = "int")]
         [Editable(true)]
         [Required(AllowEmptyStrings = false)]
-        public int? agv_qty { get; set; }
+        public int agv_qty { get; set; }
 
         /// <summary>
         ///鍒涘缓鏃堕棿
@@ -130,8 +130,8 @@
         ///浠诲姟绫诲瀷
         /// </summary>
         [Display(Name = "浠诲姟绫诲瀷")]
-        [MaxLength(20)]
-        [Column(TypeName = "nvarchar(20)")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
         [Editable(true)]
         [Required(AllowEmptyStrings = false)]
         public string agv_tasktype { get; set; }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs"
index 7d395a2..82a3346 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs"
@@ -62,7 +62,7 @@
         [Column(TypeName = "int")]
         [Editable(true)]
         [Required(AllowEmptyStrings = false)]
-        public int? agv_qty { get; set; }
+        public int agv_qty { get; set; }
 
         /// <summary>
         ///鍒涘缓鏃堕棿
@@ -103,8 +103,8 @@
         ///浠诲姟绫诲瀷
         /// </summary>
         [Display(Name = "浠诲姟绫诲瀷")]
-        [MaxLength(20)]
-        [Column(TypeName = "nvarchar(20)")]
+        [MaxLength(50)]
+        [Column(TypeName = "nvarchar(50)")]
         [Editable(true)]
         [Required(AllowEmptyStrings = false)]
         public string agv_tasktype { get; set; }
@@ -180,7 +180,7 @@
         [MaxLength(30)]
         [Column(TypeName = "nvarchar(30)")]
         [Editable(true)]
-        [Required(AllowEmptyStrings = false)]
+        //[Required(AllowEmptyStrings = false)]
         public string agv_barcode { get; set; }
 
         /// <summary>
@@ -190,17 +190,17 @@
         [MaxLength(50)]
         [Column(TypeName = "nvarchar(50)")]
         [Editable(true)]
-        [Required(AllowEmptyStrings = false)]
+        //[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; }
+        //[Required(AllowEmptyStrings = false)]
+        public int agv_worktype { get; set; }
 
         /// <summary>
         ///鐗╂枡鐮�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs"
new file mode 100644
index 0000000..846d7c3
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs"
@@ -0,0 +1,83 @@
+/*
+ *浠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>
+        [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/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
new file mode 100644
index 0000000..d7b76e5
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
@@ -0,0 +1,191 @@
+/*
+ *浠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 = "瀹屾垚鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? finishNum { 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; }
+
+        //public string processCode { get; set; }
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_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/WMS/WMS_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/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_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/WMS/WMS_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/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs"
new file mode 100644
index 0000000..5a051cb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_data_detectionlineMapConfig.cs"
@@ -0,0 +1,16 @@
+using WIDESEA_Entity.MappingConfiguration;
+using WIDESEA_Entity.DomainModels;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace WIDESEA_Entity.MappingConfiguration
+{
+    public class dt_geometry_data_detectionlineMapConfig : EntityMappingConfiguration<dt_geometry_data_detectionline>
+    {
+        public override void Map(EntityTypeBuilder<dt_geometry_data_detectionline>
+        builderTable)
+        {
+          //b.Property(x => x.StorageName).HasMaxLength(45);
+        }
+     }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
index d8a0556..f958739 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
@@ -30,7 +30,15 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public int? Quantity { get; set; }
+        public int Quantity { get; set; }
+        /// <summary>
+        /// 鎵樼洏绫诲瀷 1灏忔墭鐩橈紝2澶ф墭鐩�
+        /// </summary>
+        public int TrayType {  get; set; }
+        /// <summary>
+        /// 浠诲姟绫诲瀷 1杞繍杞﹁疆浠诲姟锛�2杞繍绌烘墭鐩樹换鍔�
+        /// </summary>
+        public int TaskType {  get; set; }
         /// <summary>
         /// 鐗╂枡淇℃伅
         /// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
index cc86be5..e5d6087 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
@@ -31,17 +31,18 @@
         {
             try
             {
+                //var task = freeDB.Select<dt_agvtask>().Where(x => x.agv_taskstate == "Create").First();
                 var agv_task = freeDB.Select<dt_agvtask>()
-                        .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString()
-                               && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound")
+                        .Where(t => t.agv_taskstate == "Create"
+                               //&& (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_OutsourceOutbound")
                                && string.IsNullOrEmpty(t.agv_remark))
                         .OrderByDescending(t => t.agv_grade)
                         .OrderBy(t => t.agv_createtime)
                         .First();
                 if (agv_task == null)
                     agv_task = freeDB.Select<dt_agvtask>()
-                        .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString()
-                               && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound")
+                        .Where(t => t.agv_taskstate == "Create"
+                               //&& (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound")
                                && !string.IsNullOrEmpty(t.agv_remark))
                         .OrderByDescending(t => t.agv_grade)
                         .OrderBy(t => t.agv_createtime)
@@ -61,6 +62,8 @@
                     requestTask.Material = agv_task.agv_materielid;
                     requestTask.Grade = agv_task.agv_grade;
                     requestTask.Quantity = agv_task.agv_qty;
+                    requestTask.TrayType = agv_task.agv_barcode.Contains("Small") ? 1 : 2;//
+                    requestTask.TaskType = agv_task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 2 : 1;//
                     requestTask.A = Materiel.a;
                     requestTask.B = Materiel.b;
                     requestTask.C = Materiel.c;
@@ -70,13 +73,14 @@
                     requestTask.G = Materiel.g;
                     requestTask.H = Materiel.h;
                     postJson = JsonConvert.SerializeObject(requestTask);
-                    report = Request.RequestData(postJson, "http://192.168.12.250:5566/api/TaskCreat/CreatTask");
+                    report = Request.RequestData(postJson, "http://192.168.12.204:5000/api/TaskCreat/CreatTask");
                     respone = JsonConvert.DeserializeObject<Respone>(report);
                     if (respone.Success)
                     {
                         agv_task.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
                         agv_task.agv_realesstime = DateTime.Now;
                         freeDB.Update(agv_task).UpdateColumns(t => new { t.agv_realesstime, t.agv_taskstate }).ExecuteAffrows();
+                        WriteWMSLog.LogAdd(requestTask.TASK_NO, "鎴愬姛 ", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
                     }
                 }
             }
@@ -84,8 +88,8 @@
             {
                 respone.Success = false;
                 respone.Msg = ex.Message;
+                WriteWMSLog.LogAdd(requestTask.TASK_NO, "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
             }
-            WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.Success ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
         }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
index 210fd6c..c0697aa 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs"
@@ -30,7 +30,7 @@
             dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
             {
                 hty_pkid = Guid.NewGuid(),
-                agv_id = Guid.Empty,
+                agv_id = task.agv_id,
                 agv_tasknum = task.agv_tasknum,
                 agv_materielid = task.agv_materielid,
                 agv_qty = task.agv_qty,
@@ -39,7 +39,7 @@
                 agv_executingBeginTime = task.agv_executingBeginTime,
                 agv_executingEndTime = task.agv_executingEndTime,
                 agv_completeBeginTime = task.agv_completeBeginTime,
-                agv_finishedtime = DateTime.Now,
+                agv_finishedtime = task.agv_finishedtime,
                 agv_taskstate = task.agv_taskstate,
                 agv_tasktype = task.agv_tasktype,
                 agv_fromaddress = task.agv_fromaddress,
@@ -52,7 +52,9 @@
                 agv_barcode = task.agv_barcode,
                 agv_code = task.agv_code,
                 agv_worktype = task.agv_worktype,
-                agv_remark = task.agv_remark
+                agv_remark = task.agv_remark,
+                bindSN = task.bindSN,
+                agv_materbarcode = task.agv_materbarcode,
             };
             htyRepository.Add(agvtask_Hty, true);
             repository.Delete(task, true);
@@ -64,22 +66,76 @@
         public static void Updateinventory(dt_agvtask task)
         {
             string[] bindSNs = task.bindSN.Split(",");
+            int count = 0;
             if (bindSNs.Length > 0)
             {
-                var Materiel = QueryData.QueryMateriel(task.agv_materielid);
-                List<dt_inventory> inventorys = new List<dt_inventory>();
-                foreach (string bindSN in bindSNs)
+                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
                 {
-                    dt_inventory inventory = new dt_inventory()
+                    foreach (var bindSN in bindSNs)
                     {
-                        SN = bindSN,//寰呭畬鍠�
-                    };
-                    inventorys.Add(inventory);
+                        //List<dt_inventory> inventorys = new List<dt_inventory>();
+                        var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First();
+                        //inventorys.Add(inventory);
+                        count = freeDB.Remove(inventory);
+                        if (count < 1)
+                            throw new Exception("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + bindSN);
+                    }
+
                 }
-                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
-                    freeDB.AddRange(inventorys);
-                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
-                    freeDB.Remove(inventorys);
+                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
+                {
+                    List<dt_inventory> inventorys = new List<dt_inventory>();
+                    foreach (string bindSN in bindSNs)
+                    {
+                        var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First();
+                        var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First();
+                        var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
+                        dt_inventory inventory = new dt_inventory()
+                        {
+                            SN = bindSN,
+                            Name = mes_head.productName,
+                            FigureNumber = mes_head.drawingNo,
+                            //HearthNumber = "",
+                            HeatNumber = mes_detail.heatID,
+                            BilletNumber = mes_detail.billetID,
+                            OnlineTime = task.agv_finishedtime,
+                            Operator = "admin",
+                            stationCode = task.agv_toaddress,
+                            area = station.area,
+                            jobID = mes_detail.jobID,
+                            ID = Guid.NewGuid()
+                        };
+                        inventorys.Add(inventory);
+                    }
+                    count = freeDB.AddRange(inventorys);
+                    if (count < 1)
+                        throw new Exception("搴撳瓨娣诲姞澶辫触锛佸簱浣嶅彿:" + task.agv_toaddress);
+                }
+
+                //var Materiel = QueryData.QueryMateriel(task.agv_materielid);
+                //List<dt_inventory> inventorys = new List<dt_inventory>();
+                //foreach (string bindSN in bindSNs)
+                //{
+                //    dt_inventory inventory = new dt_inventory()
+                //    {
+                //        SN = bindSN,//寰呭畬鍠�
+                //        Name = "",
+                //        FigureNumber = "",
+                //        //HearthNumber = "",
+                //        HeatNumber = "",
+                //        //BilletNumber=,
+                //        OnlineTime = task.agv_finishedtime,
+                //        Operator = "admin",
+                //        stationCode = task.agv_toaddress,
+                //        area = "",
+                //        jobID = "",
+                //    };
+                //    inventorys.Add(inventory);
+                //}
+                //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
+                //    freeDB.AddRange(inventorys);
+                //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
+                //    freeDB.Remove(inventorys);
             }
         }
 
@@ -97,13 +153,19 @@
             station2.quantity = station1.quantity;
             station2.bindSN = station1.bindSN;
             station2.location_state = LocationStateEnum.Stroge.ToString();
-            station2.tray_status = station1.tray_status;
+            station2.Number = task.jobID;
+            station2.heatNumber = station1.heatNumber;
+            station2.stationType = station1.stationType;
+            station2.tray_status = station1.tray_status;//妯斁/绔栨斁
             stationinfoRepository.Update(station2, true);
 
             station1.quantity = 0;
             station1.bindSN = string.Empty;
             station1.location_state = LocationStateEnum.Empty.ToString();
-            station1.tray_status = string.Empty;
+            station1.Number = string.Empty;
+            station1.heatNumber = string.Empty;
+            station1.stationType = string.Empty;
+            station1.tray_status = LocationStateEnum.Empty.ToString();
             stationinfoRepository.Update(station1, true);
         }
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs"
index 1d8a2e8..69994bc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs"
@@ -3,6 +3,7 @@
 using WIDESEA_Comm.MES_Info;
 using WIDESEA_Comm.MES_Info.Request;
 using WIDESEA_Common;
+using WIDESEA_Core.FreeDB;
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_Entity.ToAGV;
 using static WIDESEA_Comm.MES_Info.BasicSN;
@@ -11,7 +12,13 @@
 {
     public class HandleTask_Mes
     {
-        public void UploadMESInfo(dt_agvtask task)
+        static FreeDB FreeDB = new FreeDB();
+        /// <summary>
+        /// 鍚慚ES鍙嶉鍑哄叆搴撲俊鎭�
+        /// </summary>
+        /// <param name="task"></param>
+        /// <exception cref="Exception"></exception>
+        public static void UploadMESInfo(dt_agvtask task)
         {
             try
             {
@@ -31,13 +38,24 @@
 
                 if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
                 {
-                    agvOutWarehousePara outWarehousePara = new agvOutWarehousePara()
+                    //agvOutWarehousePara outWarehousePara = new agvOutWarehousePara()
+                    //{
+                    //    JobID = task.jobID,
+                    //    processCode=task.agv_worktype.ToString(),
+                    //    details = list
+                    //};
+                    agvInWarehousePara outWarehousePara = new agvInWarehousePara()
                     {
+                        details = list,
                         JobID = task.jobID,
-                        details = list
+                        processCode = task.agv_worktype.ToString(),
+                        layerNo = 1,
+                        stackID = "1",
+                        warehouseName = "Agv搴�",
+                        zoneID = task.agv_fromaddress,
                     };
                     obj = outWarehousePara;
-                    ActionName = "agvOutWarehouse";
+                    ActionName = "agvOutWarehouse";//AGV->MES杞﹁疆鍑哄簱
                 }
                 else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
                 {
@@ -45,35 +63,50 @@
                     {
                         details = list,
                         JobID = task.jobID,
+                        processCode = task.agv_worktype.ToString(),
                         layerNo = 1,
-                        stackID = task.agv_barcode,
+                        stackID = "1",
                         warehouseName = "Agv搴�",
                         zoneID = task.agv_toaddress,
                     };
                     obj = inWarehousePara;
-                    ActionName = "agvInWarehouse";
+                    ActionName = "agvInWarehouse";//AGV->MES杞﹁疆鍏ュ簱
                 }
-                else if (task.agv_tasktype == "Transfer")  //绉诲簱鍖哄垎  搴撳唴绉诲簱/澶栧崗绉诲簱
+                //else if (task.agv_tasktype == "Transfer")  //绉诲簱鍖哄垎  搴撳唴绉诲簱
+                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString())  //绉诲簱鍖哄垎  搴撳唴绉诲簱
                 {
                     agvMoveWarehousePara moveWarehousePara = new agvMoveWarehousePara()
                     {
                         details = list,
                         fromLayerNo = "1",
-                        fromStackID = "",
+                        fromStackID = "1",
                         fromWarehouseName = "Agv搴�",
                         fromZoneID = task.agv_fromaddress,
                         toLayerNo = "1",
-                        toStackID = "",
+                        toStackID = "1",
                         toWarehouseName = "Agv搴�",
                         toZoneID = task.agv_toaddress,
                     };
                     obj = moveWarehousePara;
-                    ActionName = "agvMoveWarehouse";
+                    ActionName = "agvMoveWarehouse";//AGV->MES杞﹁疆绉诲簱
                 }
-                //else if (task.agv_tasktype == "Transfer")
-                //{
-
-                //}
+                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())// 澶栧崗绉诲簱
+                {
+                    var mes_head = FreeDB.Select<dt_mes_head>().Where(x => x.jobID == task.jobID).First();
+                    agvTransferListPara agvTransferListPara = new agvTransferListPara()
+                    {
+                        details = list,
+                        transferListID = task.agv_tasknum,
+                        materialCode = mes_head.materialCode,
+                        drawingNoVer = mes_head.drawingNoVer,
+                        fromWarehouse = "AGV搴�",
+                        toWarehouse = "姣涜疆搴�",
+                        Operator = task.agv_userid,
+                        updateTime = task.agv_createtime
+                    };
+                    obj = agvTransferListPara;
+                    ActionName = "agvTransferList";
+                }
 
                 var postJson = JsonConvert.SerializeObject(obj);
                 string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs"
index 7a0c321..5ab2751 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs"
@@ -12,13 +12,23 @@
     {
         static FreeDB freeDB = new FreeDB();
         /// <summary>
-        /// 鏌ヨ鐗╂枡淇℃伅
+        /// 鏍规嵁鍥惧彿鏌ヨ杞﹁疆淇℃伅
         /// </summary>
         /// <param name="type"></param>
         /// <returns></returns>
         public static dt_geometry_data QueryMateriel(string type)
         {
-            var materielinfo = freeDB.Select<dt_geometry_data>().Where(x => x.TypeId.ToString() == type).First();
+            var materielinfo = freeDB.Select<dt_geometry_data>().Where(x => x.Description.ToString() == type).First();
+            return materielinfo;
+        }
+        /// <summary>
+        /// 鏍规嵁涓婚敭鏌ヨ杞﹁疆淇℃伅
+        /// </summary>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        public static dt_geometry_data QueryMateriel(int type)
+        {
+            var materielinfo = freeDB.Select<dt_geometry_data>().Where(x => x.TypeId == type).First();
             return materielinfo;
         }
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs"
new file mode 100644
index 0000000..ac8cd1f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_data_detectionlineRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_geometry_data_detectionlineRepository缂栧啓鎺ュ彛
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Extensions.AutofacManager;
+namespace WIDESEA_WMS.IRepositories
+{
+    public partial interface Idt_geometry_data_detectionlineRepository : IDependency,IRepository<dt_geometry_data_detectionline>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..71ddb21
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS.IServices
+{
+    public partial interface Idt_geometry_data_detectionlineService : IService<dt_geometry_data_detectionline>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..960616c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜巇t_geometry_data_detectionline绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WMS.IServices
+{
+    public partial interface Idt_geometry_data_detectionlineService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs"
new file mode 100644
index 0000000..cda5537
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_data_detectionlineRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_geometry_data_detectionlineRepository缂栧啓浠g爜
+ */
+using WIDESEA_WMS.IRepositories;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS.Repositories
+{
+    public partial class dt_geometry_data_detectionlineRepository : RepositoryBase<dt_geometry_data_detectionline> , Idt_geometry_data_detectionlineRepository
+    {
+    public dt_geometry_data_detectionlineRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static Idt_geometry_data_detectionlineRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<Idt_geometry_data_detectionlineRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs"
index 6a808ba..cbc4836 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs"
@@ -37,5 +37,13 @@
             //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
             //base.Init(dbRepository);
         }
-  }
+        public override WebResponseContent Add(SaveModel saveDataModel)
+        {
+            return base.Add(saveDataModel);
+        }
+        public override WebResponseContent Update(SaveModel saveModel)
+        {
+            return base.Update(saveModel);
+        }
+    }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..e715b9c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜巇t_geometry_data_detectionline绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*dt_geometry_data_detectionlineService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+using System.Linq;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+using WIDESEA_Core.Extensions;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_WMS.IRepositories;
+
+namespace WIDESEA_WMS.Services
+{
+    public partial class dt_geometry_data_detectionlineService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly Idt_geometry_data_detectionlineRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public dt_geometry_data_detectionlineService(
+            Idt_geometry_data_detectionlineRepository dbRepository,
+            IHttpContextAccessor httpContextAccessor
+            )
+        : base(dbRepository)
+        {
+            _httpContextAccessor = httpContextAccessor;
+            _repository = dbRepository;
+            //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
+            //base.Init(dbRepository);
+        }
+  }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs"
new file mode 100644
index 0000000..6ef799b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_data_detectionlineService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_geometry_data_detectionlineService涓嶪dt_geometry_data_detectionlineService涓紪鍐�
+ */
+using WIDESEA_WMS.IRepositories;
+using WIDESEA_WMS.IServices;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS.Services
+{
+    public partial class dt_geometry_data_detectionlineService : ServiceBase<dt_geometry_data_detectionline, Idt_geometry_data_detectionlineRepository>
+    , Idt_geometry_data_detectionlineService, IDependency
+    {
+    public dt_geometry_data_detectionlineService(Idt_geometry_data_detectionlineRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static Idt_geometry_data_detectionlineService Instance
+    {
+      get { return AutofacContainerModule.GetService<Idt_geometry_data_detectionlineService>(); } }
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
index 14825bc..d4bb396 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/Taskinfo/Partial/dt_agvtaskService.cs"
@@ -24,6 +24,7 @@
 using WIDESEA_Common;
 using WIDESEA_Core.ManageUser;
 using WIDESEA_Comm.LogInfo;
+using StackExchange.Redis;
 
 namespace WIDESEA_WMS.Services
 {
@@ -60,6 +61,7 @@
                 var toaddress = saveDataModel.MainData["agv_toaddress"].ToString();
                 var tasktype = saveDataModel.MainData["agv_tasktype"].ToString();
                 var grade = saveDataModel.MainData["agv_grade"].ToInt();
+                var worktype = saveDataModel.MainData["agv_worktype"].ToInt();
                 var station1 = stationinfoRepository.FindFirst(x => x.stationCode == fromaddress);
                 var station2 = stationinfoRepository.FindFirst(x => x.stationCode == toaddress);
                 if (station1 == null || station2 == null)
@@ -81,7 +83,7 @@
                 agvtask.agv_code = "AGV";
                 agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
                 agvtask.agv_tasktype = tasktype;
-                agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+                agvtask.agv_worktype = worktype;//宸ヤ綔绫诲瀷
                 agvtask.bindSN = station1.bindSN;
                 agvtask.agv_materielid = station1.stationType;//鐗╂枡绫诲瀷
                 agvtask.agv_qty = station1.quantity;
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 595067f..c7891fa 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"
@@ -22,6 +22,7 @@
 using WIDESEA_Core.FreeDB;
 using WIDESEA_Core.ManageUser;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
+using static System.Collections.Specialized.BitVector32;
 
 namespace WIDESEA_WMS.Services
 {
@@ -47,7 +48,7 @@
             //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
             //base.Init(dbRepository);
         }
-        FreeDB freeDB=new FreeDB();
+        FreeDB freeDB = new FreeDB();
         /// <summary>
         /// 璁剧疆缂撳瓨鏋剁鐢ㄥ惎鐢�
         /// </summary>
@@ -100,7 +101,33 @@
             return base.Add(saveDataModel);
         }
 
-
+        public override WebResponseContent Update(SaveModel saveModel)
+        {
+            WebResponseContent webResponse = new WebResponseContent();
+            var station = _repository.FindFirst(x => x.id.ToString() == saveModel.MainData["id"].ToString());
+            station.location_state = saveModel.MainData["location_state"].ToString();
+            //station.bindSN = saveModel.MainData["bindSN"].ToString();
+            var SNS = saveModel.MainData["bindSN"].ToString().Split(",");
+            List<string> list = new List<string>();
+            foreach (var SN in SNS)
+            {
+                if (!string.IsNullOrEmpty(SN))
+                    list.Add(SN);
+            }
+            station.bindSN = string.Join(",", list);
+            station.quantity = list.Count;
+            station.stationType = saveModel.MainData["stationType"].ToString();
+            station.heatNumber = saveModel.MainData["heatNumber"].ToString();
+            station.Number = saveModel.MainData["Number"].ToString();
+            station.remark = saveModel.MainData["remark"].ToString();
+            station.tray_status= saveModel.MainData["tray_status"].ToString();
+            var count = _repository.Update(station, true);
+            if (count > 0)
+                webResponse.OK();
+            else
+                webResponse.Error();
+            return webResponse;
+        }
 
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
index b6454a8..f4cb0d3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
@@ -5,6 +5,7 @@
 using WIDESEA_Entity.DomainModels;
 using WIDESEA_Entity.ToAGV;
 using WIDESEA_WMS.Common;
+using WIDESEA_WMS.Common.AGVTask;
 using WIDESEA_WMS.IRepositories;
 using WIDESEA_WMS.Repositories;
 
@@ -38,7 +39,7 @@
                 if (tasteInfo.TASK_State < 1 || tasteInfo.TASK_State > 4)
                     throw new Exception("鏈畾涔夌殑浠诲姟鐘舵��:" + tasteInfo.TASK_State);
                 var StateName = Enum.GetName(typeof(AGVTaskStateEnum), tasteInfo.TASK_State);
-                if (task.agv_taskstate == StateName)
+                if (task.agv_taskstate == StateName && task.agv_taskstate != AGVTaskStateEnum.Complete1.ToString())
                 {
                     respone.success = 2;
                     respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State;
@@ -62,9 +63,11 @@
                     throw new Exception("浠诲姟鐘舵�佹洿鏂板け璐ワ紒浠诲姟ID锛�" + tasteInfo.TASK_NO + "锛涗换鍔$姸鎬侊細" + tasteInfo.TASK_State);
                 if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1)
                 {
-                    HandleTask.AddHtyTask(task);
+                    task.agv_finishedtime = DateTime.Now;
+                    //HandleTask_Mes.UploadMESInfo(task);
                     HandleTask.Updateinventory(task);
                     HandleTask.AutoUpdateHCJState(task);
+                    HandleTask.AddHtyTask(task);
                 }
             }
             catch (Exception ex)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_data_detectionlineController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_data_detectionlineController.cs"
new file mode 100644
index 0000000..b92ea7e
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_data_detectionlineController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("dt_geometry_data_detectionline",Enums.ActionPermissionOptions.Search)]
+ */
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WMS.IServices;
+
+namespace WIDESEA_WMS.Controllers
+{
+    public partial class dt_geometry_data_detectionlineController
+    {
+        private readonly Idt_geometry_data_detectionlineService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public dt_geometry_data_detectionlineController(
+            Idt_geometry_data_detectionlineService service,
+            IHttpContextAccessor httpContextAccessor
+        )
+        : base(service)
+        {
+            _service = service;
+            _httpContextAccessor = httpContextAccessor;
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_data_detectionlineController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_data_detectionlineController.cs"
new file mode 100644
index 0000000..fc05480
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_data_detectionlineController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_geometry_data_detectionlineController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WMS.IServices;
+namespace WIDESEA_WMS.Controllers
+{
+    [Route("api/dt_geometry_data_detectionline")]
+    [PermissionTable(Name = "dt_geometry_data_detectionline")]
+    public partial class dt_geometry_data_detectionlineController : ApiBaseController<Idt_geometry_data_detectionlineService>
+    {
+        public dt_geometry_data_detectionlineController(Idt_geometry_data_detectionlineService service)
+        : base(service)
+        {
+        }
+    }
+}
+
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\234\272\345\212\240\345\267\245\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\234\272\345\212\240\345\267\245\051.xlsx"
new file mode 100644
index 0000000..e899f46
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\234\272\345\212\240\345\267\245\051.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\243\200\346\265\213\347\272\277\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\243\200\346\265\213\347\272\277\051.xlsx"
new file mode 100644
index 0000000..36e8470
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\346\243\200\346\265\213\347\272\277\051.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx"
deleted file mode 100644
index 966f062..0000000
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data.sql" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/\346\234\272\345\212\240\345\267\245dt_geometry_data.sql"
similarity index 100%
rename from "\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data.sql"
rename to "\351\241\271\347\233\256\350\265\204\346\226\231/DB/\346\234\272\345\212\240\345\267\245dt_geometry_data.sql"
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/\346\243\200\346\265\213\347\272\277dt_geometry_data.sql" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/\346\243\200\346\265\213\347\272\277dt_geometry_data.sql"
new file mode 100644
index 0000000..800f73e
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/\346\243\200\346\265\213\347\272\277dt_geometry_data.sql"
@@ -0,0 +1,677 @@
+-- --------------------------------------------------------
+-- Host:                         127.0.0.1
+-- Server version:               5.5.23 - MySQL Community Server (GPL)
+-- Server OS:                    Win32
+-- HeidiSQL version:             7.0.0.4140
+-- Date/time:                    2024-02-29 14:47:04
+-- --------------------------------------------------------
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET NAMES utf8 */;
+/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
+
+-- Dumping database structure for db2
+CREATE DATABASE IF NOT EXISTS `db2` /*!40100 DEFAULT CHARACTER SET utf8 */;
+USE `db2`;
+
+
+-- Dumping structure for table db2.wd_geometry_data
+CREATE TABLE IF NOT EXISTS `wd_geometry_data` (
+  `TypeId` int(11) NOT NULL DEFAULT '0' COMMENT 'e.g. 10001',
+  `Description` varchar(64) NOT NULL DEFAULT '',
+  `a` float NOT NULL DEFAULT '0',
+  `b` float NOT NULL DEFAULT '0',
+  `c` float NOT NULL DEFAULT '0',
+  `d` float NOT NULL DEFAULT '0',
+  `e` float NOT NULL DEFAULT '0',
+  `f` float NOT NULL DEFAULT '0',
+  `g` float NOT NULL DEFAULT '0',
+  `h` float NOT NULL DEFAULT '0',
+  `skip_01` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_02` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_03` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_04` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_05` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_06` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_07` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_08` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_09` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_10` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_11` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_12` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_13` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_14` tinyint(1) NOT NULL DEFAULT '0',
+  `skip_15` tinyint(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`TypeId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- Dumping data for table db2.wd_geometry_data: ~629 rows (approximately)
+/*!40000 ALTER TABLE `wd_geometry_data` DISABLE KEYS */;
+INSERT INTO `wd_geometry_data` (`TypeId`, `Description`, `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`, `skip_01`, `skip_02`, `skip_03`, `skip_04`, `skip_05`, `skip_06`, `skip_07`, `skip_08`, `skip_09`, `skip_10`, `skip_11`, `skip_12`, `skip_13`, `skip_14`, `skip_15`) VALUES
+	(1, 'TSW-003D', 69, 16, 121, -28, 971, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(2, 'TSW-051', 69, 16, 122.5, -29.5, 897, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(3, 'TSW-609', 69, 16, 122.5, -29.5, 897, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(4, 'TSW-316-2', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(5, 'TSW-510', 66.5, 16, 121.5, -4, 894, 237, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(6, 'TSW-843', 73, 16, 119, -30, 971, 210, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(7, 'TSW-383', 0, 16.05, 123.95, 58, 1306, 242, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(9, 'TSW-255-1', 16.5, 15, 120, 19.5, 914, 198, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(10, 'TSW-791', 15.25, 16, 119, 25.25, 974.25, 200, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(11, 'TSW-658', 76, 15, 78.7, -52.4, 876, 144, 19, 42.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(12, 'TSW-987', -11, 18, 122, 60, 1306, 248, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(13, 'TSW-898', 35.25, 16, 119.5, 9.5, 914, 199, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(14, 'TSW-208-1', 58, 16, 119, 1, 898, 175, 29, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(15, 'TSW-943', 68, 10.5, 124.5, -25, 980, 186, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(19, 'TSW-607-1', 55, 16.25, 123.75, -20, 1276, 223, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(20, 'TSW-316-15', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(21, 'TSW-665', 65, 18, 123, -25, 910, 186, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(22, 'TSW-802', 30.25, 16, 128, 14.25, 971.25, 210, 27.3, 77.79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(23, 'TSW-281A', 19.5, 16, 124, 18.5, 1021, 215, 27, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(24, 'TSW-864', 63.5, 19, 121, -26.5, 972, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(25, 'TSW-685-1', 24, 16.25, 119, 27, 978, 192, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(26, 'TSW-423', 37, 19.53, 119.47, -12, 1159, 238, 31, 68.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(27, 'TSW-436-1', 2.75, 16, 119, 38.5, 894, 193, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(28, 'TSW-229', 20.5, 16, 119, 20.5, 975, 187, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(29, 'TSW-438', 44.5, 12.7, 114.3, 6.5, 931.5, 189.5, 28.5, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(31, 'TZWS-214-02', 9.5, 16, 121, 15.5, 895, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(32, 'TSW-441', 73, 16, 126, -15, 1105, 232, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(33, 'TSW-864-1', 63.5, 13, 127, -26.5, 975.6, 212, 28.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(34, 'TSW-425', 20, 15, 120, 20, 916.2, 188, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(35, 'TSW-449-3', 29, 16, 115, 30, 979, 184, 30, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(36, 'TSW-360-3', 12, 16, 119, 39, 914, 206, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(37, 'TSW-361-1', 12, 16, 119, 39, 914, 206, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(38, 'TSW-752-2', 79, 13, 122, -18, 1056, 212, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(39, 'TSW-451', 49.1, 15.9, 119, -12.5, 1149.6, 209, 26.2, 72.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(41, 'TSW-362', 44.5, 19.78, 123.12, -14.7, 1071.66, 201.6, 27.83, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(42, 'TSW-981', 17, 16, 119, 34, 914, 200, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(43, 'TSW-759-1', 84.5, 16, 115, -24.5, 1012.6, 188, 27.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(44, 'TSW-425-1', 20, 15, 120, 20, 916.2, 187, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(45, 'TSW-1009', -25, 16, 119, 60, 894, 199, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(46, 'TSW-456', 18, 17.2, 115.8, 29, 1149, 212, 28.48, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(47, 'TZWS469-02', 63.5, 16, 129.3, -28.8, 925, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(48, 'TSW-468', 39.4, 14.3, 128.58, -22.28, 1149.41, 243.5, 28.58, 63.51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(49, 'TSW-455-2', 18, 16, 117, 29, 1147, 212, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(50, 'TSW-467-1', 78, 15, 125, -16, 1025, 238, 27.5, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(51, 'TSW-300-2', 66, 14, 127, -29, 904, 189, 27, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(52, 'TSW-927', 42, 16, 117, 26, 1015, 182, 30, 66.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(53, 'TSW-941', 28, 16, 119, 15, 894, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(54, 'TSW-638-6', 22.5, 16, 119, 27.5, 972, 199, 26, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(55, 'TSW-942', 57.15, 10, 125, -1.65, 1150, 165, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(56, 'TSW-630', 3.5, 15.875, 123.825, 24.3, 930.8, 135.9, 26.8, 72.231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(57, 'TSW-442', 71.5, 13.95, 125, -29.5, 980.6, 214, 28.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(58, 'TSW-200-5', 69, 16, 122.5, -29.5, 971, 202, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(60, 'TSW-151L', 22.75, 16, 119, 28.75, 978, 198, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(62, 'TSW-476-4', 10, 16, 119, 4, 914, 175, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(63, 'TSW-895-1', 15, 16, 119, 36.5, 918, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(65, 'TSW-640', 63.5, 19.96, 125.24, -30.9, 896, 208, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(66, 'TSW-123-4', 63.5, 20, 125, -32.5, 898, 200, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(67, 'TSW-715', 1.45, 15.25, 124.45, 22.95, 930, 131, 26.59, 72.23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(68, 'TSW-445', 49.2, 16, 123.7, -23.6, 1070.8, 225.4, 25.4, 72.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(69, 'TSW-788', 60.1, 13, 124, -17, 1008, 164, 29, 68.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(70, 'TSW-848', 9.25, 16, 119, 32.25, 894, 205, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(71, 'TSW-360-1', 12, 16, 119, 39, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(72, 'TSW-361', 12, 16, 119, 39, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(73, 'TSW-792', 54, 14, 121, 4, 1005.8, 182, 27.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(74, 'TSW-517-1', 15.25, 14.5, 120.5, 25.25, 976, 200, 27.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(75, 'TSW-963', 0, 22, 129.5, 60.5, 1123, 206, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(76, 'TSW-429-4', 13.5, 15, 125, 24.5, 1123, 235, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(77, 'TSW-005-16', 69, 16, 122.5, -29.5, 897, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(78, 'TSW-975', 20.5, 16, 119, 20.5, 914, 210, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(79, 'TSW-179-68', 65, 17, 124, -26, 910, 188, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(80, 'TSW-053-10', 35.5, 16, 119, 0.5, 895, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(81, 'TSW-536-1', 44.5, 19.96, 123, -19.6, 1097, 225, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(82, 'TSW-319', 65, 15, 127, -29, 911, 184, 27, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(83, 'TSW-112-33', 68.5, 16, 120.5, -26, 898, 181.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(84, 'TSW-935', 2.5, 16, 119, 40.5, 914, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(85, 'TSW-112-97', 69, 16, 120, -26, 894, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(86, 'TSW-493', 9, 16, 119, 32.25, 894.5, 199.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(87, 'TSW-493-1', 9, 16, 119, 32.25, 894.5, 199.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(88, 'TSW-493-4', 9, 16, 119, 32.25, 894.5, 199.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(89, 'TSW-112-20', 69, 16, 120.5, -27.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(90, 'TSW-424', 69, 16, 120.5, -27.5, 895, 186, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(91, 'TSW-721', 15.9, 16, 129.3, -23.024, 1070, 234.16, 27, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(92, 'TSW-681', 35, 18, 129, 5, 935, 163, 30, 89.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(93, 'TSW-958', 70, 16, 119.5, -27, 895, 194, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(94, 'TSW-112-27', 68, 16, 119, -25, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(95, 'TSW-627', 69, 14, 124.5, -29.5, 894, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(96, 'TSW-931', 56, 16, 119, 2.5, 974, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(97, 'TSW-123-5', 63.5, 20, 125, -32.5, 898, 200.6, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(98, 'TSW-517', 15.5, 17.7, 125.3, 25.5, 985, 188, 26.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(99, 'TSW-518-5', 15.5, 18, 125, 25.5, 985, 179, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(100, 'TSW-588', 46, 15, 125, -28, 1072, 228, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(101, 'TSW-800-2', 44.9, 16, 124, 9.1, 1123, 244, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(102, 'TSW-112-53', 69, 13, 124, -28, 897, 153, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(103, 'TSW-248-2', 51, 16, 120, -21, 902, 178, 26, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(105, 'TSW-686-1', 32.5, 15.9, 124, 17, 967, 210, 26.2, 72.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(106, 'TSW-112-44', 65, 16, 120.5, -26.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(107, 'TSW-112-22', 69, 16, 120.5, -27.5, 897, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(108, 'TSW-112-49', 69, 16, 120.5, -27.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(109, 'TSW-934', 16, 16, 119, 19, 976, 180, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(110, 'TSW-449-3', 29, 16, 115, 30, 979, 184, 30, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(111, 'TSW-302-2', 15, 14, 121, 5, 921, 157, 29, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(112, 'TSW-533', 25.5, 16, 119, 15, 906, 187, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(113, 'TSW-603-4', 20.5, 16, 119, 20.5, 894.5, 189.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(114, 'TSW-911', 66, 10.5, 124.5, -23, 1010, 207, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(116, 'TSW-123-7', 63.5, 20, 125, -29.7, 898, 171.5, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(117, 'TSW-481', 11.8, 16, 112, 19, 974, 197, 27, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(118, 'TSW-518-5', 15, 15.3, 119.7, 25.5, 976.25, 191, 27.978, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(119, 'TZWS-483-02', 63, 16, 111, 1.5, 899.5, 212, 29, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(120, 'TSW-198-2', 5, 10.5, 110.5, 49, 1025, 189, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(121, 'TSW-711', 17, 15, 120, 23.5, 977, 191, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(122, 'TSW-518-4', 15.5, 19, 122, 24, 983, 185, 28.35, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(123, 'TSW-518-6', 15.5, 18.5, 121.5, 25.5, 981, 186, 28, 72.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(125, 'TSW-719-4', 20, 16, 119, 30, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(126, 'TSW-819', 2.75, 16, 119, 38.5, 894.5, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(127, 'TZWS-121-02', 63.5, 20, 125, -30, 893.6, 205, 25.4, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(128, 'TSW-576-5', 31, 16, 119, 19.5, 894.5, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(129, 'TSW-570', 63.5, 15, 110, -17, 905, 202, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(130, 'TSW-341', 69, 16, 120.5, -27.5, 898, 184, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(131, 'TSW-215-1', 65, 16, 120.5, -26.5, 895, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(132, 'TSW-112-106', 71, 16, 121, -27, 896, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(133, 'TSW-249-1', 24.5, 16, 120, 26, 972, 199, 26, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(134, 'TSW-112-18', 65, 16, 120.5, -26.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(136, 'TSW-112-70', 68, 16, 119, -25, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(137, 'TSW-112-50', 69, 16, 120, -26, 890, 150, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(138, 'TZWS-204-02', 35.5, 16, 119, 0.5, 896, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(139, 'TSW-458-2', 30.5, 16, 119.5, 5, 898, 179, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(140, 'TSW-928', 33.5, 15, 120, -1, 898, 190, 29, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(141, 'TSW-906', 2, 16, 121, 39, 894, 199, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(142, 'TSW-112-57', 68, 16, 119, -27, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(143, 'TSW-617-1', 12, 16, 119, 39, 914, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(144, 'TSW-321-2', 55, 15, 126, -30.9, 974, 198, 27, 70.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(145, 'TSW-005-32', 69, 16, 124, -30, 898, 178, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(147, 'TSW-989', 64.5, 16, 129.26, -31.96, 888.8, 187, 25.4, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(148, 'TSW-002-10', 68, 16, 119, -25, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(149, 'TSW-618', 12, 16, 119, 39, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(150, 'TSW-179-40', 65, 17, 123, -26, 915.8, 188, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(151, 'TSW-602', 22.75, 17.9, 122.1, 28.75, 986, 187, 28, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(152, 'TSW-974', 20, 16, 119, 30, 894, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(153, 'TSW-158-4', 46.5, 10.5, 109.5, 12.5, 912.5, 158, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(154, 'TSW-290-1', 65, 16, 122, -25, 970, 204, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(155, 'TSW-223-7', 63, 12.358, 125.142, -22.5, 1012.3, 172, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(157, 'TSW-531', 39.5, 13.5, 124, -12.5, 1087.5, 202, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(158, 'TSW-541-1', 23, 15, 120, 27, 976, 198, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(159, 'TSW-237A', 26, 14, 121, 27.5, 978, 200, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(161, 'TSW-265-2', 14, 16, 119, 26, 969, 194, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(162, 'TZWS-231-02', 63, 14.4, 112.6, 0, 972, 211, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(163, 'TSW-971', 68.25, 16, 119.5, -25.8, 894.5, 197.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(164, 'TSW-560-4', 35, 16, 119, 5, 925, 187, 29, 82.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(165, 'TSW-003E', 69, 16, 121, -28, 971, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(166, 'TSW-635-1', 4, 19, 123, 36, 900, 198, 27, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(167, 'TSW-112-42', 68, 16, 119, -25, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(168, 'TSW-504-1', 44.45, 16, 125.2, -17.65, 1143, 228.6, 25.4, 76.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(169, 'TSW-003-8', 69, 16, 121, -28, 964, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(170, 'TSW-612', 69, 16, 122.5, -29.5, 899, 201, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(171, 'TSW-244', 69, 16, 120.5, -27.5, 894, 153, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(172, 'TSW-005-34', 69, 10.5, 128, -29.5, 900, 186, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(173, 'TSW-005-33', 69, 16, 122.5, -29.5, 894, 176, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(174, 'TSW-1003', 18, 16, 119, 25, 969, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(175, 'TSW-457-3', 20.5, 17.5, 117.5, 20.5, 977.2, 198, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(176, 'TSW-707', 35.5, 15, 120, 3, 896, 193, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(177, 'TSW-932', 56.5, 16, 119, 3.5, 896, 180, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(178, 'TZWS-295-02', 63.5, 13, 112, -17, 905, 207, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(179, 'TSW-149-5', 63.5, 20, 125.25, -31, 1022.75, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(180, 'TSW-940', 63, 13, 124, -22, 1015.5, 172, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(181, 'TZWS-362-02', 39, 13, 112.5, 13, 905, 184, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(182, 'TSW-660-1', -7, 16, 119, 34, 896, 181, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(183, 'TZWS-201-02', 39, 13, 112.5, 13, 907, 180, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(184, 'TSW-468-1', 39.4, 14.3, 128.58, -22.28, 1149.41, 243.5, 28.58, 63.51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(185, 'TSW-557', 8, 13, 117, 23.5, 1076, 177, 27, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(186, 'TSW-558', 22, 13, 117, 0, 1076, 193, 27, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(187, 'TSW-469-1', 41.3, 15.8, 127, -17.5, 1079.5, 189, 28.58, 66.68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(188, 'TSW-398-1', 15, 16, 119, 25, 1104, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(189, 'TSW-005-25', 68, 16, 121, -28, 897, 194, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(190, 'TZWS-123-02', 68, 16, 119, -25, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(191, 'TSW-383-3', -10.5, 18, 122, 61, 1287, 250, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(192, 'TSW-252', 69, 16, 122.5, -29.5, 897, 141, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(193, 'TSW-245', 69, 16, 122, -30, 896, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(194, 'TSW-924', 50, 15, 110, -3.5, 905, 169, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(195, 'TSW-569-2', 8.5, 16, 119, 34.5, 1106, 229, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(196, 'TSW-333-1', 63.5, 19.96, 125.34, -31, 1020.8, 235, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(197, 'TSW-112-31', 69, 16, 120.5, -27.5, 891, 181, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(198, 'TSW-519', 69, 14, 116, -21, 971, 186, 27, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(199, 'TSW-134', 63.5, 20, 125, -30.5, 893.6, 198, 27.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(200, 'TSW-112-108', 69, 16, 120.5, -27.5, 899, 180, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(201, 'TSW-179-38', 65, 17, 124, -25, 914, 208, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(202, 'TSW-112-32', 68.5, 16, 120.5, -26, 898, 181.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(203, 'TSW-540', 0, 16, 120, 39, 904, 195, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(204, 'TSW-112-47', 71, 16, 121, -27, 894, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(205, 'TSW-589', 42, 18, 119, -13, 1150, 244, 29, 64.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(206, 'TSW-457-1', 20.5, 17.5, 117.5, 20.5, 977.2, 187, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(207, 'TSW-112-48', 69, 16, 120.5, -27.5, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(208, 'TSW-709', 20, 16, 119, 30.5, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(209, 'TSW-163-3', 15, 16, 119, 20, 976, 179, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(210, 'TSW-051-E2', 70, 16, 124, -30, 900, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(211, 'TSW-548', 15, 17.7, 117.3, 25.5, 976.66, 198, 28.33, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(212, 'TSW-112-10', 68, 16, 119, -25, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(213, 'TSW-316-1', 0, 16, 119, 41, 894, 187.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(214, 'TSW-227', 69, 16, 121, -28, 895, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(215, 'TSW-452', 50, 19.5, 120, -32, 1160, 208, 31, 68.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(216, 'TSW-179-26', 65, 18, 123, -25, 915, 204, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(218, 'TSW-691', 15, 15, 120, 25, 976, 194, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(219, 'TSW-556', 68, 12.45, 122.55, -25, 896.8, 200, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(220, 'TSW-309', 69, 11, 125.5, -27.5, 898, 170, 29, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(221, 'TSW-285', 69, 16, 122.5, -29.5, 893, 141, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(222, 'TSW-429-2', 13.5, 15, 125, 24.5, 1123, 229.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(223, 'TSW-518-3', 15.25, 15, 120, 25.25, 976.25, 191, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(224, 'TSW-112-83', 68, 16, 119, -25, 896, 189.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(225, 'TSW-526', 38, 16, 119, 12, 896, 206, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(226, 'TSW-555', 7, 15, 112, 42, 905, 202, 27.5, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(227, 'TSW-112-59', 69, 16, 120.5, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(228, 'TSW-053-6', 35, 16, 119, 0, 896, 177, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(229, 'TSW-859-1', 2.5, 16, 124, 50, 1126.36, 228, 29.68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(230, 'TSW-248', 51, 16, 120, -21, 902.2, 178, 26.1, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(231, 'TSW-247', 53, 16, 125.5, -8.5, 956, 174, 28, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(232, 'TSW-112-71', 71, 16, 121, -27, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(233, 'TSW-053-2', 35.5, 16, 119, 0.5, 896, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(234, 'TSW-112-77', 68, 16, 119, -25, 898, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(235, 'TSW-123-1', 63.5, 20, 125, -32.5, 898, 198, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(236, 'TSW-112-69', 69, 16, 120.5, -27.5, 894, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(237, 'TSW-12-84', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(238, 'TSW-910', 64, 15, 124, -24.7, 897.25, 206.75, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(239, 'TSW-794', 69, 14, 124.5, -29.5, 899, 183, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(240, 'TSW-628', 27.5, 13, 112, 19, 905, 173, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(241, 'TSW-385-11', 63.5, 19.96, 125.24, -30.7, 974, 214, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(242, 'TSW-717', 15, 19, 122, 25, 982, 193, 28, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(243, 'TSW-325-1', 69, 14, 121, -26, 901, 185, 29, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(245, 'TSW-678', 3.5, 16, 121, 42, 925, 192, 29, 66.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(246, 'TSW-718', 15, 19, 122, 25, 982, 184, 28, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(247, 'TSW-400-2', 3.5, 18, 129, 31.5, 1123, 226, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(248, 'TSW-149-10', 63.5, 20, 125.25, -31, 1022.75, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(249, 'TSW-316-3', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(251, 'TSW-151D', 23.75, 16, 119, 27.75, 978, 192, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(252, 'TSW-394-1', -18.92, 15, 124.7, 31.72, 1121, 213.7, 27, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(253, 'TSW-200-6', 69, 15, 121.5, -27.5, 975.16, 200, 28.58, 63.51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(254, 'TSW-621', 65, 16, 125, -26, 910.8, 193, 25.4, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(255, 'TSW-400-3', 7, 21.5, 125, 25, 1113, 228, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(256, 'TSW-723-2', 84.5, 16, 115.5, -24.5, 1012.6, 173, 27.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(257, 'TSW-112-68', 69, 16, 119, -26, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(258, 'TSW-112-81', 69, 16, 120, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(259, 'TSW-454', 60.1, 13, 124, -16, 1009.5, 169, 29, 68.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(260, 'TSW-179-31', 65, 18, 123, -25, 911, 185, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(261, 'TZWS-213-02', 30, 15.9, 124, 6, 969, 235, 27.2, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(262, 'TSW-476-1', 10, 16.25, 118.75, 4, 914, 175.17, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(263, 'TSW-476-2', 10, 16.25, 118.75, 4, 914, 175.2, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(264, 'TSW-316-11', 0, 16, 119, 41, 896, 189.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(265, 'TSW-391', 57.15, 14.29, 114.71, 5.56, 1149.4, 165, 28.58, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(266, 'TSW-534', 27, 16, 116, 18.5, 906.25, 187, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(267, 'TSW-112-51', 71, 16, 119, -28, 894, 187, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(268, 'TSW-158-3', 46, 10.5, 109.5, 12, 912, 165, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(269, 'TSW-200-7', 69, 15, 123.5, -29.5, 972.16, 204, 28.58, 63.51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(271, 'TSW-722', 40.1, 16, 129.3, -28.4, 1070, 227, 27, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(273, 'TSW-700-5', 69, 16, 122.5, -29.5, 889, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(274, 'TSW-498', 12, 16, 119, 39, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(275, 'TSW-619', 20, 16, 119, 30, 894, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(277, 'TSW-385-2', 64.5, 19.96, 125.24, -30.7, 974, 215, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(280, 'TSW-149-7', 63.5, 20, 125.25, -31, 1022.75, 234, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(281, 'TSW-811', 68, 16, 112, -17, 894, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(283, 'TZWS-203-02', 63, 14.5, 112.5, 0, 1057, 207, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(284, 'TSW-179-37', 65, 17, 124, -25, 914, 191.6, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(285, 'TSW-741', 50.5, 10.5, 124.5, -20.5, 994, 188, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(286, 'TSW-319-3', 67, 14, 126, -29, 904, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(287, 'TSW-112-75', 69, 16, 120.5, -27.5, 899, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(289, 'TSW-888', 92, 16, 119, -30, 1121.6, 190, 27.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(290, 'TSW-871', 69, 11.1, 125.4, -27.5, 907.1, 188, 28.57, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(291, 'TSW-134-6', 63.5, 20, 125, -30.5, 893.6, 198, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(292, 'TSW-933', 27, 15.2, 119.8, 15, 896, 205, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(295, 'TSW-112-3', 69, 16, 120.5, -27.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(297, 'TSW-112-79', 69, 16, 120.5, -27.5, 894.5, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(299, 'TSW-636', 16, 10.5, 116.5, 50, 890, 191, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(300, 'TSW-567-3', 38.1, 13, 112, 8, 905, 169, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(301, 'TSW-051-S', 69, 16, 124, -30, 890, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(302, 'TSW-164-1', 55, 15, 120, 0, 976, 179, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(303, 'TSW-567', 39, 13, 112.5, 13, 907, 180, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(304, 'TSW-151C', 22.75, 16, 119, 28.75, 978, 192, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(305, 'TSW-402', 56.5, 16, 119, -5, 978, 177.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(306, 'TSW-151E', 23.75, 16, 119, 27.75, 978, 192, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(307, 'TSW-112-5', 69, 16, 120.5, -27.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(308, 'TSW-240-2', 67, 15, 120, -22, 976, 204, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(309, 'TSW-333-4', 63.5, 19.96, 125.34, -31, 1020.8, 231.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(310, 'TSW-800-1', 44.9, 16, 124, 9.1, 1123, 244, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(312, 'TSW-599', 38, 11.9, 120.1, 5, 924, 185, 29, 82.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(313, 'TSW-311', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(314, 'TSW-732-1', 15, 15, 120, 21, 976, 178, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(315, 'TSW-458-3', 30.5, 16, 119.5, 5, 899, 183, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(316, 'TSW-751', 63.5, 19, 121, -26.5, 973, 213.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(317, 'TSW-426', 17, 15, 120, 23, 916.2, 180, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(318, 'TSW-112-62', 71, 16, 121, -27, 896, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(319, 'TSW-518-2', 15, 15, 120, 25.5, 976, 191, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(320, 'TSW-566', 50.8, 15, 110, -4.3, 905, 203, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(322, 'TSW-285-4', 69, 13, 124.5, -28.5, 898.4, 141, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(323, 'TSW-973', 2.75, 16, 119.5, 38.25, 894.5, 196, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(324, 'TSW-366-4', 16, 16, 119, 19, 894, 196, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(326, 'TSW-366-2', 16, 15, 120, 20, 896, 202, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(327, 'TSW-643', -19, 18, 122, 31.5, 1123.8, 213.7, 28.5, 71.4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(328, 'TSW-814', 67, 16, 119, -22, 976, 204, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(330, 'TZWS-127-02', 20.25, 17, 118, 20, 918, 187, 29, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(332, 'TSW-002-7', 68, 16, 119, -25, 899, 187, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(333, 'TSW-071-2', 68, 16, 119, -25, 899, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(334, 'TSW-944', 56.5, 15.5, 119.5, 0, 956, 179, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(335, 'TSW-219', 54, 16, 124, -13, 1158, 178, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(336, 'TSW-605-2', 64, 15, 125, -26, 897, 207, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(342, 'TSW-316-16', 0, 16, 119, 41, 896, 196, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(343, 'TSW-112-87', 69, 16, 119, -25, 894, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(345, 'TSW-819-1', 2.75, 16, 119, 38.5, 894.5, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(346, 'TSW-053-14', 46.5, 16, 119, -1.5, 896, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(347, 'TSW-051-11', 69, 16, 119, -26, 897, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(348, 'TSW-002-E1', 69, 16, 119, -26, 894, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(349, 'TSW-005-29', 69, 15, 123.5, -29.5, 899, 185, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(350, 'TSW-163-6', 15, 16, 119, 21, 974, 177, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(351, 'TSW-400-1', 14, 18, 134, 32, 1128, 180, 31, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(352, 'TSW-112-72', 68, 16, 119, -25, 894, 187, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(354, 'TSW-621-1', 65, 16, 125, -26, 910.8, 190, 25.4, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(355, 'TSW-391-1', 57.15, 14.29, 114.71, 5.56, 1149.4, 165, 28.58, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(356, 'TSW-151F', 23.75, 15.5, 119.5, 27.75, 980, 193, 29, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(361, 'TSW-112-91', 68, 16, 119, -25, 896, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(362, 'TSW-200', 69, 16, 122.5, -29.5, 970.1, 221, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(368, 'TSW-560-1', 36.5, 16, 120, 5, 925, 165, 29, 82.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(375, 'TZWS-183-02', 56.5, 16, 119, -5, 978, 177.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(377, 'TSW-091-2', 65, 16, 120.5, -26.5, 897.2, 178, 26.1, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(378, 'TZWS-288-02', 26.6, 14.3, 112.7, 20.4, 977.96, 190, 28.58, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(379, 'TSW-112-16', 69, 16, 120.5, -27.5, 897, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(380, 'TZWS-72-02', 21.5, 16, 121, 3.5, 895, 180, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(381, 'TSW-391-2', 57.15, 14.29, 114.71, 5.56, 1149.4, 165, 28.58, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(382, 'TSW-179-42', 65, 17, 123, -25, 915, 188, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(383, 'TSW-188-5', 63, 14.5, 115, 0, 1057, 202.25, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(384, 'TSW-112-61', 68, 16, 119, -24, 896, 188, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(387, 'TSW-112-9', 69, 16, 120.5, -27.5, 899, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(388, 'TSW-112-24', 69, 16, 119, -25, 894, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(389, 'TSW-112-67', 68, 16, 119, -25, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(390, 'TSW-626-1', 24.5, 16, 119, 20.5, 894, 203, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(391, 'TSW-149-9', 63.5, 20, 125.25, -31, 1022.75, 228, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(393, 'TSW-071-1', 69, 16, 120.5, -27.5, 895, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(394, 'TSW-936', 2.75, 10.5, 110, 53.25, 910, 180, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(396, 'TSW-459', 63.5, 15.9, 123.8, -23.2, 924.6, 151, 27.3, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(398, 'TSW-473-1', 23.5, 15, 120, 28, 976, 200, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(408, 'TSW-507', 16, 15.9, 123.8, -17.7, 1066.8, 230, 25.4, 72.23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(409, 'TSW-469', 41.3, 15.8, 127, -17.5, 1077.5, 188, 28.58, 66.68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(410, 'TSW-112-47', 71, 16, 121, -27, 896, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(411, 'TSW-580', 0, 16, 119, 41, 916, 197, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(412, 'TSW-112-60', 68, 16, 119, -25, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(413, 'TSW-310-3', 27, 15, 125, 9, 1158, 201.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(414, 'TSW-482', 0, 17, 118, 41, 976.8, 197, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(416, 'TSW-112-107', 69, 16, 120.5, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(417, 'TSW-316-12', 0, 16, 119, 41, 896, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(418, 'TSW-316-14', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(419, 'TSW-641', 23, 16, 119, 27, 974, 205, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(420, 'TZWS-440-02', 16, 15, 120, 20.5, 978, 183, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(422, 'TSW-112-78', 71, 16, 119, -28, 896, 184, 28, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(424, 'TSW-002-3', 68, 16, 119, -25, 894, 187, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(426, 'TSW-051-9', 69, 15, 120, -26, 902, 197, 31, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(427, 'TSW-560-2', 36.5, 16, 119, 5, 920, 161, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(428, 'TSW-051-E3', 69, 16, 118, -30, 889, 200, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(430, 'TSW-385-5', 63.5, 19.96, 125.24, -30.7, 982, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(431, 'TSW-853', -11, 16, 124, 61.2, 1160, 225, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(433, 'TSW-366-3', 16.5, 16, 119.5, 19, 894.5, 189, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(434, 'TSW-633-1', -20, 18, 126, 60, 1310, 223, 28, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(441, 'TSW-537-8', 63.5, 19.96, 125.34, -31, 970.6, 210, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(442, 'TSW-626', 24.5, 16, 119, 20.5, 894, 203, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(443, 'TSW-200-4', 69, 16, 122.5, -29.5, 971.8, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(444, 'TZWS221-2', 45, 10.5, 109.5, 13, 911, 177, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(445, 'TSW-080-4', -7, 16, 119, 34, 896, 180, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(446, 'TSW-660', -7, 16, 119, 34, 896, 181, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(447, 'TZWS-54-02', 56.5, 15, 120, 0, 978, 177, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(448, 'TSW-112-86', 68, 16, 119, -25, 894, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(449, 'TSW-112-99', 68, 16, 119, -25, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(450, 'TSW-179-8', 65, 18, 123, -25, 915, 186, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(451, 'TSW-112-21', 68, 16, 119, -25, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(452, 'TSW-859', 2.5, 16, 124, 50, 1126.36, 226, 29.68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(453, 'TSW-517-5', 15.25, 15, 120, 25.25, 976, 200, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(454, 'TSW-179-30', 65, 17, 124, -25, 914, 191.6, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(455, 'TSW-005-11', 69, 16, 122.5, -29.5, 893, 140, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(456, 'TSW-385-3', 64.5, 19.96, 125.24, -30.7, 974, 216, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(457, 'TSW-385-4', 69, 16, 122.5, -29.5, 969, 211, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(459, 'TSW-112-35', 68, 16, 119, -25, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(463, 'TSW-223-1', 63, 13, 124.5, -21.5, 1015.5, 172, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(466, 'TSW-005', 69, 16, 124, -30, 898, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(467, 'TSW-517-5', 15.25, 15, 120, 25.25, 976.25, 200, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(468, 'TSW-887', 30, 16, 124, 19, 914, 211, 27, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(469, 'TSW-517-6', 15.5, 18.5, 121.5, 25.5, 981, 195, 28, 72.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(471, 'TSW-605-3', 64, 15, 124, -25, 897, 207, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(472, 'TSW-112-84', 68, 16, 119, -25, 896, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(473, 'TSW-112-105', 69, 16, 120.5, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(474, 'TSW-330', 69, 16, 120.5, -27.5, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(475, 'TSW-537-6', 63.5, 19.96, 125.24, -30.7, 974, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(476, 'TZWS-326-02', 69, 16, 120.5, -27.5, 896, 204, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(477, 'TZWS-263-02', 57, 19, 108, -14, 897, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(478, 'TSW-264-3', 34, 16, 119, 6, 906, 187, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(487, 'TSW-091-4', 65, 16, 120.5, -26.5, 897.2, 178, 26.1, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(490, 'TSW-302-1', 15, 14, 121, 5, 921, 157, 29, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(492, 'TSW-002-2', 68, 16, 119, -25, 896, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(493, 'TSW-098-2', 63, 19.96, 125.34, -31.3, 970, 220, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(494, 'TSW-477-1', 17.5, 16, 119, 1.5, 914, 167, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(496, 'TSW-333-2', 63.5, 19.96, 125.34, -31, 1020.8, 230, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(497, 'TSW-316', 0, 16, 120, 41, 895, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(498, 'TSW-728', 17, 16, 119, 23, 915, 195, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(500, 'TSW-112-92', 68, 16, 119, -25, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(501, 'TSW-110-6', 63.5, 19.96, 125.3, -31, 974, 215.9, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(504, 'TSW-112-89', 68, 16, 119, -25, 896, 178, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(505, 'TSW-268', 63.5, 12, 129.5, -27, 977, 216, 29, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(506, 'TSW-053-12', 35.5, 16, 119, 0.5, 895, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(509, 'TSW-632-2', -29, 16, 130.5, 73, 1311, 223, 28, 72.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(510, 'TSW-511-1', -2, 16, 119, 32, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(512, 'TSW-158-2', 46.5, 10.5, 109.5, 12.5, 912.5, 158, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(513, 'TSW-633', -20, 17, 123, 60, 1306, 228, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(514, 'TZWS-230-02', 64, 12.45, 122.55, -20.5, 1009.8, 190, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(515, 'TSW-541', 24, 15, 120, 27, 978, 194, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(516, 'TSW-689', 66, 16, 124, -30, 1026, 238, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(517, 'TSW-112-64', 69, 16, 119, -26, 894, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(518, 'TSW-591', 2.75, 16, 119.5, 38.25, 894.5, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(519, 'TSW-960', -20.3, 16, 124, 32.7, 1144, 213, 26, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(520, 'TSW-112-82', 69, 16, 120.5, -27.5, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(522, 'TSW-200-9', 69, 16, 122.5, -29.5, 971, 206, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(524, 'TSW-750-1', 2.75, 16, 119.5, 38.25, 894, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(525, 'TZWS-56-02', 24, 16.25, 118.75, 27, 978, 192, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(526, 'TSW-537-2', 63.5, 19.96, 125.24, -30.7, 974, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(527, 'TSW-112-98', 71, 16, 119, -28, 894, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(528, 'TSW-854', 48.5, 16, 123.7, -20.2, 1066.8, 225.5, 25.4, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(529, 'TSW-576-3', 31, 16, 119, 19.5, 900, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(533, 'TSW-110-5', 63.5, 19.96, 125.34, -31, 974, 211, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(534, 'TSW-517-4', 15.5, 18.6, 122.4, 23.5, 982.9, 194, 28.3, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(535, 'TZWS-484-02', 63, 16, 113, 1.5, 1057, 211, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(536, 'TSW-452-1', 50, 19.5, 120, -32, 1160, 208, 31, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(537, 'TSW-603-2', 20.5, 16, 119, 20.5, 894.5, 189, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(540, 'TSW-112-94', 69, 16, 120.5, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(541, 'TSW-179-66', 65, 17, 123, -25, 915, 181, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(542, 'TSW-542', 63, 14.5, 112.5, 1.5, 897.5, 205, 28, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(549, 'TSW-591-4', 2.75, 16, 119, 38.25, 894.5, 193, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(550, 'TSW-179-29', 65, 18, 123, -25, 914, 184.6, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(551, 'TSW-237', 26, 14, 121, 29, 977.8, 192, 27.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(552, 'TSW-720', 42.9, 16, 129.3, -23.9, 1070, 225.4, 27, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(554, 'TSW-179-69', 65, 18, 123, -25, 915, 206, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(555, 'TSW--696', 32.5, 15.4, 119.6, 27.5, 906, 174, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(556, 'TSW-112-30', 68, 16, 119, -25, 898, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(557, 'TSW-665-1', 65, 16, 119, -19, 921, 186, 28.5, 69.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(584, 'TSW-179-19', 65, 18, 123, -25, 911, 186, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(585, 'TSW-811', 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(594, 'TSW-742', 18, 16, 119, 23, 976, 184, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(607, 'TSW-179-67', 65, 17, 123, -25, 915, 155, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(608, 'TSW-151H', 22.75, 16, 119, 28.75, 978, 197, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(609, 'TSW-603', 20.5, 16, 119, 20.5, 894.5, 189.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(610, 'TSW-149-4', 63.5, 20, 125.25, -31, 1022.75, 231.8, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(611, 'TSW-425-2', 20, 15, 120, 20, 916.2, 188, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(612, 'TSW-240-1', 67.5, 16.25, 118.75, -22, 976, 203, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(613, 'TZWS-63-02', 16, 13.3, 121.7, 20.5, 978, 185, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(615, 'TSW-053-1', 35.5, 16, 119, 0.5, 896, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(616, 'TSW-505-2', 11.25, 16, 119, 40.25, 894.25, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(617, 'TSW-429-1', 13.5, 15, 125, 24.5, 1123, 229.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(618, 'TSW-915', 3.25, 16.5, 122, 38.75, 897.5, 195.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(621, 'TSW-851', 69, 16, 122.5, -29.5, 972, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(623, 'TSW-005-35', 69, 16, 119, -26, 894, 176, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(624, 'TSW-576-1', 31, 16, 119, 19.5, 894.5, 205, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(626, 'TSW-629', 2.5, 14.5, 115.5, 58, 917, 171, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(631, 'TSW-053-13', 35.5, 16, 119, 0.5, 896, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(632, 'TSW-810', 20, 16, 119, 20, 914, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(633, 'TSW-603-3', 20.5, 16, 119, 20.5, 896, 189.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(635, 'TSW-449-1', 29, 16, 115.5, 29.5, 979.5, 184, 30, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(636, 'TSW-112-80', 69, 16, 120, -29.5, 894.5, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(637, 'TSW-112-40', 68, 16, 119, -25, 894, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(638, 'TSW-188-6', 63, 14.5, 115, 0, 1057, 205, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(639, 'TSW-316-8', 0, 16, 119, 41, 895, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(640, 'TSW-455', 18, 16, 117, 29, 1149, 212, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(644, 'TSW-476', 10, 16.25, 118.75, 4, 914, 175, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(646, 'TSW-270', 69, 14, 124.5, -29.5, 897, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(647, 'TSW-537-12', 63.5, 19.96, 125.24, -31, 976, 215.9, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(648, 'TSW-112-25', 68, 16, 119, -25, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(649, 'TSW-920', 16.5, 16, 119, 45.5, 914, 184.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(652, 'TSW-452-3', 50, 19.5, 120, -32, 1161, 208, 31, 68.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(653, 'TSW-112-41', 69, 16, 120.5, -27.5, 896, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(656, 'TSW-316-4', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(657, 'TSW-112-90', 69, 16, 119, -26, 897, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(659, 'TSW-324', 72, 15, 124, -33, 896.5, 197, 28, 69.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(660, 'TSW-151', 22.75, 16, 119, 28.75, 978, 193, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(661, 'TSW-723', 84.5, 16, 115, -24.5, 1012.6, 188, 27.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(662, 'TZWS-212-02', 20.5, 17.5, 117.5, 20.5, 977.1, 192, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(665, 'TSW-277-1', 30, 10.5, 124.5, -10, 923, 152, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(667, 'TSW-179-35', 65, 18, 123, -25, 915, 205, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(668, 'TSW-725', 60, 16, 120.5, -16, 972, 188, 28.5, 68.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(669, 'TSW-458-1', 30.5, 16, 119.5, 5, 898, 179, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(673, 'TSW-605-4', 64, 15, 125, -26, 897, 207, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(675, 'TSW-914', -2.5, 15, 110, 42.5, 905, 200, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(676, 'TSW-460-2', 69, 15, 124, -30, 897.5, 193, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(677, 'TSW-537', 63, 19.96, 125.24, -30.7, 974, 212.7, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(678, 'TSW-112-88', 68, 16, 119, -25, 896, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(679, 'TSW-467', 78, 16.41, 123.59, -16, 1024.46, 238, 27.23, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(680, 'TSW-225-1', 30.5, 16, 119.5, 5, 896, 179, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(687, 'TSW-249', 24.5, 16, 120, 26, 972, 199, 26, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(688, 'TSW-403', 30, 16, 124.5, 11.5, 1306, 243, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(694, '麓TSW-385', 64.5, 19.96, 125.24, -30.7, 974, 211, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(700, 'TSW-412-1', 35.25, 12.5, 122.5, 19.25, 971.8, 210, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(701, 'TSW-003D-S', 69, 16, 121, -28, 964, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(702, 'TSW-700-1', 69, 16, 120.5, -27.5, 896.5, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(703, 'TSW-457-2', 20.5, 17.5, 117.5, 20.5, 977.2, 198, 28.1, 73.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(705, 'TSW-1017', 16.5, 16, 119, 45.5, 894, 178.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(714, 'TSW-112-93', 69, 16, 119, -26, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(715, 'TSW-706', 40.9, 16, 123.7, -15.5, 1070, 198, 27, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(717, 'TSW-632', -29, 16, 125.5, 73, 1306, 228, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(720, 'TSW-053-9', 35, 16, 119, 0, 895, 177, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(721, 'TSW-179-12', 65, 17, 124, -25, 915, 192, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(723, 'TSW-005-19', 69, 16, 122.5, -29.5, 895, 169, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(730, 'TSW-188-3', 63, 14.5, 115, 0, 1057, 205, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(731, 'TSW-447', 70, 16, 124, -30, 897, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(732, 'TZWS-347-02', 39, 13, 112.5, 13, 905, 184, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(733, 'TSW-697', 35.5, 16, 119, 35.5, 904, 214, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(736, 'TSW-712', 17.3, 18, 122, 23.2, 982, 186, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(741, 'TSW-608', 51, 13, 112.5, -5, 904, 182, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(743, 'TSW-366-1', 16, 16, 119, 19, 894, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(744, 'TSW-112-74', 68, 16, 119, -27, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(746, 'TSW-005-40', 69, 16, 122.5, -29.5, 897, 160, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(747, 'TSW-053-9', 35, 16, 119, 0, 896, 177, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(749, 'TSW-668', -10, 10.5, 124.5, 35, 923, 204, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(750, 'TSW-835', 0, 16, 119, 41, 894, 196, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(751, 'TSW-112-58', 68, 16, 119, -25, 899, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(752, 'TSW-310-4', 27, 15, 125, 9.5, 1158, 201.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(753, 'TSW-450', 49.2, 15.9, 125.4, -20.6, 1073.4, 200, 26.2, 72.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(755, 'TSW-661', 30.15, 16, 123.7, 6.15, 969.05, 235, 27.2, 72.23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(756, 'TSW-112-95', 68, 16, 119, -25, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(757, 'TSW-005-5', 69, 16, 122, -29.5, 899, 141, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(758, 'TSW-225', 30.5, 16, 119.5, 5, 898, 179, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(759, 'TSW-638-4', 23, 14.29, 123.71, 24, 977, 204, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(762, 'TSW-385-6', 63.5, 19.96, 125.24, -30.7, 974, 211, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(763, 'TSW-005-41', 69, 14.5, 122, -28, 897, 186, 28.5, 63.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(764, 'TZWS-217-02', 50, 13, 112, -3.5, 905, 174, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(765, 'TSW-701-3', 69, 16, 118, -30, 894, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(766, 'TSW-635', 3.5, 19, 123, 36.5, 900, 192, 27, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(767, 'TSW-051-E1', 69, 16, 119, -28, 900, 198, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(774, 'TSW-518-1', 15, 14.5, 120.5, 25.25, 976, 191, 27.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(776, 'TSW-350', 66, 15, 110.5, -23, 826.5, 188, 28.7, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(778, 'TSW-619-2', 20, 16, 119, 30, 894, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(782, 'TSW-745', 26.2, 16, 119, 71.8, 976, 174.6, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(786, 'TSW-179-41', 65, 18, 123, -25, 915, 194, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(789, 'TSW-005-30', 68, 16, 122.5, -29.5, 897, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(792, 'TSW-675', 24.5, 15.28, 124.42, 22.3, 892.58, 210, 27.29, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(800, 'TSW-112-29', 69, 16, 119, -25, 894, 191, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(802, 'TSW-005-S', 69, 16, 122.5, -30, 892, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(804, 'TSW-005-S', 69, 16, 122.5, -30, 898, 185, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(808, 'TSW-690', 15, 15, 120, 25, 976, 212, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(822, 'TSW-511', 1, 16, 119, 32, 894, 190, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(832, 'TSW-621-4', 65, 16, 125, -26, 911, 190, 25.4, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(836, 'TSW-912', 2.5, 16, 119, 38.5, 894, 202, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(841, 'TSW-694', 18, 14.3, 123.7, -11.15, 910.8, 155.48, 25.4, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(843, 'TSW-477', 17.5, 16.25, 118.75, 2.5, 914, 167, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(844, 'TSW-179-11', 65, 17, 124, -25, 915, 192, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(845, 'TSW-412', 35.25, 12.5, 122.5, 19.25, 971.8, 210, 28.4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(854, 'TSW-621-3', 65, 16, 125, -26, 911, 193, 25.4, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(856, 'TSW-360', 12, 16, 119, 39, 914, 207, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(859, 'TSW-280-1', 15, 16, 121, 45, 976, 190, 29, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(867, 'TSW-537-1', 63.5, 19.96, 125.24, -30.7, 974, 215.9, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(879, 'TSW-778-1', 69, 16, 120, -27, 894, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(880, 'TZWS-272-02', 52, 16, 117.4, -11, 1072, 232, 28, 69.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(881, 'TSW-634-1', 0, 19, 126, 59, 1314.5, 218.5, 28, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(882, 'TSW-316-5', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(883, 'TSW-190-3', 69, 16, 121.5, -28.5, 894, 197, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(884, 'TSW-285-7', 69, 16, 122.5, -29.5, 897, 145, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(885, 'TSW-839', 63.5, 16, 124, -26.5, 969, 213, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(887, 'TSW-005-17', 69, 16, 122, -30, 897, 160, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(888, 'TZWS-472-02', 69, 16, 120.6, -27.5, 895, 204, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(889, 'TSW-110-4', 63.5, 19.96, 125.3, -31, 974, 212, 28, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(890, 'TSW-112-36', 68, 16, 119, -25, 899, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(891, 'TSW-605', 64, 15, 124, -25, 897, 207, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(892, 'TSW-505-1', 11.25, 16, 119, 40.25, 894.25, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(893, 'TSW-560-3', 35, 16, 119, 5, 920, 170, 27, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(894, 'TSW-284-1', 67, 15, 119, -11, 1010, 193, 30, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(895, 'TSW-285-2', 69, 16, 122.5, -29.5, 893, 169, 25, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(896, 'TSW-465-1', -40, 13, 122, 75, 1121, 229, 27, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(897, 'TSW-648', 66, 17.8, 122.2, -30, 1024.77, 210, 28.2, 72.231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(898, 'TSW-695', 30, 16, 119, 30, 906, 174, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(899, 'TSW-005-28', 69, 14, 124.5, -29.5, 896.5, 172, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(910, 'TSW-316-7', 0, 16, 119, 41, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(911, 'TSW-503', 21.75, 16, 119, 28.3, 976, 210, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(912, 'TSW-493-2', 9, 16, 119, 32.25, 894.5, 199.5, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(913, 'TSW-366-7', 16, 16, 119, 19, 894, 199, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(914, 'TSW-429-3', 13.5, 15, 125, 24.5, 1123, 235, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(915, 'TSW-520', 69, 15, 120, -26, 917, 188, 27, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(917, 'TSW-508', 41, 19.96, 121.24, -20.3, 1122.4, 228, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(918, 'TSW-927-1', 42, 16, 117, 26, 1015, 204, 30, 66.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(919, 'TSW-237-1', 26, 14, 121, 29, 977.8, 203, 27.9, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(920, 'TSW-198-1', 19, 10.5, 109.5, 31, 1025, 186, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(923, 'TSW-724', 60, 16, 121.5, -17.5, 972, 198, 28.5, 68.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(925, 'TSW-746', 25.5, 16, 119, 72.5, 976, 174.6, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(928, 'TSW-002-8', 66, 16, 119, -26, 894, 181, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(930, 'TSW-950', 29.5, 10.5, 116.5, 29.5, 910, 210, 30, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(934, 'TSW-594', 23, 13.95, 116, 30, 998, 200, 28.8, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(935, 'TSW-838', 55, 16, 119, 0, 974, 178, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(936, 'TSW-051', 69, 16, 124, -30, 897, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(937, 'TSW-618-1', 12, 16, 119, 39, 914, 212, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(938, 'TSW-605-5', 64, 15, 125, -26, 897, 207, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(941, 'TSW-674', 25, 16, 119, 27, 894, 136, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(942, 'TSW-112-55', 68, 13, 122, -25, 894, 172, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(943, 'TSW-815', 71, 16, 119, -25, 894, 195, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(945, 'TSW-005-1', 69, 16, 124, -30, 898, 170, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(946, 'TSW-112-23', 71, 16, 120.5, -29.5, 895, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(947, 'TSW-112-34', 71, 16, 119, -28, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(949, 'TSW-452-2', 50, 19.5, 120, -32, 1160, 208, 31, 68.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(957, 'TSW-473', 23.5, 15, 120, 27.5, 978, 200, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(963, 'TSW-002', 69, 16, 120.5, -27.5, 899, 184, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(964, 'TSW-727-2', 70, 16, 121, -29, 894, 197, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(966, 'TZWS-265-02', 63.5, 19, 121, -26.5, 972, 219, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(967, 'TSW-112-56', 68, 13, 122, -25, 894, 188, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(968, 'TSW-091-3', 65, 16, 120.5, -26.5, 899, 178, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(970, 'TSW-982', 0.7, 16, 123.7, 25.3, 940, 143, 32, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(971, 'TSW-053-15', 35, 16, 119, 0, 896, 177, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(972, 'TSW-319-1', 65, 15, 127, -29, 914, 184, 27, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(973, 'TSW-112-85', 71, 16, 119, -25, 896, 174, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(975, 'TSW-634-3', 0, 16, 129, 59, 1314, 225, 28, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(976, 'TSW-732', 15, 15, 120, 21, 978, 177, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(977, 'TSW-591-1', 2.75, 16, 119.5, 38.25, 894.5, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(978, 'TSW-005-E3', 69, 16, 119, -31, 889, 186, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(981, 'TSW-762', 15, 16, 119, 19.5, 919, 174, 29, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(983, 'TSW-112-17', 68, 16, 119, -25, 894, 175, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(984, 'TZWS-348-02', 66, 17.8, 122.2, -30, 1024.86, 243, 28.243, 72.231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(985, 'TSW-937', 21, 16, 111, 14, 904, 192, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(986, 'TSW-112-19', 68, 16, 119, -25, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(987, 'TSW-402-1', 55, 15, 120, -5, 976, 179, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(988, 'TSW-002-5', 69, 16, 120.5, -27.5, 894, 182, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(989, 'TSW-179-8', 65, 18, 123, -25, 915, 186, 25, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(990, 'TSW-794', 69, 14, 124.5, -29.5, 899, 183, 28, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(991, 'TSW-885', 73, 15, 120, -30, 971, 210, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(992, 'TSW-671', 41, 12.45, 122.55, -13, 1081.8, 202, 28.4, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(993, 'TSW-163-2', 16, 15, 120, 20.5, 978, 177.5, 28, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(994, 'TSW-333-3', 63.5, 19.96, 125.34, -31, 1020.8, 238, 27.8, 77.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(995, 'TSW-357', 34, 15, 120, 6, 914, 187, 32, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(996, 'TSW-415-1', -14, 15, 120, 44, 1099, 219, 29, 82.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(997, 'TZWS-329-02', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
+	(998, 'TSW-591-3', 2.75, 16, 119.5, 38.25, 894.5, 193, 27, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+/*!40000 ALTER TABLE `wd_geometry_data` ENABLE KEYS */;
+/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272IP\345\210\206\351\205\215.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272IP\345\210\206\351\205\215.xlsx"
index 03b8e72..5416bff 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272IP\345\210\206\351\205\215.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272IP\345\210\206\351\205\215.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx"
index a65b9bb..16f708e 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256.xlsx"
index eb80fcb..89decbd 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_GEO.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_GEO.pdf"
new file mode 100644
index 0000000..d7d7eb3
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_GEO.pdf"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_INPUT.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_INPUT.pdf"
new file mode 100644
index 0000000..3c23f0a
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/REQ_INPUT.pdf"
Binary files differ

--
Gitblit v1.9.3