From 81b3c30ab5e042c3a740e4e5077c1d85013b6482 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期日, 31 八月 2025 10:27:56 +0800
Subject: [PATCH] 代码提交
---
项目代码/WCS/WCSClient/src/extension/PackInfo/packaxis.js | 57 ++
项目代码/WCS/WCSClient/src/router/viewGird.js | 4
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/PackInfo/PackaxisController.cs | 29 +
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 155 +------
项目代码/WCS/WCSClient/src/api/http.js | 4
项目代码/WCS/WCSClient/src/views/PackInfo/packaxis.vue | 216 ++++++++++
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json | 154 ------
项目代码/WCS/WCSServices/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj | 4
项目代码/WCS/WCSClient/package-lock.json | 174 ++++----
项目代码/WCS/WCSServices/WIDESEAWCS_Common/Utilities/ImportExcelHelper.cs | 291 +++++++++++++
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs | 125 +++++
11 files changed, 864 insertions(+), 349 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
index 15e9bc4..27a90ab 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
@@ -1278,11 +1278,6 @@
"fastq": "^1.6.0"
}
},
- "@popperjs/core": {
- "version": "npm:@sxzz/popperjs-es@2.11.7",
- "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
- "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
- },
"@soda/friendly-errors-webpack-plugin": {
"version": "1.8.0",
"resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927406873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz",
@@ -1841,6 +1836,87 @@
"webpack-chain": "^6.4.0",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^4.2.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "optional": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "vue-loader-v16": {
+ "version": "npm:vue-loader@16.8.3",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
+ "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "hash-sum": "^2.0.0",
+ "loader-utils": "^2.0.0"
+ }
+ }
}
},
"@vue/cli-shared-utils": {
@@ -4938,6 +5014,13 @@
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
+ },
+ "dependencies": {
+ "@popperjs/core": {
+ "version": "npm:@sxzz/popperjs-es@2.11.7",
+ "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+ }
}
},
"elliptic": {
@@ -12522,87 +12605,6 @@
"resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
- }
- }
- },
- "vue-loader-v16": {
- "version": "npm:vue-loader@16.8.3",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
- "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^4.1.0",
- "hash-sum": "^2.0.0",
- "loader-utils": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "optional": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "optional": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "optional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
}
}
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/api/http.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/api/http.js"
index 6e1f67a..d9bd114 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/api/http.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/api/http.js"
@@ -12,8 +12,8 @@
let loadingInstance;
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
- // axios.defaults.baseURL = 'http://127.0.0.1:9281/';
- axios.defaults.baseURL = 'http://192.168.35.3:9281/';
+ axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+ // axios.defaults.baseURL = 'http://192.168.35.3:9281/';
}
else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'http://127.0.0.1:8098/';
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/extension/PackInfo/packaxis.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/extension/PackInfo/packaxis.js"
new file mode 100644
index 0000000..d40f4f6
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/extension/PackInfo/packaxis.js"
@@ -0,0 +1,57 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: '',
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+ // this.$Notice.success({ title: this.detailOptions.cnName + ',鏌ヨ缁撴灉', desc: '杩斿洖鐨勫璞★細' + JSON.stringify(data) });
+ },
+ 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/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/router/viewGird.js"
index cde4249..dbcb947 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/router/viewGird.js"
@@ -57,6 +57,10 @@
path: '/router',
name: 'router',
component: () => import('@/views/basicinfo/router.vue')
+ }, {
+ path: '/packaxis',
+ name: 'packaxis',
+ component: () => import('@/views/PackInfo/packaxis.vue')
}]
export default viewgird
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/PackInfo/packaxis.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/PackInfo/packaxis.vue"
new file mode 100644
index 0000000..8b3c681
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/PackInfo/packaxis.vue"
@@ -0,0 +1,216 @@
+
+<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/PackInfo/packaxis.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "id",
+ footer: "Foots",
+ cnName: "鐮佸灈鍧愭爣淇℃伅",
+ name: "Packaxis",
+ url: "/Packaxis/",
+ sortName: "CreateDate",
+ });
+ const editFormFields = ref({});
+ const editFormOptions = ref([]);
+ const searchFormFields = ref({
+
+ });
+ const searchFormOptions = ref([
+ [
+ { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
+ { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
+ {
+ title: "浠诲姟绫诲瀷",
+ field: "taskType",
+ type: "selectList",
+ dataKey: "taskType",
+ data: [],
+ },
+ {
+ title: "浠诲姟鐘舵��",
+ field: "taskState",
+ type: "selectList",
+ dataKey: "taskState",
+ data: [],
+ },
+ ],
+ [
+ { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
+ { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
+ { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
+ { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
+ ],
+ [
+ { title: "宸烽亾鍙�", field: "roadway", type: "like", type: "select",dataKey: "Stacker",data: [],},
+ { title: "鍒涘缓浜�", field: "creater", type: "like" },
+ { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+ ],
+ ]);
+ const columns = ref([
+ {
+ field: "id",
+ title: "id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "deviceCode",
+ title: "璁惧缂栧彿",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "stationCode",
+ title: "宸ヤ綅鍙�",
+ type: "string",
+ width: 200,
+ align: "left",
+ },
+ {
+ field: "packType",
+ title: "鍨涘瀷",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "packNum",
+ title: "鐮佸灈鏁伴噺",
+ type: "int",
+ width: 130,
+ align: "left",
+ },
+ {
+ field: "axisX",
+ title: "X鍧愭爣",
+ type: "int",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "axisXCount",
+ title: "X鍧愭爣鐮佸灈涓暟",
+ type: "int",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "axisXSpacing",
+ title: "X鍧愭爣鐮佸灈闂磋窛",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "axisY",
+ title: "Y鍧愭爣",
+ type: "int",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "axisYCount",
+ title: "Y鍧愭爣鐮佸灈涓暟",
+ type: "int",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "axisYSpacing",
+ title: "Y鍧愭爣鐮佸灈闂磋窛",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "axisZ",
+ title: "Z鍧愭爣",
+ type: "int",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "axisZCount",
+ title: "Z鍧愭爣鐮佸灈涓暟",
+ type: "int",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "axisZSpacing",
+ title: "Z鍧愭爣鐮佸灈闂磋窛",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ ]);
+ const detail = ref({
+ cnName: "",
+ table: "",
+ columns: [],
+ sortName: "",
+ key: "",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
+
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index 09f7a73..442df32 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -3,40 +3,12 @@
"WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_common\\utilities\\importexcelhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\utilities\\importexcelhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "AbsoluteMoniker": "D:0:0:{E1633BFD-8807-4A29-89F2-0A7F26DF6976}|WIDESEAWCS_PackInfoService\\WIDESEAWCS_PackInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_packinfoservice\\dt_packaxisservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{E1633BFD-8807-4A29-89F2-0A7F26DF6976}|WIDESEAWCS_PackInfoService\\WIDESEAWCS_PackInfoService.csproj|solutionrelative:wideseawcs_packinfoservice\\dt_packaxisservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -46,7 +18,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 10,
+ "SelectedChildIndex": 2,
"Children": [
{
"$type": "Bookmark",
@@ -58,114 +30,28 @@
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "ConveyorLineJob_YL1ndFloor.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "ViewState": "AgIAAG4AAAAAAAAAAAAQwIkAAABoAAAAAAAAAA==",
+ "DocumentIndex": 0,
+ "Title": "ImportExcelHelper.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "RelativeToolTip": "WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "ViewState": "AgIAAFQAAAAAAAAAAAAQwAsBAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-30T07:16:03.123Z",
+ "WhenOpened": "2025-08-31T01:25:32.766Z",
"EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "Dt_ApiInfo.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "ViewState": "AgIAABEAAAAAAAAAAAAxwCoAAAAFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:38.773Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "Dt_Task.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "ViewState": "AgIAABIAAAAAAAAAAAAAAB0AAABFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:25.012Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
- "Title": "Dt_Packaxis.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "ViewState": "AgIAABUAAAAAAAAAAAAlwCkAAAASAAAAAAAAAA==",
+ "Title": "Dt_PackaxisService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs*",
+ "RelativeToolTip": "WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs*",
+ "ViewState": "AgIAACQAAAAAAAAAAAAUwDoAAAAwAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:16.544Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
- "Title": "ConveyorLineJob_CPC.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "ViewState": "AgIAAEgAAAAAAAAAAAAkwEoAAAAUAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T07:57:43.158Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
- "Title": "RGVJob_CP.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "ViewState": "AgIAAFYAAAAAAAAAAAAqwEoAAAAQAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T07:52:50.611Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "RequestInbound.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T06:39:10.96Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 8,
- "Title": "appsettings.json",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2025-08-29T06:03:36.387Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 0,
- "Title": "MDJob_CP.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "ViewState": "AgIAAFgAAAAAAAAAAAAswGoAAADNAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T05:53:11.231Z",
+ "WhenOpened": "2025-08-31T01:15:08.521Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index 2945265..95142d1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -3,40 +3,16 @@
"WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u7801\u579B\\mdjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{E1633BFD-8807-4A29-89F2-0A7F26DF6976}|WIDESEAWCS_PackInfoService\\WIDESEAWCS_PackInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_packinfoservice\\dt_packaxisservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{E1633BFD-8807-4A29-89F2-0A7F26DF6976}|WIDESEAWCS_PackInfoService\\WIDESEAWCS_PackInfoService.csproj|solutionrelative:wideseawcs_packinfoservice\\dt_packaxisservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\packinfo\\dt_packaxis.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_apiinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9D2AC22C-9A86-41AE-AA02-553554A7B1D7}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\rgvjob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_common\\utilities\\importexcelhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\utilities\\importexcelhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -46,7 +22,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 10,
+ "SelectedChildIndex": 4,
"Children": [
{
"$type": "Bookmark",
@@ -58,114 +34,41 @@
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "ConveyorLineJob_YL1ndFloor.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
- "ViewState": "AgIAAG4AAAAAAAAAAAAQwIkAAABoAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-30T07:16:03.123Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "Dt_ApiInfo.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_ApiInfo.cs",
- "ViewState": "AgIAABEAAAAAAAAAAAAxwCoAAAAFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:38.773Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "Dt_Task.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
- "ViewState": "AgIAABIAAAAAAAAAAAAAAB0AAABFAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:25.012Z"
- },
- {
- "$type": "Document",
"DocumentIndex": 1,
- "Title": "Dt_Packaxis.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "RelativeToolTip": "WIDESEAWCS_Model\\Models\\PackInfo\\Dt_Packaxis.cs",
- "ViewState": "AgIAABUAAAAAAAAAAAAlwCkAAAASAAAAAAAAAA==",
+ "Title": "TaskService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ViewState": "AgIAAAoBAAAAAAAAAAAgwO0AAAA7AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T08:39:16.544Z",
+ "WhenOpened": "2025-08-31T02:17:00.82Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 6,
- "Title": "ConveyorLineJob_CPC.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPC.cs",
- "ViewState": "AgIAAEgAAAAAAAAAAAAkwEoAAAAUAAAAAAAAAA==",
+ "DocumentIndex": 2,
+ "Title": "ImportExcelHelper.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "RelativeToolTip": "WIDESEAWCS_Common\\Utilities\\ImportExcelHelper.cs",
+ "ViewState": "AgIAAFQAAAAAAAAAAAAQwAsBAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T07:57:43.158Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
- "Title": "RGVJob_CP.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\RGVJob_CP.cs",
- "ViewState": "AgIAAFYAAAAAAAAAAAAqwEoAAAAQAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T07:52:50.611Z",
+ "WhenOpened": "2025-08-31T01:25:32.766Z",
"EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "RequestInbound.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T06:39:10.96Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 8,
- "Title": "appsettings.json",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Server\\appsettings.json",
- "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2025-08-29T06:03:36.387Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "MDJob_CP.cs",
- "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u7801\u579B\\MDJob_CP.cs",
- "ViewState": "AgIAAEAAAAAAAAAAAAAqwFcAAAAYAAAAAAAAAA==",
+ "Title": "Dt_PackaxisService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "RelativeToolTip": "WIDESEAWCS_PackInfoService\\Dt_PackaxisService.cs",
+ "ViewState": "AgIAAG0AAAAAAAAAAAAUwIQAAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-08-29T05:53:11.231Z",
+ "WhenOpened": "2025-08-31T01:15:08.521Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/Utilities/ImportExcelHelper.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/Utilities/ImportExcelHelper.cs"
new file mode 100644
index 0000000..5a2103a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/Utilities/ImportExcelHelper.cs"
@@ -0,0 +1,291 @@
+锘縰sing NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Common.Utilities
+{
+ public class ImportExcelHelper : IDisposable
+ {
+ private string fileName = null; //鏂囦欢鍚�
+ private IWorkbook workbook = null;
+ private FileStream fs = null;
+ private bool disposed;
+
+ public ImportExcelHelper(string fileName)
+ {
+ this.fileName = fileName;
+ disposed = false;
+ }
+
+ /// <summary>
+ /// 灏咲ataTable鏁版嵁瀵煎叆鍒癳xcel涓�
+ /// </summary>
+ /// <param name="data">瑕佸鍏ョ殑鏁版嵁</param>
+ /// <param name="isColumnWritten">DataTable鐨勫垪鍚嶆槸鍚﹁瀵煎叆</param>
+ /// <param name="sheetName">瑕佸鍏ョ殑excel鐨剆heet鐨勫悕绉�</param>
+ /// <returns>瀵煎叆鏁版嵁琛屾暟(鍖呭惈鍒楀悕閭d竴琛�)</returns>
+ public int DataTableToExcel(DataTable data, string sheetName, bool isColumnWritten)
+ {
+ int i = 0;
+ int j = 0;
+ int count = 0;
+ ISheet sheet = null;
+
+ fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
+ if (fileName.IndexOf(".xlsx") > 0) // 2007鐗堟湰
+ workbook = new XSSFWorkbook();
+ else if (fileName.IndexOf(".xls") > 0) // 2003鐗堟湰
+ workbook = new HSSFWorkbook();
+
+ try
+ {
+ if (workbook != null)
+ {
+ sheet = workbook.CreateSheet(sheetName);
+ }
+ else
+ {
+ return -1;
+ }
+
+ if (isColumnWritten == true) //鍐欏叆DataTable鐨勫垪鍚�
+ {
+ IRow row = sheet.CreateRow(0);
+ for (j = 0; j < data.Columns.Count; ++j)
+ {
+ row.CreateCell(j).SetCellValue(data.Columns[j].ColumnName);
+ }
+ count = 1;
+ }
+ else
+ {
+ count = 0;
+ }
+
+ for (i = 0; i < data.Rows.Count; ++i)
+ {
+ IRow row = sheet.CreateRow(count);
+ for (j = 0; j < data.Columns.Count; ++j)
+ {
+ row.CreateCell(j).SetCellValue(data.Rows[i][j].ToString());
+ }
+ ++count;
+ }
+ workbook.Write(fs, true); //鍐欏叆鍒癳xcel
+ return count;
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception: " + ex.Message);
+ return -1;
+ }
+ }
+
+ /// <summary>
+ /// 灏唀xcel涓殑鏁版嵁瀵煎叆鍒癉ataTable涓�
+ /// </summary>
+ /// <param name="sheetName">excel宸ヤ綔钖剆heet鐨勫悕绉�</param>
+ /// <param name="isFirstRowColumn">绗竴琛屾槸鍚︽槸DataTable鐨勫垪鍚�</param>
+ /// <returns>杩斿洖鐨凞ataTable</returns>
+ //public DataTable ExcelToDataTable(string sheetName = null, bool isFirstRowColumn = true)
+ //{
+ // ISheet sheet = null;
+ // DataTable data = new DataTable();
+ // int startRow = 0;
+ // try
+ // {
+ // fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
+ // if (fileName.IndexOf(".xlsx") > 0) // 2007鐗堟湰
+ // workbook = new XSSFWorkbook(fs);
+ // else if (fileName.IndexOf(".xls") > 0) // 2003鐗堟湰
+ // workbook = new HSSFWorkbook(fs);
+
+ // if (sheetName != null)
+ // {
+ // sheet = workbook.GetSheet("Sheet1");
+ // }
+ // else
+ // {
+ // sheet = workbook.GetSheetAt(0);
+ // }
+ // if (sheet != null)
+ // {
+ // IRow firstRow = sheet.GetRow(0);
+ // int cellCount = firstRow.LastCellNum; //涓�琛屾渶鍚庝竴涓猚ell鐨勭紪鍙� 鍗虫�荤殑鍒楁暟
+
+ // if (isFirstRowColumn)
+ // {
+ // for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
+ // {
+ // DataColumn column = new DataColumn(firstRow.GetCell(i).StringCellValue);
+ // data.Columns.Add(column);
+ // }
+ // startRow = sheet.FirstRowNum + 1;
+ // }
+ // else
+ // {
+ // startRow = sheet.FirstRowNum;
+ // }
+
+ // //鏈�鍚庝竴鍒楃殑鏍囧彿
+ // int rowCount = sheet.LastRowNum;
+ // for (int i = startRow; i <= rowCount; ++i)
+ // {
+ // IRow row = sheet.GetRow(i);
+ // if (row == null) continue; //娌℃湁鏁版嵁鐨勮榛樿鏄痭ull銆�銆�銆�銆�銆�銆�銆�
+
+ // DataRow dataRow = data.NewRow();
+ // for (int j = row.FirstCellNum; j < cellCount; ++j)
+ // {
+ // if (row.GetCell(j) != null) //鍚岀悊锛屾病鏈夋暟鎹殑鍗曞厓鏍奸兘榛樿鏄痭ull
+ // dataRow[j] = row.GetCell(j).ToString();
+ // }
+ // data.Rows.Add(dataRow);
+ // }
+ // }
+
+ // return data;
+ // }
+ // catch (Exception ex)
+ // {
+ // Console.WriteLine("Exception: " + ex.Message);
+ // return null;
+ // }
+ //}
+
+ public DataTable ExcelToDataTable(string sheetName = null, bool isFirstRowColumn = true)
+ {
+ ISheet sheet = null;
+ DataTable data = new DataTable();
+ int startRow = 0;
+
+ try
+ {
+ using (fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
+ {
+ if (fileName.IndexOf(".xlsx", StringComparison.OrdinalIgnoreCase) > 0)
+ workbook = new XSSFWorkbook(fs);
+ else if (fileName.IndexOf(".xls", StringComparison.OrdinalIgnoreCase) > 0)
+ workbook = new HSSFWorkbook(fs);
+
+ // 淇sheet閫夋嫨閫昏緫
+ if (!string.IsNullOrEmpty(sheetName))
+ {
+ sheet = workbook.GetSheet(sheetName); // 浣跨敤浼犲叆鐨剆heetName
+ }
+ else
+ {
+ sheet = workbook.GetSheetAt(0); // 榛樿绗竴涓猻heet
+ }
+
+ if (sheet == null)
+ {
+ Console.WriteLine("鏈壘鍒版寚瀹氱殑宸ヤ綔琛�");
+ return null;
+ }
+
+ IRow firstRow = sheet.GetRow(0);
+ if (firstRow == null)
+ {
+ Console.WriteLine("宸ヤ綔琛ㄤ负绌�");
+ return null;
+ }
+
+ int cellCount = firstRow.LastCellNum;
+
+ if (isFirstRowColumn)
+ {
+ for (int i = firstRow.FirstCellNum; i < cellCount; i++)
+ {
+ ICell cell = firstRow.GetCell(i);
+ string columnName = (cell != null) ? cell.ToString() : $"Column{i}";
+ data.Columns.Add(columnName);
+ }
+ startRow = 1; // 浠庣浜岃寮�濮嬶紙璺宠繃鏍囬琛岋級
+ }
+ else
+ {
+ for (int i = 0; i < cellCount; i++)
+ {
+ data.Columns.Add($"Column{i}");
+ }
+ startRow = 0;
+ }
+
+ // 璇诲彇鏁版嵁琛�
+ for (int i = startRow; i <= sheet.LastRowNum; i++)
+ {
+ IRow row = sheet.GetRow(i);
+ if (row == null) continue;
+
+ DataRow dataRow = data.NewRow();
+ for (int j = 0; j < cellCount; j++)
+ {
+ ICell cell = row.GetCell(j);
+ if (cell != null)
+ {
+ // 鏍规嵁鍗曞厓鏍肩被鍨嬫纭鐞嗘暟鎹�
+ switch (cell.CellType)
+ {
+ case CellType.String:
+ dataRow[j] = cell.StringCellValue;
+ break;
+ case CellType.Numeric:
+ if (DateUtil.IsCellDateFormatted(cell))
+ dataRow[j] = cell.DateCellValue;
+ else
+ dataRow[j] = cell.NumericCellValue;
+ break;
+ case CellType.Boolean:
+ dataRow[j] = cell.BooleanCellValue;
+ break;
+ case CellType.Formula:
+ dataRow[j] = cell.ToString(); // 鎴栬�呭鐞嗗叕寮忕粨鏋�
+ break;
+ default:
+ dataRow[j] = cell.ToString();
+ break;
+ }
+ }
+ }
+ data.Rows.Add(dataRow);
+ }
+ }
+ return data;
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"璇诲彇Excel寮傚父: {ex.Message}");
+ return null;
+ }
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (!this.disposed)
+ {
+ if (disposing)
+ {
+ if (fs != null)
+ fs.Close();
+ }
+
+ fs = null;
+ disposed = true;
+ }
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj"
index 132c02c..ec1f967 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/WIDESEAWCS_Common.csproj"
@@ -6,4 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
+ <ItemGroup>
+ <PackageReference Include="NPOI" Version="2.7.4" />
+ </ItemGroup>
+
</Project>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
index 698cca2..2a793c3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/Dt_PackaxisService.cs"
@@ -1,11 +1,21 @@
-锘縰sing System;
+锘縰sing Magicodes.ExporterAndImporter.Excel.Utility;
+using Microsoft.AspNetCore.Http;
+using Newtonsoft.Json;
+using System;
using System.Collections.Generic;
+using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_IPackInfoRepository;
using WIDESEAWCS_Model.Models.PackInfo;
+using WIDESEAWCS_PackInfoRepository;
+using Magicodes.ExporterAndImporter.Core.Models;
+using Magicodes.ExporterAndImporter.Excel;
+using WIDESEAWCS_Common.Utilities;
namespace WIDESEAWCS_PackInfoService
{
@@ -14,5 +24,118 @@
public Dt_PackaxisService(IDt_PackaxisRepository BaseDal) : base(BaseDal)
{
}
+ public override WebResponseContent Import(List<IFormFile> files)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ // 1. 楠岃瘉鏂囦欢
+ if (files == null || files.Count == 0)
+ return new WebResponseContent { Status = false, Message = "璇烽�夋嫨涓婁紶鐨勬枃浠�" };
+
+ var formFile = files[0];
+
+ // 2. 鍑嗗鐩綍锛堜娇鐢≒ath.Combine锛�
+ var dicPath = Path.Combine(
+ AppDomain.CurrentDomain.BaseDirectory,
+ "ExcelImport",
+ DateTime.Now.ToString("yyyyMMdd"),
+ typeof(Dt_Packaxis).Name);
+
+ Directory.CreateDirectory(dicPath);
+ // 3. 淇濆瓨涓婁紶鏂囦欢
+ var fileName = $"{Guid.NewGuid()}_{formFile.FileName}";
+ var fullPath = Path.Combine(dicPath, fileName);
+
+ using (var stream = new FileStream(fullPath, FileMode.Create))
+ {
+ formFile.CopyToAsync(stream);
+ }
+
+ // 4. 瀵煎叆Excel鏁版嵁
+ DataTable dtExcel = new DataTable();
+ using (ImportExcelHelper excelHelper = new ImportExcelHelper(fullPath))
+ {
+ dtExcel = excelHelper.ExcelToDataTable();
+
+ }
+ List<Dt_Packaxis> addAxis = new List<Dt_Packaxis>();
+ List<Dt_Packaxis> updateAxis = new List<Dt_Packaxis>();
+ if (dtExcel == null || dtExcel.Rows.Count == 0)
+ {
+ return content.Error("鏈壘鍒版暟鎹妫�鏌xcel琛ㄦ牸鏁版嵁鏍煎紡鏄惁姝g‘锛�");
+ }
+ for (int i = 0; i < dtExcel.Rows.Count; i++)
+ {
+ DataRow row = dtExcel.Rows[i];
+ string id = row["id"]?.ToString() ?? string.Empty;
+ string DeviceCode = row["DeviceCode"]?.ToString() ?? string.Empty;
+ string StationCode = row["StationCode"]?.ToString() ?? string.Empty;
+ string PackType = row["PackType"]?.ToString() ?? string.Empty;
+ string PackNum = row["PackNum"]?.ToString() ?? string.Empty;
+ string AxisX = row["AxisX"]?.ToString() ?? string.Empty;
+ string AxisXCount = row["AxisXCount"]?.ToString() ?? string.Empty;
+ string AxisXSpacing = row["AxisXSpacing"]?.ToString() ?? string.Empty;
+ string AxisY = row["AxisY"]?.ToString() ?? string.Empty;
+ string AxisYCount = row["AxisYCount"]?.ToString() ?? string.Empty;
+ string AxisYSpacing = row["AxisYSpacing"]?.ToString() ?? string.Empty;
+ string AxisZ = row["AxisZ"]?.ToString() ?? string.Empty;
+ string AxisZCount = row["AxisZCount"]?.ToString() ?? string.Empty;
+ string AxisZSpacing = row["AxisZSpacing"]?.ToString() ?? string.Empty;
+ var axis = BaseDal.QueryFirst(x => x.DeviceCode == DeviceCode && x.StationCode == Convert.ToInt32(StationCode) && x.PackType == PackType);
+ if(axis == null)
+ {
+ Dt_Packaxis packaxis = new Dt_Packaxis()
+ {
+ DeviceCode = DeviceCode,
+ StationCode = Convert.ToInt32(StationCode),
+ PackType = PackType,
+ PackNum = Convert.ToInt32(PackNum),
+ AxisX = Convert.ToInt32(AxisX),
+ AxisXCount = Convert.ToInt32(AxisXCount),
+ AxisXSpacing = Convert.ToInt32(AxisXSpacing),
+ AxisY = Convert.ToInt32(AxisY),
+ AxisYCount = Convert.ToInt32(AxisYCount),
+ AxisYSpacing = Convert.ToInt32(AxisYSpacing),
+ AxisZ = Convert.ToInt32(AxisZ),
+ AxisZCount = Convert.ToInt32(AxisZCount),
+ AxisZSpacing = Convert.ToInt32(AxisZSpacing),
+ Creater = App.User.UserId > 0 ? App.User.UserName : "System",
+ CreateDate = DateTime.Now
+ };
+ addAxis.Add(packaxis);
+ }
+ else
+ {
+ axis.DeviceCode = DeviceCode;
+ axis.StationCode = Convert.ToInt32(StationCode);
+ axis.PackType = PackType;
+ axis.PackNum = Convert.ToInt32(PackNum);
+ axis.AxisX = Convert.ToInt32(AxisX);
+ axis.AxisXCount = Convert.ToInt32(AxisXCount);
+ axis.AxisXSpacing = Convert.ToInt32(AxisXSpacing);
+ axis.AxisY = Convert.ToInt32(AxisY);
+ axis.AxisYCount = Convert.ToInt32(AxisYCount);
+ axis.AxisYSpacing = Convert.ToInt32(AxisYSpacing);
+ axis.AxisZ = Convert.ToInt32(AxisZ);
+ axis.AxisZCount = Convert.ToInt32(AxisZCount);
+ axis.AxisZSpacing = Convert.ToInt32(AxisZSpacing);
+ axis.Modifier = App.User.UserId > 0 ? App.User.UserName : "System";
+ axis.ModifyDate = DateTime.Now;
+ updateAxis.Add(axis);
+ }
+ }
+ BaseDal.AddData(addAxis);
+ BaseDal.UpdateData(updateAxis);
+
+ content = WebResponseContent.Instance.OK("瀵煎叆鎴愬姛锛�");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ return content;
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/PackInfo/PackaxisController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/PackInfo/PackaxisController.cs"
new file mode 100644
index 0000000..08c52b5
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/PackInfo/PackaxisController.cs"
@@ -0,0 +1,29 @@
+锘縰sing HslCommunication.WebSocket;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_Model.Models.PackInfo;
+using WIDESEAWCS_PackInfoService;
+using WIDESEAWCS_Tasks;
+
+namespace WIDESEAWCS_WCSServer.Controllers.PackInfo
+{
+ [Route("api/Packaxis")]
+ [ApiController]
+ public class PackaxisController : ApiBaseController<IDt_PackaxisService, Dt_Packaxis>
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+
+ public PackaxisController(IDt_PackaxisService service, IHttpContextAccessor httpContextAccessor) : base(service)
+ {
+ _httpContextAccessor = httpContextAccessor;
+ }
+ }
+}
--
Gitblit v1.9.3