From d0f01f571918ae942349068776fa7fb70f3ab5cd Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 28 八月 2024 16:20:18 +0800 Subject: [PATCH] 更新设备信息表从表导入问题 --- WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 18 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ApiAuthorizeFilter.cs | 3 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/AuthorizationResponse.cs | 4 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocolDetail.cs | 15 WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs | 93 - WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/logo.jpg.jpg | 0 WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs | 7 WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_TaskExecuteDetail.cs | 21 WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue | 3 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DispatchInfo.cs | 19 WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/AutofacModuleRegister.cs | 50 WIDESEAWCS_Client/src/components/basic/VolBox.vue | 2 WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue | 2 WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 31 WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ActionExecuteFilter.cs | 37 WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin | 0 WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Router.cs | 27 WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs | 9 WIDESEAWCS_Client/src/extension/quartzJob/extend/importDevicePro.vue | 116 ++ WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs | 33 WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs | 406 ++---- WIDESEAWCS_Client/src/api/http.js | 5 WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj | 8 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 1581 ++++++++++++++-------------- WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/JwtHelper.cs | 27 WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 5 WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/IUser.cs | 11 WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensDBDataType.cs | 10 WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs | 23 WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 4 WIDESEAWCS_Client/package.json | 2 WIDESEAWCS_Client/package-lock.json | 4 WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 178 +- WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 45 WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Communicator/BaseCommunicator.cs | 3 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32c5916d-65bb-438b-9e5d-c00e23dc21a0.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicationException.cs | 62 + WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/LogAOP.cs | 33 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b6011de2-6b92-44e3-9e30-3a4ddf14264f.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs | 2 WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs | 12 WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs | 3 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocol.cs | 23 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1843fe6d-1907-4ed3-a4dd-e84dd8936927.vsidx | 0 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3e9f823-2eb5-4161-b8d9-12710cb88c79.vsidx | 0 /dev/null | 17 WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/favicon.ico | 0 WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs | 29 WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5b8285ca-24aa-4af3-8df7-9efc192c6a87.vsidx | 0 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs | 41 WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs | 3 WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs | 89 - WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/HttpRequestMiddleware.cs | 25 WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js | 128 + 59 files changed, 1,674 insertions(+), 1,599 deletions(-) diff --git a/WIDESEAWCS_Client/package-lock.json b/WIDESEAWCS_Client/package-lock.json index 6dc5c14..3e5f600 100644 --- a/WIDESEAWCS_Client/package-lock.json +++ b/WIDESEAWCS_Client/package-lock.json @@ -1,11 +1,11 @@ { - "name": "WIDESEA.vue3", + "name": "wideseawcs", "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "WIDESEA.vue3", + "name": "wideseawcs", "version": "0.1.0", "dependencies": { "@element-plus/icons-vue": "^2.1.0", diff --git a/WIDESEAWCS_Client/package.json b/WIDESEAWCS_Client/package.json index 7d93292..977418b 100644 --- a/WIDESEAWCS_Client/package.json +++ b/WIDESEAWCS_Client/package.json @@ -1,5 +1,5 @@ { - "name": "WIDESEA.vue3", + "name": "wideseawcs", "version": "0.1.0", "private": true, "scripts": { diff --git a/WIDESEAWCS_Client/src/api/http.js b/WIDESEAWCS_Client/src/api/http.js index c959bc8..f73725b 100644 --- a/WIDESEAWCS_Client/src/api/http.js +++ b/WIDESEAWCS_Client/src/api/http.js @@ -86,11 +86,11 @@ function checkResponse (res) { //鍒锋柊token if (!res.headers) { - if (res.getResponseHeader("WIDESEAWCS_exp") == "1") { + if (res.getResponseHeader("wideseawcs_exp") == "1") { replaceToken(); } } - else if (res.headers.WIDESEAWCS_exp == "1") { + else if (res.headers.wideseawcs_exp == "1") { replaceToken(); } } @@ -143,6 +143,7 @@ return new Promise((resolve, reject) => { axios.get(url, config) .then(response => { + // console.log(response) resolve(response.data) }, err => { reject(err) diff --git a/WIDESEAWCS_Client/src/components/basic/VolBox.vue b/WIDESEAWCS_Client/src/components/basic/VolBox.vue index 98fbe44..8893643 100644 --- a/WIDESEAWCS_Client/src/components/basic/VolBox.vue +++ b/WIDESEAWCS_Client/src/components/basic/VolBox.vue @@ -2,7 +2,7 @@ <div class="vol-dialog"> <el-dialog v-model="vmodel" :close-on-click-modal="false" :close-on-press-escape="false" :width="width" - :fullscreen="fullscreen" :draggable="draggable" :modal="modal" :before-close="handleClose" :append-to-body="true"> + :fullscreen="fullscreen" :draggable="draggable" :modal="modal" :before-close="handleClose"> <template #header> <i :class="icon"></i> {{ title }} <button class="el-dialog__headerbtn" type="button" style="right: 35px; color: var(--el-color-info)" @click="handleFullScreen"> diff --git a/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue b/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue index 235d6d3..28ed38f 100644 --- a/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue +++ b/WIDESEAWCS_Client/src/extension/basicinfo/extend/addrouters.vue @@ -232,9 +232,6 @@ ]; this.showDetialBox = true; this.getData(); - this.$emit("parentCall", ($vue) => { - console.log($vue); - }); }, getData() { this.http.post("/api/Router/GetBaseRouterInfo", {}, true).then((x) => { diff --git a/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js b/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js index a39e193..ca16186 100644 --- a/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js +++ b/WIDESEAWCS_Client/src/extension/quartzJob/deviceInfo.js @@ -1,58 +1,78 @@ -//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 - +import gridBody from './extend/importDevicePro.vue' let extension = { - components: { - //鏌ヨ鐣岄潰鎵╁睍缁勪欢 - gridHeader: '', - gridBody: '', - gridFooter: '', - //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 - modelHeader: '', - modelBody: '', - modelFooter: '' - }, - tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) - buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� - methods: { - //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� - onInit() { - }, - 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) + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: gridBody, + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + // console.log(this.detailOptions.buttons); + // console.log(this.$refs.detail) + var detailImport = this.detailOptions.buttons.find(item=>item.value == 'import'); + if(detailImport){ + detailImport.onClick = function () { + this.$refs.gridBody.open(); + } } + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + // this.detailOptions.columns.forEach(column=>{ }); + // console.log(this) + }, + 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) + }, + updated() { + //console.log(this.$refs) + this.$nextTick(() => { + if (this.$refs.upload_excel) { + alert('鐐瑰嚮浜嗕笂浼犳寜閽�') + this.$refs.upload_excel.upload = function () { + console.log('鐐瑰嚮浜嗕笂浼犳寜閽�') + } + } + // alert(1) + }) + } - }; - export default extension; - \ No newline at end of file + } +}; +export default extension; diff --git a/WIDESEAWCS_Client/src/extension/quartzJob/extend/importDevicePro.vue b/WIDESEAWCS_Client/src/extension/quartzJob/extend/importDevicePro.vue new file mode 100644 index 0000000..66b521c --- /dev/null +++ b/WIDESEAWCS_Client/src/extension/quartzJob/extend/importDevicePro.vue @@ -0,0 +1,116 @@ +<template> + <div> + <vol-box + v-model="showDetialBox" + :lazy="true" + :height="350" + :width="600" + :padding="15" + title="璁惧鍗忚淇℃伅-瀵煎叆" + > + <upload-excel + ref="upload_excel" + :url="url" + :template="template" + ></upload-excel> + </vol-box> + </div> +</template> + + <script> +import VolBox from "@/components/basic/VolBox.vue"; +import UploadExcel from "@/components/basic/UploadExcel.vue"; +export default { + components: { VolBox, UploadExcel }, + data() { + return { + showDetialBox: false, + url: "", + template: { + url: "", //妯℃澘涓嬭浇璺緞锛屽鏋滄病鏈夋ā鏉胯矾寰勶紝鍒欎笉鏄剧ず涓嬭浇妯℃澘鍔熻兘 + fileName: "璁惧鍗忚淇℃伅瀵煎叆妯℃澘", //涓嬭浇妯℃澘鐨勬枃浠跺悕 + }, + }; + }, + methods: { + open() { + this.template.url = `${this.http.ipAddress}api/DeviceProtocol/DownLoadTemplate`; + this.url = `${this.http.ipAddress}api/DeviceProtocol/GetImportData`; + this.showDetialBox = true; + this.$nextTick(() => { + this.$refs.upload_excel.upload = this.upload; + console.log(this.$refs.upload_excel); + }); + }, + upload() { + console.log("upload"); + let _url = this.url; + if (!_url) { + return this.$Message.error("娌℃湁閰嶇疆濂経rl"); + } + + if (!this.$refs.upload_excel.file) { + return this.$Message.error("璇烽�夋嫨鏂囦欢"); + } + var formData = new FormData(); + formData.append("fileInput", this.$refs.upload_excel.file); + if (!this.$refs.upload_excel.importExcelBefore(formData)) { + return; + } + this.$refs.upload_excel.loadingStatus = true; + this.http.post(_url, formData).then( + (x) => { + // this.$refs.uploadFile.clearFiles(); + this.$refs.upload_excel.loadingStatus = false; + this.$refs.upload_excel.file = null; + if (x.status) { + this.$emit("parentCall", ($vue) => { + $vue.$refs.detail.rowData.push(...x.data); + }); + } + + this.message = x.message; + this.resultClass = x.status ? "v-r-success" : "v-r-error"; + }, + (error) => { + this.$refs.upload_excel.loadingStatus = false; + } + ); + }, + }, + created() {}, +}; +</script> + + <style scoped> +.el-col { + border-radius: 4px; +} +.grid-content { + border-radius: 4px; + min-height: 36px; +} +.content-text { + display: flex; + align-items: center; + justify-content: center; +} +.left-text { + display: flex; + align-items: center; + justify-content: flex-start; +} +</style> + <style> +.el-table .warning-row { + background: #fcf1e2; +} + +.el-table .success-row { + background: #f0f9eb; +} + +.el-table .error-row { + background: #fde2e2; +} +</style> \ No newline at end of file diff --git a/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue b/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue index 1b972f7..6b86cae 100644 --- a/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue +++ b/WIDESEAWCS_Client/src/views/quartzJob/deviceInfo.vue @@ -216,7 +216,7 @@ ]); const detail = ref({ cnName: "璁惧鍗忚淇℃伅", - table: "Dt_DeviceProtocol", + table: "DeviceProtocol", columns: [ { field: "id", diff --git a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin index 8e5af72..4e08ba9 100644 --- a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin +++ b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v7.bin Binary files differ diff --git a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin index bcf85ea..66e118a 100644 --- a/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin +++ b/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v7.bin Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 index dd152a8..a29cf07 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0ef79c88-9995-493c-a84e-d80b9eb0515b.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0ef79c88-9995-493c-a84e-d80b9eb0515b.vsidx deleted file mode 100644 index ab69aa7..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/0ef79c88-9995-493c-a84e-d80b9eb0515b.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1843fe6d-1907-4ed3-a4dd-e84dd8936927.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1843fe6d-1907-4ed3-a4dd-e84dd8936927.vsidx new file mode 100644 index 0000000..62912d3 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1843fe6d-1907-4ed3-a4dd-e84dd8936927.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32c5916d-65bb-438b-9e5d-c00e23dc21a0.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32c5916d-65bb-438b-9e5d-c00e23dc21a0.vsidx new file mode 100644 index 0000000..467cf05 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32c5916d-65bb-438b-9e5d-c00e23dc21a0.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5b8285ca-24aa-4af3-8df7-9efc192c6a87.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5b8285ca-24aa-4af3-8df7-9efc192c6a87.vsidx new file mode 100644 index 0000000..dc66475 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5b8285ca-24aa-4af3-8df7-9efc192c6a87.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7473d672-9977-45bc-a84a-0d09bf0b6996.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7473d672-9977-45bc-a84a-0d09bf0b6996.vsidx deleted file mode 100644 index 33ef5de..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7473d672-9977-45bc-a84a-0d09bf0b6996.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3e9f823-2eb5-4161-b8d9-12710cb88c79.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3e9f823-2eb5-4161-b8d9-12710cb88c79.vsidx new file mode 100644 index 0000000..5605115 --- /dev/null +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b3e9f823-2eb5-4161-b8d9-12710cb88c79.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/809a017c-35ca-4286-9cfd-48562f355413.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b6011de2-6b92-44e3-9e30-3a4ddf14264f.vsidx similarity index 62% rename from WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/809a017c-35ca-4286-9cfd-48562f355413.vsidx rename to WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b6011de2-6b92-44e3-9e30-3a4ddf14264f.vsidx index 7fe4598..b24918d 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/809a017c-35ca-4286-9cfd-48562f355413.vsidx +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b6011de2-6b92-44e3-9e30-3a4ddf14264f.vsidx Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d8b37285-dfc1-49db-8924-9ca884e3d787.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d8b37285-dfc1-49db-8924-9ca884e3d787.vsidx deleted file mode 100644 index 09e036f..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/d8b37285-dfc1-49db-8924-9ca884e3d787.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0c597ef-c6ac-4c62-a625-59e9694c77a7.vsidx b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0c597ef-c6ac-4c62-a625-59e9694c77a7.vsidx deleted file mode 100644 index 872ad7a..0000000 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/e0c597ef-c6ac-4c62-a625-59e9694c77a7.vsidx +++ /dev/null Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 index 9466c14..83bdb6f 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 Binary files differ diff --git a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json index ea3273d..66d1404 100644 --- a/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json +++ b/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json @@ -3,212 +3,228 @@ "WorkspaceRootPath": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\service\\deviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\middlewares\\exceptionhandlermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\exceptionhandlermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\models\\dt_deviceinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\models\\dt_deviceinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\models\\dt_deviceprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\models\\dt_deviceprotocol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\quartzjob\\deviceprotocolcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceprotocolcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\service\\ideviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceprotocolservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\basecontroller\\apibasecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\basecontroller\\apibasecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\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:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\httprequestmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\httprequestmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_basicinfoservice\\routerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\routerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskenumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\tasktypegroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskstatusgroup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\enums\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\enums\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|e:\\wideseawcs\\infrastructurewcs\\wideseawcs_server\\wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\filter\\apiauthorizefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\jwttokenauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\jwttokenauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\middlewarehelpers.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\middlewarehelpers.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\apilogmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\apilogmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\helper\\httpcontexthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\httpcontexthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\seed\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\seed\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\httpcontextuser\\aspnetuser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\httpcontextuser\\aspnetuser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\httpcontextsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\httpcontextsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\logaop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\storage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\storage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\swaggermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\swaggermiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\enums\\routerinouttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\enums\\routerinouttype.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\swaggerauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\swaggerauthmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\middlewares\\iplimitmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\middlewares\\iplimitmiddleware.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\conveyorlinedbname.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\dbsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\dbsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\conveyorline\\iconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\iconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\autofacmoduleregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\applicationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\applicationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\alloptionregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\alloptionregister.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\devicebase\\devicecommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\swaggersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\swaggersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\filter\\actionexecutefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\filter\\actionexecutefilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_ibasicinfoservice\\irouterservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\irouterservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\basicinfo\\routercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\basicinfo\\routercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_dto\\basicinfo\\routersadddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\basicinfo\\routersadddto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_common\\areainfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\areainfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\seed\\quartzjobcreatedatatabel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\seed\\quartzjobcreatedatatabel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobdatatablehostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\helper\\filehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\helper\\filehelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\seed\\dbseed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskexecutedetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\system\\sys_dictionarylistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_dictionarylistcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_systemservices\\sys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_isystemservices\\isys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{9E4BFF47-52BF-4FD8-9CC7-3763BF19D9E0}|WIDESEAWCS_ISystemServices\\WIDESEAWCS_ISystemServices.csproj|solutionrelative:wideseawcs_isystemservices\\isys_dictionarylistservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_systemrepository\\sys_dictionarylistrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{5777BDEC-4726-4425-85F2-A090524F692D}|WIDESEAWCS_SystemRepository\\WIDESEAWCS_SystemRepository.csproj|solutionrelative:wideseawcs_systemrepository\\sys_dictionarylistrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_isystemrepository\\isys_dictionaryrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\isys_dictionaryrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_isystemrepository\\isys_dictionarylistrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{F302E6D6-5A95-4D22-8DC2-21BE2CB30275}|WIDESEAWCS_ISystemRepository\\WIDESEAWCS_ISystemRepository.csproj|solutionrelative:wideseawcs_isystemrepository\\isys_dictionarylistrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\authorizationresponse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\system\\sys_usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\app.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\app.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\authorization\\jwthelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\quartzextensions\\quartzjobhostedservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\baseservices\\iservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\baseservices\\iservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\wideseawcs_server.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|", + "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\wideseawcs_server.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\models\\dt_dispatchinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\models\\dt_dispatchinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_quartzjob\\models\\dt_deviceprotocoldetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\models\\dt_deviceprotocoldetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_taskexecutedetail.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_model\\models\\basicinfo\\dt_router.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_router.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_server\\filter\\automappersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\filter\\automappersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\sqlsugarsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\miniprofilersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\miniprofilersetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\memorycachesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\memorycachesetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\ippolicyratelimitsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\ippolicyratelimitsetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\extensions\\corssetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\extensions\\corssetup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\db\\repositorysetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\db\\repositorysetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\db\\maindb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\db\\maindb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\db\\basedbconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\db\\basedbconfig.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\core\\internalapp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\core\\internalapp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\core\\iconfigurableoptions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\core\\iconfigurableoptions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\core\\configurableoptions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\core\\configurableoptions.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\caches\\sqlsugarcacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\sqlsugarcacheservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\caches\\icaching.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\icaching.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\caches\\caching.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\caches\\caching.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BFFDD936-2E61-4D3A-ABFE-7CF77FE0B184}|WIDESEAWCS_Core\\WIDESEAWCS_Core.csproj|solutionrelative:wideseawcs_core\\aop\\sqlsugaraop.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -218,7 +234,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 7, + "SelectedChildIndex": 10, "Children": [ { "$type": "Bookmark", @@ -238,176 +254,405 @@ }, { "$type": "Document", - "DocumentIndex": 20, - "Title": "JwtHelper.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:04:26.153Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 6, - "Title": "CommonConveyorLine.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs", - "ViewState": "AQIAAIAAAAAAAAAAAAAawJIAAAAeAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T13:35:50.213Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 3, - "Title": "TaskService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs", - "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs", - "ViewState": "AQIAAIsBAAAAAAAAAAD4v7EBAABPAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T02:47:45.831Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "CommonConveyorLineJob.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs", - "ViewState": "AQIAAHkAAAAAAAAAAAAewJQAAABNAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T13:28:07.71Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 10, - "Title": "TaskEnumHelper.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskEnumHelper.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAC8AAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:30:12.496Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 14, - "Title": "ITaskService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs", - "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs", - "ViewState": "AQIAABgAAAAAAAAAAAAAACAAAAAIAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T02:50:37.171Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 11, - "Title": "TaskTypeGroup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskTypeGroup.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAASAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:39:07.114Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 1, - "Title": "ApiBaseController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", - "ViewState": "AQIAAFkAAAAAAAAAAAAEwHYAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T00:50:52.108Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 26, - "Title": "ConveyorLineTaskCommand.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineTaskCommand.cs", - "ViewState": "AQIAABoAAAAAAAAAAAAtwIAAAAAdAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T14:31:56.7Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 9, - "Title": "Program.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Program.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Program.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Program.cs", - "ViewState": "AQIAAB0AAAAAAAAAAAAEwEEAAAA8AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T01:13:33.04Z", - "EditorCaption": "" - }, - { - "$type": "Document", "DocumentIndex": 4, - "Title": "CommonStackerCraneJob.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs", - "ViewState": "AQIAAD4AAAAAAAAAAAAEwFkAAAAhAAAA", + "Title": "DeviceProtocolController.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceProtocolController.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceProtocolController.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceProtocolController.cs", + "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceProtocolController.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAnAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:28:21.914Z", - "EditorCaption": "" + "WhenOpened": "2024-08-28T01:57:14.144Z" }, { "$type": "Document", - "DocumentIndex": 2, - "Title": "RepositoryBase.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\BaseRepository\\RepositoryBase.cs", - "ViewState": "AQIAAOwBAAAAAAAAAAAlwAUCAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:02:37.028Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 8, "Title": "appsettings.json", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAABEAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABgAAAATAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2024-08-26T07:48:10.664Z", + "WhenOpened": "2024-08-28T01:43:48.493Z" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "Title": "ApiBaseController.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\BaseController\\ApiBaseController.cs", + "ViewState": "AQIAADIAAAAAAAAAAIA6wF4AAABEAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T02:01:07.973Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "ApiLogMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", + "ViewState": "AQIAAAMAAAAAAAAAAAAuwBUAAAAvAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:05:02.326Z" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "Dt_DeviceProtocol.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocol.cs", + "ViewState": "AQIAABgAAAAAAAAAAAAAACYAAAApAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:47:31.274Z" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Dt_DeviceInfo.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceInfo.cs", + "ViewState": "AQIAACgAAAAAAAAAAAAxwGoAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:53:23.226Z" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "DeviceProtocolService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceProtocolService.cs", + "ViewState": "AQIAAEAAAAAAAAAAAAAuwEkAAAAkAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T07:37:15.84Z", "EditorCaption": "" }, { "$type": "Document", + "DocumentIndex": 1, + "Title": "ExceptionHandlerMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ExceptionHandlerMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\ExceptionHandlerMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ExceptionHandlerMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\ExceptionHandlerMiddleware.cs", + "ViewState": "AQIAABsAAAAAAAAAAAAuwAwAAAArAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:05:00.601Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 20, + "Title": "IpLimitMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\IpLimitMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\IpLimitMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\IpLimitMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\IpLimitMiddleware.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:04:59.762Z" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "Title": "ApiAuthorizeFilter.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", + "ViewState": "AQIAADIAAAAAAAAAAAArwE0AAABOAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T06:31:50.139Z" + }, + { + "$type": "Document", + "DocumentIndex": 6, + "Title": "IDeviceProtocolService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceProtocolService.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAuwCAAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T07:37:27.87Z" + }, + { + "$type": "Document", + "DocumentIndex": 9, + "Title": "HttpRequestMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\HttpRequestMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\HttpRequestMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\HttpRequestMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\HttpRequestMiddleware.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAABZAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T07:05:00.511Z" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "DeviceInfoController.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", + "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAAA+AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:58:40.244Z" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "Title": "MiddlewareHelpers.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\MiddlewareHelpers.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\MiddlewareHelpers.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\MiddlewareHelpers.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\MiddlewareHelpers.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAA5AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:04:57.054Z" + }, + { + "$type": "Document", + "DocumentIndex": 14, + "Title": "DBContext.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBContext.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBContext.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBContext.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Seed\\DBContext.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T07:06:19.46Z" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "HttpContextHelper.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\HttpContextHelper.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\HttpContextHelper.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\HttpContextHelper.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\HttpContextHelper.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAkAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T07:06:26.224Z" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "HttpContextSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\HttpContextSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:55.361Z" + }, + { + "$type": "Document", + "DocumentIndex": 15, + "Title": "AspNetUser.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\HttpContextUser\\AspNetUser.cs", + "ViewState": "AQIAAE4AAAAAAAAAAAAowC0AAAAjAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T06:26:07.062Z" + }, + { + "$type": "Document", + "DocumentIndex": 21, + "Title": "DbSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\DbSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\DbSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\DbSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\DbSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:54.182Z" + }, + { + "$type": "Document", + "DocumentIndex": 22, + "Title": "AutofacModuleRegister.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", + "ViewState": "AQIAAAYAAAAAAAAAAAAAABIAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:32.561Z" + }, + { + "$type": "Document", + "DocumentIndex": 19, + "Title": "SwaggerAuthMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerAuthMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\SwaggerAuthMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerAuthMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\SwaggerAuthMiddleware.cs", + "ViewState": "AQIAAA4AAAAAAAAAAADwvwAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:04:52.726Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, + "Title": "LogAOP.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:44.291Z" + }, + { + "$type": "Document", + "DocumentIndex": 23, + "Title": "ApplicationSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\ApplicationSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\ApplicationSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\ApplicationSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\ApplicationSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:28.653Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "AllOptionRegister.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AllOptionRegister.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AllOptionRegister.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AllOptionRegister.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AllOptionRegister.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:27.634Z" + }, + { + "$type": "Document", "DocumentIndex": 18, + "Title": "SwaggerMiddleware.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\SwaggerMiddleware.cs", + "ViewState": "AQIAABEAAAAAAAAAAADwvwAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:04:48.721Z" + }, + { + "$type": "Document", + "DocumentIndex": 25, + "Title": "SwaggerSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SwaggerSetup.cs", + "ViewState": "AQIAAB4AAAAAAAAAAAAEwDUAAABUAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:53:18.229Z" + }, + { + "$type": "Document", + "DocumentIndex": 31, + "Title": "Sys_UserService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs", + "ViewState": "AQIAAIkAAAAAAAAAAAAcwAAAAAAkAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T03:49:44.756Z" + }, + { + "$type": "Document", + "DocumentIndex": 32, + "Title": "QuartzJobHostedService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", + "ViewState": "AQIAAC0AAAAAAAAAAAAAwEcAAAB5AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T06:10:25.295Z" + }, + { + "$type": "Document", + "DocumentIndex": 33, + "Title": "IService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\IService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\BaseServices\\IService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\BaseServices\\IService.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\BaseServices\\IService.cs", + "ViewState": "AQIAAEcAAAAAAAAAAAAjwGkAAAAbAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T02:04:11.581Z" + }, + { + "$type": "Document", + "DocumentIndex": 30, + "Title": "JwtHelper.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\JwtHelper.cs", + "ViewState": "AQIAABoAAAAAAAAAAAAWwDcAAAAeAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:42.453Z" + }, + { + "$type": "Document", + "DocumentIndex": 39, + "Title": "Dt_Router.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Router.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Router.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Router.cs", + "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_Router.cs", + "ViewState": "AQIAAAYAAAAAAAAAAAAAABQAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:49:41.909Z" + }, + { + "$type": "Document", + "DocumentIndex": 38, + "Title": "Dt_Task.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", + "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs", + "ViewState": "AQIAABIAAAAAAAAAAAAAACQAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:51:06.375Z" + }, + { + "$type": "Document", + "DocumentIndex": 26, + "Title": "ActionExecuteFilter.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ActionExecuteFilter.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T06:31:49.487Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, "Title": "AuthorizationResponse.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs", "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs", @@ -415,502 +660,270 @@ "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\AuthorizationResponse.cs", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:04:21.523Z", - "EditorCaption": "" + "WhenOpened": "2024-08-27T07:51:39.476Z" }, { "$type": "Document", - "DocumentIndex": 8, - "Title": "RouterService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\RouterService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_BasicInfoService\\RouterService.cs", - "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\RouterService.cs", - "ViewState": "AQIAAEsAAAAAAAAAAAAAAEsAAAAQAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T09:26:22.975Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "TaskExecuteDetailService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", - "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskExecuteDetailService.cs", - "ViewState": "AQIAACIAAAAAAAAAAAAswNYAAAAtAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:04:59.694Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 13, - "Title": "TaskTypeEnum.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskTypeEnum.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:29:47.916Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 12, - "Title": "TaskStatusGroup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskStatusGroup.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T02:06:54.362Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 16, - "Title": "ApiAuthorizeFilter.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Filter\\ApiAuthorizeFilter.cs", - "ViewState": "AQIAABIAAAAAAAAAAAAcwCUAAAAJAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-22T13:43:30.318Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 17, - "Title": "JwtTokenAuthMiddleware.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\JwtTokenAuthMiddleware.cs", - "ViewState": "AQIAACwAAAAAAAAAAAAQwAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:04:13.745Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 15, - "Title": "TaskStatusEnum.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\TaskStatusEnum.cs", - "ViewState": "AQIAAE0AAAAAAAAAAADwv2YAAAAgAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T17:40:06.251Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 29, - "Title": "QuartzJobHostedService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobHostedService.cs", - "ViewState": "AQIAACEAAAAAAAAAAAAAACMAAAAnAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T13:30:11.304Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 21, - "Title": "AutofacModuleRegister.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\AutofacModuleRegister.cs", - "ViewState": "AQIAAEkAAAAAAAAAAAAAwAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-26T01:03:55.023Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 27, "Title": "AuthorizationSetup.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", "RelativeToolTip": "WIDESEAWCS_Core\\Authorization\\AuthorizationSetup.cs", - "ViewState": "AQIAAAwAAAAAAAAAAAAAABMAAAAqAAAA", + "ViewState": "AQIAABQAAAAAAAAAAADwvwAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T01:28:01.283Z", - "EditorCaption": "" + "WhenOpened": "2024-08-27T07:51:40.668Z" }, { "$type": "Document", - "DocumentIndex": 24, - "Title": "Storage.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Storage.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Storage.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Storage.cs", - "ViewState": "AQIAABQAAAAAAAAAAAAwwBsBAABTAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-24T17:15:23.687Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 23, - "Title": "LogAOP.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\LogAOP.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\LogAOP.cs", - "ViewState": "AQIAACoAAAAAAAAAAAAIwAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-24T17:17:15.799Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 25, - "Title": "RouterInOutType.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\RouterInOutType.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Enums\\RouterInOutType.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Enums\\RouterInOutType.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Enums\\RouterInOutType.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAfAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T04:08:51.45Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 22, - "Title": "ApiLogMiddleware.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Middlewares\\ApiLogMiddleware.cs", - "ViewState": "AQIAABEAAAAAAAAAAADwvwAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-24T17:17:27.296Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 27, - "Title": "ConveyorLineDBName.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", - "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\ConveyorLineDBName.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACUAAAAhAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T15:15:06.783Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 31, - "Title": "DeviceCommand.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\DeviceBase\\DeviceCommand.cs", - "ViewState": "AQIAAI0AAAAAAAAAAAD4v50AAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T14:29:17.46Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 28, - "Title": "IConveyorLine.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\IConveyorLine.cs", - "ViewState": "AQIAACoAAAAAAAAAAAAlwEQAAAANAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T16:02:39.259Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 30, - "Title": "SqlsugarSetup.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", - "ViewState": "AQIAABcAAAAAAAAAAADwvyEAAAAeAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T17:14:48.537Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 32, - "Title": "CustomProfile.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\CustomProfile.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\CustomProfile.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAABYAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:43:34.925Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 36, - "Title": "AreaInfo.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\AreaInfo.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Common\\AreaInfo.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Common\\AreaInfo.cs", - "RelativeToolTip": "WIDESEAWCS_Common\\AreaInfo.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAASAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T06:15:23.48Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 34, - "Title": "RouterController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\RouterController.cs", - "ViewState": "AQIAABwAAAAAAAAAAAAawDUAAAA2AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T04:12:49.404Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 40, - "Title": "QuartzJobDataTableHostedService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\QuartzExtensions\\QuartzJobDataTableHostedService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAD8AAABRAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:22:56.699Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 39, - "Title": "QuartzJobCreateDataTabel.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", - "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Seed\\QuartzJobCreateDataTabel.cs", - "ViewState": "AQIAABMAAAAAAAAAAAAUwEUAAAAYAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:18:28.489Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 35, - "Title": "RoutersAddDTO.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs", - "RelativeToolTip": "WIDESEAWCS_DTO\\BasicInfo\\RoutersAddDTO.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAXAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T09:27:06.865Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 45, - "Title": "Sys_DictionaryListService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs", - "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_DictionaryListService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAAJAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:00:20.407Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 33, - "Title": "IRouterService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IRouterService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IRouterService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_IBasicInfoService\\IRouterService.cs", - "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IRouterService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAuwBIAAAAIAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T11:18:42.861Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 37, - "Title": "TaskController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAlwBEAAAAIAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:41:48.282Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 46, - "Title": "ISys_DictionaryListService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs", - "RelativeToolTip": "WIDESEAWCS_ISystemServices\\ISys_DictionaryListService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAABNAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:59:37.615Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 38, - "Title": "Sys_DictionaryController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryController.cs", - "ViewState": "AQIAACEAAAAAAAAAAAAlwDsAAAAlAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:22:04.667Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 41, - "Title": "FileHelper.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\FileHelper.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Helper\\FileHelper.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Helper\\FileHelper.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Helper\\FileHelper.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAANEAAAAIAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:23:20.234Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 47, - "Title": "Sys_DictionaryListRepository.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs", - "RelativeToolTip": "WIDESEAWCS_SystemRepository\\Sys_DictionaryListRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAABxAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:58:47.147Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 42, - "Title": "DBSeed.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Seed\\DBSeed.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\Seed\\DBSeed.cs", - "ViewState": "AQIAAAkAAAAAAAAAAAAAAB4AAABSAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T00:51:21.098Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 43, - "Title": "ITaskExecuteDetailService.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs", - "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskExecuteDetailService.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACQAAABPAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T03:06:44.58Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 48, - "Title": "ISys_DictionaryRepository.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs", - "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:58:01.587Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 44, - "Title": "Sys_DictionaryListController.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs", - "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_DictionaryListController.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:57:05.202Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 49, - "Title": "ISys_DictionaryListRepository.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs", - "RelativeToolTip": "WIDESEAWCS_ISystemRepository\\ISys_DictionaryListRepository.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAABUAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T02:57:58.344Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 50, + "DocumentIndex": 29, "Title": "Sys_UserController.cs", "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\System\\Sys_UserController.cs", - "ViewState": "AQIAAA8AAAAAAAAAAAAAAB4AAAAxAAAA", + "ViewState": "AQIAACwAAAAAAAAAAAAnwEQAAABKAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T01:15:06.094Z", - "EditorCaption": "" + "WhenOpened": "2024-08-28T03:49:03.307Z" + }, + { + "$type": "Document", + "DocumentIndex": 37, + "Title": "Dt_TaskExecuteDetail.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs", + "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_TaskExecuteDetail.cs", + "ViewState": "AQIAABgAAAAAAAAAAAAAACQAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:48:05.083Z" + }, + { + "$type": "Document", + "DocumentIndex": 34, + "Title": "WIDESEAWCS_Server", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", + "RelativeDocumentMoniker": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", + "RelativeToolTip": "WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-08-27T07:56:47.128Z" + }, + { + "$type": "Document", + "DocumentIndex": 36, + "Title": "Dt_DeviceProtocolDetail.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DeviceProtocolDetail.cs", + "ViewState": "AQIAABUAAAAAAAAAAAAAACcAAAAIAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:54:33.711Z" + }, + { + "$type": "Document", + "DocumentIndex": 35, + "Title": "Dt_DispatchInfo.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", + "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Models\\Dt_DispatchInfo.cs", + "ViewState": "AQIAABsAAAAAAAAAAAAAAC4AAAAkAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-28T01:55:11.759Z" + }, + { + "$type": "Document", + "DocumentIndex": 40, + "Title": "AutoMapperSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Server\\Filter\\AutoMapperSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T08:11:36.519Z" + }, + { + "$type": "Document", + "DocumentIndex": 41, + "Title": "SqlsugarSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\SqlsugarSetup.cs", + "ViewState": "AQIAAAYAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:53:07.406Z" + }, + { + "$type": "Document", + "DocumentIndex": 42, + "Title": "MiniProfilerSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\MiniProfilerSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\MiniProfilerSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\MiniProfilerSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\MiniProfilerSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:53:05.014Z" + }, + { + "$type": "Document", + "DocumentIndex": 43, + "Title": "MemoryCacheSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\MemoryCacheSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:53:03.987Z" + }, + { + "$type": "Document", + "DocumentIndex": 44, + "Title": "IpPolicyRateLimitSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\IpPolicyRateLimitSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\IpPolicyRateLimitSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\IpPolicyRateLimitSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\IpPolicyRateLimitSetup.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:57.581Z" + }, + { + "$type": "Document", + "DocumentIndex": 45, + "Title": "CorsSetup.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\CorsSetup.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Extensions\\CorsSetup.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Extensions\\CorsSetup.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Extensions\\CorsSetup.cs", + "ViewState": "AQIAAA4AAAAAAAAAAADwvwAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:50.096Z" + }, + { + "$type": "Document", + "DocumentIndex": 46, + "Title": "RepositorySetting.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\RepositorySetting.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\RepositorySetting.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\RepositorySetting.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\DB\\RepositorySetting.cs", + "ViewState": "AQIAABQAAAAAAAAAAADwvwAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:19.638Z" + }, + { + "$type": "Document", + "DocumentIndex": 47, + "Title": "MainDb.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\MainDb.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\MainDb.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\MainDb.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\DB\\MainDb.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:18.738Z" + }, + { + "$type": "Document", + "DocumentIndex": 48, + "Title": "BaseDBConfig.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\BaseDBConfig.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\DB\\BaseDBConfig.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\DB\\BaseDBConfig.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\DB\\BaseDBConfig.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:17.238Z" + }, + { + "$type": "Document", + "DocumentIndex": 49, + "Title": "InternalApp.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\InternalApp.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Core\\InternalApp.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\InternalApp.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Core\\InternalApp.cs", + "ViewState": "AQIAAAkAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:12.55Z" + }, + { + "$type": "Document", + "DocumentIndex": 50, + "Title": "IConfigurableOptions.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\IConfigurableOptions.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Core\\IConfigurableOptions.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\IConfigurableOptions.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Core\\IConfigurableOptions.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:52:10.931Z" }, { "$type": "Document", "DocumentIndex": 51, - "Title": "App.cs", - "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\App.cs", - "RelativeDocumentMoniker": "WIDESEAWCS_Core\\App.cs", - "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\App.cs", - "RelativeToolTip": "WIDESEAWCS_Core\\App.cs", - "ViewState": "AQIAAA8AAAAAAAAAAAAAAC4AAABLAAAA", + "Title": "ConfigurableOptions.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\ConfigurableOptions.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Core\\ConfigurableOptions.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Core\\ConfigurableOptions.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Core\\ConfigurableOptions.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-23T01:12:28.607Z", - "EditorCaption": "" + "WhenOpened": "2024-08-27T07:52:08.71Z" + }, + { + "$type": "Document", + "DocumentIndex": 52, + "Title": "SqlSugarCacheService.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\SqlSugarCacheService.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\SqlSugarCacheService.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\SqlSugarCacheService.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\SqlSugarCacheService.cs", + "ViewState": "AQIAAAYAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:58.833Z" + }, + { + "$type": "Document", + "DocumentIndex": 53, + "Title": "ICaching.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICaching.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\ICaching.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\ICaching.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\ICaching.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:57.17Z" + }, + { + "$type": "Document", + "DocumentIndex": 54, + "Title": "Caching.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\Caching.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\Caches\\Caching.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\Caches\\Caching.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\Caches\\Caching.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:53.111Z" + }, + { + "$type": "Document", + "DocumentIndex": 55, + "Title": "SqlSugarAop.cs", + "DocumentMoniker": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "RelativeDocumentMoniker": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "ToolTip": "E:\\WIDESEAWCS\\InfrastructureWCS\\WIDESEAWCS_Server\\WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "RelativeToolTip": "WIDESEAWCS_Core\\AOP\\SqlSugarAop.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-08-27T07:51:46.878Z" } ] } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/BaseCommunicator.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/BaseCommunicator.cs index 0a0707d..d781b94 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/BaseCommunicator.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/BaseCommunicator.cs @@ -17,6 +17,7 @@ using HslCommunication; using HslCommunication.LogNet; +using System.Diagnostics.CodeAnalysis; namespace WIDESEAWCS_Communicator { @@ -106,6 +107,6 @@ public abstract T ReadCustomer<T>(string address) where T : IDataTransfer, new(); - public abstract bool WriteCustomer<T>(string address, T value) where T : IDataTransfer, new(); + public abstract bool WriteCustomer<T>(string address, [NotNull] T value) where T : IDataTransfer, new(); } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicationException.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicationException.cs index 9f3418e..c2d1293 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicationException.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicationException.cs @@ -88,19 +88,77 @@ public class CommunicationExceptionMessage { + /// <summary> + /// Ip鍦板潃閿欒,鍙傛暟銆怚P銆� + /// </summary> public const string IpAddressErrorException = "Ip鍦板潃閿欒锛屻�恵0}銆�"; + /// <summary> + /// 鏁版嵁璇诲彇澶辫触,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃锛岄敊璇俊鎭�� + /// </summary> public const string ReadFailedException = "鏁版嵁璇诲彇澶辫触锛屾暟鎹被鍨嬶細銆恵0}銆戯紝鍦板潃锛氥�恵1}銆戯紝閿欒淇℃伅锛氥�恵2}銆�"; + /// <summary> + /// 鏁版嵁鍐欏叆澶辫触,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃锛屽啓鍏ョ殑鏁版嵁锛岄敊璇俊鎭�� + /// </summary> public const string WriteFailedException = "鏁版嵁鍐欏叆澶辫触锛屾暟鎹被鍨嬶細銆恵0}銆戯紝鍦板潃锛氥�恵1}銆戯紝鍐欏叆鐨勬暟鎹細銆恵2}銆戯紝閿欒淇℃伅锛氥�恵3}銆�"; - public const string ReadWriteDifferentException = "鏁版嵁鍐欏叆澶辫触锛屽啓鍏ュ悗鍐嶈鍙栦笌鍐欏叆鍊间笉涓�鑷达紝鏁版嵁绫诲瀷锛氥�恵0}銆戯紝鍦板潃锛氥�恵1}銆戯紝鍐欏叆鐨勬暟鎹細銆恵2}銆戯紝鍐欏叆鍚庤鍙栫殑鏁版嵁锛氥�恵3}銆�"; - + /// <summary> + /// 鏁版嵁绫诲瀷閿欒,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃銆� + /// </summary> public const string DataTypeErrorException = "鏁版嵁绫诲瀷閿欒锛屾湭瀹氫箟璇LC鏁版嵁绫诲瀷锛氥�恵0}銆戯紝鍦板潃锛氥�恵1}銆�"; + + /// <summary> + /// 鏁版嵁璇诲彇寮傚父,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃锛岄敊璇俊鎭�� + /// </summary> + public const string ReadException = "鏁版嵁璇诲彇澶辫触锛屾暟鎹被鍨嬶細銆恵0}銆戯紝鍦板潃锛氥�恵1}銆戯紝閿欒淇℃伅锛氥�恵2}銆�"; + + /// <summary> + /// 鏁版嵁璇诲彇澶辫触,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃锛岄敊璇俊鎭�� + /// </summary> + public const string WriteAndReadCheckFaild = "鏁版嵁鍐欏叆鍚庤鍙栨牎楠屽け璐ワ紝鍦板潃锛氥�恵0}銆戯紝鍐欏叆鐨勬暟鎹細銆恵1}銆戯紝璇诲彇鐨勬暟鎹細銆恵2}銆�"; + + /// <summary> + /// 鏁版嵁璇诲彇閿欒,缁撴灉涓簄ull,鍙傛暟銆愬崗璁湴鍧�銆� + /// </summary> + public const string ReadDataIsNull = "鏁版嵁璇诲彇閿欒锛屾湭鍙栧埌鏁版嵁缁撴灉锛屽湴鍧�锛氥�恵0}銆�"; + + /// <summary> + /// 杩炴帴澶辫触,鍙傛暟銆怚P锛孭ort锛岄敊璇俊鎭�� + /// </summary> + public const string ConnectFaild = "PLC杩炴帴澶辫触锛孖P锛氥�恵0}銆戯紝Port锛氥�恵1}銆戯紝閿欒淇℃伅锛氥�恵2}銆�"; + + /// <summary> + /// 杩炴帴寮傚父,鍙傛暟銆怚P锛孭ort锛岄敊璇俊鎭�� + /// </summary> + public const string ConnectException = "PLC杩炴帴寮傚父锛孖P锛氥�恵0}銆戯紝Port锛氥�恵1}銆戯紝閿欒淇℃伅锛氥�恵2}銆�"; + + /// <summary> + /// 鏁版嵁绫诲瀷杞寲閿欒,鍙傛暟銆愭暟鎹被鍨嬶紝鍗忚鍦板潃锛屽啓鍏ョ殑鏁版嵁锛岄敊璇俊鎭�� + /// </summary> + public const string TypeConvertError = "鏁版嵁绫诲瀷杞崲閿欒锛屾暟鎹被鍨嬶細銆恵0}銆戯紝鍦板潃锛氥�恵1}銆戯紝鍐欏叆鐨勬暟鎹細銆恵2}銆戯紝閿欒淇℃伅锛氥�恵3}銆�"; } public class CommunicationInfoMessage { + /// <summary> + /// 鏁版嵁鍐欏叆,鍙傛暟銆愬崗璁湴鍧�锛屽啓鍏ョ殑鏁版嵁銆� + /// </summary> + public const string WriteData = "鏁版嵁鍐欏叆锛屽湴鍧�锛氥�恵0}銆戯紝鍐欏叆鐨勬暟鎹細銆恵1}銆�"; + /// <summary> + /// 鏁版嵁鍐欏叆鍚庤鍙�,鍙傛暟銆愬崗璁湴鍧�锛岃鍙栫殑鏁版嵁銆� + /// </summary> + public const string WriteAfterRead = "鏁版嵁鍐欏叆鍚庤鍙栵紝鍦板潃锛氥�恵0}銆戯紝璇诲彇鐨勬暟鎹細銆恵1}銆�"; + + /// <summary> + /// 鏁版嵁鍐欏叆鍚庤鍙栨牎楠屾垚鍔�,鍙傛暟銆愬崗璁湴鍧�锛屽啓鍏ョ殑鏁版嵁锛岃鍙栫殑鏁版嵁銆� + /// </summary> + public const string WriteAndReadCheckSuccess = "鏁版嵁鍐欏叆鍚庤鍙栨牎楠屾垚鍔燂紝鍦板潃锛氥�恵0}銆戯紝鍐欏叆鐨勬暟鎹細銆恵1}銆戯紝璇诲彇鐨勬暟鎹細銆恵2}銆�"; + + /// <summary> + /// 杩炴帴鎴愬姛,鍙傛暟銆怚P锛孭ort銆� + /// </summary> + public const string ConnectSuccess = "PLC杩炴帴鎴愬姛锛孖P锛氥�恵0}銆戯紝Port锛氥�恵1}銆�"; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicatorCommonMethod.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicatorCommonMethod.cs deleted file mode 100644 index d9c2854..0000000 --- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/CommunicatorCommonMethod.cs +++ /dev/null @@ -1,34 +0,0 @@ -锘縰sing Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; - -namespace WIDESEAWCS_Communicator -{ - public class CommunicatorCommonMethod - { - public static string GetVueDictionary(string key) - { - string result = ""; - try - { - switch (key) - { - case "devicePlcType": - - break; - } - return result; - } - catch (Exception ex) - { - return ""; - } - - } - } -} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensDBDataType.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensDBDataType.cs index d019171..0a38657 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensDBDataType.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensDBDataType.cs @@ -56,11 +56,6 @@ public const string DataType_Byte = "byte"; /// <summary> - /// 瀛楄妭鏁扮粍 - /// </summary> - public const string DataType_ByteArray = "bytearray"; - - /// <summary> /// 32浣嶆棤绗﹀彿鏁村瀷 /// </summary> public const string DataType_DW = "dw"; @@ -79,11 +74,6 @@ /// 瀛楃 /// </summary> public const string DataType_Char = "char"; - - /// <summary> - /// 瀛楃鏁扮粍 - /// </summary> - public const string DataType_CharArray = "chararray"; #endregion <Const> public static TypeCode GetTypeCode(string dataType) diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs index 062951d..e504bdc 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs @@ -24,6 +24,7 @@ using System.Collections; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Net; using System.Reflection; @@ -60,6 +61,9 @@ /// </summary> private bool _connected; + /// <summary> + /// PLC鍚嶇О + /// </summary> private string _name; private ILogNet _logNet; @@ -71,6 +75,9 @@ /// </summary> public override bool IsConnected => _connected; + /// <summary> + /// PLC鍚嶇О + /// </summary> public override string Name => _name; public override ILogNet LogNet => _logNet; @@ -108,7 +115,7 @@ /// <param name="operateResult">HSLCommunication璇诲彇鐨凮perateResult<T>瀵硅薄</param> /// <returns>濡傛灉璇诲彇鎴愬姛锛岃繑鍥炶鍙栫粨鏋滐紝璇诲彇澶辫触锛屾姏鍑鸿嚜瀹氫箟閫氳寮傚父</returns> /// <exception cref="CommunicationException">鑷畾涔夐�氳寮傚父绫�</exception> - private object? GetContent<T>(OperateResult<T> operateResult, string address) + private object GetContent<T>(OperateResult<T> operateResult, string address) { try { @@ -116,14 +123,13 @@ { throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadFailedException, typeof(T).Name, address, operateResult.Message), CommunicationErrorType.ReadFailed); } - return operateResult.Content; + return operateResult.Content ?? throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadDataIsNull, address), CommunicationErrorType.ReadFailed); } catch (Exception ex) { - LogNet.WriteException(Name, $"銆恵Name}銆慞LC璇诲彇寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex); - throw new CommunicationException(ex.Message, CommunicationErrorType.ReadException, innerException: ex); + LogNet.WriteException(Name, ex.Message, ex); + throw new CommunicationException(ex.Message, CommunicationErrorType.ReadFailed, innerException: ex); } - } /// <summary> @@ -137,10 +143,10 @@ /// <exception cref="CommunicationException"></exception> private bool GetResult<T>(OperateResult operateResult, string address, T value) where T : notnull { - string logMsg = ""; + StringBuilder stringBuilder = new StringBuilder(); try { - logMsg += $"銆恵Name}銆慞LC鍐欏叆鏁版嵁锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}"; + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, value)); if (!operateResult.IsSuccess) { throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, value, operateResult.Message), CommunicationErrorType.WriteFailed); @@ -151,32 +157,30 @@ for (int i = 0; i < 5; i++) { T readValue = Read<T>(address); - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵readValue}銆憑Environment.NewLine}"; + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, readValue, value)); obj = readValue; if (readValue.Equals(value)) { - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屾垚鍔燂紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵readValue}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}"; + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, value, readValue)); return true; } - else if(i < 4) + else if (i < 4) { Write(address, value); } } - - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屽け璐ワ紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵obj}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆憑Environment.NewLine}"; - - throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadWriteDifferentException, typeof(T).Name, address, value, obj), CommunicationErrorType.WriteFailed); + stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, value, obj)); + throw new CommunicationException(stringBuilder.ToString(), CommunicationErrorType.WriteFailed); } } catch (Exception ex) { - LogNet.WriteException(Name, $"銆恵Name}銆慞LC鍐欏叆寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵value}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex); + LogNet.WriteException(Name, ex.Message, ex); throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex); } finally { - LogNet.WriteInfo(Name, logMsg); + LogNet.WriteInfo(Name, stringBuilder.ToString()); } } @@ -217,21 +221,15 @@ default: throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, type.Name, address), CommunicationErrorType.TypeError); } - - } catch (CommunicationException ex) { - throw new CommunicationException($"鍐欏叆閿欒锛�" + ex.Message, ex.ErrorType, ex.ErrorCode, ex.InnerException); + throw new CommunicationException(ex.Message, ex.ErrorType); } catch (Exception ex) { //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - finally - { - + throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, address, value), CommunicationErrorType.TypeError, innerException: ex); } } @@ -260,13 +258,13 @@ case TypeCode.Char: return (char)GetContent(plc.ReadByte(address), address); default: - throw new CommunicationException($"璇诲彇鏁版嵁澶辫触,鏈畾涔夋暟鎹被鍨�:銆恵typeCode}銆�,鍦板潃:銆恵address}銆�", CommunicationErrorType.TypeError); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, typeCode.ToString(), address), CommunicationErrorType.TypeError); } } catch (CommunicationException ex) { //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; + throw new CommunicationException(ex.Message, ex.ErrorType); } catch (Exception ex) { @@ -296,15 +294,15 @@ _connected = operateResult.IsSuccess;//灏嗚繛鎺ユ槸鍚︽垚鍔熻祴鍊肩粰褰撳墠閫氳鍣ㄦ槸鍚﹀凡杩炴帴鍒癙LC if (_connected) - LogNet.WriteInfo(Name, $"銆恵Name}銆慞LC杩炴帴鎴愬姛锛孖P銆恵_ipAddress}銆戯紝Port銆恵_port}銆�"); + LogNet.WriteInfo(Name, string.Format(CommunicationInfoMessage.ConnectSuccess, _ipAddress, _port)); else - LogNet.WriteError(Name, $"銆恵Name}銆慞LC杩炴帴澶辫触锛孖P銆恵_ipAddress}銆戯紝Port銆恵_port}銆戯紝閿欒淇℃伅锛歿operateResult.Message}"); + LogNet.WriteError(Name, string.Format(CommunicationExceptionMessage.ConnectFaild, _ipAddress, _port, operateResult.Message)); return operateResult.IsSuccess; } catch (Exception ex) { - LogNet.WriteException(Name, $"銆恵Name}銆慞LC杩炴帴寮傚父锛孖P銆恵_ipAddress}銆戯紝Port銆恵_port}銆�", ex); + LogNet.WriteException(Name, string.Format(CommunicationExceptionMessage.ConnectFaild, _ipAddress, _port, ex.Message), ex); //杩炴帴寮傚父鏃舵姏鍑鸿嚜瀹氫箟寮傚父绫� throw new CommunicationException(ex.Message, CommunicationErrorType.ConnectionFailed, innerException: ex); } @@ -345,20 +343,7 @@ /// <exception cref="CommunicationException">鑷畾涔夐�氳寮傚父绫�</exception> public override byte[] Read(string address, int length) { - try - { - return (byte[])GetContent(plc.Read(address, (ushort)length), address); - } - catch (CommunicationException ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; - } - catch (Exception ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"璇诲彇鏁版嵁寮傚父:{ex.Message}", CommunicationErrorType.ReadFailed, innerException: ex); - } + return (byte[])GetContent(plc.Read(address, (ushort)length), address); } /// <summary> @@ -371,22 +356,8 @@ /// <exception cref="CommunicationException">鑷畾涔夐�氳寮傚父绫�</exception> public override T Read<T>(string address) { - try - { - Type type = typeof(T); - return (T)Read(address, Type.GetTypeCode(type)); - - } - catch (CommunicationException ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; - } - catch (Exception ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"璇诲彇鏁版嵁寮傚父,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.ReadException, innerException: ex); - } + Type type = typeof(T); + return (T)Read(address, Type.GetTypeCode(type)); } /// <summary> @@ -398,20 +369,7 @@ /// <exception cref="CommunicationException">鑷畾涔夐�氳寮傚父绫�</exception> public override object ReadAsObj(string address, string dataType) { - try - { - return Read(address, SiemensDBDataType.GetTypeCode(dataType)); - } - catch (CommunicationException ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; - } - catch (Exception ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"璇诲彇鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.ReadException, innerException: ex); - } + return Read(address, SiemensDBDataType.GetTypeCode(dataType)); } #endregion @@ -455,20 +413,7 @@ /// <exception cref="NotImplementedException"></exception> public override bool Write<T>(string address, T value) { - try - { - return GetResult(Write(address, value), address, value); - } - catch (CommunicationException ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; - } - catch (Exception ex) - { - //璇诲彇寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"璇诲彇鏁版嵁寮傚父,鍦板潃:銆恵address}銆�,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } + return GetResult(Write(address, value), address, value); } /// <summary> @@ -479,168 +424,131 @@ /// <param name="value">瑕佸啓鍏ョ殑鏁版嵁銆�</param> /// <returns>濡傛灉鍐欏叆鎴愬姛鍒欒繑鍥瀟rue锛屽け璐ュ垯鎶涘嚭鑷畾涔夐�氳寮傚父銆�</returns> /// <exception cref="CommunicationException"></exception> - public override bool WriteObj(string address, string dataType, object value) + public override bool WriteObj(string address, string dataType, [NotNull] object value) { - try + bool obj = false; + switch (dataType.ToLower()) { - bool obj = false; - switch (dataType.ToLower()) - { - case SiemensDBDataType.DataType_DInt: + case SiemensDBDataType.DataType_DInt: + { + int writeVal; + try { - int writeVal; - try - { - writeVal = Convert.ToInt32(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + writeVal = Convert.ToInt32(value); } - break; - case SiemensDBDataType.DataType_DW: + catch (Exception ex) { - uint writeVal; - try - { - writeVal = Convert.ToUInt32(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); } - break; - case SiemensDBDataType.DataType_Int: + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_DW: + { + uint writeVal; + try { - short writeVal; - try - { - writeVal = Convert.ToInt16(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + writeVal = Convert.ToUInt32(value); } - - break; - case SiemensDBDataType.DataType_W: + catch (Exception ex) { - ushort writeVal; - try - { - writeVal = Convert.ToUInt16(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); } - - break; - case SiemensDBDataType.DataType_Float: + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_Int: + { + short writeVal; + try { - float writeVal; - try - { - writeVal = Convert.ToSingle(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + writeVal = Convert.ToInt16(value); } - - break; - case SiemensDBDataType.DataType_Bool: + catch (Exception ex) { - bool writeVal; - try - { - writeVal = Convert.ToBoolean(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); } - - break; - case SiemensDBDataType.DataType_Byte: + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_W: + { + ushort writeVal; + try { - byte writeVal; - try - { - writeVal = Convert.ToByte(value); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + writeVal = Convert.ToUInt16(value); } - - break; - case SiemensDBDataType.DataType_ByteArray: + catch (Exception ex) { - byte[] writeVal; - try - { - writeVal = (byte[])value; - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); } - - break; - case SiemensDBDataType.DataType_String: + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_Float: + { + float writeVal; + try { - string writeVal; - try - { - writeVal = value.ToString(); - } - catch (Exception ex) - { - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,鏁版嵁绫诲瀷杞崲閿欒,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } - obj = GetResult(Write(address, writeVal), address, writeVal); + writeVal = Convert.ToSingle(value); } + catch (Exception ex) + { + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); + } + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_Bool: + { + bool writeVal; + try + { + writeVal = Convert.ToBoolean(value); + } + catch (Exception ex) + { + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); + } + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_Byte: + { + byte writeVal; + try + { + writeVal = Convert.ToByte(value); + } + catch (Exception ex) + { + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); + } + obj = GetResult(Write(address, writeVal), address, writeVal); + } + break; + case SiemensDBDataType.DataType_String: + { + string writeVal; + try + { + writeVal = value.ToString(); + } + catch (Exception ex) + { + throw new CommunicationException(string.Format(CommunicationExceptionMessage.TypeConvertError, dataType, address, value, ex.Message), CommunicationErrorType.TypeError, innerException: ex); + } + obj = GetResult(Write(address, writeVal), address, writeVal); + } - break; - case SiemensDBDataType.DataType_Char: + break; + case SiemensDBDataType.DataType_Char: - //obj = GetResult(plc.Write(address, (int)value), address, (int)value); - break; - case SiemensDBDataType.DataType_CharArray: - - break; - default: - throw new CommunicationException($"鍐欏叆鏁版嵁澶辫触,鏈畾涔夋暟鎹被鍨�:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�", CommunicationErrorType.TypeError); - } - return obj; + break; + default: + throw new CommunicationException(string.Format(CommunicationExceptionMessage.DataTypeErrorException, dataType, address), CommunicationErrorType.TypeError); } - catch (CommunicationException ex) - { - //鍐欏叆寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw ex; - } - catch (Exception ex) - { - //鍐欏叆寮傚父鏃舵姏鍑鸿嚜瀹氫箟閫氳寮傚父绫� - throw new CommunicationException($"鍐欏叆鏁版嵁寮傚父,鏁版嵁绫诲瀷:銆恵dataType}銆�,鍦板潃:銆恵address}銆�,鏁版嵁:銆恵value}銆�,閿欒淇℃伅:{ex.Message}", CommunicationErrorType.TypeError, innerException: ex); - } + return obj; } #endregion @@ -661,56 +569,56 @@ #endregion #region WriteCustomer - public override bool WriteCustomer<T>(string address, T value) + public override bool WriteCustomer<T>(string address, [NotNull] T value) { - string logMsg = string.Empty; + StringBuilder stringBuilder = new StringBuilder(); try { OperateResult operateResult = plc.WriteCustomer(address, value); - logMsg += $"銆恵Name}銆慞LC鍐欏叆鏁版嵁锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}"; + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, JsonConvert.SerializeObject(value))); if (operateResult.IsSuccess) { + object? obj = null; for (int i = 0; i < 5; i++) { T readValue = ReadCustomer<T>(address); - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆憑Environment.NewLine}"; + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue))); + obj = readValue; PropertyInfo[] propertyInfos = typeof(T).GetProperties(); - foreach (var item in propertyInfos) + for (int j = 0; j < propertyInfos.Length; j++) { - object writeValueItem = item.GetValue(value); - if (writeValueItem != null) + object? writeValueItem = propertyInfos[j].GetValue(value); + object? readValueItem = propertyInfos[j].GetValue(readValue); + if (writeValueItem.Equals(readValueItem)) { - object readValueItem = item.GetValue(readValue); - if (writeValueItem.Equals(readValueItem)) - { - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屾垚鍔燂紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}"; - return true; - } - else - { - plc.WriteCustomer(address, value); - } - - logMsg += $"銆恵Name}銆慞LC鍐欏叆鍚庤鍙栨暟鎹牎楠屽け璐ワ紝鍦板潃锛氥�恵address}銆戯紝璇诲彇鐨勬暟鎹細銆恵JsonConvert.SerializeObject(readValue)}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆憑Environment.NewLine}"; - throw new CommunicationException(string.Format(CommunicationExceptionMessage.ReadWriteDifferentException, typeof(T).Name, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)), CommunicationErrorType.WriteFailed); + stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue))); } + else + { + break; + } + if (j == propertyInfos.Length - 1) + return true; } + + plc.WriteCustomer(address, value); } + stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj))); + throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed); } else { throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, JsonConvert.SerializeObject(value), operateResult.Message), CommunicationErrorType.WriteFailed); } - return operateResult.IsSuccess; } catch (Exception ex) { - LogNet.WriteException(Name, $"銆恵Name}銆慞LC鍐欏叆寮傚父锛屽湴鍧�锛氥�恵address}銆戯紝鍐欏叆鐨勬暟鎹細銆恵JsonConvert.SerializeObject(value)}銆戯紝閿欒淇℃伅锛氥�恵ex.Message}銆�", ex); + LogNet.WriteException(Name, ex.Message, ex); throw new CommunicationException(ex.Message, CommunicationErrorType.WriteFailed, innerException: ex); } finally { - LogNet.WriteInfo(Name, logMsg); + LogNet.WriteInfo(Name, stringBuilder.ToString()); } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/LogAOP.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/LogAOP.cs index 6b22f40..ef2c23c 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/LogAOP.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/AOP/LogAOP.cs @@ -73,9 +73,6 @@ // 寮傛鑾峰彇寮傚父锛屽厛鎵ц if (IsAsyncMethod(invocation.Method)) { - #region 鏂规涓� - - //Wait task execution and modify return value if (invocation.Method.ReturnType == typeof(Task)) { invocation.ReturnValue = InternalAsyncHelper.AwaitTaskWithPostActionAndFinally( @@ -86,45 +83,17 @@ LogEx(ex, apiLogAopInfo); }); } - //Task<TResult> else { invocation.ReturnValue = InternalAsyncHelper.CallAwaitTaskWithPostActionAndFinallyAndGetResult( invocation.Method.ReturnType.GenericTypeArguments[0], invocation.ReturnValue, - //async () => await SuccessAction(invocation, dataIntercept),/*鎴愬姛鏃舵墽琛�*/ async (o) => await SuccessAction(invocation, apiLogAopInfo, startTime, o), /*鎴愬姛鏃舵墽琛�*/ ex => { LogEx(ex, apiLogAopInfo); }); } - - #endregion - - - // 濡傛灉鏂规涓�涓嶈锛岃瘯璇曡繖涓柟妗� - //#region 鏂规浜� - - //var type = invocation.Method.ReturnType; - //var resultProperty = type.GetProperty("Result"); - //DateTime endTime = DateTime.Now; - //string ResponseTime = (endTime - startTime).Milliseconds.ToString(); - //apiLogAopInfo.ResponseTime = endTime.ToString("yyyy-MM-dd hh:mm:ss fff"); - //apiLogAopInfo.ResponseIntervalTime = ResponseTime + "ms"; - //apiLogAopInfo.ResponseJsonData = JsonConvert.SerializeObject(resultProperty.GetValue(invocation.ReturnValue)); - - ////dataIntercept += ($"銆愬搷搴旀椂闂淬�戯細{ResponseTime}ms\r\n"); - ////dataIntercept += ($"銆愭墽琛屽畬鎴愭椂闂淬�戯細{endTime.ToString("yyyy-MM-dd hh:mm:ss fff")}\r\n"); - ////dataIntercept += ($"銆愭墽琛屽畬鎴愮粨鏋溿�戯細{JsonConvert.SerializeObject(resultProperty.GetValue(invocation.ReturnValue))}\r\n"); - - //Parallel.For(0, 1, e => - //{ - // //LogLock.OutLogAOP("AOPLog", new string[] { dataIntercept }); - // LogLock.OutLogAOP("AOPLog", new string[] { apiLogAopInfo.GetType().ToString() + " - ResponseJsonDataType:" + type, JsonConvert.SerializeObject(apiLogAopInfo) }); - //}); - - //#endregion } else { @@ -157,7 +126,6 @@ LogEx(ex, apiLogAopInfo); throw; } - } private async Task SuccessAction(IInvocation invocation, AOPLogInfo apiLogAopInfo, DateTime startTime, object o = null) @@ -173,7 +141,6 @@ { Parallel.For(0, 1, e => { - //LogLock.OutSql2Log("AOPLog", new string[] { JsonConvert.SerializeObject(apiLogAopInfo) }); LogLock.OutLogAOP("AOPLog", new string[] { apiLogAopInfo.GetType().ToString(), JsonConvert.SerializeObject(apiLogAopInfo) }); }); }); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs index ebce9ef..65be4ce 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/App.cs @@ -121,7 +121,7 @@ /// <returns></returns> public static object GetService(Type type, IServiceProvider serviceProvider = null, bool mustBuild = true) { - object obj = (serviceProvider ?? App.GetServiceProvider(type, mustBuild, false))?.GetService(type); + object obj = (serviceProvider ?? GetServiceProvider(type, mustBuild, false))?.GetService(type); return obj; } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/AuthorizationResponse.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/AuthorizationResponse.cs index 2cd734d..22b7dcd 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/AuthorizationResponse.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/AuthorizationResponse.cs @@ -18,7 +18,7 @@ public static AuthorizationFilterContext FilterResult( this AuthorizationFilterContext context, HttpStatusCode statusCode, - string message = null) + string? message = null) { context.Result = new ContentResult() { @@ -29,7 +29,7 @@ //Logger.Info(LoggerType.ApiAuthorize, message); return context; } - public static AuthorizationFilterContext Unauthorized(this AuthorizationFilterContext context, string message = null) + public static AuthorizationFilterContext Unauthorized(this AuthorizationFilterContext context, string? message = null) { return context.FilterResult(HttpStatusCode.Unauthorized, message); } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/JwtHelper.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/JwtHelper.cs index ee34f6d..947fa4e 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/JwtHelper.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Authorization/JwtHelper.cs @@ -23,22 +23,23 @@ public static string IssueJwt(TokenModelJwt tokenModel) { string exp = $"{new DateTimeOffset(DateTime.Now.AddMinutes(/*tokenModel.UserId == 1 ? 43200 : */AppSettings.app("ExpMinutes").ObjToInt())).ToUnixTimeSeconds()}"; - var claims = new List<Claim> + List<Claim> claims = new List<Claim> { - new Claim(JwtRegisteredClaimNames.Jti,tokenModel.UserId.ToString()), - new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), - new Claim(JwtRegisteredClaimNames.Nbf,$"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}") , - //JWT杩囨湡鏃堕棿 - //榛樿璁剧疆jwt杩囨湡鏃堕棿120鍒嗛挓 - new Claim (JwtRegisteredClaimNames.Exp,exp), - new Claim(JwtRegisteredClaimNames.Iss,AppSecret.Issuer), - new Claim(JwtRegisteredClaimNames.Aud,AppSecret.Audience), - new Claim(ClaimTypes.Role, tokenModel.RoleId.ToString()) + new Claim(JwtRegisteredClaimNames.Jti, tokenModel.UserId.ToString()), + new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), + new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}") , + //JWT杩囨湡鏃堕棿 + //榛樿璁剧疆jwt杩囨湡鏃堕棿120鍒嗛挓 + new Claim (JwtRegisteredClaimNames.Exp, exp), + new Claim(JwtRegisteredClaimNames.Iss, AppSecret.Issuer), + new Claim(JwtRegisteredClaimNames.Aud, AppSecret.Audience), + new Claim(ClaimTypes.Role, tokenModel.RoleId.ToString()), + new Claim(ClaimTypes.Name, tokenModel.UserName), + new Claim(nameof(TokenModelJwt.TenantId), tokenModel.TenantId.ToString()) }; // 鍙互灏嗕竴涓敤鎴风殑澶氫釜瑙掕壊鍏ㄩ儴璧嬩簣锛� // 浣滆�咃細DX 鎻愪緵鎶�鏈敮鎸侊紱 - //绉橀挜16浣� var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(AppSecret.JWT)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); @@ -112,7 +113,9 @@ /// <summary> /// 鑱岃兘 /// </summary> - public string Work { get; set; } + public string UserName { get; set; } + + public long TenantId { get; set; } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs index 56f224f..8f5d041 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/BaseServices/ServiceBase.cs @@ -54,37 +54,6 @@ Dictionary<string, OrderByType> orderbyDic = GetPageDataSort(options, TProperties); PageGridData<TEntity> pageGridData = new PageGridData<TEntity>(); - //if (QueryRelativeExpression != null) - //{ - // queryable = QueryRelativeExpression.Invoke(queryable); - //} - //if (options.Export) - //{ - // queryable = queryable.GetIQueryableOrderBy(orderbyDic); - // if (Limit > 0) - // { - // queryable = queryable.Take(Limit); - // } - // pageGridData.rows = queryable.ToList(); - //} - //else - //{ - // pageGridData.rows = repository.IQueryablePage(queryable, - // options.Page, - // options.Rows, - // out int rowCount, - // orderbyDic).ToList(); - // pageGridData.total = rowCount; - // //鏌ヨ鐣岄潰缁熻姹傜瓑瀛楁 - // if (SummaryExpress != null) - // { - // pageGridData.summary = SummaryExpress.Invoke(queryable); - // //Func<T, T> groupExpress = x =>x; - // //pageGridData.summary = queryable.GroupBy(groupExpress).Select(SummaryExpress).FirstOrDefault(); - // } - //} - //GetPageDataOnExecuted?.Invoke(pageGridData); - pageGridData = BaseDal.QueryPage(wheres, options.Page, options.Rows, orderbyDic); return pageGridData; @@ -123,7 +92,7 @@ if (property == null) continue; List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList(); - if (results == null || results.Count() == 0) + if (results == null || results.Count() > 0) { continue; } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/AutofacModuleRegister.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/AutofacModuleRegister.cs index b4c0368..62dc38e 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/AutofacModuleRegister.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/AutofacModuleRegister.cs @@ -17,58 +17,8 @@ { public class AutofacModuleRegister : Autofac.Module { - //private static readonly ILog log = LogManager.GetLogger(typeof(AutofacModuleRegister)); protected override void Load(ContainerBuilder builder) { - //var basePath = AppContext.BaseDirectory; - - //var cacheType = new List<Type>(); - - //builder.RegisterType<LogAOP>(); - //cacheType.Add(typeof(LogAOP)); - - //builder.RegisterGeneric(typeof(RepositoryBase<>)).As(typeof(IRepository<>)).InstancePerDependency();//娉ㄥ唽浠撳偍 - //builder.RegisterGeneric(typeof(ServiceBase<,>)).As(typeof(IService<>)).InstancePerDependency();//娉ㄥ唽鏈嶅姟 - - //Type baseType = typeof(IDependency); - - //List<RuntimeLibrary> compilationLibrary = DependencyContext.Default - // .RuntimeLibraries - // .Where(x => !x.Serviceable - // && x.Type == "project" && ((x.Name.EndsWith("Repository")) || (x.Name.EndsWith("Service")))) - // .ToList(); - //List<Assembly> assemblyList = new List<Assembly>(); - //foreach (var library in compilationLibrary) - //{ - // try - // { - // string path = Path.Combine(basePath, $"{library.Name}.dll"); - // if (!File.Exists(path)) - // { - // var msg = $"{library.Name}.dll涓㈠け锛屽洜涓洪」鐩В鑰︿簡锛屾墍浠ラ渶瑕佸厛F6缂栬瘧锛屽啀F5杩愯锛岃妫�鏌� bin 鏂囦欢澶癸紝骞舵嫹璐濄��"; - // //log.Error(msg); - // throw new Exception(msg); - // } - // assemblyList.Add(Assembly.LoadFrom(path)); - // } - // catch (Exception ex) - // { - // Console.WriteLine(library.Name + ex.Message); - // } - //} - //builder.RegisterAssemblyTypes(assemblyList.ToArray()) - // .Where(x => !x.IsAbstract /*&& baseType.IsAssignableFrom(x)*/) - // .AsImplementedInterfaces() - // .PropertiesAutowired() - // .InstancePerDependency() - // .EnableInterfaceInterceptors() - // .InterceptedBy(cacheType.ToArray()); - - //builder.RegisterType<UnitOfWorkManage>().As<IUnitOfWorkManage>() - // .AsImplementedInterfaces() - // .InstancePerLifetimeScope() - // .PropertiesAutowired(); - var basePath = AppContext.BaseDirectory; var cacheType = new List<Type>(); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs index d80ac85..54f61d9 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Extensions/SwaggerSetup.cs @@ -20,8 +20,6 @@ /// </summary> public static class SwaggerSetup { - - /// <summary> /// Swagger /// </summary> @@ -45,22 +43,20 @@ Version = version, Title = $"{ApiName} 鎺ュ彛鏂囨。鈥斺�攞RuntimeInformation.FrameworkDescription}", Description = $"{ApiName} HTTP API " + version, - //Contact = new OpenApiContact { Name = ApiName, Email = "Blog.Core@xxx.com", Url = new Uri("https://neters.club") }, - //License = new OpenApiLicense { Name = ApiName + " 瀹樻柟鏂囨。", Url = new Uri("http://apk.neters.club/.doc/") } }); - //c.OrderActionsBy(o => o.RelativePath); + c.OrderActionsBy(o => o.RelativePath); }); c.UseInlineDefinitionsForEnums(); try { //杩欎釜灏辨槸鍒氬垰閰嶇疆鐨剎ml鏂囦欢鍚� - //var xmlPath = Path.Combine(basePath, "Blog.Core.xml"); + //var xmlPath = Path.Combine(basePath, "WIDESEAWCS_Server.xml"); //榛樿鐨勭浜屼釜鍙傛暟鏄痜alse锛岃繖涓槸controller鐨勬敞閲婏紝璁板緱淇敼 //c.IncludeXmlComments(xmlPath, true); //杩欎釜灏辨槸Model灞傜殑xml鏂囦欢鍚� - //var xmlModelPath = Path.Combine(basePath, "Blog.Core.Model.xml"); + //var xmlModelPath = Path.Combine(basePath, "WIDESEAWCS_Server.Model.xml"); //c.IncludeXmlComments(xmlModelPath); } catch (Exception ex) @@ -73,7 +69,7 @@ c.OperationFilter<AppendAuthorizeToSummaryOperationFilter>(); // 鍦╤eader涓坊鍔爐oken锛屼紶閫掑埌鍚庡彴 - //c.OperationFilter<SecurityRequirementsOperationFilter>(); + c.OperationFilter<SecurityRequirementsOperationFilter>(); c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ActionExecuteFilter.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ActionExecuteFilter.cs new file mode 100644 index 0000000..f06e59c --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ActionExecuteFilter.cs @@ -0,0 +1,37 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.Filter +{ + public class ActionExecuteFilter : IActionFilter + { + public void OnActionExecuted(ActionExecutedContext context) + { + //throw new NotImplementedException(); + } + + public void OnActionExecuting(ActionExecutingContext context) + { + //throw new NotImplementedException(); + //foreach (KeyValuePair<string, object?> item in context.ActionArguments) + //{ + // if (item.Value != null) + // { + // string name = item.Value.GetType().Name; + // Console.Out.WriteLine(name); + // } + // else + // { + // context.Result = new JsonResult(new { Status = false, Message = "鍙傛暟涓嶈兘涓虹┖" }); + // return; + // } + //} + + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ApiAuthorizeFilter.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ApiAuthorizeFilter.cs index cfcb5df..0d1b4e0 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ApiAuthorizeFilter.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/ApiAuthorizeFilter.cs @@ -73,8 +73,9 @@ int ExpMinutes = AppSettings.app("ExpMinutes").ObjToInt(); if ((expDate - DateTime.Now).TotalMinutes < ExpMinutes / 3 && context.HttpContext.Request.Path != replaceTokenPath) { - context.HttpContext.Response.Headers.Add("WIDESEAWCS_exp", "1"); + context.HttpContext.Response.Headers.Add("wideseawcs_exp", "1"); } + //context.HttpContext.Response.Headers.Add("wideseawcs_exp", "1"); } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/CustomProfile.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/CustomProfile.cs deleted file mode 100644 index c683ce4..0000000 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Filter/CustomProfile.cs +++ /dev/null @@ -1,17 +0,0 @@ -锘縰sing AutoMapper; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WIDESEAWCS_Core.Filter -{ - public class CustomProfile : Profile - { - public CustomProfile() - { - - } - } -} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs index ca4e1ff..e4451c4 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs @@ -27,86 +27,26 @@ /*_logger = logger;*/ } - public string UserName => UserInfo.UserName; + public string UserName => GetUserInfoFromToken(ClaimTypes.Name).FirstOrDefault() ?? ""; - public int UserId => GetClaimValueByType("jti") == null ? 0 : GetClaimValueByType("jti").FirstOrDefault().ObjToInt(); - public long TenantId => UserInfo.TenantId; + public int UserId => GetClaimValueByType(JwtRegisteredClaimNames.Jti) == null ? 0 : GetClaimValueByType(JwtRegisteredClaimNames.Jti).FirstOrDefault()?.ObjToInt() ?? 0; + public long TenantId => GetUserInfoFromToken(nameof(TenantId)).FirstOrDefault()?.ObjToLong() ?? -1; - public int RoleId => UserInfo.RoleId; + public int RoleId => GetUserInfoFromToken(ClaimTypes.Role).FirstOrDefault()?.ObjToInt() ?? 0; - public string Token => "throw new NotImplementedException()"; - - //public int SystemType => UserInfo.SystemType; + public string Token => GetToken(); public bool IsAuthenticated() { - return _accessor.HttpContext.User.Identity.IsAuthenticated; + return _accessor.HttpContext?.User?.Identity?.IsAuthenticated ?? false; } - public string GetToken() { - return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", ""); - } - - private UserInfo _userInfo { get; set; } - - private UserInfo UserInfo - { - get - { - if (_userInfo != null) - return _userInfo; - - SqlSugarClient sqlSugarClient = new SqlSugarClient(new ConnectionConfig - { - ConfigId = MainDb.CurrentDbConnId, - DbType = MainDb.DbType, - ConnectionString = AppSettings.app(MainDb.ConnectionString).DecryptDES(AppSecret.DB), - IsAutoCloseConnection = true - }); - - dynamic userInfo = sqlSugarClient.Queryable(MainDb.UserTableName, "x").Where(MainDb.UserId, "=", UserId).Select(GetUserInfoSelectModels()).First(); - if (userInfo != null) - { - _userInfo = new UserInfo() - { - RoleId = userInfo.Role_Id, - TenantId = userInfo.TenantId, - UserName = userInfo.UserName, - }; - return _userInfo; - } - - return new UserInfo(); - } + return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; } public bool IsSuperAdmin => IsRoleIdSuperAdmin(RoleId); - - public List<Permissions> Permissions => throw new NotImplementedException(); - - public UserInfo GetCurrentUserInfo() - { - return UserInfo; - } - - public List<SelectModel> GetUserInfoSelectModels() - { - List<SelectModel> selectModels = new List<SelectModel>() - { - new() { - FieldName = MainDb.TenantId - }, - new() { - FieldName = MainDb.RoleId, - }, - new() { - FieldName = MainDb.UserName - } - }; - return selectModels; - } public List<string> GetUserInfoFromToken(string ClaimType) { @@ -127,8 +67,6 @@ return new List<string>() { }; } - //public MessageModel<string> MessageModel { get; set; } - public IEnumerable<Claim> GetClaimsIdentity() { if (_accessor.HttpContext != null) @@ -142,17 +80,14 @@ return claims; } - return null; + return ArraySegment<Claim>.Empty; } public List<string> GetClaimValueByType(string ClaimType) { - IEnumerable<Claim> claims = GetClaimsIdentity(); - if (claims != null) - return (from item in GetClaimsIdentity() - where item.Type == ClaimType - select item.Value).ToList(); - return null; + return (from item in GetClaimsIdentity() + where item.Type == ClaimType + select item.Value).ToList(); } public bool IsRoleIdSuperAdmin(int roleId) @@ -166,8 +101,6 @@ public long TenantId { get; set; } public int RoleId { get; set; } - - public int SystemType { get; set; } public string UserName { get; set; } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/IUser.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/IUser.cs index c617ac1..b3a4754 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/IUser.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/IUser.cs @@ -28,29 +28,22 @@ string Token { get; } - //int SystemType { get; } - /// <summary> /// 鏄惁璁よ瘉 /// </summary> /// <returns></returns> bool IsAuthenticated(); - IEnumerable<Claim> GetClaimsIdentity(); + List<string> GetClaimValueByType(string ClaimType); string GetToken(); + List<string> GetUserInfoFromToken(string ClaimType); bool IsSuperAdmin { get; } bool IsRoleIdSuperAdmin(int roleId); - - List<Permissions> Permissions { get; } - - UserInfo GetCurrentUserInfo(); - - //MessageModel<string> MessageModel { get; set; } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs index d38c961..444b7b8 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/ApiLogMiddleware.cs @@ -34,7 +34,7 @@ //if (AppSettings.app("Middleware", "RequestResponseLog", "Enabled").ObjToBool()) { // 杩囨护锛屽彧鏈夋帴鍙� - if (context.Request.Path.Value.Contains("api")) + if (context.Request.Path.Value?.Contains("api") ?? false) { context.Request.EnableBuffering(); //Stream originalBody = context.Response.Body; diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/HttpRequestMiddleware.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/HttpRequestMiddleware.cs new file mode 100644 index 0000000..bb72b4f --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Middlewares/HttpRequestMiddleware.cs @@ -0,0 +1,25 @@ +锘縰sing Microsoft.AspNetCore.Http; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Core.Middlewares +{ + public class HttpRequestMiddleware + { + private readonly RequestDelegate _next; + + public HttpRequestMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync(HttpContext context) + { + context.Response.Headers.Add("Access-Control-Expose-Headers", "wideseawcs_exp"); + await _next(context); + } + } +} diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs index 5134821..dec0451 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Core/Utilities/EntityProperties.cs @@ -29,7 +29,7 @@ if (propertyInfo != null) { sugarColumn = propertyInfo.GetCustomAttribute<SugarColumn>(); - dbType = propertyInfo != null ? propertyInfo.GetProperWithDbType() : SqlDbTypeName.NVarChar; + dbType = propertyInfo.PropertyType != null ? propertyInfo.GetProperWithDbType() : SqlDbTypeName.NVarChar; } dbType = dbType.ToLower(); string val = value?.ToString(); @@ -128,6 +128,7 @@ { typeof(byte),SqlDbTypeName.Int },//绫诲瀷寰呭畬 { typeof(Guid),SqlDbTypeName.UniqueIdentifier} }; + public static string GetProperWithDbType(this PropertyInfo propertyInfo) { bool result = ProperWithDbType.TryGetValue(propertyInfo.PropertyType, out string value); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs index 6b66899..63d9db2 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs @@ -18,6 +18,7 @@ using SqlSugar; using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -50,7 +51,7 @@ /// </summary> /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param> /// <returns>杩斿洖澶勭悊缁撴灉</returns> - WebResponseContent ReceiveWMSTask(List<WMSTaskDTO> taskDTOs); + WebResponseContent ReceiveWMSTask([NotNull] List<WMSTaskDTO> taskDTOs); /// <summary> /// @@ -136,6 +137,8 @@ /// <param name="taskNum">浠诲姟鍙�</param> WebResponseContent UpdateTaskStatusToNext(int taskNum); + WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task); + /// <summary> /// /// </summary> diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Router.cs b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Router.cs index 612b96f..5264d6f 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Router.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Router.cs @@ -1,4 +1,5 @@ -锘縰sing SqlSugar; +锘縰sing Magicodes.ExporterAndImporter.Core; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -15,72 +16,96 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] public int Id { get; set; } /// <summary> /// 璧风偣浣嶇疆 /// </summary> + [ImporterHeader(Name = "璧风偣浣嶇疆")] + [ExporterHeader(DisplayName = "璧风偣浣嶇疆")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "璧风偣浣嶇疆")] public string StartPosi { get; set; } /// <summary> /// 缁堢偣浣嶇疆 /// </summary> + [ImporterHeader(Name = "缁堢偣浣嶇疆")] + [ExporterHeader(DisplayName = "缁堢偣浣嶇疆")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "缁堢偣浣嶇疆")] public string NextPosi { get; set; } /// <summary> /// 璺敱绫诲瀷 /// </summary> + [ImporterHeader(Name = "璺敱绫诲瀷")] + [ExporterHeader(DisplayName = "璺敱绫诲瀷")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "璺敱绫诲瀷")] public RouterInOutType InOutType { get; set; } /// <summary> /// 瀛愪綅缃� /// </summary> + [ImporterHeader(Name = "瀛愪綅缃�")] + [ExporterHeader(DisplayName = "瀛愪綅缃�")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "瀛愪綅缃�")] public string ChildPosi { get; set; } /// <summary> /// 瀛愪綅缃墍灞炶澶� /// </summary> + [ImporterHeader(Name = "瀛愪綅缃墍灞炶澶�")] + [ExporterHeader(DisplayName = "瀛愪綅缃墍灞炶澶�")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "瀛愪綅缃墍灞炶澶�")] public string ChildPosiDeviceCode { get; set; } /// <summary> /// 鍫嗗灈鏈哄彇璐�/鏀捐揣琛� /// </summary> + [ImporterHeader(Name = "鍫嗗灈鏈哄彇璐�/鏀捐揣琛�")] + [ExporterHeader(DisplayName = "鍫嗗灈鏈哄彇璐�/鏀捐揣琛�")] [SugarColumn(IsNullable = true, ColumnDescription = "鍫嗗灈鏈哄彇璐�/鏀捐揣琛�")] public int? SrmRow { get; set; } /// <summary> /// 鍫嗗灈鏈哄彇璐�/鏀捐揣鍒� /// </summary> + [ImporterHeader(Name = "鍫嗗灈鏈哄彇璐�/鏀捐揣鍒�")] + [ExporterHeader(DisplayName = "鍫嗗灈鏈哄彇璐�/鏀捐揣鍒�")] [SugarColumn(IsNullable = true, ColumnDescription = "鍫嗗灈鏈哄彇璐�/鏀捐揣鍒�")] public int? SrmColumn { get; set; } /// <summary> /// 鍫嗗灈鏈哄彇璐�/鏀捐揣灞� /// </summary> + [ImporterHeader(Name = "鍫嗗灈鏈哄彇璐�/鏀捐揣灞�")] + [ExporterHeader(DisplayName = "鍫嗗灈鏈哄彇璐�/鏀捐揣灞�")] [SugarColumn(IsNullable = true, ColumnDescription = "鍫嗗灈鏈哄彇璐�/鏀捐揣灞�")] public int? SrmLayer { get; set; } /// <summary> /// 娣卞害 /// </summary> + [ImporterHeader(Name = "娣卞害")] + [ExporterHeader(DisplayName = "娣卞害")] [SugarColumn(IsNullable = true, ColumnDescription = "娣卞害")] public int? Depth { get; set; } /// <summary> /// 鏄惁鏄渶缁堢偣 /// </summary> + [ImporterHeader(Name = "鏄惁鏄渶缁堢偣")] + [ExporterHeader(DisplayName = "鏄惁鏄渶缁堢偣")] [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁鏄渶缁堢偣")] public bool IsEnd { get; set; } /// <summary> /// 澶囨敞 /// </summary> + [ImporterHeader(Name = "澶囨敞")] + [ExporterHeader(DisplayName = "澶囨敞")] [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] public string Remark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs index 8bc1019..889e3a0 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; @@ -31,90 +32,120 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] public int TaskId { get; set; } /// <summary> /// 浠诲姟鍙� /// </summary> + [ImporterHeader(Name = "浠诲姟鍙�")] + [ExporterHeader(DisplayName = "浠诲姟鍙�")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鍙�")] public int TaskNum { get; set; } /// <summary> /// 鎵樼洏缂栧彿 /// </summary> + [ImporterHeader(Name = "鎵樼洏缂栧彿")] + [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏缂栧彿")] public string PalletCode { get; set; } /// <summary> /// 宸烽亾鍙� /// </summary> + [ImporterHeader(Name = "宸烽亾鍙�")] + [ExporterHeader(DisplayName = "宸烽亾鍙�")] [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "宸烽亾鍙�")] public string Roadway { get; set; } /// <summary> /// 浠诲姟绫诲瀷 /// </summary> + [ImporterHeader(Name = "浠诲姟绫诲瀷")] + [ExporterHeader(DisplayName = "浠诲姟绫诲瀷")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟绫诲瀷")] public int TaskType { get; set; } /// <summary> /// 浠诲姟鐘舵�� /// </summary> + [ImporterHeader(Name = "浠诲姟鐘舵��")] + [ExporterHeader(DisplayName = "浠诲姟鐘舵��")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鐘舵��")] public int TaskState { get; set; } /// <summary> /// 璧峰鍦板潃 /// </summary> + [ImporterHeader(Name = "璧峰鍦板潃")] + [ExporterHeader(DisplayName = "璧峰鍦板潃")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "璧峰鍦板潃")] public string SourceAddress { get; set; } /// <summary> /// 鐩爣鍦板潃 /// </summary> + [ImporterHeader(Name = "鐩爣鍦板潃")] + [ExporterHeader(DisplayName = "鐩爣鍦板潃")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鐩爣鍦板潃")] public string TargetAddress { get; set; } /// <summary> /// 褰撳墠浣嶇疆 /// </summary> + [ImporterHeader(Name = "褰撳墠浣嶇疆")] + [ExporterHeader(DisplayName = "褰撳墠浣嶇疆")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "褰撳墠浣嶇疆")] public string CurrentAddress { get; set; } /// <summary> /// 涓嬩竴鍦板潃 /// </summary> + [ImporterHeader(Name = "涓嬩竴鍦板潃")] + [ExporterHeader(DisplayName = "涓嬩竴鍦板潃")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "涓嬩竴鍦板潃")] public string NextAddress { get; set; } /// <summary> /// 寮傚父淇℃伅 /// </summary> + [ImporterHeader(Name = "寮傚父淇℃伅")] + [ExporterHeader(DisplayName = "寮傚父淇℃伅")] [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "寮傚父淇℃伅")] public string? ExceptionMessage { get; set; } /// <summary> /// 浼樺厛绾� /// </summary> + [ImporterHeader(Name = "浼樺厛绾�")] + [ExporterHeader(DisplayName = "浼樺厛绾�")] [SugarColumn(IsNullable = false, ColumnDescription = "浼樺厛绾�")] public int Grade { get; set; } /// <summary> /// WMS浠诲姟涓婚敭 /// </summary> + [ImporterHeader(Name = "WMS浠诲姟涓婚敭")] + [ExporterHeader(DisplayName = "WMS浠诲姟涓婚敭")] [SugarColumn(IsNullable = false, ColumnDescription = "WMS浠诲姟涓婚敭")] public int WMSId { get; set; } /// <summary> /// 浠诲姟涓嬪彂鏃堕棿 /// </summary> + [ImporterHeader(Name = "浠诲姟涓嬪彂鏃堕棿")] + [ExporterHeader(DisplayName = "浠诲姟涓嬪彂鏃堕棿")] [SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟涓嬪彂鏃堕棿")] public DateTime? Dispatchertime { get; set; } /// <summary> /// 澶囨敞 /// </summary> + [ImporterHeader(Name = "澶囨敞")] + [ExporterHeader(DisplayName = "澶囨敞")] [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")] public string Remark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_TaskExecuteDetail.cs b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_TaskExecuteDetail.cs index d8c704b..81d132c 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_TaskExecuteDetail.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_TaskExecuteDetail.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; @@ -31,60 +32,80 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] public int TaskDetailId { get; set; } /// <summary> /// 浠诲姟涓婚敭 /// </summary> + [ImporterHeader(Name = "浠诲姟涓婚敭")] + [ExporterHeader(DisplayName = "浠诲姟涓婚敭")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟涓婚敭")] public int TaskId { get; set; } /// <summary> /// 浠诲姟鍙� /// </summary> + [ImporterHeader(Name = "浠诲姟鍙�")] + [ExporterHeader(DisplayName = "浠诲姟鍙�")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鍙�")] public int TaskNum { get; set; } /// <summary> /// 浠诲姟鐘舵�� /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsNullable = false, ColumnDescription = "浠诲姟鐘舵��")] public int TaskState { get; set; } /// <summary> /// 褰撳墠浣嶇疆 /// </summary> + [ImporterHeader(Name = "褰撳墠浣嶇疆")] + [ExporterHeader(DisplayName = "褰撳墠浣嶇疆")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "褰撳墠浣嶇疆")] public string CurrentAddress { get; set; } /// <summary> /// 涓嬩竴鍦板潃 /// </summary> + [ImporterHeader(Name = "涓嬩竴鍦板潃")] + [ExporterHeader(DisplayName = "涓嬩竴鍦板潃")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "涓嬩竴鍦板潃")] public string NextAddress { get; set; } /// <summary> /// 鏄惁浜哄伐鎿嶄綔 /// </summary> + [ImporterHeader(Name = "鏄惁浜哄伐鎿嶄綔")] + [ExporterHeader(DisplayName = "鏄惁浜哄伐鎿嶄綔")] [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁浜哄伐鎿嶄綔")] public bool IsManual { get; set; } /// <summary> /// 鏄惁姝e父 /// </summary> + [ImporterHeader(Name = "鏄惁姝e父")] + [ExporterHeader(DisplayName = "鏄惁姝e父")] [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁姝e父")] public bool IsNormal { get; set; } /// <summary> /// 鎻忚堪 /// </summary> + [ImporterHeader(Name = "鎻忚堪")] + [ExporterHeader(DisplayName = "鎻忚堪")] [SugarColumn(IsNullable = false, Length = int.MaxValue, ColumnDescription = "鎻忚堪")] public string Description { get; set; } /// <summary> /// 澶囨敞 /// </summary> + [ImporterHeader(Name = "澶囨敞")] + [ExporterHeader(DisplayName = "澶囨敞")] [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")] public string Remark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocol.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocol.cs index a61edd3..b8a9e6c 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocol.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocol.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; @@ -34,66 +35,88 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(IsIgnore = true)] + [ExporterHeader(IsIgnore = true)] [SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "涓婚敭")] public int Id { get; set; } /// <summary> /// 璁惧涓婚敭 /// </summary> + [ImporterHeader(IsIgnore = true)] + [ExporterHeader(IsIgnore = true)] [SugarColumn(IsNullable = false, ColumnDescription = "璁惧涓婚敭")] public int DeviceId { get; set; } /// <summary> /// 璁惧瀛愮紪鍙� /// </summary> + [ImporterHeader(Name = "璁惧瀛愮紪鍙�")] + [ExporterHeader(DisplayName = "璁惧瀛愮紪鍙�")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "璁惧瀛愮紪鍙�")] public string DeviceChildCode { get; set; } /// <summary> /// 鍗忚鏁版嵁鍧� /// </summary> + [ImporterHeader(Name = "鍗忚鏁版嵁鍧�")] + [ExporterHeader(DisplayName = "鍗忚鏁版嵁鍧�")] [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鍗忚鏁版嵁鍧�")] public string DeviceProDataBlock { get; set; } /// <summary> /// 鍋忕Щ閲� /// </summary> + [ImporterHeader(Name = "鍋忕Щ閲�")] + [ExporterHeader(DisplayName = "鍋忕Щ閲�")] [SugarColumn(IsNullable = false, DecimalDigits = 1, ColumnDescription = "鍋忕Щ閲�")] public decimal DeviceProOffset { get; set; } /// <summary> /// 鏁版嵁绫诲瀷 /// </summary> + [ImporterHeader(Name = "鏁版嵁绫诲瀷")] + [ExporterHeader(DisplayName = "鏁版嵁绫诲瀷")] [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "鏁版嵁绫诲瀷")] public string DeviceProDataType { get; set; } /// <summary> /// 鏁版嵁闀垮害 /// </summary> + [ImporterHeader(Name = "鏁版嵁闀垮害")] + [ExporterHeader(DisplayName = "鏁版嵁闀垮害")] [SugarColumn(IsNullable = false, ColumnDescription = "鏁版嵁闀垮害", DefaultValue = "1")] public int DeviceProDataLength { get; set; } /// <summary> /// 鍙傛暟鍚嶇О /// </summary> + [ImporterHeader(Name = "鍙傛暟鍚嶇О")] + [ExporterHeader(DisplayName = "鍙傛暟鍚嶇О")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍙傛暟鍚嶇О")] public string DeviceProParamName { get; set; } /// <summary> /// 鍙傛暟绫诲瀷 /// </summary> + [ImporterHeader(Name = "鍙傛暟绫诲瀷")] + [ExporterHeader(DisplayName = "鍙傛暟绫诲瀷")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍙傛暟绫诲瀷")] public string DeviceProParamType { get; set; } /// <summary> /// 鍙傛暟璇存槑 /// </summary> + [ImporterHeader(Name = "鍙傛暟璇存槑")] + [ExporterHeader(DisplayName = "鍙傛暟璇存槑")] [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍙傛暟璇存槑")] public string DeviceProParamDes { get; set; } /// <summary> /// 澶囨敞 /// </summary> + [ImporterHeader(Name = "澶囨敞")] + [ExporterHeader(DisplayName = "澶囨敞")] [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] public string DeviceProRemark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocolDetail.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocolDetail.cs index 4dcdbb5..247be22 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocolDetail.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DeviceProtocolDetail.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; @@ -34,42 +35,56 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "涓婚敭")] public int Id { get; set; } /// <summary> /// 璁惧绫诲瀷 /// </summary> + [ImporterHeader(Name = "璁惧绫诲瀷")] + [ExporterHeader(DisplayName = "璁惧绫诲瀷")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "璁惧绫诲瀷")] public string DeviceType { get; set; } /// <summary> /// 璁惧鍗忚鍙傛暟鍚嶇О /// </summary> + [ImporterHeader(Name = "璁惧鍗忚鍙傛暟鍚嶇О")] + [ExporterHeader(DisplayName = "璁惧鍗忚鍙傛暟鍚嶇О")] [SugarColumn(IsNullable = false, ColumnDescription = "璁惧鍗忚鍙傛暟鍚嶇О")] public string DeviceProParamName { get; set; } /// <summary> /// 璁惧鍗忚鏄庣粏绫诲瀷 /// </summary> + [ImporterHeader(Name = "璁惧鍗忚鏄庣粏绫诲瀷")] + [ExporterHeader(DisplayName = "璁惧鍗忚鏄庣粏绫诲瀷")] [SugarColumn(Length = 50, ColumnDescription = "璁惧鍗忚鏄庣粏绫诲瀷")] public string ProtocolDetailType { get; set; } /// <summary> /// 璁惧鍗忚鏄庣粏鍙栧�� /// </summary> + [ImporterHeader(Name = "璁惧鍗忚鏄庣粏鍙栧��")] + [ExporterHeader(DisplayName = "璁惧鍗忚鏄庣粏鍙栧��")] [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "璁惧鍗忚鏄庣粏鍙栧��")] public string ProtocalDetailValue { get; set; } /// <summary> /// 璁惧鍗忚鏄庣粏璇存槑 /// </summary> + [ImporterHeader(Name = "璁惧鍗忚鏄庣粏璇存槑")] + [ExporterHeader(DisplayName = "璁惧鍗忚鏄庣粏璇存槑")] [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "璁惧鍗忚鏄庣粏璇存槑")] public string ProtocolDetailDes { get; set; } /// <summary> /// 澶囨敞 /// </summary> + [ImporterHeader(Name = "澶囨敞")] + [ExporterHeader(DisplayName = "澶囨敞")] [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] public string Remark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DispatchInfo.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DispatchInfo.cs index 4c73132..0e7b97a 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DispatchInfo.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Models/Dt_DispatchInfo.cs @@ -15,6 +15,7 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; @@ -35,53 +36,71 @@ /// <summary> /// 涓婚敭 /// </summary> + [ImporterHeader(Name = "涓婚敭")] + [ExporterHeader(DisplayName = "涓婚敭")] [SugarColumn(IsIdentity = true, IsPrimaryKey = true, ColumnDescription = "涓婚敭")] public int Id { get; set; } /// <summary> /// 浠诲姟鍚嶇О /// </summary> + [ImporterHeader(Name = "浠诲姟鍚嶇О")] + [ExporterHeader(DisplayName = "浠诲姟鍚嶇О")] [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "浠诲姟鍚嶇О")] public string Name { get; set; } /// <summary> /// 浠诲姟鍒嗙粍 /// </summary> + [ImporterHeader(Name = "浠诲姟鍒嗙粍")] + [ExporterHeader(DisplayName = "浠诲姟鍒嗙粍")] [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "浠诲姟鍒嗙粍")] public string JobGroup { get; set; } /// <summary> /// 浠诲姟鎵�鍦―LL瀵瑰簲鐨勭▼搴忛泦鍚嶇О /// </summary> + [ImporterHeader(Name = "绋嬪簭闆嗗悕绉�")] + [ExporterHeader(DisplayName = "绋嬪簭闆嗗悕绉�")] [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "浠诲姟鎵�鍦―LL瀵瑰簲鐨勭▼搴忛泦鍚嶇О")] public string AssemblyName { get; set; } /// <summary> /// 浠诲姟鎵�鍦ㄧ被 /// </summary> + [ImporterHeader(Name = "浠诲姟鎵�鍦ㄧ被")] + [ExporterHeader(DisplayName = "浠诲姟鎵�鍦ㄧ被")] [SugarColumn(Length = 50, IsNullable = false, ColumnDescription = "浠诲姟鎵�鍦ㄧ被")] public string ClassName { get; set; } /// <summary> /// 鎵ц闂撮殧鏃堕棿, 绉掍负鍗曚綅 /// </summary> + [ImporterHeader(Name = "鎵ц闂撮殧鏃堕棿")] + [ExporterHeader(DisplayName = "鎵ц闂撮殧鏃堕棿")] [SugarColumn(IsNullable = false, ColumnDescription = "鎵ц闂撮殧鏃堕棿")] public int IntervalSecond { get; set; } /// <summary> /// 寮�濮嬫椂闂� /// </summary> + [ImporterHeader(Name = "寮�濮嬫椂闂�")] + [ExporterHeader(DisplayName = "寮�濮嬫椂闂�")] [SugarColumn(IsNullable = true, ColumnDescription = "寮�濮嬫椂闂�")] public DateTime? BeginTime { get; set; } /// <summary> /// 缁撴潫鏃堕棿 /// </summary> + [ImporterHeader(Name = "缁撴潫鏃堕棿")] + [ExporterHeader(DisplayName = "缁撴潫鏃堕棿")] [SugarColumn(IsNullable = true, ColumnDescription = "缁撴潫鏃堕棿")] public DateTime? EndTime { get; set; } /// <summary> /// 浠诲姟鎻忚堪 /// </summary> + [ImporterHeader(Name = "浠诲姟鎻忚堪")] + [ExporterHeader(DisplayName = "浠诲姟鎻忚堪")] [SugarColumn(Length = 1000, IsNullable = true, ColumnDescription = "浠诲姟鎻忚堪")] public string Remark { get; set; } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs index 0fab091..757496d 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs @@ -15,14 +15,18 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Magicodes.ExporterAndImporter.Core.Models; +using Magicodes.ExporterAndImporter.Excel; +using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; - +using WIDESEAWCS_Core.Helper; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Repository; @@ -35,5 +39,40 @@ { _unitOfWorkManage = unitOfWorkManage; } + + public WebResponseContent GetImportData(List<IFormFile> fileInput) + { + try + { + if (fileInput == null || fileInput.Count == 0) + return new WebResponseContent { Status = true, Message = "璇烽�夋嫨涓婁紶鐨勬枃浠�" }; + Microsoft.AspNetCore.Http.IFormFile formFile = fileInput[0]; + string dicPath = AppDomain.CurrentDomain.BaseDirectory + $"ExcelImprot/{DateTime.Now.ToString("yyyMMdd")}/{typeof(Dt_DeviceProtocol).Name}/"; + if (!Directory.Exists(dicPath)) Directory.CreateDirectory(dicPath); + string fileName = $"{Guid.NewGuid()}_{formFile.FileName}"; + dicPath = $"{dicPath}{fileName}"; + using (FileStream stream = new FileStream(dicPath, FileMode.Create)) + { + formFile.CopyTo(stream); + } + ExcelImporter importer = new ExcelImporter(); + ImportResult<Dt_DeviceProtocol> importResult = importer.Import<Dt_DeviceProtocol>(dicPath, "").Result; + if (importResult.HasError) + { + return WebResponseContent.Instance.Error(importResult.TemplateErrors.Serialize()); + } + return WebResponseContent.Instance.OK(data: importResult.Data); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + public override WebResponseContent AddData(SaveModel saveModel) + { + //saveModel.MainData[""] + return base.AddData(saveModel); + } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs index 3aa5ee2..75b1088 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs @@ -15,11 +15,13 @@ *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> +using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_QuartzJob.Models; @@ -28,5 +30,6 @@ { public interface IDeviceProtocolService : IService<Dt_DeviceProtocol> { + WebResponseContent GetImportData(List<IFormFile> fileInput); } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs index 41e441f..68078c5 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs @@ -1,5 +1,7 @@ -锘縰sing Microsoft.AspNetCore.Http; +锘縰sing Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseController; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Service; @@ -13,5 +15,10 @@ public DeviceProtocolController(IDeviceProtocolService service) : base(service) { } + [HttpPost, Route("GetImportData"), AllowAnonymous] + public WebResponseContent GetImportData(List<IFormFile> fileInput) + { + return Service.GetImportData(fileInput); + } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs index ad05229..4d1ac2b 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs @@ -42,7 +42,7 @@ [HttpPost, Route("modifyPwd")] public IActionResult ModifyPwd(string oldPwd, string newPwd) { - return Json( Service.ModifyPwd(oldPwd, newPwd)); + return Json(Service.ModifyPwd(oldPwd, newPwd)); } [HttpGet, Route("getVierificationCode"), AllowAnonymous] @@ -63,5 +63,32 @@ { return WebResponseContent.Instance.OK(data: JwtHelper.SerializeJwt(code)); } + [HttpPost, Route("replaceToken")] + public WebResponseContent ReplaceToken() + { + WebResponseContent responseContent = new WebResponseContent(); + try + { + string token = App.User.GetToken(); + if (string.IsNullOrEmpty(token)) + { + return responseContent = WebResponseContent.Instance.Error("token鏃犳晥锛岃閲嶆柊鐧诲綍锛�"); + } + TokenModelJwt tokenModelJwt = new TokenModelJwt() + { + RoleId = App.User.RoleId, + TenantId = App.User.TenantId, + UserId = App.User.UserId, + UserName = App.User.UserName + }; + string newToken = JwtHelper.IssueJwt(tokenModelJwt); + return responseContent = WebResponseContent.Instance.OK(data: newToken); + } + catch (Exception ex) + { + return responseContent.Error(ex.Message); + } + + } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs index 36684ae..751d478 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs @@ -20,6 +20,7 @@ using WIDESEAWCS_QuartzJob.Seed; using Autofac.Core; using WIDESEAWCS_QuartzJob.QuartzExtensions; +using Microsoft.AspNetCore.Builder; var builder = WebApplication.CreateBuilder(args); @@ -48,13 +49,10 @@ builder.Services.AddScoped<QuartzJobCreateDataTabel>(); builder.Services.AddHostedService<QuartzJobDataTableHostedService>(); -//todo 初始化模型验证配置 -//builder.Services.UseMethodsModelParameters().UseMethodsGeneralParameters(); -//builder.Services.AddSingleton<IObjectModelValidator>(new NullObjectModelValidator()); - builder.Services.AddAutoMapperSetup(); builder.Services.AddCorsSetup(); + builder.Services.AddMiniProfilerSetup(); builder.Services.AddSwaggerSetup(); @@ -63,13 +61,12 @@ builder.Services.AddHttpContextSetup(); -builder.Services.AddHostedService<QuartzJobHostedService>(); +//builder.Services.AddHostedService<QuartzJobHostedService>(); -//todo builder.Services.AddMvc(options => { options.Filters.Add(typeof(ApiAuthorizeFilter)); - //options.Filters.Add(typeof(ActionExecuteFilter)); + options.Filters.Add(typeof(ActionExecuteFilter)); }); builder.Services.AddAuthorizationSetup(); @@ -78,7 +75,6 @@ builder.Services.AddScoped<UseServiceDIAttribute>(); -//builder.Services.AddDistributedMemoryCache(); builder.Services.AddSession(); builder.Services.AddHttpClient(); @@ -86,8 +82,6 @@ builder.Services.AddControllers(o => { o.Filters.Add(typeof(GlobalExceptionsFilter));//全局异常 - //todo - //o.Conventions.Insert(0, new GlobalRoutePrefixFilter(new RouteAttribute(RoutePrefix.Name)));//路由 }) .AddNewtonsoftJson(options => { @@ -127,10 +121,11 @@ app.UseCors(AppSettings.app(new string[] { "Cors", "PolicyName" })); -//DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions(); -//defaultFilesOptions.DefaultFileNames.Clear(); -//defaultFilesOptions.DefaultFileNames.Add("index.html"); -//app.UseDefaultFiles(defaultFilesOptions); +DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions(); +defaultFilesOptions.DefaultFileNames.Clear(); +defaultFilesOptions.DefaultFileNames.Add("index.html"); +app.UseDefaultFiles(defaultFilesOptions); +app.UseMiddleware<HttpRequestMiddleware>(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseStatusCodePages(); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj b/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj index 74e5212..49e35a3 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj @@ -4,10 +4,10 @@ <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> + <GenerateDocumentationFile>False</GenerateDocumentationFile> </PropertyGroup> <ItemGroup> - <Content Remove="wwwroot\swg-login.html" /> <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceInfo.tsv" /> <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocol.tsv" /> <Content Remove="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocolDetail.tsv" /> @@ -29,9 +29,6 @@ <ItemGroup> <EmbeddedResource Include="index.html"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </EmbeddedResource> - <EmbeddedResource Include="wwwroot\swg-login.html"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </EmbeddedResource> <EmbeddedResource Include="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceInfo.tsv"> @@ -90,6 +87,9 @@ <Content Update="nlog.config"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> + <Content Update="wwwroot\swg-login.html"> + <CopyToOutputDirectory>Never</CopyToOutputDirectory> + </Content> <Content Update="wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Tenant.tsv"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/favicon.ico b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/favicon.ico new file mode 100644 index 0000000..a3a7999 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/favicon.ico Binary files differ diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/logo.jpg.jpg b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/logo.jpg.jpg new file mode 100644 index 0000000..d479f96 --- /dev/null +++ b/WIDESEAWCS_Server/WIDESEAWCS_Server/wwwroot/logo.jpg.jpg Binary files differ diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs index 72dd01b..c75161f 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs @@ -132,8 +132,7 @@ string message = ""; try { - UserInfo user = App.User.GetCurrentUserInfo(); - if (!GetAllChildren(user.RoleId).Exists(x => x.Id == roleId)) + if (!GetAllChildren(App.User.RoleId).Exists(x => x.Id == roleId)) return WebResponseContent.Instance.Error("娌℃湁鏉冮檺淇敼姝よ鑹茬殑鏉冮檺淇℃伅"); //褰撳墠鐢ㄦ埛鐨勬潈闄� List<Permissions> permissions = _MenuRepository.GetPermissions(App.User.RoleId); @@ -166,9 +165,9 @@ AuthValue = string.Join(",", arr), AuthId = auth == null ? 0 : auth.AuthId, ModifyDate = DateTime.Now, - Modifier = user.UserName, + Modifier = App.User.UserName, CreateDate = DateTime.Now, - Creater = user.UserName + Creater = App.User.UserName }); } else diff --git a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs index 8ccfb3e..85d5afa 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs @@ -48,6 +48,8 @@ { UserId = user.UserId, RoleId = user.RoleId, + UserName = user.UserName, + TenantId = user.TenantId, }); content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl }); diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs index 8b82065..d2e92d9 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs @@ -83,9 +83,6 @@ { try { - //Task.Run(() => - //{ - //Thread.Sleep(500); List<Dt_TaskExecuteDetail> taskExecuteDetails = new List<Dt_TaskExecuteDetail>(); foreach (var item in taskNums) { @@ -120,7 +117,6 @@ } BaseDal.AddData(taskExecuteDetails); - //}); } catch (Exception ex) { diff --git a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index 8028059..a479655 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Reflection; using System.Text; @@ -69,7 +70,7 @@ /// </summary> /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param> /// <returns>杩斿洖澶勭悊缁撴灉</returns> - public WebResponseContent ReceiveWMSTask(List<WMSTaskDTO> taskDTOs) + public WebResponseContent ReceiveWMSTask([NotNull]List<WMSTaskDTO> taskDTOs) { WebResponseContent content = new WebResponseContent(); try @@ -92,7 +93,6 @@ task.TaskState = (int)TaskOutStatusEnum.OutNew; task.CurrentAddress = item.SourceAddress; task.NextAddress = routers.FirstOrDefault().ChildPosi; - } } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -106,16 +106,7 @@ task.NextAddress = routers.FirstOrDefault().ChildPosi; } } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) - { - - } - else - { - throw new Exception($"鎺ユ敹WMS浠诲姟澶辫触,浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵item.TaskNum}銆�,浠诲姟绫诲瀷:銆恵item.TaskType}銆�"); - } tasks.Add(task); - } BaseDal.AddData(tasks); @@ -159,7 +150,7 @@ public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress) { - return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew || TaskOutboundTypes.Contains( x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) && x.CurrentAddress == currentAddress, TaskOrderBy); + return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) && x.CurrentAddress == currentAddress, TaskOrderBy); } public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress) @@ -285,12 +276,26 @@ { Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�"); + return UpdateTaskStatusToNext(task); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + public WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task) + { + WebResponseContent content = new WebResponseContent(); + try + { int oldState = task.TaskState; if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish) { - return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); + return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); } int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); @@ -301,7 +306,7 @@ { if (task.TaskState >= (int)TaskInStatusEnum.InFinish) { - return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); + return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); } int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(); @@ -315,22 +320,14 @@ task.TargetAddress = task.NextAddress; } } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) - { - //todo 璋冪敤WMS绉诲簱瀹屾垚 - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup) - { - - } else { - throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); } if (task.TaskState <= 0) { - return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); + return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�"); } task.ModifyDate = DateTime.Now; diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs index 8e5b535..cf2f6af 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core; @@ -64,99 +65,17 @@ ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode); if (command != null) { - List<int> signalTypes = Enum.GetValues(typeof(PLCSignalType)).Cast<int>().ToList(); - if (!signalTypes.Contains(command.InteractiveSignal)) - { - continue; - } - DeviceProtocolDetailDTO? deviceProtocolDetail = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.ProtocalDetailValue == command.InteractiveSignal.ToString() && x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)); if (deviceProtocolDetail != null) { - PLCSignalType signalType = Enum.Parse<PLCSignalType>(deviceProtocolDetail.ProtocolDetailType); - switch (signalType) + MethodInfo? method = GetType().GetMethod(deviceProtocolDetail.ProtocolDetailType); + if (method != null) { - case PLCSignalType.RequestInbound: - { - if (_taskService.RequestWMsTask(command.Barcode, childDeviceCode).Status) - { - Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); - if (task != null) - { - ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); - taskCommand.InteractiveSignal = command.InteractiveSignal; - bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); - - _taskService.UpdateTaskStatusToNext(task.TaskNum); - } - } - } - break; - case PLCSignalType.RequestInNextAddress: - { - Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); - if (task != null) - { - Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); - if (newTask != null) - { - ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); - taskCommand.InteractiveSignal = command.InteractiveSignal; - bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); - } - } - } - break; - case PLCSignalType.ConveyorLineInFinish: - { - Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); - if (task != null) - { - bool t = conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode); - WebResponseContent content = _taskService.UpdateTaskStatusToNext(task.TaskNum); - Console.Out.WriteLine(content.Serialize()); - } - } - break; - case PLCSignalType.RequestOutbound: - { - Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); - if (task != null) - { - ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); - taskCommand.InteractiveSignal = command.InteractiveSignal; - bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); - - _taskService.UpdateTaskStatusToNext(task.TaskNum); - } - } - break; - case PLCSignalType.RequestOutNextAddress: - { - Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); - if (task != null) - { - Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); - if (newTask != null) - { - ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); - taskCommand.InteractiveSignal = command.InteractiveSignal; - bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); - } - } - } - break; - case PLCSignalType.ConveyorLineOutFinish: - { - Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); - if (task != null) - { - bool t = conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode); - WebResponseContent content = _taskService.UpdateTaskStatusToNext(task.TaskNum); - Console.Out.WriteLine(content.Serialize()); - } - } - break; + method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode }); + } + else + { + //todo 鏈壘鍒板搴斿鐞嗘柟娉� } } } @@ -171,5 +90,86 @@ return Task.CompletedTask; } + + public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command,string childDeviceCode) + { + if (_taskService.RequestWMsTask(command.Barcode, childDeviceCode).Status) + { + Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); + if (task != null) + { + ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); + taskCommand.InteractiveSignal = command.InteractiveSignal; + bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); + + _taskService.UpdateTaskStatusToNext(task); + } + } + } + + public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) + { + Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); + if (task != null) + { + Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); + if (newTask != null) + { + ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); + taskCommand.InteractiveSignal = command.InteractiveSignal; + bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); + } + } + } + + public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) + { + Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); + if (task != null) + { + conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode); + WebResponseContent content = _taskService.UpdateTaskStatusToNext(task); + Console.Out.WriteLine(content.Serialize()); + } + } + + public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) + { + Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode); + if (task != null) + { + ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task); + taskCommand.InteractiveSignal = command.InteractiveSignal; + bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); + + _taskService.UpdateTaskStatusToNext(task); + } + } + + public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) + { + Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); + if (task != null) + { + Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress); + if (newTask != null) + { + ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask); + taskCommand.InteractiveSignal = command.InteractiveSignal; + bool t = conveyorLine.SendCommand(taskCommand, childDeviceCode); + } + } + } + + public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode) + { + Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); + if (task != null) + { + bool t = conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode); + WebResponseContent content = _taskService.UpdateTaskStatusToNext(task); + Console.Out.WriteLine(content.Serialize()); + } + } } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs index b551f33..ac1c79d 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs @@ -35,97 +35,4 @@ public int TaskNum { get; set; } } - - public enum SignalType - { - /// <summary> - /// PLC鍏ュ簱鍙h姹� - /// </summary> - InEntranceRequest, - - /// <summary> - /// WCS鍏ュ簱鍙e搷搴� - /// </summary> - InEntranceResponse, - - /// <summary> - /// PLC鍏ュ簱鍙h姹傚浣� - /// </summary> - InEntranceRequestReset, - - /// <summary> - /// WCS鍏ュ簱鍙e搷搴斿浣� - /// </summary> - InEntranceResponseReset, - - /// <summary> - /// PLC鍑哄簱鍙h姹� - /// </summary> - OutEntranceRequest, - - /// <summary> - /// WCS鍑哄簱鍙e搷搴� - /// </summary> - OutEntranceResponse, - - /// <summary> - /// PLC鍑哄簱鍙h姹傚浣� - /// </summary> - OutEntranceRequestReset, - - /// <summary> - /// WCS鍑哄簱鍙e搷搴斿浣� - /// </summary> - OutEntranceResponseReset, - - /// <summary> - /// PLC鍏ュ簱绔欏彴璇锋眰 - /// </summary> - InStationRequest, - - /// <summary> - /// WCS鍏ュ簱绔欏彴鍝嶅簲 - /// </summary> - InStationResponse, - - /// <summary> - /// PLC鍏ュ簱绔欏彴璇锋眰澶嶄綅 - /// </summary> - InStationRequestReset, - - /// <summary> - /// WCS鍏ュ簱绔欏彴鍝嶅簲澶嶄綅 - /// </summary> - InStationResponseReset, - - /// <summary> - /// PLC鍑哄簱绔欏彴璇锋眰 - /// </summary> - OutStationRequest, - - /// <summary> - /// WCS鍑哄簱绔欏彴鍝嶅簲 - /// </summary> - OutStationResponse, - - /// <summary> - /// PLC鍑哄簱绔欏彴璇锋眰澶嶄綅 - /// </summary> - OutStationRequestReset, - - /// <summary> - /// WCS鍑哄簱绔欏彴鍝嶅簲澶嶄綅 - /// </summary> - OutStationResponseReset, - } - - public enum PLCSignalType - { - RequestInbound = 1, - RequestInNextAddress = 2, - ConveyorLineInFinish = 3, - RequestOutbound = 4, - RequestOutNextAddress = 5, - ConveyorLineOutFinish = 6 - } } diff --git a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs index 11a4743..e126961 100644 --- a/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs +++ b/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs @@ -2,6 +2,7 @@ using Quartz; using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -83,12 +84,15 @@ /// <param name="e"></param> private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) { - CommonStackerCrane commonStackerCrane = sender as CommonStackerCrane; - if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane; + if (commonStackerCrane != null) { - Console.Out.WriteLine("TaskCompleted" + e.TaskNum); - _taskService.StackCraneTaskCompleted(e.TaskNum); - commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + { + Console.Out.WriteLine("TaskCompleted" + e.TaskNum); + _taskService.StackCraneTaskCompleted(e.TaskNum); + commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + } } } @@ -149,7 +153,7 @@ /// </summary> /// <param name="task">浠诲姟瀹炰綋</param> /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> - private Dt_Task? OutTaskStationIsOccupied(Dt_Task task) + private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault(); if (router != null) @@ -181,7 +185,7 @@ /// <param name="task">浠诲姟瀹炰綋</param> /// <returns></returns> /// <exception cref="Exception"></exception> - public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand(Dt_Task task) + public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task) { StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); -- Gitblit v1.9.3