From 32317e8f03592e7633fdad7852d1148d3ad37cbb Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 23 五月 2024 18:10:30 +0800
Subject: [PATCH] 优化工单信息界面

---
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_WorkinfoController.cs             |   21 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo_hty.cs                        |  281 ++++++++++++
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_WorkinfoRepository.cs                   |   18 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_WorkinfoRepository.cs                     |   24 +
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_Workinfo_htyController.cs |   33 +
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo.js                              |  106 ++++
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_Workinfo_htyService.cs                        |   27 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_WorkinfoService.cs                          |   12 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_Workinfo_htyMapConfig.cs       |   16 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_Workinfo_htyService.cs                |   41 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_WorkinfoService.cs                            |   27 +
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo_hty.vue                             |   85 +++
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_WorkinfoService.cs                  |   13 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo_hty.cs                |   21 
 代码管理/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo.vue                                 |   84 +++
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo.cs                    |   21 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_Workinfo_htyService.cs                      |   12 
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_WorkinfoController.cs     |   33 +
 代码管理/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_WorkinfoMapConfig.cs           |   16 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_WorkinfoService.cs                    |   41 +
 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo_hty.js                          |   75 +++
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_Workinfo_htyService.cs              |   13 
 代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_Workinfo_htyRepository.cs                 |   24 +
 代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_Workinfo_htyRepository.cs               |   18 
 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo.cs                            |  237 ++++++++++
 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_Workinfo_htyController.cs         |   21 
 代码管理/PCS/WCS_Client/src/router/viewGird.js                                                      |    8 
 27 files changed, 1,328 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo.js"
new file mode 100644
index 0000000..010276d
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo.js"
@@ -0,0 +1,106 @@
+/*****************************************************************************************
+**  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('鐐瑰嚮浜嗘寜閽�');
+        //     }
+        //   });
+        let OutsorcingBtn = this.buttons.find(r => r.name == "鍑哄簱澶栧崗");
+        if(null!=OutsorcingBtn){
+          OutsorcingBtn.onClick = function (){
+            let rows = this.$refs.table.getSelected();
+            if (rows.length == 0) return this.$error("璇烽�夋嫨宸ュ崟!");
+            let addkeys = rows.map(x => {
+                return x[this.table.key];
+            });
+            if (!addkeys || addkeys.Length == 0) return this.$error("鏈幏鍙栧埌宸ュ崟!");
+            this.$confirm("鏄惁纭瑕佸嚭搴撳鍗忥紵","鎻愮ず",{
+                        // iconClass:"el-icon-success",//el-icon-remove鑷畾涔夊浘鏍囨牱寮�
+                        confirmButtonText:"纭",//纭鎸夐挳鏂囧瓧鏇存崲
+                        cancelButtonText:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+                        // cancelBtn:"鍙栨秷",//鍙栨秷鎸夐挳鏂囧瓧鏇存崲
+                        showClose: true,//鏄惁鏄剧ず鍙充笂瑙掑叧闂寜閽�
+                        type: "warning",//鎻愮ず绫诲瀷 success:鎴愬姛/info:淇℃伅/warning:璀﹀憡/error:鎶ラ敊
+            }).then(()=>{
+              let params = {
+                MainData: null,
+                DetailData: null,
+                DelKeys: addkeys
+            }
+            this.http.post("/api/dt_mes_head/OutsorcingWorkOrder", params, "姝e湪澶勭悊宸ュ崟....").then(x => {
+                if (!x.status) return this.$error(x.message);
+                this.$success("澶勭悊宸ュ崟鎴愬姛!");
+                this.refresh();
+            });
+            })
+
+          }
+        }
+
+        //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+        // 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/VV_Workinfo_hty.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/tomes/VV_Workinfo_hty.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/VV_Workinfo_hty.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 4658bbc..6cbf1d0 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"
@@ -217,6 +217,14 @@
         path: '/dt_management_time',
         name: 'dt_management_time',
         component: () => import('@/views/widesea_wcs/wcs/dt_management_time.vue')
+    }    ,{
+        path: '/VV_Workinfo',
+        name: 'VV_Workinfo',
+        component: () => import('@/views/widesea_wcs/tomes/VV_Workinfo.vue')
+    }    ,{
+        path: '/VV_Workinfo_hty',
+        name: 'VV_Workinfo_hty',
+        component: () => import('@/views/widesea_wcs/tomes/VV_Workinfo_hty.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/tomes/VV_Workinfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo.vue"
new file mode 100644
index 0000000..d8d6836
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo.vue"
@@ -0,0 +1,84 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/tomes/VV_Workinfo.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/VV_Workinfo.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'mes_id',
+                footer: "Foots",
+                cnName: '宸ュ崟淇℃伅',
+                name: 'tomes/VV_Workinfo',
+                url: "/VV_Workinfo/",
+                sortName: "workOrder"
+            });
+            const editFormFields = ref({"stackNoRange":""});
+            const editFormOptions = ref([[{"title":"鎵撳寘鏁伴噺","field":"stackNoRange","type":"number"}]]);
+            const searchFormFields = ref({"workOrder":"","jobID":"","drawingNo":"","productName":"","productDesc":"","processCode":"","heatID":"","billetID":"","SN":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"drawingNo","type":"like"},{"title":"宸ヤ綔浠ゅ彿","field":"workOrder","type":"like"},{"title":"宸ュ崟缂栧彿","field":"jobID","type":"like"}],[{"title":"浜у搧鍚嶇О","field":"productName","type":"like"},{"title":"鐐変唬鍙�","field":"heatID","type":"like"},{"title":"閽㈠澂鍙�","field":"billetID","type":"like"}],[{"title":"杞﹁疆SN鍙�","field":"SN","type":"like"},{"dataKey":"WorkTypes","data":[],"title":"宸ュ崟绫诲瀷","field":"processCode","type":"select"},{"title":"鍒涘缓鏃堕棿","field":"CreateTime","type":"date"}]]);
+            const columns = ref([{field:'workOrder',title:'宸ヤ綔浠ゅ彿',type:'string',sort:true,width:120,align:'left',sort:true},
+                       {field:'jobID',title:'宸ュ崟缂栧彿',type:'string',sort:true,width:120,align:'left'},
+                       {field:'materialCode',title:'鐗╂枡缂栫爜',hidden:true,type:'string',width:110,align:'left'},
+                       {field:'drawingNo',title:'鍥惧彿',type:'string',sort:true,width:110,align:'left'},
+                       {field:'productName',title:'浜у搧鍚嶇О',type:'string',width:120,align:'left'},
+                       {field:'heatID',title:'鐐変唬鍙�',type:'string',sort:true,width:110,align:'left'},
+                       {field:'billetID',title:'閽㈠澂鍙�',type:'int',sort:true,width:90,align:'left'},
+                       {field:'SN',title:'杞﹁疆SN鍙�',type:'string',sort:true,width:120,align:'left'},
+                       {field:'processCode',title:'宸ュ崟绫诲瀷',type:'string',bind:{ key:'WorkTypes',data:[]},width:110,align:'left'},
+                       {field:'area',title:'鎸囧畾搴撳尯',type:'string',width:110,align:'left'},
+                       {field:'drawingNoVer',title:'鎶�鏈姸鎬�',type:'string',sort:true,width:110,align:'left'},
+                       {field:'quantity',title:'璁″垝鏁伴噺',type:'int',width:80,hidden:true,require:true,align:'left'},
+                       {field:'typeID',title:'杞瀷浠g爜',type:'string',width:110,hidden:true,align:'left'},
+                       {field:'stackNoRange',title:'鎵撳寘鏁伴噺',type:'int',sort:true,width:110,align:'left'},
+                       {field:'skip_op_1',title:'瑙嗚妫�娴�1',bind:{ key:'skip_op_Status',data:[]},type:'bool',width:110,align:'left'},
+                       {field:'skip_op_2',title:'瑙嗚妫�娴�2',bind:{ key:'skip_op_Status',data:[]},type:'bool',width:110,align:'left'},
+                       {field:'skip_op_3',title:'鍠烽槻閿堟恫',bind:{ key:'skip_op_Status',data:[]},type:'bool',width:110,align:'left'},
+                       {field:'maxDiameterDiff',title:'杞緞鍋忓樊',type:'decimal',width:110,hidden:true,align:'left'},
+                       {field:'expectedStartTime',title:'璁″垝寮�濮嬫椂闂�',type:'datetime',sort:true,width:150,align:'left',sort:true},
+                       {field:'expectedFinishTime',title:'璁″垝瀹屾垚鏃堕棿',type:'datetime',sort:true,width:150,align:'left',sort:true},
+                       {field:'CreateTime',title:'鍒涘缓鏃堕棿',type:'datetime',sort:true,width:150,align:'left',sort:true},
+                       {field:'creator',title:'鍒涘缓鑰�',type:'string',width:120,align:'left'},
+                       {field:'finishNum',title:'瀹屾垚鏁伴噺',type:'int',sort:true,width:80,hidden:true,align:'left'},
+                       {field:'heatBatchID',title:'鐑鐞嗘壒娆�',hidden:true,type:'string',width:110,align:'left'},
+                       {field:'Status',title:'宸ュ崟鐘舵��',type:'string',width:110,align:'left'},
+                       {field:'FinishTime',title:'瀹屾垚鏃堕棿',type:'datetime',sort:true,width:150,align:'left',sort:true},
+                       {field:'mes_id',title:'宸ュ崟澶磋〃ID',type:'guid',width:110,hidden:true,require:true,align:'left'},
+                       {field:'productDesc',title:'浜у搧鎻忚堪',type:'string',width:220,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/VV_Workinfo_hty.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo_hty.vue"
new file mode 100644
index 0000000..7aaca6b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/tomes/VV_Workinfo_hty.vue"
@@ -0,0 +1,85 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/tomes/VV_Workinfo_hty.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/VV_Workinfo_hty.js";
+    import { ref, defineComponent } from "vue";
+    export default defineComponent({
+        setup() {
+            const table = ref({
+                key: 'mes_id',
+                footer: "Foots",
+                cnName: '宸ュ崟鍘嗗彶淇℃伅',
+                name: 'tomes/VV_Workinfo_hty',
+                url: "/VV_Workinfo_hty/",
+                sortName: "FinishTime"
+            });
+            const editFormFields = ref({});
+            const editFormOptions = ref([]);
+            const searchFormFields = ref({"workOrder":"","jobID":"","drawingNo":"","productName":"","heatID":"","billetID":"","SN":"","processCode":"","CreateTime":"","FinishTime":"","operatetype":"","productDesc":""});
+            const searchFormOptions = ref([[{"title":"鍥惧彿","field":"drawingNo","type":"like"},{"title":"宸ヤ綔浠ゅ彿","field":"workOrder","type":"like"},{"title":"宸ュ崟缂栧彿","field":"jobID","type":"like"}],[{"title":"浜у搧鍚嶇О","field":"productName","type":"like"},{"title":"鐐変唬鍙�","field":"heatID","type":"like"},{"title":"閽㈠澂鍙�","field":"billetID","type":"like"}],[{"title":"杞﹁疆SN鍙�","field":"SN","type":"like"},{"dataKey":"WorkTypes","data":[],"title":"宸ュ崟绫诲瀷","field":"processCode","type":"select"},{"dataKey":"WorkOperateTypes","data":[],"title":"鎿嶄綔绫诲瀷","field":"operatetype","type":"select"}],[{"title":"鍒涘缓鏃堕棿","field":"CreateTime","type":"date"},{"title":"瀹屾垚鏃堕棿","field":"FinishTime","type":"date"},{"title":"浜у搧鎻忚堪","field":"productDesc","type":"like"}]]);
+            const columns = ref([{field:'mes_id',title:'宸ュ崟澶磋〃ID',type:'guid',width:110,require:true,align:'left',sort:true},
+                       {field:'workOrder',title:'宸ヤ綔浠ゅ彿',type:'string',width:110,align:'left'},
+                       {field:'jobID',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:'productName',title:'浜у搧鍚嶇О',type:'string',width:110,align:'left'},
+                       {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:'processCode',title:'宸ュ崟绫诲瀷',type:'string',bind:{ key:'WorkTypes',data:[]},width:110,align:'left'},
+                       {field:'area',title:'鎸囧畾搴撳尯',type:'string',width:110,align:'left'},
+                       {field:'drawingNoVer',title:'鎶�鏈姸鎬�',type:'string',width:110,align:'left'},
+                       {field:'quantity',title:'璁″垝鏁伴噺',type:'int',width:110,require:true,align:'left'},
+                       {field:'typeID',title:'杞瀷浠g爜',type:'string',width:110,align:'left'},
+                       {field:'stackNoRange',title:'鎵撳寘鏁伴噺',type:'int',width:110,align:'left'},
+                       {field:'skip_op_1',title:'瑙嗚妫�娴�1',type:'bool',bind:{ key:'skip_op_Status',data:[]},width:110,align:'left'},
+                       {field:'skip_op_2',title:'瑙嗚妫�娴�2',type:'bool',bind:{ key:'skip_op_Status',data:[]},width:110,align:'left'},
+                       {field:'skip_op_3',title:'鍠烽槻閿堟恫',type:'bool',bind:{ key:'skip_op_Status',data:[]},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',sort:true,width:150,align:'left',sort:true},
+                       {field:'creator',title:'鍒涘缓鑰�',type:'string',width:100,align:'left'},
+                       {field:'finishNum',title:'瀹屾垚鏁伴噺',type:'int',width:110,align:'left'},
+                       {field:'heatBatchID',title:'鐑鐞嗘壒娆�',type:'string',width:110,align:'left'},
+                       {field:'Status',title:'宸ュ崟鐘舵��',type:'string',width:110,align:'left'},
+                       {field:'FinishTime',title:'瀹屾垚鏃堕棿',type:'datetime',sort:true,width:150,align:'left',sort:true},
+                       {field:'operatetype',title:'鎿嶄綔绫诲瀷',type:'string',bind:{ key:'WorkOperateTypes',data:[]},width:110,align:'left'},
+                       {field:'compeletor',title:'鎿嶄綔鑰�',type:'string',width:110,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_Entity/DomainModels/ToMES/VV_Workinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo.cs"
new file mode 100644
index 0000000..0a09196
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo.cs"
@@ -0,0 +1,237 @@
+/*
+ *浠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 = "VV_Workinfo")]
+    public partial class VV_Workinfo:BaseEntity
+    {
+        /// <summary>
+       ///宸ヤ綔浠ゅ彿
+       /// </summary>
+       [Display(Name ="宸ヤ綔浠ゅ彿")]
+       [MaxLength(50)]
+       [Column(TypeName="nvarchar(50)")]
+       public string workOrder { get; set; }
+
+       /// <summary>
+       ///宸ュ崟缂栧彿
+       /// </summary>
+       [Display(Name ="宸ュ崟缂栧彿")]
+       [MaxLength(40)]
+       [Column(TypeName="nvarchar(40)")]
+       public string jobID { get; set; }
+
+       /// <summary>
+       ///鐗╂枡缂栫爜
+       /// </summary>
+       [Display(Name ="鐗╂枡缂栫爜")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string materialCode { get; set; }
+
+       /// <summary>
+       ///鍥惧彿
+       /// </summary>
+       [Display(Name ="鍥惧彿")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string drawingNo { get; set; }
+
+       /// <summary>
+       ///鎶�鏈姸鎬�
+       /// </summary>
+       [Display(Name ="鎶�鏈姸鎬�")]
+       [MaxLength(10)]
+       [Column(TypeName="nvarchar(10)")]
+       public string drawingNoVer { get; set; }
+
+       /// <summary>
+       ///浜у搧鍚嶇О
+       /// </summary>
+       [Display(Name ="浜у搧鍚嶇О")]
+       [MaxLength(40)]
+       [Column(TypeName="nvarchar(40)")]
+       public string productName { get; set; }
+
+       /// <summary>
+       ///浜у搧鎻忚堪
+       /// </summary>
+       [Display(Name ="浜у搧鎻忚堪")]
+       [MaxLength(200)]
+       [Column(TypeName="nvarchar(200)")]
+       public string productDesc { get; set; }
+
+       /// <summary>
+       ///璁″垝鏁伴噺
+       /// </summary>
+       [Display(Name ="璁″垝鏁伴噺")]
+       [Column(TypeName="int")]
+       //[Required(AllowEmptyStrings=false)]
+       public int quantity { get; set; }
+
+       /// <summary>
+       ///杞瀷浠g爜
+       /// </summary>
+       [Display(Name ="杞瀷浠g爜")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string typeID { get; set; }
+
+       /// <summary>
+       ///鎵撳寘鏁伴噺
+       /// </summary>
+       [Display(Name ="鎵撳寘鏁伴噺")]
+       [Column(TypeName="int")]
+       [Editable(true)]
+       public int? stackNoRange { get; set; }
+
+       /// <summary>
+       ///杞緞鍋忓樊
+       /// </summary>
+       [Display(Name ="杞緞鍋忓樊")]
+       [DisplayFormat(DataFormatString="18,2")]
+       [Column(TypeName="decimal")]
+       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; }
+
+       /// <summary>
+       ///宸ュ崟绫诲瀷
+       /// </summary>
+       [Display(Name ="宸ュ崟绫诲瀷")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string processCode { get; set; }
+
+       /// <summary>
+       ///鎸囧畾搴撳尯
+       /// </summary>
+       [Display(Name ="鎸囧畾搴撳尯")]
+       [MaxLength(15)]
+       [Column(TypeName="nvarchar(15)")]
+       public string area { get; set; }
+
+       /// <summary>
+       ///瀹屾垚鏁伴噺
+       /// </summary>
+       [Display(Name ="瀹屾垚鏁伴噺")]
+       [Column(TypeName="int")]
+       public int? finishNum { get; set; }
+
+       /// <summary>
+       ///瑙嗚妫�娴�1
+       /// </summary>
+       [Display(Name ="瑙嗚妫�娴�1")]
+       [Column(TypeName="bit")]
+       public bool? skip_op_1 { get; set; }
+
+       /// <summary>
+       ///瑙嗚妫�娴�2
+       /// </summary>
+       [Display(Name ="瑙嗚妫�娴�2")]
+       [Column(TypeName="bit")]
+       public bool? skip_op_2 { get; set; }
+
+       /// <summary>
+       ///鍠烽槻閿堟恫
+       /// </summary>
+       [Display(Name ="鍠烽槻閿堟恫")]
+       [Column(TypeName="bit")]
+       public bool? skip_op_3 { get; set; }
+
+       /// <summary>
+       ///鐐変唬鍙�
+       /// </summary>
+       [Display(Name ="鐐変唬鍙�")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string heatID { get; set; }
+
+       /// <summary>
+       ///閽㈠澂鍙�
+       /// </summary>
+       [Display(Name ="閽㈠澂鍙�")]
+       [Column(TypeName="int")]
+       public int? billetID { get; set; }
+
+       /// <summary>
+       ///杞﹁疆SN鍙�
+       /// </summary>
+       [Display(Name ="杞﹁疆SN鍙�")]
+       [MaxLength(50)]
+       [Column(TypeName="nvarchar(50)")]
+       public string SN { get; set; }
+
+       /// <summary>
+       ///鐑鐞嗘壒娆�
+       /// </summary>
+       [Display(Name ="鐑鐞嗘壒娆�")]
+       [MaxLength(30)]
+       [Column(TypeName="nvarchar(30)")]
+       public string heatBatchID { get; set; }
+
+       /// <summary>
+       ///宸ュ崟鐘舵��
+       /// </summary>
+       [Display(Name ="宸ュ崟鐘舵��")]
+       [MaxLength(20)]
+       [Column(TypeName="nvarchar(20)")]
+       public string Status { get; set; }
+
+       /// <summary>
+       ///瀹屾垚鏃堕棿
+       /// </summary>
+       [Display(Name ="瀹屾垚鏃堕棿")]
+       [Column(TypeName="datetime")]
+       public DateTime? FinishTime { get; set; }
+
+        /// <summary>
+        ///宸ュ崟澶磋〃ID
+        /// </summary>
+        [Key]
+        [Display(Name ="宸ュ崟澶磋〃ID")]
+       [Column(TypeName="uniqueidentifier")]
+       [Required(AllowEmptyStrings=false)]
+       public Guid mes_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/ToMES/VV_Workinfo_hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo_hty.cs"
new file mode 100644
index 0000000..94888fc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_Workinfo_hty.cs"
@@ -0,0 +1,281 @@
+/*
+ *浠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 = "VV_Workinfo_hty")]
+    public partial class VV_Workinfo_hty : BaseEntity
+    {
+        /// <summary>
+        ///宸ュ崟澶磋〃ID
+        /// </summary>
+        [Key]
+        [Display(Name = "宸ュ崟澶磋〃ID")]
+        [Column(TypeName = "uniqueidentifier")]
+        [Editable(true)]
+        [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(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(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string productName { get; set; }
+
+        /// <summary>
+        ///鐐変唬鍙�
+        /// </summary>
+        [Display(Name = "鐐変唬鍙�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [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(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string processCode { get; set; }
+
+        /// <summary>
+        ///鎸囧畾搴撳尯
+        /// </summary>
+        [Display(Name = "鎸囧畾搴撳尯")]
+        [MaxLength(15)]
+        [Column(TypeName = "nvarchar(15)")]
+        [Editable(true)]
+        public string area { get; set; }
+
+        /// <summary>
+        ///鎶�鏈姸鎬�
+        /// </summary>
+        [Display(Name = "鎶�鏈姸鎬�")]
+        [MaxLength(10)]
+        [Column(TypeName = "nvarchar(10)")]
+        [Editable(true)]
+        public string drawingNoVer { 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>
+        ///瑙嗚妫�娴�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; }
+
+        /// <summary>
+        ///杞緞鍋忓樊
+        /// </summary>
+        [Display(Name = "杞緞鍋忓樊")]
+        [DisplayFormat(DataFormatString = "18,2")]
+        [Column(TypeName = "decimal")]
+        [Editable(true)]
+        public decimal? maxDiameterDiff { get; set; }
+
+        /// <summary>
+        ///璁″垝寮�濮嬫椂闂�
+        /// </summary>
+        [Display(Name = "璁″垝寮�濮嬫椂闂�")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? expectedStartTime { get; set; }
+
+        /// <summary>
+        ///璁″垝瀹屾垚鏃堕棿
+        /// </summary>
+        [Display(Name = "璁″垝瀹屾垚鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? expectedFinishTime { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鏃堕棿
+        /// </summary>
+        [Display(Name = "鍒涘缓鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? CreateTime { get; set; }
+
+        /// <summary>
+        ///鍒涘缓鑰�
+        /// </summary>
+        [Display(Name = "鍒涘缓鑰�")]
+        [MaxLength(40)]
+        [Column(TypeName = "nvarchar(40)")]
+        [Editable(true)]
+        public string creator { get; set; }
+
+        /// <summary>
+        ///瀹屾垚鏁伴噺
+        /// </summary>
+        [Display(Name = "瀹屾垚鏁伴噺")]
+        [Column(TypeName = "int")]
+        [Editable(true)]
+        public int? finishNum { get; set; }
+
+        /// <summary>
+        ///鐑鐞嗘壒娆�
+        /// </summary>
+        [Display(Name = "鐑鐞嗘壒娆�")]
+        [MaxLength(30)]
+        [Column(TypeName = "nvarchar(30)")]
+        [Editable(true)]
+        public string heatBatchID { get; set; }
+
+        /// <summary>
+        ///宸ュ崟鐘舵��
+        /// </summary>
+        [Display(Name = "宸ュ崟鐘舵��")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string Status { get; set; }
+
+        /// <summary>
+        ///瀹屾垚鏃堕棿
+        /// </summary>
+        [Display(Name = "瀹屾垚鏃堕棿")]
+        [Column(TypeName = "datetime")]
+        [Editable(true)]
+        public DateTime? FinishTime { get; set; }
+
+        /// <summary>
+        ///鎿嶄綔绫诲瀷
+        /// </summary>
+        [Display(Name = "鎿嶄綔绫诲瀷")]
+        [MaxLength(10)]
+        [Column(TypeName = "nvarchar(10)")]
+        [Editable(true)]
+        public string operatetype { get; set; }
+
+        /// <summary>
+        ///鎿嶄綔鑰�
+        /// </summary>
+        [Display(Name = "鎿嶄綔鑰�")]
+        [MaxLength(20)]
+        [Column(TypeName = "nvarchar(20)")]
+        [Editable(true)]
+        public string compeletor { get; set; }
+
+        /// <summary>
+        ///浜у搧鎻忚堪
+        /// </summary>
+        [Display(Name = "浜у搧鎻忚堪")]
+        [MaxLength(200)]
+        [Column(TypeName = "nvarchar(200)")]
+        [Editable(true)]
+        public string productDesc { get; set; }
+
+
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo.cs"
new file mode 100644
index 0000000..dbf0355
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo.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 VV_Workinfo
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo_hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo_hty.cs"
new file mode 100644
index 0000000..1c3d6c0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_Workinfo_hty.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+    
+    public partial class VV_Workinfo_hty
+    {
+        //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+    }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_WorkinfoMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_WorkinfoMapConfig.cs"
new file mode 100644
index 0000000..1efbe67
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_WorkinfoMapConfig.cs"
@@ -0,0 +1,16 @@
+using WIDESEA_Entity.MappingConfiguration;
+using WIDESEA_Entity.DomainModels;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace WIDESEA_Entity.MappingConfiguration
+{
+    public class VV_WorkinfoMapConfig : EntityMappingConfiguration<VV_Workinfo>
+    {
+        public override void Map(EntityTypeBuilder<VV_Workinfo>
+        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_Entity/MappingConfiguration/ToMES/VV_Workinfo_htyMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_Workinfo_htyMapConfig.cs"
new file mode 100644
index 0000000..98a3d30
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/ToMES/VV_Workinfo_htyMapConfig.cs"
@@ -0,0 +1,16 @@
+using WIDESEA_Entity.MappingConfiguration;
+using WIDESEA_Entity.DomainModels;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace WIDESEA_Entity.MappingConfiguration
+{
+    public class VV_Workinfo_htyMapConfig : EntityMappingConfiguration<VV_Workinfo_hty>
+    {
+        public override void Map(EntityTypeBuilder<VV_Workinfo_hty>
+        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/IRepositories/ToMES/IVV_WorkinfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_WorkinfoRepository.cs"
new file mode 100644
index 0000000..2f982eb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_WorkinfoRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽VV_WorkinfoRepository缂栧啓鎺ュ彛
+ */
+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 IVV_WorkinfoRepository : IDependency,IRepository<VV_Workinfo>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_Workinfo_htyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_Workinfo_htyRepository.cs"
new file mode 100644
index 0000000..08940f4
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/ToMES/IVV_Workinfo_htyRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽VV_Workinfo_htyRepository缂栧啓鎺ュ彛
+ */
+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 IVV_Workinfo_htyRepository : IDependency,IRepository<VV_Workinfo_hty>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_WorkinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_WorkinfoService.cs"
new file mode 100644
index 0000000..e059408
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_WorkinfoService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface IVV_WorkinfoService : IService<VV_Workinfo>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_Workinfo_htyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_Workinfo_htyService.cs"
new file mode 100644
index 0000000..14ea0cb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/IVV_Workinfo_htyService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface IVV_Workinfo_htyService : IService<VV_Workinfo_hty>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_WorkinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_WorkinfoService.cs"
new file mode 100644
index 0000000..532b293
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_WorkinfoService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜嶸V_Workinfo绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface IVV_WorkinfoService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_Workinfo_htyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_Workinfo_htyService.cs"
new file mode 100644
index 0000000..e4cda07
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/ToMES/Partial/IVV_Workinfo_htyService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜嶸V_Workinfo_hty绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+    public partial interface IVV_Workinfo_htyService
+    {
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_WorkinfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_WorkinfoRepository.cs"
new file mode 100644
index 0000000..2634052
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_WorkinfoRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筕V_WorkinfoRepository缂栧啓浠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 VV_WorkinfoRepository : RepositoryBase<VV_Workinfo> , IVV_WorkinfoRepository
+    {
+    public VV_WorkinfoRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static IVV_WorkinfoRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<IVV_WorkinfoRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_Workinfo_htyRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_Workinfo_htyRepository.cs"
new file mode 100644
index 0000000..acb63c1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/ToMES/VV_Workinfo_htyRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筕V_Workinfo_htyRepository缂栧啓浠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 VV_Workinfo_htyRepository : RepositoryBase<VV_Workinfo_hty> , IVV_Workinfo_htyRepository
+    {
+    public VV_Workinfo_htyRepository(VOLContext dbContext)
+    : base(dbContext)
+    {
+
+    }
+    public static IVV_Workinfo_htyRepository Instance
+    {
+      get {  return AutofacContainerModule.GetService<IVV_Workinfo_htyRepository>(); } }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_WorkinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_WorkinfoService.cs"
new file mode 100644
index 0000000..8d907d9
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_WorkinfoService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜嶸V_Workinfo绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*VV_WorkinfoService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓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 VV_WorkinfoService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly IVV_WorkinfoRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public VV_WorkinfoService(
+            IVV_WorkinfoRepository 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/VV_Workinfo_htyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_Workinfo_htyService.cs"
new file mode 100644
index 0000000..635e54b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/Partial/VV_Workinfo_htyService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜嶸V_Workinfo_hty绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*VV_Workinfo_htyService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓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 VV_Workinfo_htyService
+    {
+        private readonly IHttpContextAccessor _httpContextAccessor;
+        private readonly IVV_Workinfo_htyRepository _repository;//璁块棶鏁版嵁搴�
+
+        [ActivatorUtilitiesConstructor]
+        public VV_Workinfo_htyService(
+            IVV_Workinfo_htyRepository 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/VV_WorkinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_WorkinfoService.cs"
new file mode 100644
index 0000000..aa5eb54
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_WorkinfoService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅VV_WorkinfoService涓嶪VV_WorkinfoService涓紪鍐�
+ */
+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 VV_WorkinfoService : ServiceBase<VV_Workinfo, IVV_WorkinfoRepository>
+    , IVV_WorkinfoService, IDependency
+    {
+    public VV_WorkinfoService(IVV_WorkinfoRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static IVV_WorkinfoService Instance
+    {
+      get { return AutofacContainerModule.GetService<IVV_WorkinfoService>(); } }
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_Workinfo_htyService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_Workinfo_htyService.cs"
new file mode 100644
index 0000000..919543c
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/ToMES/VV_Workinfo_htyService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅VV_Workinfo_htyService涓嶪VV_Workinfo_htyService涓紪鍐�
+ */
+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 VV_Workinfo_htyService : ServiceBase<VV_Workinfo_hty, IVV_Workinfo_htyRepository>
+    , IVV_Workinfo_htyService, IDependency
+    {
+    public VV_Workinfo_htyService(IVV_Workinfo_htyRepository repository)
+    : base(repository)
+    {
+    Init(repository);
+    }
+    public static IVV_Workinfo_htyService Instance
+    {
+      get { return AutofacContainerModule.GetService<IVV_Workinfo_htyService>(); } }
+    }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_WorkinfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_WorkinfoController.cs"
new file mode 100644
index 0000000..554b145
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_WorkinfoController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("VV_Workinfo",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 VV_WorkinfoController
+    {
+        private readonly IVV_WorkinfoService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public VV_WorkinfoController(
+            IVV_WorkinfoService 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/VV_Workinfo_htyController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_Workinfo_htyController.cs"
new file mode 100644
index 0000000..1561ba2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/VV_Workinfo_htyController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("VV_Workinfo_hty",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 VV_Workinfo_htyController
+    {
+        private readonly IVV_Workinfo_htyService _service;//璁块棶涓氬姟浠g爜
+        private readonly IHttpContextAccessor _httpContextAccessor;
+
+        [ActivatorUtilitiesConstructor]
+        public VV_Workinfo_htyController(
+            IVV_Workinfo_htyService 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/VV_WorkinfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_WorkinfoController.cs"
new file mode 100644
index 0000000..fe1b1dd
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_WorkinfoController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筕V_WorkinfoController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+    [Route("api/VV_Workinfo")]
+    [PermissionTable(Name = "VV_Workinfo")]
+    public partial class VV_WorkinfoController : ApiBaseController<IVV_WorkinfoService>
+    {
+        public VV_WorkinfoController(IVV_WorkinfoService 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/VV_Workinfo_htyController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_Workinfo_htyController.cs"
new file mode 100644
index 0000000..6b3e341
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/VV_Workinfo_htyController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筕V_Workinfo_htyController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+    [Route("api/VV_Workinfo_hty")]
+    [PermissionTable(Name = "VV_Workinfo_hty")]
+    public partial class VV_Workinfo_htyController : ApiBaseController<IVV_Workinfo_htyService>
+    {
+        public VV_Workinfo_htyController(IVV_Workinfo_htyService service)
+        : base(service)
+        {
+        }
+    }
+}
+

--
Gitblit v1.9.3