From 50fd5cc9cfad08714c4daa6d481c5293ff2ae6b1 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期三, 31 一月 2024 18:55:28 +0800 Subject: [PATCH] 逻辑完善 --- 代码管理/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs | 2 代码管理/PCS/WCS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj | 61 项目资料/通信协议/PCS和桁架协议/interface PMS RES_machine.pdf | 0 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs | 175 ++++ 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs | 3 项目资料/通信协议/PCS和桁架协议/interface PMS INFO Machine.pdf | 0 代码管理/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_dataRepository.cs | 24 代码管理/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs | 18 代码管理/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBExtension.cs | 96 + 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/JobBase.cs | 2 项目资料/通信协议/PCS和桁架协议/协议.xlsx | 0 代码管理/PCS/WCS_Server/WIDESEA_System/IServices/System/Idt_Interfacerecord_pcsService.cs | 12 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs | 21 项目资料/项目图纸/货位.xlsx | 0 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs | 59 - 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs | 3 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs | 91 ++ 项目资料/通信协议/WMS和MES接口/MES接收AGV数据接口.docx | 0 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/dt_Interfacerecord_pcsController.cs | 33 代码管理/PCS/WCS_Server/WIDESEA_System/IServices/System/Partial/Idt_Interfacerecord_pcsService.cs | 13 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/dt_Interfacerecord_pcsController.cs | 21 代码管理/WMS/WMS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs | 24 项目资料/通信协议/PCS和桁架协议/interface PMS RES_input.pdf | 0 代码管理/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs | 53 + 代码管理/PCS/WCS_Client/src/views/Home.vue | 2 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs | 4 项目资料/通信协议/PCS和桁架协议/interface PMS REQ GEOMETRY.pdf | 0 代码管理/PCS/WCS_Server/WIDESEA_System/Services/System/Partial/dt_Interfacerecord_pcsService.cs | 41 + 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_Interfacerecord_pcs.cs | 21 代码管理/PCS/WCS_Server/WIDESEA_WCS/ToAGV/ToAGVServer.cs | 84 ++ 代码管理/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs | 27 代码管理/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_Interfacerecord_pcsMapConfig.cs | 16 代码管理/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue | 73 + 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs | 84 + 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/Interface to AGV(1).pdf | 0 项目资料/通信协议/PCS和桁架协议/新增设备需要采集的信息.xlsx | 0 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs | 41 + 代码管理/PCS/WCS_Server/WIDESEA_System/Repositories/System/dt_Interfacerecord_pcsRepository.cs | 24 项目资料/通信协议/WMS和AGV接口/WMS、PCS和AGV接口协议.xlsx | 0 代码管理/PCS/WCS_Server/WIDESEA_System/IRepositories/System/Idt_Interfacerecord_pcsRepository.cs | 18 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRespone.cs | 20 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_dataController.cs | 21 代码管理/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj | 4 代码管理/PCS/WCS_Client/src/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js | 104 ++ 代码管理/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js | 75 + 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_dataService.cs | 12 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/AGV与桁架防呆协议.xlsx | 0 代码管理/PCS/WCS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj | 1 代码管理/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue | 10 代码管理/WMS/WMS_Server/WIDESEA_Core/UserManager/UserContext.cs | 10 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_Interfacerecord_pcs.cs | 124 +++ 项目资料/通信协议/PCS和桁架协议/interface PMS INFO Gantry.pdf | 0 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/UserInfo.cs | 1 代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs | 36 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs | 38 代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRequestin.cs | 24 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs | 5 项目资料/通信协议/新增设备协议/太重交互-库口状态_V1.xlsx | 0 代码管理/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs | 2 代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js | 6 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/interface PMS RES_inputs_conv_feed.pdf | 0 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs | 12 项目资料/通信协议/PCS和桁架协议/interface PMS INFO VK.pdf | 0 项目资料/其他/库区分配.txt | 2 代码管理/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs | 41 + 代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs | 4 代码管理/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs | 12 代码管理/WMS/WMS_Client/src/router/viewGird.js | 6 项目资料/其他/系统架构图(1).pdf | 0 项目资料/通信协议/WMS和MES接口/MES下发AGV数据.docx | 0 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs | 79 + 代码管理/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs | 13 代码管理/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs | 13 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs | 64 + 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs | 57 + 项目资料/通信协议/WMS和AGV接口/WMS下发任务给AGV.png | 0 代码管理/PCS/WCS_Client/src/views/widesea_wcs/system/dt_Interfacerecord_pcs.vue | 86 ++ 代码管理/WMS/WMS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs | 18 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs | 6 代码管理/PCS/WCS_Client/src/views/widesea_system/system/tracklogDetial.vue | 65 + 代码管理/PCS/WCS_Client/src/router/viewGird.js | 4 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs | 113 ++ 代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/GantryDB.cs | 55 + 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/interface PMS REQ GEOMETRY 4 inputs.pdf | 0 项目资料/通信协议/PCS跟AGV和桁架防呆交互协议/Interface PCS for AGV and Storage.pdf | 0 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs | 6 代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs | 3 代码管理/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs | 20 项目资料/通信协议/PCS和桁架协议/interface PMS SERVERS.pdf | 0 代码管理/PCS/WCS_Server/WIDESEA_System/Services/System/dt_Interfacerecord_pcsService.cs | 27 项目资料/通信协议/PCS和桁架协议/interface PMS INFO WP.pdf | 0 代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_dataService.cs | 27 /dev/null | 0 项目资料/通信协议/PCS和桁架协议/interface PMS REQ.pdf | 0 代码管理/PCS/WCS_Server/WIDESEA_WebApi/Startup.cs | 21 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_dataController.cs | 33 代码管理/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs | 16 97 files changed, 2,269 insertions(+), 173 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js" new file mode 100644 index 0000000..d2820b6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js" @@ -0,0 +1,104 @@ +/***************************************************************************************** +** Author:jxx 2022 +** QQ:283591387 +**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆� +**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev +**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev +*****************************************************************************************/ +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 +import tracklogDetial from "@/views/widesea_system/system/tracklogDetial.vue" +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: tracklogDetial, + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛� + //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽� + // this.buttons.unshift({ //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍 + // name: '鎸夐挳', //鎸夐挳鍚嶇О + // icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。) + // type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button + // onClick: function () { + // this.$Message.success('鐐瑰嚮浜嗘寜閽�'); + // } + // }); + + //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴� + // this.boxOptions.labelWidth = 150; + this.columns.forEach(x => { + if (x.field == "interface_type") { + x.getColor = (row, column) => { + if (row != null) { + if (row.interface_type == "鎴愬姛") { + return "success"; + } else if (row.interface_type == "澶辫触") { + return "error"; + } + } + } + } + }) + + let options = { + field: 'oper', + title: '鏁版嵁璇︽儏', + type: 'text', + width: 60, + //杩斿洖涓�涓爣绛� + formatter: (row) => { + return '<a href="javascript:void(0)">璇︽儏</a>' + }, + //瑙﹀彂浜嬩欢,鍙互鍦ㄦ浜嬩欢鍐嶆墦寮�涓�涓脊鍑烘绛夋搷浣� + click: (row, column, event) => { + this.$refs.gridHeader.openDialog(row) + } + }; + this.columns.push(options) + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } +}; +export default extension; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" index fa1cd96..b3b11ea 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" @@ -185,6 +185,10 @@ path: '/dt_geometry_data', name: 'dt_geometry_data', component: () => import('@/views/widesea_wcs/baseinfo/dt_geometry_data.vue') + } ,{ + path: '/dt_Interfacerecord_pcs', + name: 'dt_Interfacerecord_pcs', + component: () => import('@/views/widesea_wcs/system/dt_Interfacerecord_pcs.vue') }] export default viewgird diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/Home.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/Home.vue" index 185acbd..9bddc94 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/Home.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/Home.vue" @@ -1,5 +1,5 @@ <template> - <div class="title">Welcome To WCS!</div> + <div class="title">Welcome To PCS!</div> </template> <script> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_system/system/tracklogDetial.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_system/system/tracklogDetial.vue" new file mode 100644 index 0000000..99164ab --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_system/system/tracklogDetial.vue" @@ -0,0 +1,65 @@ +<template> + <div> + <!-- 璇︽儏寮圭獥 --> + <vol-box :height="450" v-model="detialBox" :padding="15" title="鏃ュ織璇︽儏"> + <div> + id锛歿{ rowData.interface_id }} + <hr /> + <b>鏃堕棿锛�</b> + {{ rowData.interface_createtime }} + <br /> + <b>鎿嶄綔鍚嶇О锛�</b> + {{ rowData.interface_name }} + <br /> + <b>鎻忚堪锛�</b> + {{ rowData.interface_remark }} + <br /> + <b>閿欒淇℃伅锛�</b> + <br /> + {{ rowData.interface_message }} + <br /> + <br /> + <b>璇锋眰鏁版嵁锛�</b> + <br /> + <pre> {{ rowData.interface_paradata==""?rowData.interface_paradata:JSON.parse(rowData.interface_paradata) }}</pre> + <br /> + <b>杩斿洖鏁版嵁锛�</b> + <pre>{{rowData.interface_returndata==""?rowData.interface_returndata:JSON.parse(rowData.interface_returndata)}}</pre> + </div> + </vol-box> + </div> +</template> + +<script defer = "true"> +import VolBox from "@/components/basic/VolBox.vue"; + +export default { + components: { "vol-box": VolBox }, + methods: {}, + data() { + return { + detialBox: false, + rowData: "", + }; + }, + methods: { + openDialog(row) { + this.detialBox = true; + this.rowData = row; + } + }, +}; +</script> + + +<style> +.formContainer { + position: absolute; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +</style> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/system/dt_Interfacerecord_pcs.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/system/dt_Interfacerecord_pcs.vue" new file mode 100644 index 0000000..41e8fd5 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/system/dt_Interfacerecord_pcs.vue" @@ -0,0 +1,86 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js姝ゅ缂栧啓 + --> +<template> + <view-grid ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend"> + </view-grid> +</template> +<script> + import extend from "@/extension/widesea_wcs/system/dt_Interfacerecord_pcs.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: 'interface_id', + footer: "Foots", + cnName: '鎺ュ彛鏃ュ織', + name: 'system/dt_Interfacerecord_pcs', + url: "/dt_Interfacerecord_pcs/", + sortName: "interface_createtime" + }); + const editFormFields = ref({}); + const editFormOptions = ref([]); + const searchFormFields = ref({"interface_remark":"",}); + const searchFormOptions = ref([[{"title":"璇锋眰鏁版嵁","field":"interface_paradata","type":"like"},{"title":"鎻忚堪","field":"interface_remark","type":"like"}], + [{"title":"杩斿洖鏁版嵁","field":"interface_returndata","type":"like"},{"title":"鍒涘缓鏃堕棿","field":"interface_createtime","type":"datetime"}] + ]); + const columns = ref([ + {field:'interface_id',title:'涓婚敭',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'}, + { +field:'interface_call', +type:'string', +title:"璇锋眰鑰�", +width:60, +// sort:true, +align:'left' +}, +{ + field:'interface_type', + title:'绫诲瀷', + type:'string', + width:60, + require:true, + align:'left', + bind:{data:[]}, + //sortable:true + }, + {field:'interface_provide',title:'鎺ュ彈鑰�',type:'string',width:60,require:true,align:'left'}, + // {field:'interface_call',title:'璇锋眰鑰�',type:'string',width:110,require:true,align:'left'}, + {field:'interface_paradata',title:'璇锋眰鏁版嵁',type:'string',width:110,align:'left'}, + {field:'interface_returndata',title:'杩斿洖鏁版嵁',type:'string',width:110,align:'left'}, + {field:'interface_createtime',title:'鍒涘缓鏃堕棿',type:'datetime',width:120,require:true,align:'left',sortable:true}, + {field:'interface_remark',title:'鎻忚堪',type:'string',width:120,align:'left'}, + {field:'interface_operator',title:'鎿嶄綔鑰�',type:'string',width:110,require:true,align:'left'}, + {field:'interface_name',title:'鎿嶄綔鍚嶇О',type:'string',width:110,require:true,align:'left'}, + {field:'interface_message',title:'閿欒淇℃伅',type:'string',width:110,align:'left'},]); + const detail = ref({ + cnName: "#detailCnName", + table: "#detailTable", + columns: [], + sortName: "", + key: "" + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); +</script> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" index 9513bfa..d177e91 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" @@ -82,7 +82,7 @@ /// <summary> /// 娣诲姞鏃ュ織 /// </summary> - private static void Write(string describe, object info, LogState logState, string dataFrom, string createuser) + public static void Write(string describe, object info, LogState logState, string dataFrom, string createuser) { try { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs" new file mode 100644 index 0000000..57025f3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/LogInfo/WritePCSLog.cs" @@ -0,0 +1,53 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Entity.DomainModels; +using WIDESEA_System.IRepositories; +using WIDESEA_System.Repositories; + +namespace WIDESEA_Comm.LogInfo +{ + public class WritePCSLog + { + /// <summary> + /// 鎺ュ彛鏁版嵁璁板綍 + /// </summary> + /// <param name="id">浠诲姟ID</param> + /// <param name="code">鎴愬姛/澶辫触</param> + /// <param name="provide">鎺ュ彈鑰�</param> + /// <param name="call">璇锋眰鑰�</param> + /// <param name="paradata">璇锋眰鏁版嵁</param> + /// <param name="returndata">杩斿洖鏁版嵁</param> + /// <param name="remark">澶囨敞/鎻忚堪</param> + /// <param name="name">鎿嶄綔鍚嶇О(鏂规硶鍚�)</param> + /// <param name="message">閿欒淇℃伅</param> + public static void LogAdd(string id, string code, string provide, string call, string paradata, string returndata, string remark, string name, string message) + { + VOLContext context = new VOLContext(); + Idt_Interfacerecord_pcsRepository interfacerecord_PcsRepository = new dt_Interfacerecord_pcsRepository(context); + dt_Interfacerecord_pcs interfacerecord = new dt_Interfacerecord_pcs() + { + interface_id = Guid.NewGuid(), + interface_type = code, + interface_provide = provide, + interface_call = call, + interface_paradata = paradata, + interface_returndata = returndata, + interface_createtime = DateTime.Now, + interface_remark = remark, + interface_operator = "admin",//UserContext.Current.UserName == null ? "admin" : UserContext.Current.UserName, + interface_name = name, + interface_message = message, + }; + dt_Interfacerecord_pcs data = null; + if (interfacerecord.interface_message != "") + data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && (interfacerecord.interface_createtime.Ticks - x.interface_createtime.Ticks >= 5) && x.interface_paradata.Contains(id));//瓒呰繃5绉掕褰� + //data = interfacerecord_PcsRepository.FindFirst(x => x.interface_message == interfacerecord.interface_message && x.interface_remark == interfacerecord.interface_remark && x.interface_createtime.Day == DateTime.Now.Day && x.interface_paradata.Contains(id)); + if (data == null) + interfacerecord_PcsRepository.Add(interfacerecord, true); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs" new file mode 100644 index 0000000..f43a0e4 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs" @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Comm +{ + public enum LocationStateEnum + { + /// <summary> + /// 鏈夎揣 + /// </summary> + Stroge, + /// <summary> + /// 绌鸿揣浣� + /// </summary> + Empty + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj" index ec43002..e75e3fc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/WIDESEA_Comm.csproj" @@ -12,6 +12,7 @@ <ItemGroup> <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> + <ProjectReference Include="..\WIDESEA_System\WIDESEA_System.csproj" /> </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_Interfacerecord_pcs.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_Interfacerecord_pcs.cs" new file mode 100644 index 0000000..fcc9503 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_Interfacerecord_pcs.cs" @@ -0,0 +1,124 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel + */ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Entity.SystemModels; + +namespace WIDESEA_Entity.DomainModels +{ + [Entity(TableCnName = "鎺ュ彛鏃ュ織", TableName = "dt_Interfacerecord_pcs")] + public partial class dt_Interfacerecord_pcs : BaseEntity + { + /// <summary> + ///涓婚敭 + /// </summary> + [Key] + [Display(Name = "涓婚敭")] + [Column(TypeName = "uniqueidentifier")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public Guid interface_id { get; set; } + + /// <summary> + ///鎴愬姛:澶辫触 + /// </summary> + [Display(Name = "鎴愬姛:澶辫触")] + [MaxLength(20)] + [Column(TypeName = "nvarchar(20)")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public string interface_type { get; set; } + + /// <summary> + ///鎺ュ彈鑰� + /// </summary> + [Display(Name = "鎺ュ彈鑰�")] + [MaxLength(20)] + [Column(TypeName = "nvarchar(20)")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public string interface_provide { get; set; } + + /// <summary> + ///璇锋眰鑰� + /// </summary> + [Display(Name = "璇锋眰鑰�")] + [MaxLength(20)] + [Column(TypeName = "nvarchar(20)")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public string interface_call { get; set; } + + /// <summary> + ///璇锋眰鏁版嵁 + /// </summary> + [Display(Name = "璇锋眰鏁版嵁")] + [Column(TypeName = "nvarchar(max)")] + [Editable(true)] + public string interface_paradata { get; set; } + + /// <summary> + ///杩斿洖鏁版嵁 + /// </summary> + [Display(Name = "杩斿洖鏁版嵁")] + [Column(TypeName = "nvarchar(max)")] + [Editable(true)] + public string interface_returndata { get; set; } + + /// <summary> + ///鍒涘缓鏃堕棿 + /// </summary> + [Display(Name = "鍒涘缓鏃堕棿")] + [Column(TypeName = "datetime")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public DateTime interface_createtime { get; set; } + + /// <summary> + ///澶囨敞 + /// </summary> + [Display(Name = "澶囨敞")] + [MaxLength(100)] + [Column(TypeName = "nvarchar(100)")] + [Editable(true)] + public string interface_remark { get; set; } + + /// <summary> + ///鎿嶄綔鑰� + /// </summary> + [Display(Name = "鎿嶄綔鑰�")] + [MaxLength(50)] + [Column(TypeName = "nvarchar(50)")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public string interface_operator { get; set; } + + /// <summary> + ///鎿嶄綔鍚嶇О(鏂规硶鍚�) + /// </summary> + [Display(Name = "鎿嶄綔鍚嶇О(鏂规硶鍚�)")] + [MaxLength(50)] + [Column(TypeName = "nvarchar(50)")] + [Editable(true)] + [Required(AllowEmptyStrings = false)] + public string interface_name { get; set; } + + /// <summary> + ///閿欒淇℃伅 + /// </summary> + [Display(Name = "閿欒淇℃伅")] + [Column(TypeName = "nvarchar(max)")] + [Editable(true)] + public string interface_message { get; set; } + + + + } +} \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_Interfacerecord_pcs.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_Interfacerecord_pcs.cs" new file mode 100644 index 0000000..17b3bea --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_Interfacerecord_pcs.cs" @@ -0,0 +1,21 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel + */ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Entity.SystemModels; + +namespace WIDESEA_Entity.DomainModels +{ + + public partial class dt_Interfacerecord_pcs + { + //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯� + } +} \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRequestin.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRequestin.cs" new file mode 100644 index 0000000..9ebffbd --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRequestin.cs" @@ -0,0 +1,24 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Entity.ToAGV +{ + public class AGVRequestin + { + /// <summary> + /// 鍖哄煙鍙� + /// </summary> + public int AreaNr { get; set; } + /// <summary> + /// 绫诲瀷 1:姝e湪杩涘叆銆�2:姝e湪绂诲紑 + /// </summary> + public int Type { get; set; } + /// <summary> + ///AGV鍖哄煙鐘舵�� 1:涓嶅湪鍖哄煙鍐呫�佸叾浠�:鍦ㄥ尯鍩熷唴 + /// </summary> + public int OUTOFArea { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRespone.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRespone.cs" new file mode 100644 index 0000000..296be6b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToAGV/AGVRespone.cs" @@ -0,0 +1,20 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Entity.ToAGV +{ + public class AGVRespone + { + /// <summary> + /// 1鎴愬姛 + /// </summary> + public int success { get; set; } = -1; + /// <summary> + /// 澶辫触锛岃繑鍥炲け璐ヤ俊鎭� + /// </summary> + public string Message { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_Interfacerecord_pcsMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_Interfacerecord_pcsMapConfig.cs" new file mode 100644 index 0000000..eedb9cf --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/System/dt_Interfacerecord_pcsMapConfig.cs" @@ -0,0 +1,16 @@ +using WIDESEA_Entity.MappingConfiguration; +using WIDESEA_Entity.DomainModels; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace WIDESEA_Entity.MappingConfiguration +{ + public class dt_Interfacerecord_pcsMapConfig : EntityMappingConfiguration<dt_Interfacerecord_pcs> + { + public override void Map(EntityTypeBuilder<dt_Interfacerecord_pcs> + builderTable) + { + //b.Property(x => x.StorageName).HasMaxLength(45); + } + } +} + diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IRepositories/System/Idt_Interfacerecord_pcsRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IRepositories/System/Idt_Interfacerecord_pcsRepository.cs" new file mode 100644 index 0000000..31da72e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IRepositories/System/Idt_Interfacerecord_pcsRepository.cs" @@ -0,0 +1,18 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_Interfacerecord_pcsRepository缂栧啓鎺ュ彛 + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Extensions.AutofacManager; +namespace WIDESEA_System.IRepositories +{ + public partial interface Idt_Interfacerecord_pcsRepository : IDependency,IRepository<dt_Interfacerecord_pcs> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Idt_Interfacerecord_pcsService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Idt_Interfacerecord_pcsService.cs" new file mode 100644 index 0000000..33e2902 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Idt_Interfacerecord_pcsService.cs" @@ -0,0 +1,12 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + */ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_System.IServices +{ + public partial interface Idt_Interfacerecord_pcsService : IService<dt_Interfacerecord_pcs> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Partial/Idt_Interfacerecord_pcsService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Partial/Idt_Interfacerecord_pcsService.cs" new file mode 100644 index 0000000..19d1b01 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/IServices/System/Partial/Idt_Interfacerecord_pcsService.cs" @@ -0,0 +1,13 @@ +/* +*鎵�鏈夊叧浜巇t_Interfacerecord_pcs绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓 +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +namespace WIDESEA_System.IServices +{ + public partial interface Idt_Interfacerecord_pcsService + { + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Repositories/System/dt_Interfacerecord_pcsRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Repositories/System/dt_Interfacerecord_pcsRepository.cs" new file mode 100644 index 0000000..6b781b6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Repositories/System/dt_Interfacerecord_pcsRepository.cs" @@ -0,0 +1,24 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_Interfacerecord_pcsRepository缂栧啓浠g爜 + */ +using WIDESEA_System.IRepositories; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_System.Repositories +{ + public partial class dt_Interfacerecord_pcsRepository : RepositoryBase<dt_Interfacerecord_pcs> , Idt_Interfacerecord_pcsRepository + { + public dt_Interfacerecord_pcsRepository(VOLContext dbContext) + : base(dbContext) + { + + } + public static Idt_Interfacerecord_pcsRepository Instance + { + get { return AutofacContainerModule.GetService<Idt_Interfacerecord_pcsRepository>(); } } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/Partial/dt_Interfacerecord_pcsService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/Partial/dt_Interfacerecord_pcsService.cs" new file mode 100644 index 0000000..7904472 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/Partial/dt_Interfacerecord_pcsService.cs" @@ -0,0 +1,41 @@ +/* + *鎵�鏈夊叧浜巇t_Interfacerecord_pcs绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓 +*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭� +*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction +*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭� +*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔 +*dt_Interfacerecord_pcsService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; +using System.Linq; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +using WIDESEA_Core.Extensions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http; +using WIDESEA_System.IRepositories; + +namespace WIDESEA_System.Services +{ + public partial class dt_Interfacerecord_pcsService + { + private readonly IHttpContextAccessor _httpContextAccessor; + private readonly Idt_Interfacerecord_pcsRepository _repository;//璁块棶鏁版嵁搴� + + [ActivatorUtilitiesConstructor] + public dt_Interfacerecord_pcsService( + Idt_Interfacerecord_pcsRepository dbRepository, + IHttpContextAccessor httpContextAccessor + ) + : base(dbRepository) + { + _httpContextAccessor = httpContextAccessor; + _repository = dbRepository; + //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢� + //base.Init(dbRepository); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/dt_Interfacerecord_pcsService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/dt_Interfacerecord_pcsService.cs" new file mode 100644 index 0000000..d08c6de --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_System/Services/System/dt_Interfacerecord_pcsService.cs" @@ -0,0 +1,27 @@ +/* + *Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_Interfacerecord_pcsService涓嶪dt_Interfacerecord_pcsService涓紪鍐� + */ +using WIDESEA_System.IRepositories; +using WIDESEA_System.IServices; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_System.Services +{ + public partial class dt_Interfacerecord_pcsService : ServiceBase<dt_Interfacerecord_pcs, Idt_Interfacerecord_pcsRepository> + , Idt_Interfacerecord_pcsService, IDependency + { + public dt_Interfacerecord_pcsService(Idt_Interfacerecord_pcsRepository repository) + : base(repository) + { + Init(repository); + } + public static Idt_Interfacerecord_pcsService Instance + { + get { return AutofacContainerModule.GetService<Idt_Interfacerecord_pcsService>(); } } + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs" new file mode 100644 index 0000000..635912b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/AGVandGantry.cs" @@ -0,0 +1,79 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Diagnostics.Metrics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.FreeDB; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.ToAGV; +using WIDESEA_WCS.WCSClient; + +namespace WIDESEA_WCS +{ + public class AGVandGantry + { + static FreeDB FreeDB = new FreeDB(); + /// <summary> + /// + /// </summary> + /// <param name="requestin"></param> + /// <param name="MethodName">鏂规硶鍚�</param> + /// <returns></returns> + public static AGVRespone GetSetGantry(AGVRequestin requestin, string MethodName) + { + AGVRespone respone = new AGVRespone(); + try + { + var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "妗佹灦"); + if (Gantry_client == null) throw new Exception("妗佹灦璋冨害鏈嶅姟鏈紑鍚紒"); + if (!Gantry_client.IsConnected) throw new Exception("涓庢鏋惰繛鎺ヨ秴鏃讹紒"); + var Gantryplc = FreeDB.Select<dt_plcinfohead>().Where(x => x.plcinfo_name == Gantry_client.PLCName).First(); + List<string> numbers = new List<string>() { "1鍗曞厓闃插憜", "2鍗曞厓闃插憜", "3鍗曞厓闃插憜", "涓婃枡鍖洪槻鍛�" }; + var details = FreeDB.Select<dt_plcinfodetail>().Where(x => x.plcdetail_iotype == Gantryplc.plcinfo_iotyep && x.plcdetail_number == numbers[requestin.AreaNr - 1]).ToList(); + if (MethodName == "AGVRequestin") + { + Gantry_client.WriteByOrder("W_AreaNr", (Int16)requestin.AreaNr, numbers[requestin.AreaNr - 1]);//鍖哄煙鍙� + Gantry_client.WriteByOrder("W_AGV_Request_In", true, numbers[requestin.AreaNr - 1]);//鐢宠杩涘叆鍖哄煙 + var Release = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Release_In").First(), Gantry_client);//鍏佽杩涘叆鍖哄煙 + var Gantry_Out_of_Area = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Gantry_Out_of_Area").First(), Gantry_client);//妗佹灦涓嶅湪璇ュ尯鍩� + if (!Release) throw new Exception("妗佹灦鏈厑璁歌繘鍏ワ紒"); + if (!Gantry_Out_of_Area) throw new Exception("妗佹灦鍦ㄥ尯鍩熷唴锛�"); + } + else if (MethodName == "EnteriorLeav") + { + Gantry_client.WriteByOrder("W_AreaNr", (Int16)requestin.AreaNr, numbers[requestin.AreaNr - 1]);//鍖哄煙鍙� + if (requestin.Type == 1) + { + Gantry_client.WriteByOrder("W_AGV_Entering", true, numbers[requestin.AreaNr - 1]);//姝e湪杩涘叆 + var Area_Occupied_by_AGV = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Area_Occupied_by_AGV").First(), Gantry_client);//妗佹灦鍙嶉AGV鍗犱綅淇″彿 + if (!Area_Occupied_by_AGV) throw new Exception("妗佹灦鏈弽棣圓GV鍗犱綅淇″彿"); + } + else if (requestin.Type == 2) + { + Gantry_client.WriteByOrder("W_AGV_Leaving", true, numbers[requestin.AreaNr - 1]);//姝e湪绂诲紑 + var Area_Occupied_by_AGV = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Area_Occupied_by_AGV").First(), Gantry_client);//妗佹灦鍙嶉AGV鍗犱綅淇″彿 + if (Area_Occupied_by_AGV) throw new Exception("妗佹灦鏈弽棣圓GV绂诲紑淇″彿"); + } + } + else if (MethodName == "AGVOutofArea") + { + Gantry_client.WriteByOrder("W_AreaNr", (Int16)requestin.AreaNr, numbers[requestin.AreaNr - 1]);//鍖哄煙鍙� + Gantry_client.WriteByOrder("W_AGV_OUT_OF_Area", requestin.OUTOFArea == 1 ? true : false, numbers[requestin.AreaNr - 1]);//AGV涓嶅湪璇ュ尯鍩� + } + else if (MethodName == "GantryOutofArea") + { + var Gantry_Out_of_Area = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Gantry_Out_of_Area").First(), Gantry_client);//妗佹灦涓嶅湪璇ュ尯鍩� + if (!Gantry_Out_of_Area) throw new Exception("妗佹灦鍦ㄥ尯鍩熷唴锛�"); + } + respone.success = 1; + } + catch (Exception ex) + { + respone.Message = ex.Message; + } + return respone; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" new file mode 100644 index 0000000..5dbcde3 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Gantry.cs" @@ -0,0 +1,175 @@ +锘縰sing StackExchange.Redis; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.EFDbContext; +using WIDESEA_WCS.IRepositories; +using WIDESEA_WCS.Repositories; +using WIDESEA_WCS.WCSClient; + +namespace WIDESEA_WCS +{ + public class Gantry + { + static VOLContext Context = new VOLContext(); + Idt_plcinfoheadRepository repository = new dt_plcinfoheadRepository(Context); + Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context); + Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context); + /// <summary> + /// 鏌ヨ杞﹁疆鏁版嵁 + /// </summary> + public void QueryWheeldata(PLCClient client) + { + try + { + var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName); + List<string> names = new List<string>() { "1鍗曞厓杈婇亾涓嬫枡鏌ヨ杞﹁疆", "2鍗曞厓杈婇亾涓嬫枡鏌ヨ杞﹁疆", "3鍗曞厓杈婇亾涓嬫枡鏌ヨ杞﹁疆", "杈婇亾涓婃枡鏌ヨ杞﹁疆" }; + foreach (string name in names) + { + var details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == name).ToList(); + var on = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_oi_on").First(), client); + if ((Int16)on == 1) + { + var wp_type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_type").First(), client); + var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type); + if (geometry == null) + { + //DBExtension.Write(details.Where(x => x.plcdetail_name == "W_i_status").First(), client, (Int16)2); + client.WriteByOrder("W_i_status", (Int16)2, name);//1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹� + client.WriteByOrder("W_i_skip_op", "1", name);//灞忚斀宸ヨ壓(灞忚斀瑙嗚妫�娴�/灞忚斀娑傛补); + //0-浣跨敤锛�1-璺宠繃 + client.WriteByOrder("R_oi_on", (Int16)0, name); + } + else + { + client.WriteByOrder("W_i_status", (Int16)1, name); + client.WriteByOrder("W_i_parameter_a", (float)geometry.a, name); + client.WriteByOrder("W_i_parameter_b", (float)geometry.b, name); + client.WriteByOrder("W_i_parameter_c", (float)geometry.c, name); + client.WriteByOrder("W_i_parameter_d", (float)geometry.d, name); + client.WriteByOrder("W_i_parameter_e", (float)geometry.e, name); + client.WriteByOrder("W_i_parameter_f", (float)geometry.f, name); + client.WriteByOrder("W_i_parameter_g", (float)geometry.g, name); + client.WriteByOrder("W_i_parameter_h", (float)geometry.h, name); + //灞忚斀宸ヨ壓(灞忚斀瑙嗚妫�娴�/灞忚斀娑傛补) + client.WriteByOrder("W_i_skip_op", "0", name);//瀛楃涓插啓鍏�-2 + client.WriteByOrder("R_oi_on", (Int16)0, name); + } + } + } + } + catch (Exception ex) + { + throw; + } + } + /// <summary> + /// 鏌ヨ璁㈠崟,鏄惁闇�瑕佸姞宸� + /// </summary> + public void QueryOrder(PLCClient client) + { + try + { + var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName); + List<string> names = new List<string>() { "1鍗曞厓杈婇亾涓嬫枡鏌ヨ璁㈠崟", "2鍗曞厓杈婇亾涓嬫枡鏌ヨ璁㈠崟", "3鍗曞厓杈婇亾涓嬫枡鏌ヨ璁㈠崟", "杈婇亾涓婃枡鏌ヨ璁㈠崟" }; + foreach (string name in names) + { + var details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == name).ToList(); + var on = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_oi_on").First(), client); + if ((Int16)on == 1) + { + var wp_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_id").First(), client); + //闇�娣诲姞鏌ヨ杞﹁疆SN鍙疯鍗曢�昏緫 + + var wp_type = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_o_wp_type").First(), client); + var geometry = dataRepository.FindFirst(x => x.TypeId == (Int32)wp_type); + if (geometry == null) + { + client.WriteByOrder("W_i_status", (Int16)2, name);//1-濂�,鍏佽鍔犲伐锛�2-涓嶅湪鍒楄〃涓紝3-涓嶅姞宸ヨ溅杞被鍨� + client.WriteByOrder("R_oi_on", (Int16)0, name); + } + else + { + client.WriteByOrder("W_i_status", (Int16)1, name); + //client.WriteByOrder("W_i_job_id", "", name); + //client.WriteByOrder("W_i_drawing_id", "", name); + //client.WriteByOrder("W_i_heat_id", "", name); + //client.WriteByOrder("W_i_sourceheat", "", name); + //client.WriteByOrder("W_i_batch_id", "", name); + client.WriteByOrder("R_oi_on", (Int16)0, name); + } + } + } + } + catch (Exception ex) + { + throw; + } + } + /// <summary> + /// 涓嬫枡浣嶄氦浜� + /// </summary> + public void Layofflevel(PLCClient client) + { + try + { + var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName); + List<string> names = new List<string>() { "1鍗曞厓涓嬫枡鍖�", "2鍗曞厓涓嬫枡鍖�", "3鍗曞厓涓嬫枡鍖�", "涓婃枡鍖�" }; + foreach (string name in names) + { + var details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == name).ToList(); + + var Request = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Request_Load").First(), client); + if (!Request) continue; + var PartStatus = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PartStatus").First(), client);//1:ok;2:nok + var Wheel_Type = (Int32)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_Type").First(), client);//杞﹁疆绫诲瀷 + var Wheel_id = DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Wheel_id").First(), client).ToString();//杞﹁疆SN鍙� + + + client.WriteByOrder("W_AreaNr", (Int16)1, name);//鍖哄煙璐т綅鍙� + client.WriteByOrder("W_IndexNr", (Int16)1, name);//鎵樼洏涓婄殑绗嚑涓溅杞� + client.WriteByOrder("W_Storage_Type", true, name);//鎵樼洏绫诲瀷1-妯斁;2-绔栨斁 + client.WriteByOrder("W_Enabl_Load", true, name);//鏄惁鍏佽 + + var finished = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_load_finished").First(), client);//鏀炬枡瀹屾垚 + if (finished) + { + + client.WriteByOrder("W_Storage_update", true, name);//璐т綅鐘舵�佹洿鏂� + } + } + } + catch (Exception ex) + { + throw; + } + } + /// <summary> + /// 闃插憜鎺柦 + /// </summary> + static bool Gantry_Out_of_Area1;//妗佹灦鏄惁鍦ㄥ尯鍩熷唴 + static bool Gantry_Out_of_Area2;//妗佹灦鏄惁鍦ㄥ尯鍩熷唴 + static bool Gantry_Out_of_Area3;//妗佹灦鏄惁鍦ㄥ尯鍩熷唴 + static bool Gantry_Out_of_Area4;//妗佹灦鏄惁鍦ㄥ尯鍩熷唴 + public void Stupidproofmeasure(PLCClient client) + { + try + { + var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName); + List<string> names = new List<string>() { "1鍗曞厓闃插憜", "2鍗曞厓闃插憜", "3鍗曞厓闃插憜", "涓婃枡鍖洪槻鍛�" }; + foreach (string name in names) + { + var details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == name).ToList(); + var Release_In = (bool)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_Release_In").First(), client);//鍏佽杩涘叆 + if (!Release_In) { } + } + } + catch (Exception ex) + { + throw; + } + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/GantryDB.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/GantryDB.cs" new file mode 100644 index 0000000..4427ef4 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/GantryDB.cs" @@ -0,0 +1,55 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_WCS +{ + public class GantryDB + { + /// <summary> + /// 杞﹁疆鏁版嵁 + /// </summary> + public class Wheeldata + { + public string R_Name { get; set; } + public int R_o_wp_type { get; set; } + /// <summary> + /// 1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹� + /// </summary> + public short R_i_status { get; set; } + public int R_i_parameter_a { get; set; } + public int R_i_parameter_b { get; set; } + public int R_i_parameter_c { get; set; } + public int R_i_parameter_d { get; set; } + public int R_i_parameter_e { get; set; } + public int R_i_parameter_f { get; set; } + public int R_i_parameter_g { get; set; } + public int R_i_parameter_h { get; set; } + public string R_i_skip_op { get; set; } + public ushort oi_on { get; set; } + } + /// <summary> + /// 璁㈠崟鏁版嵁 + /// </summary> + public class Orderdata + { + + } + /// <summary> + /// 涓嬫枡浣嶆暟鎹� + /// </summary> + public class Layoffleveldata + { + + } + /// <summary> + /// 涓婃枡浣嶆暟鎹� + /// </summary> + public class Loadingleveldata + { + + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/JobBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/JobBase.cs" index 47e48c8..caf9bf8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/JobBase.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/JobBase.cs" @@ -71,7 +71,7 @@ } finally { - taskSeconds = Math.Round(stopwatch.Elapsed.TotalSeconds); + taskSeconds = Math.Round(stopwatch.Elapsed.TotalSeconds,3); jobHistory += $"(鑰楁椂:{taskSeconds}绉�)"; if (taskSeconds > 1 || jobHistory.Contains("鎵ц澶辫触")) WriteLog.Info(jobid + "鎵ц璁板綍").Write(jobHistory, jobid + "鎵ц璁板綍"); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" index cc62517..c1e35dd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" @@ -22,7 +22,7 @@ { try { - ExecuteJob(context, DoAction); + //ExecuteJob(context, DoAction); } catch { } return Task.CompletedTask; @@ -32,7 +32,7 @@ { //throw new NotImplementedException(); //Creation.HCJCreation(); - //Creation.PLCinfodetail(); + Creation.PLCinfodetail(); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs" index baffdeb..71a8d36 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs" @@ -10,6 +10,7 @@ using WIDESEA_Core.EFDbContext; using WIDESEA_Entity.DomainModels; using WIDESEA_WCS.IRepositories; +using WIDESEA_WCS.Jobs; using WIDESEA_WCS.Repositories; using WIDESEA_WCS.WCSClient; @@ -19,31 +20,35 @@ /// 妗佹灦 /// </summary> [DisallowConcurrentExecution] - public class GantryJob : IJob + public class GantryJob : JobBase, IJob { public Task Execute(IJobExecutionContext context) { try { - var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; - if (client == null) - { - return Task.CompletedTask; - } - - //鑷姩閲嶈繛 - if (!client.IsConnected) - { - client.Connect(); - return Task.CompletedTask; - } - - //DoAction(client); - //ExecuteJob(context, DoAction); + ExecuteJob(context, DoAction); } catch { } return Task.CompletedTask; } + + private void DoAction(IJobExecutionContext context) + { + var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; + //鑷姩閲嶈繛 + if (!client.IsConnected) + { + client.Connect(); + return; + } + Gantry gantry = new Gantry(); + gantry.QueryWheeldata(client); + gantry.QueryOrder(client); + gantry.Layofflevel(client); + gantry.Stupidproofmeasure(client); + } + + #region static List<MachineDB> MachineDBs = new List<MachineDB>(); static List<WheelDataDB> wheelDataDBs = new List<WheelDataDB>(); private void DoAction(PLCClient client) @@ -121,6 +126,7 @@ throw; } } + #endregion public void HandleReadSignal(string type, MachineDB DBItem) { switch (type) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" index 3804ccf..4d94346 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" @@ -4,7 +4,15 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Comm; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.FreeDB; +using WIDESEA_WCS.IRepositories; +using WIDESEA_WCS.Jobs; +using WIDESEA_WCS.Repositories; using WIDESEA_WCS.WCSClient; +using static System.Collections.Specialized.BitVector32; namespace WIDESEA_WCS { @@ -12,7 +20,7 @@ /// 閾炬潯鏈� /// </summary> [DisallowConcurrentExecution] - public class PipelineJob : IJob + public class PipelineJob : JobBase, IJob { public Task Execute(IJobExecutionContext context) { @@ -31,15 +39,83 @@ return Task.CompletedTask; } - DoAction(client); + //DoAction(client); + ExecuteJob(context, DoAction); } catch { } return Task.CompletedTask; } - private void DoAction(PLCClient client) + private void DoAction(IJobExecutionContext context) { - throw new NotImplementedException(); + var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient; + //鑷姩閲嶈繛 + if (!client.IsConnected) + { + client.Connect(); + return; + } + Loadinglevel(client); + } + /// <summary> + /// 涓婃枡鍖� + /// </summary> + /// <param name="client"></param> + private void Loadinglevel(PLCClient client, string number = "涓婃枡鍖�") + { + VOLContext Context = new VOLContext(); + Idt_plcinfoheadRepository repository = new dt_plcinfoheadRepository(Context); + Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context); + Idt_geometry_dataRepository dataRepository = new dt_geometry_dataRepository(Context); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context); + var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName); + var Gantry_client = PLCClient.Clients.FirstOrDefault(t => t.PLCName == "妗佹灦"); + if (!Gantry_client.IsConnected) return; + var Gantryplc = repository.FindFirst(x => x.plcinfo_name == Gantry_client.PLCName); + List<string> names = new List<string>() { "S01001001", "S01001002" }; + foreach (string name in names) + { + var station = stationinfoRepository.FindFirst(x => x.stationCode == name && x.enable && x.location_state == LocationStateEnum.Stroge.ToString()); + if (station == null) + { + Gantry_client.WriteByOrder("W_RequestUnload", false, number);//淇″彿涓篺alse妗佹灦鍋滄杩涘叆 + continue; + } + var details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == name).ToList(); + var PalletSignal = (Int16)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_PalletSignal").First(), client);//璇诲彇鎵樼洏淇″彿:1:鏈�,2鏃� + var MaterialSignal = (Int16)DBExtension.Read(details.Where(x => x.plcdetail_name == "R_MaterialSignal").First(), client);//璇诲彇璐х墿淇″彿:1:鏈�,2鏃� + if (PalletSignal == 1 && MaterialSignal == 1) + { + Gantry_client.WriteByOrder("W_AreaNr", (Int16)1, number);//鍖哄煙璐т綅鍙� + Gantry_client.WriteByOrder("W_IndexNr", (Int16)1, number);//鎵樼洏涓婄殑绗嚑涓溅杞� + Gantry_client.WriteByOrder("W_Storage_Type", (Int16)1, number); //鎵樼洏绫诲瀷1-妯斁;2-绔栨斁 + Gantry_client.WriteByOrder("W_Wheel_Type", (Int16)1, number);//杞﹁疆绫诲瀷 + Gantry_client.WriteByOrder("W_Wheel_id", "", number);//杞﹁疆SN鍙� + Gantry_client.WriteByOrder("W_RequestUnload", true, number); + } + else + { + Gantry_client.WriteByOrder("W_RequestUnload", false, number); + } + var Gantrydetails = plcRepository.Find(x => x.plcdetail_iotype == Gantryplc.plcinfo_iotyep && x.plcdetail_number == number).ToList(); + var Gantry_Out_of_Area = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Gantry_Out_of_Area").First(), Gantry_client);//妗佹灦鏄惁鍦ㄥ尯鍩熷唴 + + var QueryDate = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_QueryDate").First(), Gantry_client);//淇℃伅鏌ヨ + if (QueryDate) + { + var Date_Vaild = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Date_Vaild").First(), Gantry_client);//淇℃伅纭 + if (!Date_Vaild)//淇℃伅鏈夎锛岃褰曟棩蹇� + { + + } + } + var finished = (bool)DBExtension.Read(Gantrydetails.Where(x => x.plcdetail_name == "R_Unlod_finished").First(), Gantry_client);//澶瑰彇瀹屾垚 + if (finished) + { + + Gantry_client.WriteByOrder("W_Storage_update", true, number);//璐т綅鐘舵�佹洿鏂� + } + } } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToAGV/ToAGVServer.cs" new file mode 100644 index 0000000..41d31c1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToAGV/ToAGVServer.cs" @@ -0,0 +1,84 @@ +锘縰sing Newtonsoft.Json; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Security.Policy; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.FreeDB; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.ToAGV; + +namespace WIDESEA_WCS +{ + public partial class ToAGVServer + { + FreeDB freeDB = new FreeDB(); + static AGVRespone respone = new AGVRespone(); + static AGVRequestin requestin = new AGVRequestin(); + /// <summary> + /// AGV鐢宠杩涘叆鍖哄煙 + /// </summary> + /// <param name="v"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + public static AGVRespone AGVRequestin(string json) + { + return GetSetGantry(json, "AGVRequestin", "AGV鐢宠杩涘叆鍖哄煙"); + } + /// <summary> + /// AGV姝e湪锛堣繘鍏�/绂诲紑锛� + /// </summary> + /// <param name="v"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + public static AGVRespone EnteriorLeav(string json) + { + return GetSetGantry(json, "EnteriorLeav", "AGV姝e湪(杩涘叆/绂诲紑)"); + } + /// <summary> + /// AGV鏇存柊鍖哄煙鐘舵�� + /// </summary> + /// <param name="v"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + public static AGVRespone AGVOutofArea(string json) + { + return GetSetGantry(json, "AGVOutofArea", "AGV鏇存柊鍖哄煙鐘舵��"); + } + /// <summary> + /// AGV鑾峰彇妗佹灦鍖哄煙鐘舵�� + /// </summary> + /// <param name="v"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + public static AGVRespone GantryOutofArea(string json) + { + return GetSetGantry(json, "GantryOutofArea", "AGV鑾峰彇妗佹灦鍖哄煙鐘舵��"); + } + public static AGVRespone GetSetGantry(string json, string MethodName, string remark) + { + try + { + if (string.IsNullOrEmpty(json) || json == "null") + throw new Exception("鏈幏鍙栧埌璇锋眰鍙傛暟鏁版嵁"); + requestin = JsonConvert.DeserializeObject<AGVRequestin>(json); + if (requestin.AreaNr < 1 || requestin.AreaNr > 4) + throw new Exception("鏈畾涔夌殑鍖哄煙鍙�!"); + respone = AGVandGantry.GetSetGantry(requestin, MethodName); + } + catch (Exception ex) + { + respone.Message = ex.Message; + } + WritePCSLog.LogAdd(requestin.AreaNr.ToString(), respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), remark, MethodName, respone.Message); + return respone; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBExtension.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBExtension.cs" index 753da87..bec587e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBExtension.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/WCSClient/DBExtension.cs" @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing OfficeOpenXml.FormulaParsing.Excel.Functions.Text; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -18,43 +19,62 @@ /// <exception cref="Exception"></exception> public static object Read(dt_plcinfodetail detail, PLCClient client) { - - if (detail.plcdetail_valtype == typeof(int).Name.ToLower())//4瀛楄妭,鏈夌鍙风被鍨� - { - return (client.Read<int>(detail.plcdetail_db+"."+detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(uint).Name.ToLower())//4瀛楄妭,鏃犵鍙风被鍨� - { - return (client.Read<uint>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(short).Name.ToLower())//2瀛楄妭,鏈夌鍙风被鍨�,鏈�甯哥敤 - { - return (client.Read<short>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(ushort).Name.ToLower())//2瀛楄妭,鏃犵鍙风被鍨� - { - return (client.Read<ushort>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(float).Name.ToLower())//娴偣鍨� - { - return (client.Read<float>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(bool).Name.ToLower()) - { - return (client.Read<bool>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(byte).Name.ToLower())//瀛楄妭 - { - return (client.Read<byte>(detail.plcdetail_db + "." + detail.plcdetail_value)); - } - else if (detail.plcdetail_valtype == typeof(string).Name.ToLower())//瀛楃涓� - { - return (client.Read<string>(detail.plcdetail_db + "." + detail.plcdetail_value, detail.plcdetail_len.GetValueOrDefault())); - } - else - { - throw new Exception($"銆恵detail.plcdetail_remark}銆�,DB鍦板潃{detail.plcdetail_db + "." + detail.plcdetail_value},鏈畾涔夋暟鎹被鍨媨detail.plcdetail_valtype}"); - } + + if (detail.plcdetail_valtype == typeof(int).Name.ToLower())//4瀛楄妭,鏈夌鍙风被鍨� + { + return (client.Read<int>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(uint).Name.ToLower())//4瀛楄妭,鏃犵鍙风被鍨� + { + return (client.Read<uint>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(short).Name.ToLower())//2瀛楄妭,鏈夌鍙风被鍨�,鏈�甯哥敤 + { + return (client.Read<short>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(ushort).Name.ToLower())//2瀛楄妭,鏃犵鍙风被鍨� + { + return (client.Read<ushort>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(float).Name.ToLower())//娴偣鍨� + { + return (client.Read<float>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(bool).Name.ToLower()) + { + return (client.Read<bool>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(byte).Name.ToLower())//瀛楄妭 + { + return (client.Read<byte>(detail.plcdetail_db + "." + detail.plcdetail_value)); + } + else if (detail.plcdetail_valtype == typeof(string).Name.ToLower())//瀛楃涓� + { + return (client.Read<string>(detail.plcdetail_db + "." + detail.plcdetail_value, detail.plcdetail_len.GetValueOrDefault())); + } + else + { + throw new Exception($"銆恵detail.plcdetail_remark}銆�,DB鍦板潃{detail.plcdetail_db + "." + detail.plcdetail_value},鏈畾涔夋暟鎹被鍨媨detail.plcdetail_valtype}"); + } + } + + /// <summary> + /// + /// </summary> + /// <param name="detail"></param> + /// <param name="client"></param> + /// <param name="value"></param> + /// <returns></returns> + public static object Write(dt_plcinfodetail detail, PLCClient client, object value) + { + try + { + return (client.Write(detail.plcdetail_db + "." + detail.plcdetail_value, value)); + } + catch (Exception ex) + { + throw; + } } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs" new file mode 100644 index 0000000..1ebeee2 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToAGV/ToAGVController.cs" @@ -0,0 +1,64 @@ +锘縰sing Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.ToAGV; +using WIDESEA_WCS; + +namespace ToAGV.Controllers +{ + /// <summary> + /// AGV鎺ュ彛 + /// </summary> + [Route("api/ToAGV")] + [ApiController] + public class ToAGVController : ControllerBase + { + /// <summary> + /// AGV鐢宠杩涘叆鍖哄煙 + /// </summary> + /// <param name="saveModel">璇锋眰鍙傛暟</param> + /// <returns></returns> + [HttpPost, Route("AGVRequestin"), Authorize, AllowAnonymous] + public AGVRespone AGVRequestin([FromBody] object saveModel) + { + return ToAGVServer.AGVRequestin(JsonConvert.SerializeObject(saveModel)); + } + /// <summary> + /// AGV姝e湪锛堣繘鍏�/绂诲紑锛� + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + [HttpPost, Route("EnteriorLeav"), Authorize, AllowAnonymous] + public AGVRespone EnteriorLeav([FromBody] object saveModel) + { + return ToAGVServer.EnteriorLeav(JsonConvert.SerializeObject(saveModel)); + } + /// <summary> + /// AGV鏇存柊鍖哄煙鐘舵�� + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + [HttpPost, Route("AGVOutofArea"), Authorize, AllowAnonymous] + public AGVRespone AGVOutofArea([FromBody] object saveModel) + { + return ToAGVServer.AGVOutofArea(JsonConvert.SerializeObject(saveModel)); + } + /// <summary> + /// AGV鑾峰彇妗佹灦鍖哄煙鐘舵�� + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + [HttpPost, Route("GantryOutofArea"), Authorize, AllowAnonymous] + public AGVRespone GantryOutofArea([FromBody] object saveModel) + { + return ToAGVServer.GantryOutofArea(JsonConvert.SerializeObject(saveModel)); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" index 34bdaa6..a796b98 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" @@ -5,6 +5,9 @@ namespace WIDESEA_WebApi.Controllers.ToMes { + /// <summary> + /// MES鎺ュ彛 + /// </summary> [Route("api/ToMes")] [ApiController] public class ToMESController : ControllerBase diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/dt_Interfacerecord_pcsController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/dt_Interfacerecord_pcsController.cs" new file mode 100644 index 0000000..06c344a --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/Partial/dt_Interfacerecord_pcsController.cs" @@ -0,0 +1,33 @@ +/* + *鎺ュ彛缂栧啓澶�... +*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬� +*濡�: [ApiActionPermission("dt_Interfacerecord_pcs",Enums.ActionPermissionOptions.Search)] + */ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http; +using WIDESEA_Entity.DomainModels; +using WIDESEA_System.IServices; + +namespace WIDESEA_System.Controllers +{ + public partial class dt_Interfacerecord_pcsController + { + private readonly Idt_Interfacerecord_pcsService _service;//璁块棶涓氬姟浠g爜 + private readonly IHttpContextAccessor _httpContextAccessor; + + [ActivatorUtilitiesConstructor] + public dt_Interfacerecord_pcsController( + Idt_Interfacerecord_pcsService service, + IHttpContextAccessor httpContextAccessor + ) + : base(service) + { + _service = service; + _httpContextAccessor = httpContextAccessor; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/dt_Interfacerecord_pcsController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/dt_Interfacerecord_pcsController.cs" new file mode 100644 index 0000000..940cfd6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_System/dt_Interfacerecord_pcsController.cs" @@ -0,0 +1,21 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_Interfacerecord_pcsController缂栧啓 + */ +using Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.Controllers.Basic; +using WIDESEA_Entity.AttributeManager; +using WIDESEA_System.IServices; +namespace WIDESEA_System.Controllers +{ + [Route("api/dt_Interfacerecord_pcs")] + [PermissionTable(Name = "dt_Interfacerecord_pcs")] + public partial class dt_Interfacerecord_pcsController : ApiBaseController<Idt_Interfacerecord_pcsService> + { + public dt_Interfacerecord_pcsController(Idt_Interfacerecord_pcsService service) + : base(service) + { + } + } +} + diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Startup.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Startup.cs" index 894bcf0..d792027 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Startup.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Startup.cs" @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using Autofac; @@ -123,12 +124,12 @@ //鍒嗕负2浠芥帴鍙f枃妗� c.SwaggerDoc("v1", new OpenApiInfo { Title = "WIDESEA_Core鍚庡彴Api", Version = "v1", Description = "杩欐槸瀵规枃妗g殑鎻忚堪銆傘��" }); c.SwaggerDoc("v2", new OpenApiInfo { Title = "WIDESEA_Core瀵瑰涓夋柟Api", Version = "v2", Description = "xxx鎺ュ彛鏂囨。" }); //鎺у埗鍣ㄩ噷浣跨敤[ApiExplorerSettings(GroupName = "v2")] - //鍚敤涓枃娉ㄩ噴鍔熻兘 - // var basePath = PlatformServices.Default.Application.ApplicationBasePath; - // var xmlPath = Path.Combine(basePath, "WIDESEA_WebApi.xml"); - // c.IncludeXmlComments(xmlPath, true);//鏄剧ず鎺у埗鍣▁ml娉ㄩ噴鍐呭 - //娣诲姞杩囨护鍣� 鍙嚜瀹氫箟娣诲姞瀵规帶鍒跺櫒鐨勬敞閲婃弿杩� - //c.DocumentFilter<SwaggerDocTag>(); + //鍚敤涓枃娉ㄩ噴鍔熻兘 + // var basePath = PlatformServices.Default.Application.ApplicationBasePath; + // var xmlPath = Path.Combine(basePath, "WIDESEA_WebApi.xml"); + // c.IncludeXmlComments(xmlPath, true);//鏄剧ず鎺у埗鍣▁ml娉ㄩ噴鍐呭 + //娣诲姞杩囨护鍣� 鍙嚜瀹氫箟娣诲姞瀵规帶鍒跺櫒鐨勬敞閲婃弿杩� + //c.DocumentFilter<SwaggerDocTag>(); var security = new Dictionary<string, IEnumerable<string>> { { AppSetting.Secret.Issuer, new string[] { } } }; c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme() @@ -140,7 +141,13 @@ BearerFormat = "JWT", Scheme = "Bearer" }); - + #region 鍚敤涓枃娉ㄩ噴鍔熻兘 + //WIDESEA_WebApi涓嬬殑PropertyGroup娣诲姞<GenerateDocumentationFile>true</GenerateDocumentationFile><!--鍚敤涓枃娉ㄩ噴鍔熻兘--> + //鍚敤涓枃娉ㄩ噴鍔熻兘 + var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; + //IncludeXmlComments true 鏄剧ず鎺у埗鍣ㄦ敞閲� + c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename), true); + #endregion c.AddSecurityRequirement(new OpenApiSecurityRequirement { { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" index d0d5257..511adf7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" @@ -1,39 +1,40 @@ <Project Sdk="Microsoft.NET.Sdk.Web"> - <PropertyGroup> - <TargetFramework>net6.0</TargetFramework> - <Nullable>disable</Nullable> - <UserSecretsId>a3e3c6fb-4b7e-44a6-8dbe-5e5f11af4202</UserSecretsId> - <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS> - </PropertyGroup> + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <Nullable>disable</Nullable> + <UserSecretsId>a3e3c6fb-4b7e-44a6-8dbe-5e5f11af4202</UserSecretsId> + <GenerateDocumentationFile>true</GenerateDocumentationFile><!--鍚敤涓枃娉ㄩ噴鍔熻兘--> + <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS> + </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> - <OutputPath>bin\Debug\netcoreapp6.0\</OutputPath> - <DocumentationFile>bin\Debug\netcoreapp6.0\WIDESEA_WebApi.xml</DocumentationFile> - <NoWarn>1701;1702;CS1591;CS8618;CS8600;CS8602;CS1572;CS1573;CS1587;CS1591;CS1570;CS8765;</NoWarn> - </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> + <OutputPath>bin\Debug\netcoreapp6.0\</OutputPath> + <DocumentationFile>bin\Debug\netcoreapp6.0\WIDESEA_WebApi.xml</DocumentationFile> + <NoWarn>1701;1702;CS1591;CS8618;CS8600;CS8602;CS1572;CS1573;CS1587;CS1591;CS1570;CS8765;</NoWarn> + </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> - <DocumentationFile>bin\Release\netcoreapp6.0\WIDESEA_WebApi.xml</DocumentationFile> - <OutputPath>bin\Release\netcoreapp6.0\</OutputPath> - <NoWarn>1701;1702;CS1572;CS1573;CS1587;CS8618;CS8600;CS8602;CS1591;CS1570;CS8765;</NoWarn> - </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> + <DocumentationFile>bin\Release\netcoreapp6.0\WIDESEA_WebApi.xml</DocumentationFile> + <OutputPath>bin\Release\netcoreapp6.0\</OutputPath> + <NoWarn>1701;1702;CS1572;CS1573;CS1587;CS8618;CS8600;CS8602;CS1591;CS1570;CS8765;</NoWarn> + </PropertyGroup> - <ItemGroup> - <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" /> - <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.0" /> - <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.15.1" /> - <PackageReference Include="Quartz" Version="3.6.3" /> - <PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.0" /> - </ItemGroup> + <ItemGroup> + <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" /> + <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.0" /> + <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.15.1" /> + <PackageReference Include="Quartz" Version="3.6.3" /> + <PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.0" /> + </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\WIDESEA_Builder\WIDESEA_Builder.csproj" /> - <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> - <ProjectReference Include="..\WIDESEA_Entity\WIDESEA_Entity.csproj" /> - <ProjectReference Include="..\WIDESEA_System\WIDESEA_System.csproj" /> - <ProjectReference Include="..\WIDESEA_WCS\WIDESEA_WCS.csproj" /> - </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\WIDESEA_Builder\WIDESEA_Builder.csproj" /> + <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> + <ProjectReference Include="..\WIDESEA_Entity\WIDESEA_Entity.csproj" /> + <ProjectReference Include="..\WIDESEA_System\WIDESEA_System.csproj" /> + <ProjectReference Include="..\WIDESEA_WCS\WIDESEA_WCS.csproj" /> + </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js" new file mode 100644 index 0000000..8935403 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/baseinfo/dt_geometry_data.js" @@ -0,0 +1,75 @@ +/***************************************************************************************** +** Author:jxx 2022 +** QQ:283591387 +**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆� +**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev +**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev +*****************************************************************************************/ +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛� + //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽� + // this.buttons.unshift({ //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍 + // name: '鎸夐挳', //鎸夐挳鍚嶇О + // icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。) + // type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button + // onClick: function () { + // this.$Message.success('鐐瑰嚮浜嗘寜閽�'); + // } + // }); + + //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴� + // this.boxOptions.labelWidth = 150; + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } +}; +export default extension; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" index 6ef59f3..203caa8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" @@ -41,6 +41,12 @@ //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴� // this.boxOptions.labelWidth = 150; + this.pagination.order = "asc"; + this.columns.forEach(row=>{ + if(row.field=="stationCode"){ + row.sort=true; + } + }) this.buttons.splice(1, 0, { name: "鍙栨秷绂佺敤", icon: 'md-refresh', diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js" index d6f5735..9d02714 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/router/viewGird.js" @@ -173,6 +173,10 @@ path: '/Dt_Interfacerecord', name: 'Dt_Interfacerecord', component: () => import('@/views/widesea_system/system/Dt_Interfacerecord.vue') - }] + } ,{ + path: '/dt_geometry_data', + name: 'dt_geometry_data', + component: () => import('@/views/widesea_wms/baseinfo/dt_geometry_data.vue') + }] export default viewgird diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue" new file mode 100644 index 0000000..b74bb98 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/baseinfo/dt_geometry_data.vue" @@ -0,0 +1,73 @@ +<!-- +*Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *涓氬姟璇峰湪@/extension/widesea_wms/baseinfo/dt_geometry_data.js姝ゅ缂栧啓 + --> +<template> + <view-grid ref="grid" + :columns="columns" + :detail="detail" + :editFormFields="editFormFields" + :editFormOptions="editFormOptions" + :searchFormFields="searchFormFields" + :searchFormOptions="searchFormOptions" + :table="table" + :extend="extend"> + </view-grid> +</template> +<script> + import extend from "@/extension/widesea_wms/baseinfo/dt_geometry_data.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: 'TypeId', + footer: "Foots", + cnName: '杞﹁疆淇℃伅', + name: 'baseinfo/dt_geometry_data', + url: "/dt_geometry_data/", + sortName: "TypeId" + }); + const editFormFields = ref({"Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""}); + const editFormOptions = ref([[{"title":"鍥惧彿","required":true,"field":"Description","type":"text"}], + [{"title":"","required":true,"field":"a","type":"text"}, + {"title":"","required":true,"field":"b","type":"text"}], + [{"title":"","required":true,"field":"c","type":"text"}, + {"title":"","required":true,"field":"d","type":"text"}], + [{"title":"","required":true,"field":"e","type":"text"}, + {"title":"","required":true,"field":"f","type":"text"}], + [{"title":"","required":true,"field":"g","type":"text"}, + {"title":"","required":true,"field":"h","type":"decimal"}]]); + const searchFormFields = ref({"Description":""}); + const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"}]]); + const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'}, + {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left',sort:true}, + {field:'a',title:'a',type:'float',width:110,require:true,align:'left'}, + {field:'b',title:'b',type:'float',width:110,require:true,align:'left'}, + {field:'c',title:'c',type:'float',width:110,require:true,align:'left'}, + {field:'d',title:'d',type:'float',width:110,require:true,align:'left'}, + {field:'e',title:'e',type:'float',width:110,require:true,align:'left'}, + {field:'f',title:'f',type:'float',width:110,require:true,align:'left'}, + {field:'g',title:'g',type:'float',width:110,require:true,align:'left'}, + {field:'h',title:'h',type:'float',width:110,require:true,align:'left'}]); + const detail = ref({ + cnName: "#detailCnName", + table: "#detailTable", + columns: [], + sortName: "", + key: "" + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); +</script> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue" index dc7a77d..4f629d1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/views/widesea_wms/system/dt_stationinfo.vue" @@ -29,8 +29,14 @@ url: "/dt_stationinfo/", sortName: "zj" }); - const editFormFields = ref({}); - const editFormOptions = ref([]); + const editFormFields = ref({"stationCode":"","location_state":"","bindSN":"","tray_status":"","Number":"","heatNumber":"","remark":""}); + const editFormOptions = ref([[{"title":"缂撳瓨鏋剁紪鍙�","field":"stationCode","disabled": true}], + [{"dataKey":"location_states","data":[],"title":"璐т綅鐘舵��","field":"location_state","type":"select"}], + [{"title":"杞﹁疆SN鍙�","field":"bindSN"}], + [{"dataKey":"tray_status","data":[],"title":"鎵樼洏鐘舵��","field":"tray_status"}], + [{"title":"宸ュ崟缂栧彿","field":"Number"}], + [{"title":"鐐夊彿","field":"heatNumber","type":"text"}], + [{"title":"澶囨敞","field":"remark"}]]); const searchFormFields = ref({"stationCode":"","stationType":"","area":"","enable":"","location_state":[],"bindSN":""}); const searchFormOptions = ref([[{"title":"缂撳瓨鏋剁紪鍙�","field":"stationCode","type":"like"},{"title":"杞﹁疆SN鍙�","field":"bindSN","type":"like"},{"dataKey":"materielinfos","data":[],"title":"鐗╂枡绫诲瀷","field":"stationType","type":"select"}],[{"dataKey":"area_name","data":[],"title":"鍖哄煙","field":"area","type":"select"},{"dataKey":"location_states","data":[],"title":"璐т綅鐘舵��","field":"location_state","type":"selectList"},{"dataKey":"status","data":[],"title":"鏄惁鍚敤","field":"enable","type":"select"}]]); const columns = ref([{field:'id',title:'id',type:'guid',width:110,hidden:true,readonly:true,require:true,align:'left'}, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" index 9b9a704..5ca29b8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/LogInfo/WriteDBLog.cs" @@ -82,7 +82,7 @@ /// <summary> /// 娣诲姞鏃ュ織 /// </summary> - private static void Write(string describe, object info, LogState logState, string dataFrom, string createuser) + public static void Write(string describe, object info, LogState logState, string dataFrom, string createuser) { try { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Core/UserManager/UserContext.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Core/UserManager/UserContext.cs" index 45dc922..02ae359 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Core/UserManager/UserContext.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Core/UserManager/UserContext.cs" @@ -97,13 +97,14 @@ Role_Id = s.Role_Id.GetInt(), RoleName = s.RoleName, //2022.08.15澧炲姞閮ㄩ棬id - DeptId = s.Dept_Id??0, + DeptId = s.Dept_Id ?? 0, Token = s.Token, UserName = s.UserName, UserTrueName = s.UserTrueName, Enable = s.Enable, - DeptIds= s.DeptIds, - systemType=s.systemType + DeptIds = s.DeptIds, + systemType = s.systemType, + Tel = s.Tel }).ToList().Select(s => new UserInfo() { User_Id = userId, @@ -112,8 +113,9 @@ UserName = s.UserName, UserTrueName = s.UserTrueName, Enable = 1, + Tel = s.Tel, DeptIds = string.IsNullOrEmpty(s.DeptIds) ? new List<Guid>() : s.DeptIds.Split(",").Select(x => (Guid)x.GetGuid()).ToList(), - systemType=s.systemType + systemType = s.systemType }).FirstOrDefault(); if (_userInfo != null && _userInfo.User_Id > 0) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs" new file mode 100644 index 0000000..96e0d5f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs" @@ -0,0 +1,113 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel + */ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Entity.SystemModels; + +namespace WIDESEA_Entity.DomainModels +{ + [Entity(TableCnName = "杞﹁疆淇℃伅",TableName = "dt_geometry_data")] + public partial class dt_geometry_data:BaseEntity + { + /// <summary> + /// + /// </summary> + [Key] + [Display(Name ="TypeId")] + [Column(TypeName="int")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public int TypeId { get; set; } + + /// <summary> + ///鍥惧彿 + /// </summary> + [Display(Name ="鍥惧彿")] + [MaxLength(100)] + [Column(TypeName="nvarchar(100)")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public string Description { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="a")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float a { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="b")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float b { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="c")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float c { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="d")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float d { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="e")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float e { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="f")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float f { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="g")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float g { get; set; } + + /// <summary> + /// + /// </summary> + [Display(Name ="h")] + [Column(TypeName="float")] + [Editable(true)] + [Required(AllowEmptyStrings=false)] + public float h { get; set; } + + + } +} \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs" new file mode 100644 index 0000000..2808f8b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs" @@ -0,0 +1,21 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel + */ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Entity.SystemModels; + +namespace WIDESEA_Entity.DomainModels +{ + + public partial class dt_geometry_data + { + //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯� + } +} \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/UserInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/UserInfo.cs" index c19e64d..23fb703 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/UserInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/UserInfo.cs" @@ -36,5 +36,6 @@ public List<Guid> DeptIds { get; set; } public string Token { get; set; } + public string Tel { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" index 3000592..9d4b5ba 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" @@ -111,9 +111,9 @@ public DateTime agv_createtime { get; set; } /// <summary> - ///鎵ц鏃堕棿 + ///涓嬪彂鏃堕棿 /// </summary> - [Display(Name = "鎵ц鏃堕棿")] + [Display(Name = "涓嬪彂鏃堕棿")] [Column(TypeName = "datetime")] [Editable(true)] public DateTime? agv_realesstime { get; set; } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs" new file mode 100644 index 0000000..529e30f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs" @@ -0,0 +1,16 @@ +using WIDESEA_Entity.MappingConfiguration; +using WIDESEA_Entity.DomainModels; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace WIDESEA_Entity.MappingConfiguration +{ + public class dt_geometry_dataMapConfig : EntityMappingConfiguration<dt_geometry_data> + { + public override void Map(EntityTypeBuilder<dt_geometry_data> + builderTable) + { + //b.Property(x => x.StorageName).HasMaxLength(45); + } + } +} + diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs" index b2cc9e8..06d3ac2 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/AGVRespone.cs" @@ -6,6 +6,9 @@ namespace WIDESEA_Entity.ToAGV { + /// <summary> + /// 鍙嶉缁橝GV淇℃伅 + /// </summary> public class AGVRespone { /// <summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" index 04c7c5f..d8a0556 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" @@ -6,6 +6,9 @@ namespace WIDESEA_Entity.ToAGV { + /// <summary> + /// 浠诲姟涓嬪彂淇℃伅 + /// </summary> public class RequestTask { /// <summary> @@ -21,13 +24,40 @@ /// </summary> public string TO_POSITION { get; set; } /// <summary> + /// 浠诲姟绛夌骇 + /// </summary> + public int? Grade { get; set; } + /// <summary> + /// 鏁伴噺 + /// </summary> + public int? Quantity { get; set; } + /// <summary> /// 鐗╂枡淇℃伅 /// </summary> public string Material { get; set; } + #region 杞﹁疆鏁版嵁 + public float A { get; set; } + public float B { get; set; } + public float C { get; set; } + public float D { get; set; } + public float E { get; set; } + public float F { get; set; } + public float G { get; set; } + public float H { get; set; } + #endregion + } + /// <summary> + /// AGV鍙嶉淇℃伅 + /// </summary> + public class Respone + { /// <summary> - /// 浠诲姟绛夌骇 + /// 1鎴愬姛 /// </summary> - public int? Priority { get; set; } - public int? agv_qty { get; set; } + public bool Success { get; set; } + /// <summary> + /// 澶辫触锛岃繑鍥炲け璐ヤ俊鎭� + /// </summary> + public string Msg { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" new file mode 100644 index 0000000..91d5fbc --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" @@ -0,0 +1,18 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_geometry_dataRepository缂栧啓鎺ュ彛 + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Extensions.AutofacManager; +namespace WIDESEA_WCS.IRepositories +{ + public partial interface Idt_geometry_dataRepository : IDependency,IRepository<dt_geometry_data> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs" new file mode 100644 index 0000000..7c53170 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs" @@ -0,0 +1,12 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + */ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WCS.IServices +{ + public partial interface Idt_geometry_dataService : IService<dt_geometry_data> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" new file mode 100644 index 0000000..e18b7d8 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" @@ -0,0 +1,13 @@ +/* +*鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓 +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +namespace WIDESEA_WCS.IServices +{ + public partial interface Idt_geometry_dataService + { + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" new file mode 100644 index 0000000..52e5a80 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" @@ -0,0 +1,24 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_geometry_dataRepository缂栧啓浠g爜 + */ +using WIDESEA_WCS.IRepositories; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WCS.Repositories +{ + public partial class dt_geometry_dataRepository : RepositoryBase<dt_geometry_data> , Idt_geometry_dataRepository + { + public dt_geometry_dataRepository(VOLContext dbContext) + : base(dbContext) + { + + } + public static Idt_geometry_dataRepository Instance + { + get { return AutofacContainerModule.GetService<Idt_geometry_dataRepository>(); } } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" new file mode 100644 index 0000000..5104dfb --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" @@ -0,0 +1,41 @@ +/* + *鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓 +*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭� +*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction +*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭� +*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔 +*dt_geometry_dataService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; +using System.Linq; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +using WIDESEA_Core.Extensions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http; +using WIDESEA_WCS.IRepositories; + +namespace WIDESEA_WCS.Services +{ + public partial class dt_geometry_dataService + { + private readonly IHttpContextAccessor _httpContextAccessor; + private readonly Idt_geometry_dataRepository _repository;//璁块棶鏁版嵁搴� + + [ActivatorUtilitiesConstructor] + public dt_geometry_dataService( + Idt_geometry_dataRepository dbRepository, + IHttpContextAccessor httpContextAccessor + ) + : base(dbRepository) + { + _httpContextAccessor = httpContextAccessor; + _repository = dbRepository; + //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢� + //base.Init(dbRepository); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs" new file mode 100644 index 0000000..c1faaa6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs" @@ -0,0 +1,27 @@ +/* + *Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_geometry_dataService涓嶪dt_geometry_dataService涓紪鍐� + */ +using WIDESEA_WCS.IRepositories; +using WIDESEA_WCS.IServices; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WCS.Services +{ + public partial class dt_geometry_dataService : ServiceBase<dt_geometry_data, Idt_geometry_dataRepository> + , Idt_geometry_dataService, IDependency + { + public dt_geometry_dataService(Idt_geometry_dataRepository repository) + : base(repository) + { + Init(repository); + } + public static Idt_geometry_dataService Instance + { + get { return AutofacContainerModule.GetService<Idt_geometry_dataService>(); } } + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs" new file mode 100644 index 0000000..cc86be5 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs" @@ -0,0 +1,91 @@ +锘縰sing Newtonsoft.Json; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Policy; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Common; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.FreeDB; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.ToAGV; +using WIDESEA_WMS.IRepositories; +using WIDESEA_WMS.Repositories; + +namespace WIDESEA_WMS.Common +{ + public partial class AGVServer + { + static FreeDB freeDB = new FreeDB(); + static Respone respone = new Respone(); + static RequestTask requestTask = new RequestTask(); + static string postJson = string.Empty; + static string report = string.Empty; + /// <summary> + /// 浠诲姟涓嬪彂 + /// </summary> + public static void SendAgvTask() + { + try + { + var agv_task = freeDB.Select<dt_agvtask>() + .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString() + && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound") + && string.IsNullOrEmpty(t.agv_remark)) + .OrderByDescending(t => t.agv_grade) + .OrderBy(t => t.agv_createtime) + .First(); + if (agv_task == null) + agv_task = freeDB.Select<dt_agvtask>() + .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString() + && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound") + && !string.IsNullOrEmpty(t.agv_remark)) + .OrderByDescending(t => t.agv_grade) + .OrderBy(t => t.agv_createtime) + .First(); + if (agv_task != null) + { + var Materiel = QueryData.QueryMateriel(agv_task.agv_materielid);//鏌ユ壘杞﹁疆鏁版嵁 + if (Materiel == null) + { + agv_task.agv_remark = "鏈幏鍙栧埌褰撳墠浠诲姟鐨勮溅杞暟鎹�"; + freeDB.Update(agv_task).UpdateColumns(t => new { t.agv_remark }).ExecuteAffrows(); + throw new Exception("鏈煡璇㈠埌褰撳墠浠诲姟鐨勮溅杞被鍨嬫暟鎹紝浠诲姟ID锛�" + agv_task.agv_tasknum); + } + requestTask.TASK_NO = agv_task.agv_tasknum; + requestTask.FROM_POSITION = agv_task.agv_fromaddress; + requestTask.TO_POSITION = agv_task.agv_toaddress; + requestTask.Material = agv_task.agv_materielid; + requestTask.Grade = agv_task.agv_grade; + requestTask.Quantity = agv_task.agv_qty; + requestTask.A = Materiel.a; + requestTask.B = Materiel.b; + requestTask.C = Materiel.c; + requestTask.D = Materiel.d; + requestTask.E = Materiel.e; + requestTask.F = Materiel.f; + requestTask.G = Materiel.g; + requestTask.H = Materiel.h; + postJson = JsonConvert.SerializeObject(requestTask); + report = Request.RequestData(postJson, "http://192.168.12.250:5566/api/TaskCreat/CreatTask"); + respone = JsonConvert.DeserializeObject<Respone>(report); + if (respone.Success) + { + agv_task.agv_taskstate = AGVTaskStateEnum.SendOut.ToString(); + agv_task.agv_realesstime = DateTime.Now; + freeDB.Update(agv_task).UpdateColumns(t => new { t.agv_realesstime, t.agv_taskstate }).ExecuteAffrows(); + } + } + } + catch (Exception ex) + { + respone.Success = false; + respone.Msg = ex.Message; + } + WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.Success ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" similarity index 97% rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs" rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" index 9ebde49..210fd6c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" @@ -12,11 +12,11 @@ using WIDESEA_WMS.IRepositories; using WIDESEA_WMS.Repositories; -namespace WIDESEA_WMS +namespace WIDESEA_WMS.Common { - public class Task + public class HandleTask { - static FreeDB freeDB = new FreeDB(); + public static FreeDB freeDB = new FreeDB(); /// <summary> /// 娣诲姞鍘嗗彶浠诲姟 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs" similarity index 69% rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs" rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs" index b214806..7a0c321 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Gantry/QueryData.cs" @@ -6,7 +6,7 @@ using WIDESEA_Core.FreeDB; using WIDESEA_Entity.DomainModels; -namespace WIDESEA_WMS +namespace WIDESEA_WMS.Common { public class QueryData { @@ -16,9 +16,9 @@ /// </summary> /// <param name="type"></param> /// <returns></returns> - public static dt_materielinfo QueryMateriel(string type) + public static dt_geometry_data QueryMateriel(string type) { - var materielinfo = freeDB.Select<dt_materielinfo>().Where(x => x.materiel_id == type).First(); + var materielinfo = freeDB.Select<dt_geometry_data>().Where(x => x.TypeId.ToString() == type).First(); return materielinfo; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" new file mode 100644 index 0000000..3ee761f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" @@ -0,0 +1,18 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_geometry_dataRepository缂栧啓鎺ュ彛 + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Extensions.AutofacManager; +namespace WIDESEA_WMS.IRepositories +{ + public partial interface Idt_geometry_dataRepository : IDependency,IRepository<dt_geometry_data> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_dataService.cs" new file mode 100644 index 0000000..9eb67c5 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Idt_geometry_dataService.cs" @@ -0,0 +1,12 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + */ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WMS.IServices +{ + public partial interface Idt_geometry_dataService : IService<dt_geometry_data> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" new file mode 100644 index 0000000..27e0dfb --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" @@ -0,0 +1,13 @@ +/* +*鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓 +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +namespace WIDESEA_WMS.IServices +{ + public partial interface Idt_geometry_dataService + { + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" index 68454cc..dca2268 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/IServices/system/Partial/Idt_stationinfoService.cs" @@ -9,5 +9,6 @@ { public partial interface Idt_stationinfoService { + WebResponseContent SetStationEnable(object parm); } - } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" new file mode 100644 index 0000000..55cf77e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" @@ -0,0 +1,24 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_geometry_dataRepository缂栧啓浠g爜 + */ +using WIDESEA_WMS.IRepositories; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WMS.Repositories +{ + public partial class dt_geometry_dataRepository : RepositoryBase<dt_geometry_data> , Idt_geometry_dataRepository + { + public dt_geometry_dataRepository(VOLContext dbContext) + : base(dbContext) + { + + } + public static Idt_geometry_dataRepository Instance + { + get { return AutofacContainerModule.GetService<Idt_geometry_dataRepository>(); } } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" new file mode 100644 index 0000000..6a808ba --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" @@ -0,0 +1,41 @@ +/* + *鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓 +*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭� +*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction +*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭� +*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔 +*dt_geometry_dataService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter +*/ +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; +using System.Linq; +using WIDESEA_Core.Utilities; +using System.Linq.Expressions; +using WIDESEA_Core.Extensions; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http; +using WIDESEA_WMS.IRepositories; + +namespace WIDESEA_WMS.Services +{ + public partial class dt_geometry_dataService + { + private readonly IHttpContextAccessor _httpContextAccessor; + private readonly Idt_geometry_dataRepository _repository;//璁块棶鏁版嵁搴� + + [ActivatorUtilitiesConstructor] + public dt_geometry_dataService( + Idt_geometry_dataRepository dbRepository, + IHttpContextAccessor httpContextAccessor + ) + : base(dbRepository) + { + _httpContextAccessor = httpContextAccessor; + _repository = dbRepository; + //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢� + //base.Init(dbRepository); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_dataService.cs" new file mode 100644 index 0000000..5bd4a89 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/BaseInfo/dt_geometry_dataService.cs" @@ -0,0 +1,27 @@ +/* + *Author锛歫xx + *Contact锛�283591387@qq.com + *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_geometry_dataService涓嶪dt_geometry_dataService涓紪鍐� + */ +using WIDESEA_WMS.IRepositories; +using WIDESEA_WMS.IServices; +using WIDESEA_Core.BaseProvider; +using WIDESEA_Core.Extensions.AutofacManager; +using WIDESEA_Entity.DomainModels; + +namespace WIDESEA_WMS.Services +{ + public partial class dt_geometry_dataService : ServiceBase<dt_geometry_data, Idt_geometry_dataRepository> + , Idt_geometry_dataService, IDependency + { + public dt_geometry_dataService(Idt_geometry_dataRepository repository) + : base(repository) + { + Init(repository); + } + public static Idt_geometry_dataService Instance + { + get { return AutofacContainerModule.GetService<Idt_geometry_dataService>(); } } + } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" index 4b4f70c..9bb2ced 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs" @@ -17,9 +17,19 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Http; using WIDESEA_WMS.IRepositories; +using Newtonsoft.Json; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Core.FreeDB; +using WIDESEA_Core.ManageUser; +using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; namespace WIDESEA_WMS.Services { + public class Parm + { + public List<string> data { get; set; } + public int type { get; set; } + } public partial class dt_stationinfoService { private readonly IHttpContextAccessor _httpContextAccessor; @@ -37,6 +47,53 @@ //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢� //base.Init(dbRepository); } + FreeDB freeDB=new FreeDB(); + /// <summary> + /// 璁剧疆缂撳瓨鏋剁鐢ㄥ惎鐢� + /// </summary> + /// <param name="json"></param> + /// <returns></returns> + public WebResponseContent SetStationEnable(object json) + { + WebResponseContent webResponse = new WebResponseContent(); + try + { + var Tel = UserContext.Current.UserInfo.Tel;//缂撳瓨鏋舵潈闄� + var data = JsonConvert.DeserializeObject<Parm>(json.ToString()); + //var updateList = FreeDB.DB.Select<dt_stationinfo>().Where(t => data.data.Contains(t.id.ToString())).ToList(); + var updateList = _repository.Find(x => data.data.Contains(x.id.ToString())).ToList(); + if (!string.IsNullOrEmpty(Tel)) + { + var types = Tel.Split(','); + foreach (var update in updateList) + { + var OK = false; + foreach (var type in types) + { + if (update.stationCode.Contains(type)) + OK = true; + } + if (!OK) throw new Exception("褰撳墠璐﹀彿鏃犵鐢ㄦ潈闄�!"); + } + } + + var res = freeDB.Update<dt_stationinfo>() + .Set(t => t.enable, data.type == 1) + .Where(t => data.data.Contains(t.id.ToString())) + .ExecuteAffrows(); + + var msg = data.type == 1 ? "鍚敤" : "绂佺敤"; + WriteDBLog.Write($"鎵嬪姩{msg}绔欑偣 ", $"{string.Join('銆�', updateList.Select(t => t.stationCode).ToArray())}", LogState.Sucess, "WCS", UserContext.Current.UserName); + + webResponse.OK(); + } + catch (Exception ex) + { + WriteDBLog.Write($"鎵嬪姩鍚敤鎴栫鐢ㄧ珯鐐� ", new { 閿欒淇℃伅 = ex.Message, 鏁版嵁 = json }, LogState.Error, "WCS", UserContext.Current.UserName); + webResponse.Error(ex.Message); + } + return webResponse; + } public override WebResponseContent Add(SaveModel saveDataModel) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" index 80e2015..1a470f2 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" @@ -1,18 +1,10 @@ 锘縰sing Newtonsoft.Json; -using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Security.Policy; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; using WIDESEA_Comm.LogInfo; using WIDESEA_Common; using WIDESEA_Core.EFDbContext; using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.ToAGV; +using WIDESEA_WMS.Common; using WIDESEA_WMS.IRepositories; using WIDESEA_WMS.Repositories; @@ -36,6 +28,8 @@ if (string.IsNullOrEmpty(json) || json == "null") throw new Exception("鏈幏鍙栧埌璇锋眰鍙傛暟鏁版嵁"); tasteInfo = JsonConvert.DeserializeObject<UpdateTasteInfo>(json); + if (tasteInfo == null) + throw new Exception("璇锋眰鍙傛暟鏍煎紡涓嶅锛�"); if (string.IsNullOrEmpty(tasteInfo.TASK_NO)) throw new Exception("鏈幏鍙栧埌浠诲姟鍙�!"); var task = repository.FindFirst(x => x.agv_tasknum == tasteInfo.TASK_NO); @@ -47,7 +41,8 @@ if (task.agv_taskstate == StateName) { respone.success = 2; - throw new Exception(tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State); + respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State; + return respone; } if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing) task.agv_executingBeginTime = DateTime.Now; @@ -61,9 +56,9 @@ throw new Exception("浠诲姟鐘舵�佹洿鏂板け璐ワ紒浠诲姟ID锛�" + tasteInfo.TASK_NO + "锛涗换鍔$姸鎬侊細" + tasteInfo.TASK_State); if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1) { - Task.AddHtyTask(task); - Task.Updateinventory(task); - Task.AutoUpdateHCJState(task); + HandleTask.AddHtyTask(task); + HandleTask.Updateinventory(task); + HandleTask.AutoUpdateHCJState(task); } } catch (Exception ex) @@ -76,44 +71,6 @@ WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message); } return respone; - } - - /// <summary> - /// 涓嬪彂AGV浠诲姟 - /// </summary> - /// <param name="agvtask"></param> - public static void SendAGVTask(dt_agvtask agvtask) - { - if (agvtask == null) return; - VOLContext context = new VOLContext(); - Idt_agvtaskRepository repository = new dt_agvtaskRepository(context); - AGVRespone respone = new AGVRespone(); - RequestTask requestTask = new RequestTask(); - string postJson = string.Empty; - string report = string.Empty; - string url = "http://127.0.0.1/api/TaskCreat/CreatTask"; - try - { - requestTask.TASK_NO = agvtask.agv_tasknum; - requestTask.FROM_POSITION = agvtask.agv_fromaddress; - requestTask.TO_POSITION = agvtask.agv_toaddress; - requestTask.Material = agvtask.agv_materielid; - requestTask.Priority = agvtask.agv_grade; - requestTask.agv_qty = agvtask.agv_qty; - postJson = JsonConvert.SerializeObject(requestTask); - report = Request.RequestData(postJson, url); - respone = JsonConvert.DeserializeObject<AGVRespone>(report); - if (respone.success != 1) - throw new Exception(respone.Message); - agvtask.agv_taskstate = AGVTaskStateEnum.SendOut.ToString(); - agvtask.agv_realesstime = DateTime.Now; - repository.Update(agvtask, true); - } - catch (Exception ex) - { - respone.Message = ex.Message; - } - WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Message); } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs" index 4e1c021..371f541 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs" @@ -3,15 +3,16 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using WIDESEA_WMS.Common; namespace WIDESEA_WebApi.Controllers { public class JobTask : Job { - [Invoke(Begin = "2024-01-19 00:00", Interval = 1000*5, /*IsEnabled = true,*/ SkipWhileExecuting = true)] + [Invoke(Begin = "2024-01-01 00:00", Interval = 1000 * 5, /*IsEnabled = true,*/ SkipWhileExecuting = true)] public void TaskTime() { - //Console.WriteLine(DateTime.Now.ToString()); + AGVServer.SendAgvTask(); } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_dataController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_dataController.cs" new file mode 100644 index 0000000..e203ccd --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_geometry_dataController.cs" @@ -0,0 +1,33 @@ +/* + *鎺ュ彛缂栧啓澶�... +*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬� +*濡�: [ApiActionPermission("dt_geometry_data",Enums.ActionPermissionOptions.Search)] + */ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNetCore.Http; +using WIDESEA_Entity.DomainModels; +using WIDESEA_WMS.IServices; + +namespace WIDESEA_WMS.Controllers +{ + public partial class dt_geometry_dataController + { + private readonly Idt_geometry_dataService _service;//璁块棶涓氬姟浠g爜 + private readonly IHttpContextAccessor _httpContextAccessor; + + [ActivatorUtilitiesConstructor] + public dt_geometry_dataController( + Idt_geometry_dataService service, + IHttpContextAccessor httpContextAccessor + ) + : base(service) + { + _service = service; + _httpContextAccessor = httpContextAccessor; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" index 2faee8d..60d8fba 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/Partial/dt_stationinfoController.cs" @@ -11,6 +11,8 @@ using Microsoft.AspNetCore.Http; using WIDESEA_Entity.DomainModels; using WIDESEA_WMS.IServices; +using WIDESEA_Core.Utilities; +using WIDESEA_WMS.Services; namespace WIDESEA_WMS.Controllers { @@ -29,5 +31,15 @@ _service = service; _httpContextAccessor = httpContextAccessor; } + /// <summary> + /// 璁剧疆缂撳瓨鏋剁鐢ㄥ惎鐢� + /// </summary> + /// <param name="parm"></param> + /// <returns></returns> + [HttpPost, Route("SetStationEnable")] + public WebResponseContent SetStationEnable([FromBody] object parm) + { + return dt_stationinfoService.Instance.SetStationEnable(parm); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_dataController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_dataController.cs" new file mode 100644 index 0000000..ce32c54 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WMS/dt_geometry_dataController.cs" @@ -0,0 +1,21 @@ +/* + *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� + *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_geometry_dataController缂栧啓 + */ +using Microsoft.AspNetCore.Mvc; +using WIDESEA_Core.Controllers.Basic; +using WIDESEA_Entity.AttributeManager; +using WIDESEA_WMS.IServices; +namespace WIDESEA_WMS.Controllers +{ + [Route("api/dt_geometry_data")] + [PermissionTable(Name = "dt_geometry_data")] + public partial class dt_geometry_dataController : ApiBaseController<Idt_geometry_dataService> + { + public dt_geometry_dataController(Idt_geometry_dataService service) + : base(service) + { + } + } +} + diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" index e7aeb61..d997766 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" @@ -36,5 +36,9 @@ <ProjectReference Include="..\WIDESEA_WMS\WIDESEA_WMS.csproj" /> </ItemGroup> + <ItemGroup> + <Folder Include="Controllers\WIDESEA_WCS\Partial\" /> + </ItemGroup> + </Project> diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt" index 66329d5..fe69923 100644 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt" +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt" @@ -12,6 +12,8 @@ 搴撳尯:鏈�澶у��,鏈�灏忓��,鎸夊瀷鍙�,鎸夌倝鍙�,鎸夊簱鍖烘憜鏀�(姣斿搴撳尯2婊′簡璁惧厛鏀惧簱鍖�3/4) +鍔ㄨ溅杞﹁疆鎵嶉渶瑕佷娇鐢ㄧ珫鍨嬫墭鐩�(鍙湁涓夊崟鍏冧細浣跨敤)锛氬彲鍦ㄨ溅杞暟鎹〃娣诲姞瀛楁锛堟墭鐩樼被鍨嬨�佹槸鍚﹀姞宸ワ級 + 鍏ュ簱 鍑哄簱 澶栧崗鍏ュ簱 diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276\0501\051.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276\0501\051.pdf" new file mode 100644 index 0000000..be86569 --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276\0501\051.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" deleted file mode 100644 index 03e8f96..0000000 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" +++ /dev/null Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" deleted file mode 100644 index 2d5c8ac..0000000 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" +++ /dev/null Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Gantry.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Gantry.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Gantry.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Gantry.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Machine.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Machine.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Machine.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO Machine.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO VK.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO VK.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO VK.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO VK.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO WP.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO WP.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO WP.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS INFO WP.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ GEOMETRY.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ GEOMETRY.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ GEOMETRY.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ GEOMETRY.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS REQ.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_input.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_input.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_input.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_input.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_machine.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_machine.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_machine.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS RES_machine.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS SERVERS.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS SERVERS.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS SERVERS.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/interface PMS SERVERS.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" new file mode 100644 index 0000000..ad813fd --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\345\222\214\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" new file mode 100644 index 0000000..d24434a --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface PCS for AGV and Storage.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface PCS for AGV and Storage.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface PCS for AGV and Storage.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface PCS for AGV and Storage.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface to AGV\0501\051.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface to AGV\0501\051.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface to AGV\0501\051.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/Interface to AGV\0501\051.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS REQ GEOMETRY 4 inputs.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS REQ GEOMETRY 4 inputs.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS REQ GEOMETRY 4 inputs.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS REQ GEOMETRY 4 inputs.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS RES_inputs_conv_feed.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS RES_inputs_conv_feed.pdf" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS RES_inputs_conv_feed.pdf" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\350\267\237AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/interface PMS RES_inputs_conv_feed.pdf" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\344\270\216AGV\346\216\245\345\217\243/AGV\345\217\215\351\246\210\344\273\273\345\212\241\347\212\266\346\200\201\347\273\231WMS.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\344\270\216AGV\346\216\245\345\217\243/AGV\345\217\215\351\246\210\344\273\273\345\212\241\347\212\266\346\200\201\347\273\231WMS.xlsx" deleted file mode 100644 index d3fbe7e..0000000 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\344\270\216AGV\346\216\245\345\217\243/AGV\345\217\215\351\246\210\344\273\273\345\212\241\347\212\266\346\200\201\347\273\231WMS.xlsx" +++ /dev/null Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214AGV\346\216\245\345\217\243/WMS\343\200\201PCS\345\222\214AGV\346\216\245\345\217\243\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214AGV\346\216\245\345\217\243/WMS\343\200\201PCS\345\222\214AGV\346\216\245\345\217\243\345\215\217\350\256\256.xlsx" new file mode 100644 index 0000000..0ca77ad --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214AGV\346\216\245\345\217\243/WMS\343\200\201PCS\345\222\214AGV\346\216\245\345\217\243\345\215\217\350\256\256.xlsx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\344\270\216AGV\346\216\245\345\217\243/WMS\344\270\213\345\217\221\344\273\273\345\212\241\347\273\231AGV.png" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214AGV\346\216\245\345\217\243/WMS\344\270\213\345\217\221\344\273\273\345\212\241\347\273\231AGV.png" similarity index 100% rename from "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\344\270\216AGV\346\216\245\345\217\243/WMS\344\270\213\345\217\221\344\273\273\345\212\241\347\273\231AGV.png" rename to "\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214AGV\346\216\245\345\217\243/WMS\344\270\213\345\217\221\344\273\273\345\212\241\347\273\231AGV.png" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\344\270\213\345\217\221AGV\346\225\260\346\215\256.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\344\270\213\345\217\221AGV\346\225\260\346\215\256.docx" new file mode 100644 index 0000000..8e138b7 --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\344\270\213\345\217\221AGV\346\225\260\346\215\256.docx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\346\216\245\346\224\266AGV\346\225\260\346\215\256\346\216\245\345\217\243.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\346\216\245\346\224\266AGV\346\225\260\346\215\256\346\216\245\345\217\243.docx" new file mode 100644 index 0000000..dfab3ba --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WMS\345\222\214MES\346\216\245\345\217\243/MES\346\216\245\346\224\266AGV\346\225\260\346\215\256\346\216\245\345\217\243.docx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\345\215\217\350\256\256/\345\244\252\351\207\215\344\272\244\344\272\222-\345\272\223\345\217\243\347\212\266\346\200\201_V1.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\345\215\217\350\256\256/\345\244\252\351\207\215\344\272\244\344\272\222-\345\272\223\345\217\243\347\212\266\346\200\201_V1.xlsx" index ef652c2..d93ee39 100644 --- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\345\215\217\350\256\256/\345\244\252\351\207\215\344\272\244\344\272\222-\345\272\223\345\217\243\347\212\266\346\200\201_V1.xlsx" +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\345\215\217\350\256\256/\345\244\252\351\207\215\344\272\244\344\272\222-\345\272\223\345\217\243\347\212\266\346\200\201_V1.xlsx" Binary files differ diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215.xlsx" new file mode 100644 index 0000000..cf6b7f8 --- /dev/null +++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215.xlsx" Binary files differ -- Gitblit v1.9.3