From 413f243b73ef073f4ac83889fda2f5bf6d1e727c Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 08 一月 2025 10:17:32 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs | 146 +- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs | 12 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs | 32 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 4 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c1f85c39-42dc-41e9-adff-a1cd854fb661.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 1 代码管理/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue | 209 ++- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_MesOutboundOrder.cs | 109 + 代码管理/WMS/WIDESEA_WMSClient/src/views/system/Sys_Log.vue | 363 ++--- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/LambdaExtensions.cs | 65 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs | 5 代码管理/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue | 1 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs | 70 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/EntityProperties.cs | 45 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs | 3 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs | 5 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs | 5 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs | 81 - 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs | 74 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletCodeInfo.cs | 3 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs | 3 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/StackerCraneJob_GM.cs | 123 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail_Hty.cs | 91 - 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/HttpContextExtension.cs | 24 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs | 4 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs | 252 +++- 代码管理/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue | 372 +++--- 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ad2b9174-0600-4c25-b074-3f17231855fc.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs | 88 - 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b19083a-8625-44e6-abf9-57afb81eb2ae.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/WebSocketSetup.cs | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IMesOutboundOrderRepository.cs | 14 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/System/Sys_Log.cs | 9 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 2 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/ccde3d97-2f8a-4b5d-8f51-c9c973f8e004.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs | 16 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/MesOutboundOrderType.cs | 27 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs | 15 代码管理/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue | 2 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/169371da-5bcd-4f62-bffa-65387df1ce50.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SubstrateModel.cs | 90 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundService.cs | 4 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/SwaggerContextExtension.cs | 72 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WIDESEA_DTO.csproj | 17 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrder.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/WIDESEA_Model.csproj | 25 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs | 35 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs | 3 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/ConveyorLineJob_GM.cs | 25 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletTypeInfo.cs | 20 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0533fbe9-c978-41ba-a3ad-5b6c54002ad8.vsidx | 0 代码管理/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue | 1 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 3 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ConveyorWorkTypeEnum.cs | 17 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f1ba7a1a-5550-4f7c-abf4-712c6fab55a2.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs | 76 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 35 /dev/null | 23 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/ConveyorLineJob_BC.cs | 205 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesOutboundOrderService.cs | 17 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs | 8 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs | 107 - 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/MesOutboundOrderRepository.cs | 18 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs | 3 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/测试架仓/StackerCraneJob_CSJ.cs | 15 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs | 71 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_UserController.cs | 32 76 files changed, 2,075 insertions(+), 1,216 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue" index 5e99f33..f761927 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue" @@ -113,7 +113,7 @@ showDetialBox: false, row: {}, steps: [], - viewType: 1, + viewType: 2, height: "200px", tableData: [], previousShow: false, diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue" index 9742628..703f91e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue" @@ -4,67 +4,154 @@ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩� *涓氬姟璇峰湪@/extension/system/Sys_Log.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> + <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/system/Sys_Log.js"; - import { ref, defineComponent } from "vue"; - export default defineComponent({ - setup() { - const table = ref({ - key: 'Id', - footer: "Foots", - cnName: '绯荤粺鏃ュ織', - name: 'Sys_Log', - url: "/Sys_Log/", - sortName: "Id" - }); - const editFormFields = ref({}); - const editFormOptions = ref([]); - const searchFormFields = ref({"BeginDate":"","Url":"","LogType":[],"Success":[],"UserIP":"","ServiceIP":"","Role_Id":""}); - const searchFormOptions = ref([[{"title":"璇锋眰鍦板潃","field":"Url","type":"text"},{"title":"鐢ㄦ埛IP","field":"UserIP","type":"text"},{"title":"鏈嶅姟鍣↖P","field":"ServiceIP","type":"text"}],[{"title":"寮�濮嬫椂闂�","field":"BeginDate","type":"datetime"},{"dataKey":"restatus","data":[],"title":"鍝嶅簲鐘舵��","field":"Success","type":"selectList"},{"dataKey":"roles","data":[],"title":"瑙掕壊ID","field":"Role_Id","type":"select"}],[{"dataKey":"log","data":[],"title":"鏃ュ織绫诲瀷","field":"LogType","colSize":12,"type":"checkbox"}]]); - const columns = ref([{field:'Id',title:'Id',type:'int',width:90,hidden:true,readonly:true,require:true,align:'left'}, - {field:'BeginDate',title:'寮�濮嬫椂闂�',type:'datetime',width:140,align:'left',sortable:true}, - {field:'UserName',title:'鐢ㄦ埛鍚嶇О',type:'string',width:90,align:'left'}, - {field:'Url',title:'璇锋眰鍦板潃',type:'string',width:110,align:'left'}, - {field:'LogType',title:'鏃ュ織绫诲瀷',type:'string',bind:{ key:'log',data:[]},width:80,align:'left'}, - {field:'Success',title:'鍝嶅簲鐘舵��',type:'int',bind:{ key:'restatus',data:[]},width:80,align:'left'}, - {field:'ElapsedTime',title:'鏃堕暱',type:'int',width:60,align:'left'}, - {field:'RequestParameter',title:'璇锋眰鍙傛暟',type:'string',width:70,align:'left'}, - {field:'ResponseParameter',title:'鍝嶅簲鍙傛暟',type:'string',width:70,align:'left'}, - {field:'ExceptionInfo',title:'寮傚父淇℃伅',type:'string',width:70,align:'left'}, - {field:'UserIP',title:'鐢ㄦ埛IP',type:'string',width:90,align:'left'}, - {field:'ServiceIP',title:'鏈嶅姟鍣↖P',type:'string',width:90,hidden:true,align:'left'}, - {field:'BrowserType',title:'娴忚鍣ㄧ被鍨�',type:'string',width:90,align:'left'}, - {field:'User_Id',title:'鐢ㄦ埛ID',type:'int',width:90,hidden:true,align:'left'}, - {field:'Role_Id',title:'瑙掕壊ID',type:'int',bind:{ key:'roles',data:[]},width:90,hidden:true,align:'left'}, - {field:'EndDate',title:'缁撴潫鏃堕棿',type:'datetime',width:150,hidden:true,align:'left',sortable:true}]); - const detail = ref({ - cnName: "#detailCnName", - columns: [], - sortName: "", - key: "" - }); - return { - table, - extend, - editFormFields, - editFormOptions, - searchFormFields, - searchFormOptions, - columns, - detail, - }; - }, + <script> +import extend from "@/extension/system/Sys_Log.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "Id", + footer: "Foots", + cnName: "绯荤粺鏃ュ織", + name: "Sys_Log", + url: "/Sys_Log/", + sortName: "Id", }); + const editFormFields = ref({}); + const editFormOptions = ref([]); + const searchFormFields = ref({ + url: "", + requestParam: "", + responseParam: "", + beginDate: "", + }); + const searchFormOptions = ref([ + [ + { title: "璇锋眰鍦板潃", field: "url", type: "like" }, + { title: "璇锋眰鍙傛暟", field: "requestParam", type: "like" }, + { title: "鍝嶅簲鍙傛暟", field: "responseParam", type: "like" }, + ], + [{ title: "寮�濮嬫椂闂�", field: "beginDate", type: "datetime" }], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "beginDate", + title: "寮�濮嬫椂闂�", + type: "datetime", + width: 140, + align: "left", + sortable: true, + }, + { + field: "elapsedTime", + title: "鏃堕暱", + type: "int", + width: 60, + align: "left", + }, + { + field: "endDate", + title: "缁撴潫鏃堕棿", + type: "datetime", + width: 150, + hidden: true, + align: "left", + sortable: true, + }, + { + field: "requestParam", + title: "璇锋眰鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "responseParam", + title: "鍝嶅簲鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "url", + title: "璇锋眰鍦板潃", + type: "string", + width: 110, + align: "left", + }, + { + field: "userName", + title: "鐢ㄦ埛鍚嶇О", + type: "string", + width: 90, + align: "left", + }, + { + field: "success", + title: "鍝嶅簲鐘舵��", + type: "int", + bind: { key: "restatus", data: [] }, + width: 80, + align: "left", + hidden: true, + }, + { + field: "userIP", + title: "鐢ㄦ埛IP", + type: "string", + width: 90, + align: "left", + }, + { + field: "userId", + title: "鐢ㄦ埛ID", + type: "int", + width: 90, + hidden: true, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + columns: [], + sortName: "", + key: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); </script> + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" index 1c1154f..887aced 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Client/src/views/taskinfo/task.vue" @@ -152,7 +152,6 @@ type: "string", width: 90, align: "left", - hidden: true, }, { field: "grade", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b19083a-8625-44e6-abf9-57afb81eb2ae.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b19083a-8625-44e6-abf9-57afb81eb2ae.vsidx" new file mode 100644 index 0000000..5ba5d26 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b19083a-8625-44e6-abf9-57afb81eb2ae.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8e07ae55-a2e7-4407-b10c-4a5a0c8d3f3a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8e07ae55-a2e7-4407-b10c-4a5a0c8d3f3a.vsidx" deleted file mode 100644 index f2e1345..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8e07ae55-a2e7-4407-b10c-4a5a0c8d3f3a.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/ccde3d97-2f8a-4b5d-8f51-c9c973f8e004.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/ccde3d97-2f8a-4b5d-8f51-c9c973f8e004.vsidx" new file mode 100644 index 0000000..56f3c8f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/ccde3d97-2f8a-4b5d-8f51-c9c973f8e004.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" deleted file mode 100644 index e69de29..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" +++ /dev/null diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ConveyorWorkTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ConveyorWorkTypeEnum.cs" new file mode 100644 index 0000000..07ce34f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/ConveyorWorkTypeEnum.cs" @@ -0,0 +1,17 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEAWCS_Common +{ + public enum ConveyorWorkTypeEnum + { + Undefined = 0, + + Inbound = 1, + + Outbound = 2 + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" index d69da77..f20c07c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" @@ -27,7 +27,7 @@ namespace WIDESEAWCS_Model.Models { - [SugarTable(nameof(Dt_Task), "浠诲姟淇℃伅")] + [SugarTable(nameof(Dt_Task), "浠诲姟淇℃伅"), SugarIndex("unique_task_taskNum", nameof(TaskNum), OrderByType.Asc, true)] public class Dt_Task : BaseEntity { /// <summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs" index 4aceb97..c03ad9c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_UserController.cs" @@ -29,6 +29,7 @@ { _httpContextAccessor = httpContextAccessor; } + [HttpPost, Route("swgLogin"), AllowAnonymous] public dynamic SwgLogin([FromBody] SwaggerLoginRequest loginRequest) { @@ -39,21 +40,9 @@ try { - LoginInfo loginInfo = new LoginInfo - { - Password = loginRequest.pwd, - UserName = loginRequest.name - }; - var result = Service.Login(loginInfo); - if (result.Status) + if (loginRequest.name == "admin" && loginRequest.pwd == $"admin!{DateTime.Now.ToString("yyyyMMdd")}") { HttpContext.SuccessSwagger(); - Dictionary<string, object>? dict = JsonConvert.DeserializeObject<Dictionary<string, object>>(result.Data.Serialize()); - if (dict != null) - { - HttpContext.SuccessSwaggerJwt((dict.ContainsKey("token") ? dict["token"].ToString() : "") ?? ""); - } - string str = HttpContext.GetSuccessSwaggerJwt(); return new { result = true }; } } @@ -64,6 +53,7 @@ return new { result = false }; } + [HttpPost, Route("login"), AllowAnonymous] public IActionResult Login([FromBody] LoginInfo loginInfo) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs" index 4d0cd05..890fd0e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/W_ConveyorLineDBName.cs" @@ -51,12 +51,12 @@ /// <summary> /// 棰勭暀1 /// </summary> - Sapre1, + Spare1, /// <summary> /// 棰勭暀2 /// </summary> - Sapre2, + Spare2, /// <summary> /// 璇锋眰淇″彿 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs" index 1a2f5e4..69aeb3f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/ConveyorLineJob_GM.cs" @@ -31,7 +31,7 @@ private readonly IStationMangerRepository _stationMangerRepository; private readonly IRouterRepository _routerRepository; - public ConveyorLineJob_GM(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository,IRouterRepository routerRepository) + public ConveyorLineJob_GM(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; @@ -86,7 +86,7 @@ } else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt()) { - if(conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !conveyorLineSignalWrite.ACK) + if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !conveyorLineSignalWrite.ACK)//鍏ュ簱 { Dt_Task task = _taskRepository.QueryFirst(x => x.NextAddress == item.StackerCraneCode); if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -114,6 +114,7 @@ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绯荤粺鑷姩娴佺▼,鐩爣鍦板潃鐢眥oldAddress}鍙樻洿涓簕task.NextAddress},浠诲姟鐘舵�佺敱{oldStatus}鍙樻洿涓簕task.TaskState}"); + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt()); device.SetValue(W_ConveyorLineDB.ACK, true); } } @@ -154,25 +155,37 @@ device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum); device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress); device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress); + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt()); device.SetValue(W_ConveyorLineDB.STB, true); } } - else if(conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Goods) + else if (conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Goods) { - //todo 浠诲姟瀹屾垚 + _taskService.TaskCompleted(conveyorLineInfoRead.TaskNum); + device.SetValue(W_ConveyorLineDB.STB, false); } } } else if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt()) { - if(!conveyorLineSignalWrite.STB && !conveyorLineSignalWrite.ACK && !conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm) + if (!conveyorLineSignalWrite.STB && !conveyorLineSignalWrite.ACK && !conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm) { Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType)); - if(task != null) + if (task != null) { + //todo 杈撻�佺嚎宸ヤ綔妯″紡闇�瑕佸垽鏂� + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt()); device.SetValue(W_ConveyorLineDB.STB, true); } } + else if (conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && !conveyorLineStatus.Alarm) + { + device.SetValue(W_ConveyorLineDB.STB, false); + } + else if (!conveyorLineSignalRead.STB && conveyorLineSignalWrite.ACK && !conveyorLineStatus.Alarm) + { + device.SetValue(W_ConveyorLineDB.ACK, false); + } } } else diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" index ffa7452..6b2c4fd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" @@ -1,4 +1,5 @@ 锘縰sing Microsoft.AspNetCore.Components.Routing; +using Newtonsoft.Json; using Quartz; using System; using System.Collections.Generic; @@ -6,7 +7,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Common.APIEnum; using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_IBasicInfoRepository; @@ -20,32 +23,50 @@ using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_Tasks.HoisterJob; using WIDESEAWCS_Tasks.StackerCraneJob; +using WIDESEAWCS_Core.Caches; namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] public class StackerCraneJob_GM : JobBase, IJob { + private readonly ICacheService _cacheService; private readonly ITaskService _taskService; private readonly ITaskExecuteDetailService _taskExecuteDetailService; private readonly ITaskRepository _taskRepository; private readonly IRouterService _routerService; private readonly IStationMangerRepository _stationMangerRepository; + private List<Dt_ApiInfo> apiInfos; - public StackerCraneJob_GM(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) + public StackerCraneJob_GM(ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; _taskRepository = taskRepository; _routerService = routerService; _stationMangerRepository = stationMangerRepository; + _cacheService = cacheService; + + string? apiInfoStr = _cacheService.Get("apiInfos"); + if (!string.IsNullOrEmpty(apiInfoStr)) + { + List<Dt_ApiInfo>? infos = JsonConvert.DeserializeObject<List<Dt_ApiInfo>>(apiInfoStr); + if (infos == null || infos.Count == 0) + { + apiInfos = new List<Dt_ApiInfo>(); + } + else + { + apiInfos = infos; + } + } } public Task Execute(IJobExecutionContext context) { - CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); try { + CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams"); if (commonStackerCrane != null) { if (!commonStackerCrane.IsEventSubscribed) @@ -67,8 +88,8 @@ commonStackerCrane.LastTaskType = task.TaskType; int oldState = task.TaskState; task.TaskState = TaskStatusEnum.SC_Executing.ObjToInt(); - task.ExceptionMessage = ""; task.Dispatchertime = DateTime.Now; + task.ExceptionMessage = ""; _taskRepository.UpdateData(task); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�"); } @@ -79,7 +100,7 @@ } catch (Exception ex) { - WriteError(commonStackerCrane.DeviceName, ex.Message, ex); + WriteError(nameof(CommonStackerCraneJob), ex.Message, ex); } return Task.CompletedTask; } @@ -92,30 +113,63 @@ private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e) { CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane; + if (commonStackerCrane != null) + { + if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + { + StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode); + commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + } + } + } + + public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode) + { try { - if (commonStackerCrane != null) + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); + if (task != null) { - if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { - WriteInfo(commonStackerCrane.DeviceName, $"璇诲彇鍒颁换鍔″畬鎴愪俊鍙�,{e.TaskNum}"); - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum); - if (task != null) + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneStationCode == task.NextAddress); + if (stationManger == null) { - _taskService.TaskCompleted(e.TaskNum); + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); + _taskService.UpdateTaskExceptionMessage(taskNum, $"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); + return WebResponseContent.Instance.Error($"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); } - else - { - WriteInfo(commonStackerCrane.DeviceName, $"璇诲彇鍒颁换鍔″畬鎴愪俊鍙�,鏈壘鍒板搴旂殑浠诲姟淇℃伅,{e.TaskNum}"); - } - commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); + int oldStatus = task.TaskState; + task.DeviceCode = "AGV_CSJ"; + task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + task.CurrentAddress = stationManger.AGVStationCode; + task.NextAddress = task.TargetAddress; + _taskRepository.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,锛屼换鍔$姸鎬佷粠銆恵oldStatus}銆戣浆鍒般�恵task.TaskState}銆�"); + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + { + _taskService.TaskCompleted(taskNum); + } + else + { + WriteInfo(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); + _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); } } + else + { + WriteInfo(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}"); + return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}"); + } + + return WebResponseContent.Instance.OK(); } catch (Exception ex) { - WriteError(commonStackerCrane?.DeviceCode ?? nameof(StackerCraneJob_YM), ex.Message, ex); - + WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex); + return WebResponseContent.Instance.Error(ex.Message); } } @@ -153,23 +207,37 @@ if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { - if (OutTaskStationIsOccupied(task) != null || true) + if (OutTaskStationIsOccupied(task) == null) { - return task; - } - else - { + bool flag = false; List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); foreach (var item in tasks) { if (OutTaskStationIsOccupied(task) != null) { - return task; + flag = true; + break; } } - task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if (!flag) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } } + } + + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + string? url = apiInfos.FirstOrDefault(x => x.ApiCode == APIEnum.FeedBackWMSTaskCompleted.ToString())?.ApiAddress; + if (string.IsNullOrEmpty(url)) + { + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + WriteInfo(commonStackerCrane.DeviceCode, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + return null; + } + HttpHelper.Post($"{url}?taskNum={task.TaskNum}&locationCode={task.NextAddress}", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶 } return task; @@ -182,7 +250,7 @@ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { - Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode); + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode); if (stationManger != null) { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); @@ -193,16 +261,19 @@ { task.NextAddress = stationManger.StackerCraneStationCode; _taskRepository.UpdateData(task); + client.SetValue(GroundStationDBName.R_IsCanPut, true, stationManger.StationCode); return task; } } else { + WriteInfo(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); } } else { + WriteInfo(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); } return null; @@ -221,7 +292,7 @@ stackerCraneTaskCommand.Barcode = task.PalletCode; stackerCraneTaskCommand.TaskNum = task.TaskNum; stackerCraneTaskCommand.WorkType = 1; - stackerCraneTaskCommand.TrayType = 1; + stackerCraneTaskCommand.TrayType = (Int16)task.PalletType; if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� { string[] startCodes = task.CurrentAddress.Split("-"); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" new file mode 100644 index 0000000..e36e1f4 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/ConveyorLineJob_BC.cs" @@ -0,0 +1,205 @@ +锘縰sing Quartz; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEAWCS_Common; +using WIDESEAWCS_Common.Helper; +using WIDESEAWCS_Common.TaskEnum; +using WIDESEAWCS_Core; +using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_IBasicInfoRepository; +using WIDESEAWCS_ITaskInfoRepository; +using WIDESEAWCS_ITaskInfoService; +using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob; +using WIDESEAWCS_QuartzJob.DTO; +using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.Repository; +using WIDESEAWCS_Tasks.ConveyorLineJob; + +namespace WIDESEAWCS_Tasks +{ + [DisallowConcurrentExecution] + public class ConveyorLineJob_BC : JobBase, IJob + { + + private readonly ITaskService _taskService; + private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly ITaskRepository _taskRepository; + private readonly IStationMangerRepository _stationMangerRepository; + private readonly IRouterRepository _routerRepository; + + public ConveyorLineJob_BC(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository) + { + _taskService = taskService; + _taskExecuteDetailService = taskExecuteDetailService; + _taskRepository = taskRepository; + _stationMangerRepository = stationMangerRepository; + _routerRepository = routerRepository; + } + + public Task Execute(IJobExecutionContext context) + { + bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value); + if (flag && value != null) + { + OtherDevice device = (OtherDevice)value; + List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList(); + List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode); + foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode))) + { + DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); + + DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); + + if (deviceProRead != null && deviceProWrite != null) + { + R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress); + + R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>(); + + ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>(); + + W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress); + + ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>(); + if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()) + { + if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !conveyorLineSignalWrite.ACK) + { + if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode)) + { + WebResponseContent content = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode); + if (content.Status) + { + device.SetValue(W_ConveyorLineDB.ACK, true); + } + } + } + else if (!conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && conveyorLineSignalWrite.ACK) + { + device.SetValue(W_ConveyorLineDB.ACK, false); + } + } + else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt()) + { + if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !conveyorLineSignalWrite.ACK)//鍏ュ簱 + { + Dt_Task task = _taskRepository.QueryFirst(x => x.NextAddress == item.StackerCraneCode); + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) + { + Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode); + if (stationManger == null) + { + WriteInfo(item.StationName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); + continue; + } + string? locationCode = _taskService.RequestAssignLocation(task.TaskNum, stationManger.StackerCraneCode); + if (string.IsNullOrEmpty(locationCode)) + { + WriteInfo(item.StationName, $"璇锋眰鍒嗛厤璐т綅杩斿洖淇℃伅閿欒,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); + continue; + } + string oldAddress = task.NextAddress; + int oldStatus = task.TaskState; + task.CurrentAddress = stationManger.StackerCraneStationCode; + task.TargetAddress = locationCode; + task.NextAddress = locationCode; + task.DeviceCode = stationManger.StackerCraneCode; + task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); + _taskRepository.UpdateData(task); + + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绯荤粺鑷姩娴佺▼,鐩爣鍦板潃鐢眥oldAddress}鍙樻洿涓簕task.NextAddress},浠诲姟鐘舵�佺敱{oldStatus}鍙樻洿涓簕task.TaskState}"); + + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt()); + device.SetValue(W_ConveyorLineDB.ACK, true); + } + } + else if (!conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && conveyorLineSignalWrite.ACK) + { + device.SetValue(W_ConveyorLineDB.ACK, false); + } + else + { + if (!conveyorLineSignalWrite.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Goods) + { + Dt_Task task = _taskRepository.QueryFirst(x => x.CurrentAddress == item.StationCode && x.TaskState == TaskStatusEnum.Line_Execute.ObjToInt()); + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode); + if (stationManger == null) + { + WriteInfo(item.StationName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); + continue; + } + + Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && (task.CurrentAddress == x.StartPosi)); + if (router == null) + { + WriteInfo(item.StationName, $"鏈壘鍒拌矾鐢遍厤缃俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); + continue; + } + + string oldAddress = task.NextAddress; + int oldStatus = task.TaskState; + task.NextAddress = router.NextPosi; + task.TargetAddress = router.NextPosi; + task.TaskState = TaskStatusEnum.Line_Executing.ObjToInt(); + _taskRepository.UpdateData(task); + + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绯荤粺鑷姩娴佺▼,鐩爣鍦板潃鐢眥oldAddress}鍙樻洿涓簕task.NextAddress},浠诲姟鐘舵�佺敱{oldStatus}鍙樻洿涓簕task.TaskState}"); + + device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum); + device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress); + device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress); + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Outbound.ObjToInt()); + device.SetValue(W_ConveyorLineDB.STB, true); + } + } + else if (conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Goods) + { + _taskService.TaskCompleted(conveyorLineInfoRead.TaskNum); + device.SetValue(W_ConveyorLineDB.STB, false); + } + } + } + else if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt()) + { + if (!conveyorLineSignalWrite.STB && !conveyorLineSignalWrite.ACK && !conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm) + { + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType)); + if (task != null) + { + //todo 杈撻�佺嚎宸ヤ綔妯″紡闇�瑕佸垽鏂� + device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt()); + device.SetValue(W_ConveyorLineDB.STB, true); + } + } + else if (conveyorLineSignalWrite.STB && conveyorLineSignalRead.ACK && !conveyorLineStatus.Alarm) + { + device.SetValue(W_ConveyorLineDB.STB, false); + } + else if (!conveyorLineSignalRead.STB && conveyorLineSignalWrite.ACK && !conveyorLineStatus.Alarm) + { + device.SetValue(W_ConveyorLineDB.ACK, false); + } + } + } + else + { + WriteInfo(device.DeviceName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�"); + } + } + } + + return Task.CompletedTask; + } + + public void OnlyInboundStationFunc() + { + + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" index 9f1fdb7..14ec422 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" @@ -20,25 +20,47 @@ using WIDESEAWCS_Tasks.HoisterJob; using WIDESEAWCS_Tasks.StackerCraneJob; using WIDESEAWCS_Tasks; +using WIDESEAWCS_Common.APIEnum; +using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_Core; +using WIDESEAWCS_Core.Caches; +using Newtonsoft.Json; namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] public class StackerCraneJob_BC : JobBase, IJob { + private readonly ICacheService _cacheService; private readonly ITaskService _taskService; private readonly ITaskExecuteDetailService _taskExecuteDetailService; private readonly ITaskRepository _taskRepository; private readonly IRouterService _routerService; private readonly IStationMangerRepository _stationMangerRepository; + private List<Dt_ApiInfo> apiInfos; - public StackerCraneJob_BC(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) + public StackerCraneJob_BC(ITaskService taskService, ICacheService cacheService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; _taskRepository = taskRepository; _routerService = routerService; _stationMangerRepository = stationMangerRepository; + _cacheService = cacheService; + + string? apiInfoStr = _cacheService.Get("apiInfos"); + if (!string.IsNullOrEmpty(apiInfoStr)) + { + List<Dt_ApiInfo>? infos = JsonConvert.DeserializeObject<List<Dt_ApiInfo>>(apiInfoStr); + if (infos == null || infos.Count == 0) + { + apiInfos = new List<Dt_ApiInfo>(); + } + else + { + apiInfos = infos; + } + } } public Task Execute(IJobExecutionContext context) @@ -52,25 +74,25 @@ { commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢 } - - if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal) + commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆� + if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) { - commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆� - - if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby) + Dt_Task? task = GetTask(commonStackerCrane); + if (task != null) { - Dt_Task? task = GetTask(commonStackerCrane); - if (task != null) + StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); + if (stackerCraneTaskCommand != null) { - StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); - if (stackerCraneTaskCommand != null) + bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); + if (sendFlag) { - bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand); - if (sendFlag) - { - commonStackerCrane.LastTaskType = task.TaskType; - // _taskService.UpdateTaskStatusToNext(task.TaskNum); - } + commonStackerCrane.LastTaskType = task.TaskType; + int oldState = task.TaskState; + task.TaskState = TaskStatusEnum.SC_Executing.ObjToInt(); + task.Dispatchertime = DateTime.Now; + task.ExceptionMessage = ""; + _taskRepository.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�"); } } } @@ -96,10 +118,59 @@ { if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5) { - Console.Out.WriteLine("TaskCompleted" + e.TaskNum); - // _taskService.StackCraneTaskCompleted(e.TaskNum); + StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode); commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); } + } + } + + public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode) + { + try + { + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); + if (task != null) + { + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneStationCode == task.NextAddress); + if (stationManger == null) + { + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); + _taskService.UpdateTaskExceptionMessage(taskNum, $"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); + return WebResponseContent.Instance.Error($"AGV绔欑偣鏈厤缃�,{task.NextAddress}"); + } + int oldStatus = task.TaskState; + task.DeviceCode = "AGV_CSJ"; + task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + task.CurrentAddress = stationManger.AGVStationCode; + task.NextAddress = task.TargetAddress; + _taskRepository.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,锛屼换鍔$姸鎬佷粠銆恵oldStatus}銆戣浆鍒般�恵task.TaskState}銆�"); + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + { + _taskService.TaskCompleted(taskNum); + } + else + { + WriteInfo(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); + _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); + _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}"); + } + } + else + { + WriteInfo(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}"); + return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}"); + } + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex); + return WebResponseContent.Instance.Error(ex.Message); } } @@ -137,23 +208,37 @@ if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { - if (OutTaskStationIsOccupied(task) != null || true) + if (OutTaskStationIsOccupied(task) == null) { - return task; - } - else - { + bool flag = false; List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); foreach (var item in tasks) { if (OutTaskStationIsOccupied(task) != null) { - return task; + flag = true; + break; } } - task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if (!flag) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } } + } + + if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + string? url = apiInfos.FirstOrDefault(x => x.ApiCode == APIEnum.FeedBackWMSTaskCompleted.ToString())?.ApiAddress; + if (string.IsNullOrEmpty(url)) + { + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + WriteInfo(commonStackerCrane.DeviceCode, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒癢MS绉诲簱鍒ゆ柇鎺ュ彛"); + return null; + } + HttpHelper.Post($"{url}?taskNum={task.TaskNum}&locationCode={task.NextAddress}", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶 } return task; @@ -166,7 +251,7 @@ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns> private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) { - Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode); + Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode); if (stationManger != null) { IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); @@ -175,18 +260,21 @@ OtherDevice client = (OtherDevice)device; if (client.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, stationManger.StationCode))//鍑哄簱绔欏彴鏈鍗犵敤 { - task.TargetAddress = stationManger.StackerCraneStationCode; + task.NextAddress = stationManger.StackerCraneStationCode; _taskRepository.UpdateData(task); + client.SetValue(GroundStationDBName.R_IsCanPut, true, stationManger.StationCode); return task; } } else { + WriteInfo(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤"); } } else { + WriteInfo(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴"); } return null; @@ -205,19 +293,42 @@ stackerCraneTaskCommand.Barcode = task.PalletCode; stackerCraneTaskCommand.TaskNum = task.TaskNum; stackerCraneTaskCommand.WorkType = 1; - stackerCraneTaskCommand.TrayType = 1; + stackerCraneTaskCommand.TrayType = (Int16)task.PalletType; if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔� { - //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); - //if (routers.Count > 0) - //{ string[] startCodes = task.CurrentAddress.Split("-"); - - stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]); - stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]); - stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]); + if (startCodes.Length == 3) + { + stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]); + } + else + { + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + WriteInfo(task.DeviceCode, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 5) + { + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]); + } + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); + WriteInfo(task.DeviceCode, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); + return null; + } + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + string[] targetCodes = task.NextAddress.Split("-"); + if (targetCodes.Length == 3) { stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); @@ -227,73 +338,54 @@ else { //鏁版嵁閰嶇疆閿欒 - _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); + WriteInfo(task.DeviceCode, $"鍑哄簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); return null; } - //} - //else - //{ - // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅"); - // return null; - //} - } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) - { - //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); - //if (routers.Count > 0) + + string[] sourceCodes = task.CurrentAddress.Split("-"); + if (sourceCodes.Length == 5) { - string[] targetCodes = task.NextAddress.Split("-"); - - stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); - stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); - stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); - - string[] sourceCodes = task.CurrentAddress.Split("-"); - if (sourceCodes.Length == 3) - { - stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); - stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); - stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); - } - else - { - //鏁版嵁閰嶇疆閿欒 - _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); - return null; - } + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]); } - //else - //{ - // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅"); - // return null; - //} + else + { + //鏁版嵁閰嶇疆閿欒 + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + WriteInfo(task.DeviceCode, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + return null; + } } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) { string[] targetCodes = task.NextAddress.Split("-"); - if (targetCodes.Length == 3) + if (targetCodes.Length == 5) { - stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]); - stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]); - stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]); + stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]); + stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]); + stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]); } else { //鏁版嵁閰嶇疆閿欒 - _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�"); + _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); + WriteInfo(task.DeviceCode, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�"); return null; } string[] sourceCodes = task.CurrentAddress.Split("-"); - if (sourceCodes.Length == 3) + if (sourceCodes.Length == 5) { - stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]); - stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); - stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); + stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]); + stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]); + stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]); } else { //鏁版嵁閰嶇疆閿欒 _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); + WriteInfo(task.DeviceCode, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�"); return null; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" index 92aa37b..c9593f4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" @@ -208,22 +208,23 @@ if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { - if (OutTaskStationIsOccupied(task) != null) + if (OutTaskStationIsOccupied(task) == null) { - return task; - } - else - { + bool flag = false; List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress).Select(x => x.ChildPosi).ToList(); List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes); foreach (var item in tasks) { if (OutTaskStationIsOccupied(task) != null) { - return task; + flag = true; + break; } } - task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + if (!flag) + { + task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" index 8eff3c6..a22ee58 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/locationStatusChangeRecord.vue" @@ -1,191 +1,207 @@ <template> - <view-grid - ref="grid" - :columns="columns" - :detail="detail" - :editFormFields="editFormFields" - :editFormOptions="editFormOptions" - :searchFormFields="searchFormFields" - :searchFormOptions="searchFormOptions" - :table="table" - :extend="extend" - > - </view-grid> - </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/record/locationStatusChangeRecord.js"; - import { ref, defineComponent } from "vue"; - export default defineComponent({ - setup() { - const table = ref({ - key: "id", - footer: "Foots", - cnName: "璐т綅鐘舵�佸彉鍔ㄨ褰�", - name: "locationStatusChangeRecord", - url: "/LocationStatusChangeRecord/", - sortName: "id", - }); - const editFormFields = ref({ - deviceCode: "", - deviceName: "", - deviceType: "", - deviceStatus: "", - deviceIp: "", - devicePort: "", - devicePlcType: "", - deviceRemark: "", - }); - const editFormOptions = ref([ - - ]); - const searchFormFields = ref({ - locationCode: "", - orderNo: "", - taskNum: "", - }); - const searchFormOptions = ref([ - [ - { title: "璐т綅鍙�", field: "locationCode" }, - { title: "鍗曟嵁缂栧彿", field: "orderNo" }, - { title: "浠诲姟鍙�", field: "taskNum" }, - ], - [ - { title: "鍙樺姩鍓嶈揣浣嶇姸鎬�", field: "beforeStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],}, - { title: "鍙樺姩鍚庤揣浣嶇姸鎬�", field: "afterStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],}, - { title: "鍙樺姩绫诲瀷", field: "changeType" ,type: "selectList",dataKey: "stockChangeType",data: [],}, - ], - ]); - const columns = ref([ +import extend from "@/extension/record/locationStatusChangeRecord.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "璐т綅鐘舵�佸彉鍔ㄨ褰�", + name: "locationStatusChangeRecord", + url: "/LocationStatusChangeRecord/", + sortName: "id", + }); + const editFormFields = ref({ + deviceCode: "", + deviceName: "", + deviceType: "", + deviceStatus: "", + deviceIp: "", + devicePort: "", + devicePlcType: "", + deviceRemark: "", + }); + const editFormOptions = ref([]); + const searchFormFields = ref({ + locationCode: "", + orderNo: "", + taskNum: "", + }); + const searchFormOptions = ref([ + [ + { title: "璐т綅鍙�", field: "locationCode" }, + { title: "鍗曟嵁缂栧彿", field: "orderNo" }, + { title: "浠诲姟鍙�", field: "taskNum" }, + ], + [ { - field: "id", - title: "Id", - type: "int", - width: 90, - hidden: true, - readonly: true, - require: true, - align: "left", - }, - { - field: "locationId", - title: "璐т綅涓婚敭", - type: "string", - width: 90, - align: "left", - }, - { - field: "taskNum", - title: "浠诲姟鍙�", - type: "string", - width: 90, - align: "left", - }, - { - field: "locationCode", - title: "璐т綅缂栧彿", - type: "string", - width: 150, - align: "left", - }, - { - field: "beforeStatus", title: "鍙樺姩鍓嶈揣浣嶇姸鎬�", - type: "string", - width: 150, - align: "left", - bind: { key: "locationStatusEnum", data: [] }, + field: "beforeStatus", + type: "selectList", + dataKey: "locationStatusEnum", + data: [], }, { - field: "afterStatus", title: "鍙樺姩鍚庤揣浣嶇姸鎬�", - type: "decimal", - width: 150, - align: "left", - bind: { key: "locationStatusEnum", data: [] }, + field: "afterStatus", + type: "selectList", + dataKey: "locationStatusEnum", + data: [], }, { - field: "changeType", title: "鍙樺姩绫诲瀷", - type: "string", - width: 90, - align: "left", - bind: { key: "stockChangeType", data: [] }, + field: "changeType", + type: "selectList", + dataKey: "locationChangeType", + data: [], }, - { - field: "orderId", - title: "鍗曟嵁涓婚敭", - type: "string", - width: 90, - align: "left", - }, - { - field: "orderNo", - title: "鍗曟嵁缂栧彿", - type: "int", - width: 120, - align: "left", - }, - { - field: "orderDetailId", - title: "鍗曟嵁鏄庣粏涓婚敭", - type: "string", - width: 200, - align: "left", - }, - { - field: "creater", - title: "鍒涘缓浜�", - type: "string", - width: 90, - align: "left", - }, - { - field: "createDate", - title: "鍒涘缓鏃堕棿", - type: "datetime", - width: 160, - align: "left", - }, - { - field: "modifier", - title: "淇敼浜�", - type: "string", - width: 100, - align: "left", - }, - { - field: "modifyDate", - title: "淇敼鏃堕棿", - type: "datetime", - width: 160, - align: "left", - }, - { - field: "remark", - title: "澶囨敞", - type: "string", - width: 100, - align: "left", - }, - ]); - const detail = ref({ - cnName: "#detailCnName", - table: "", - columns: [], - sortName: "", - }); - return { - table, - extend, - editFormFields, - editFormOptions, - searchFormFields, - searchFormOptions, - columns, - detail, - }; - }, - }); - </script> + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "locationId", + title: "璐т綅涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "taskNum", + title: "浠诲姟鍙�", + type: "string", + width: 90, + align: "left", + }, + { + field: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "beforeStatus", + title: "鍙樺姩鍓嶈揣浣嶇姸鎬�", + type: "string", + width: 150, + align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "afterStatus", + title: "鍙樺姩鍚庤揣浣嶇姸鎬�", + type: "decimal", + width: 150, + align: "left", + bind: { key: "locationStatusEnum", data: [] }, + }, + { + field: "changeType", + title: "鍙樺姩绫诲瀷", + type: "string", + width: 90, + align: "left", + bind: { key: "locationChangeType", data: [] }, + }, + { + field: "orderId", + title: "鍗曟嵁涓婚敭", + type: "string", + width: 90, + align: "left", + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "int", + width: 120, + align: "left", + }, + { + field: "orderDetailId", + title: "鍗曟嵁鏄庣粏涓婚敭", + type: "string", + width: 200, + align: "left", + }, + { + field: "creater", + title: "鍒涘缓浜�", + type: "string", + width: 90, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "淇敼浜�", + type: "string", + width: 100, + align: "left", + }, + { + field: "modifyDate", + title: "淇敼鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "remark", + title: "澶囨敞", + type: "string", + width: 100, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" index 118f9bf..f7d65a4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/record/stockQuantityChangeRecord.vue" @@ -110,7 +110,6 @@ width: 150, align: "left", }, - { field: "taskNum", title: "浠诲姟鍙�", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/system/Sys_Log.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/system/Sys_Log.vue" index d9ae6b2..67e913d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/system/Sys_Log.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/system/Sys_Log.vue" @@ -5,220 +5,153 @@ *涓氬姟璇峰湪@/extension/system/Sys_Log.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> + <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/system/Sys_Log.js"; - import { ref, defineComponent } from "vue"; - export default defineComponent({ - setup() { - const table = ref({ - key: "Id", - footer: "Foots", - cnName: "绯荤粺鏃ュ織", - name: "Sys_Log", - url: "/Sys_Log/", - sortName: "Id", - }); - const editFormFields = ref({}); - const editFormOptions = ref([]); - const searchFormFields = ref({ - BeginDate: "", - Url: "", - LogType: [], - Success: [], - UserIP: "", - ServiceIP: "", - Role_Id: "", - }); - const searchFormOptions = ref([ - [ - { title: "璇锋眰鍦板潃", field: "url", type: "text" }, - { title: "鐢ㄦ埛IP", field: "userIP", type: "text" }, - { title: "鏈嶅姟鍣↖P", field: "serviceIP", type: "text" }, - ], - [ - { title: "寮�濮嬫椂闂�", field: "beginDate", type: "datetime" }, - // { - // dataKey: "restatus", - // data: [], - // title: "鍝嶅簲鐘舵��", - // field: "success", - // type: "selectList", - // }, - // { - // dataKey: "roles", - // data: [], - // title: "瑙掕壊ID", - // field: "role_Id", - // type: "select", - // }, - ], - // [ - // { - // dataKey: "log", - // data: [], - // title: "鏃ュ織绫诲瀷", - // field: "logType", - // colSize: 12, - // type: "checkbox", - // }, - // ], - ]); - const columns = ref([ - { - field: "id", - title: "Id", - type: "int", - width: 90, - hidden: true, - readonly: true, - require: true, - align: "left", - }, - { - field: "beginDate", - title: "寮�濮嬫椂闂�", - type: "datetime", - width: 140, - align: "left", - sortable: true, - }, - { - field: "userName", - title: "鐢ㄦ埛鍚嶇О", - type: "string", - width: 90, - align: "left", - }, - { - field: "url", - title: "璇锋眰鍦板潃", - type: "string", - width: 110, - align: "left", - }, - { - field: "logType", - title: "鏃ュ織绫诲瀷", - type: "string", - bind: { key: "log", data: [] }, - width: 80, - align: "left", - }, - { - field: "success", - title: "鍝嶅簲鐘舵��", - type: "int", - bind: { key: "restatus", data: [] }, - width: 80, - align: "left", - }, - { - field: "elapsedTime", - title: "鏃堕暱", - type: "int", - width: 60, - align: "left", - }, - { - field: "requestParam", - title: "璇锋眰鍙傛暟", - type: "string", - width: 70, - align: "left", - }, - { - field: "responseParam", - title: "鍝嶅簲鍙傛暟", - type: "string", - width: 70, - align: "left", - }, - { - field: "exceptionInfo", - title: "寮傚父淇℃伅", - type: "string", - width: 70, - align: "left", - }, - { - field: "userIP", - title: "鐢ㄦ埛IP", - type: "string", - width: 90, - align: "left", - }, - { - field: "serviceIP", - title: "鏈嶅姟鍣↖P", - type: "string", - width: 90, - hidden: true, - align: "left", - }, - { - field: "browserType", - title: "娴忚鍣ㄧ被鍨�", - type: "string", - width: 90, - align: "left", - }, - { - field: "userId", - title: "鐢ㄦ埛ID", - type: "int", - width: 90, - hidden: true, - align: "left", - }, - { - field: "roleId", - title: "瑙掕壊ID", - type: "int", - bind: { key: "roles", data: [] }, - width: 90, - hidden: true, - align: "left", - }, - { - field: "endDate", - title: "缁撴潫鏃堕棿", - type: "datetime", - width: 150, - hidden: true, - align: "left", - sortable: true, - }, - ]); - const detail = ref({ - cnName: "#detailCnName", - columns: [], - sortName: "", - key: "", - }); - return { - table, - extend, - editFormFields, - editFormOptions, - searchFormFields, - searchFormOptions, - columns, - detail, - }; - }, - }); - </script> +import extend from "@/extension/system/Sys_Log.js"; +import { ref, defineComponent } from "vue"; +export default defineComponent({ + setup() { + const table = ref({ + key: "Id", + footer: "Foots", + cnName: "绯荤粺鏃ュ織", + name: "Sys_Log", + url: "/Sys_Log/", + sortName: "Id", + }); + const editFormFields = ref({}); + const editFormOptions = ref([]); + const searchFormFields = ref({ + url: "", + requestParam: "", + responseParam: "", + beginDate: "", + }); + const searchFormOptions = ref([ + [ + { title: "璇锋眰鍦板潃", field: "url", type: "like" }, + { title: "璇锋眰鍙傛暟", field: "requestParam", type: "like" }, + { title: "鍝嶅簲鍙傛暟", field: "responseParam", type: "like" }, + ], + [{ title: "寮�濮嬫椂闂�", field: "beginDate", type: "datetime" }], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "beginDate", + title: "寮�濮嬫椂闂�", + type: "datetime", + width: 140, + align: "left", + sortable: true, + }, + { + field: "elapsedTime", + title: "鏃堕暱", + type: "int", + width: 60, + align: "left", + }, + { + field: "endDate", + title: "缁撴潫鏃堕棿", + type: "datetime", + width: 150, + hidden: true, + align: "left", + sortable: true, + }, + { + field: "requestParam", + title: "璇锋眰鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "responseParam", + title: "鍝嶅簲鍙傛暟", + type: "string", + width: 70, + align: "left", + }, + { + field: "url", + title: "璇锋眰鍦板潃", + type: "string", + width: 110, + align: "left", + }, + { + field: "userName", + title: "鐢ㄦ埛鍚嶇О", + type: "string", + width: 90, + align: "left", + }, + { + field: "success", + title: "鍝嶅簲鐘舵��", + type: "int", + bind: { key: "restatus", data: [] }, + width: 80, + align: "left", + hidden: true, + }, + { + field: "userIP", + title: "鐢ㄦ埛IP", + type: "string", + width: 90, + align: "left", + }, + { + field: "userId", + title: "鐢ㄦ埛ID", + type: "int", + width: 90, + hidden: true, + align: "left", + }, + ]); + const detail = ref({ + cnName: "#detailCnName", + columns: [], + sortName: "", + key: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, +}); +</script> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0533fbe9-c978-41ba-a3ad-5b6c54002ad8.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0533fbe9-c978-41ba-a3ad-5b6c54002ad8.vsidx" new file mode 100644 index 0000000..d3f9ff1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0533fbe9-c978-41ba-a3ad-5b6c54002ad8.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/169371da-5bcd-4f62-bffa-65387df1ce50.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/169371da-5bcd-4f62-bffa-65387df1ce50.vsidx" new file mode 100644 index 0000000..f270be1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/169371da-5bcd-4f62-bffa-65387df1ce50.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/339ccc6a-95ea-4f78-8616-45299be9dd90.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/339ccc6a-95ea-4f78-8616-45299be9dd90.vsidx" deleted file mode 100644 index 4a82009..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/339ccc6a-95ea-4f78-8616-45299be9dd90.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b4ce8f6-d231-4356-8904-ece35b20d64d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b4ce8f6-d231-4356-8904-ece35b20d64d.vsidx" deleted file mode 100644 index 03acc8a..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/4b4ce8f6-d231-4356-8904-ece35b20d64d.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/51bc4fd8-adae-43fe-aa0e-8971136a692a.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/51bc4fd8-adae-43fe-aa0e-8971136a692a.vsidx" deleted file mode 100644 index 33cf4fa..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/51bc4fd8-adae-43fe-aa0e-8971136a692a.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ad2b9174-0600-4c25-b074-3f17231855fc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ad2b9174-0600-4c25-b074-3f17231855fc.vsidx" new file mode 100644 index 0000000..bb10e9c --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ad2b9174-0600-4c25-b074-3f17231855fc.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c1f85c39-42dc-41e9-adff-a1cd854fb661.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c1f85c39-42dc-41e9-adff-a1cd854fb661.vsidx" new file mode 100644 index 0000000..d7c7523 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c1f85c39-42dc-41e9-adff-a1cd854fb661.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d25efbec-11d1-4ce7-a481-6187db1d5fbb.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d25efbec-11d1-4ce7-a481-6187db1d5fbb.vsidx" deleted file mode 100644 index 56a1289..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/d25efbec-11d1-4ce7-a481-6187db1d5fbb.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f1ba7a1a-5550-4f7c-abf4-712c6fab55a2.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f1ba7a1a-5550-4f7c-abf4-712c6fab55a2.vsidx" new file mode 100644 index 0000000..9a0d405 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/f1ba7a1a-5550-4f7c-abf4-712c6fab55a2.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" deleted file mode 100644 index e69de29..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" +++ /dev/null diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" index bbe6eee..9a3f2cb 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs" @@ -14,20 +14,32 @@ { public class BasicService : IBasicService { + public ICustomerInfoService CustomerInfoService { get; } + + public IPalletCodeInfoService PalletCodeInfoService { get; } + + public ISupplierInfoService SupplierInfoService { get; } + + public IUserInfoService UserInfoService { get; } + public ILocationInfoService LocationInfoService { get; } public IMaterielInfoService MaterielInfoService { get; } public IWarehouseService WarehouseService { get; } - public ISupplierInfoService SupplierInfoService { get; } + public IMaterielCodeInfoService MaterielCodeInfoService { get; } - public BasicService(ILocationInfoService locationInfoService, IMaterielInfoService materielInfoService, IWarehouseService warehouseService, ISupplierInfoService supplierInfoService) + public BasicService(ILocationInfoService locationInfoService, IMaterielInfoService materielInfoService, IWarehouseService warehouseService, ISupplierInfoService supplierInfoService,ICustomerInfoService customerInfoService,IPalletCodeInfoService palletCodeInfoService, IUserInfoService userInfoService, IMaterielCodeInfoService materielCodeInfoService) { LocationInfoService = locationInfoService; MaterielInfoService = materielInfoService; WarehouseService = warehouseService; SupplierInfoService = supplierInfoService; + CustomerInfoService = customerInfoService; + PalletCodeInfoService = palletCodeInfoService; + UserInfoService = userInfoService; + MaterielCodeInfoService = materielCodeInfoService; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/MesOutboundOrderType.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/MesOutboundOrderType.cs" new file mode 100644 index 0000000..d269e16 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/MesOutboundOrderType.cs" @@ -0,0 +1,27 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Common.OrderEnum +{ + /// <summary> + /// + /// </summary> + public enum MesOutboundOrderTypeEnum + { + /// <summary> + /// 鍩烘澘鍑哄簱 + /// </summary> + [Description("鍩烘澘鍑哄簱")] + SubstrateOut = 100, + + /// <summary> + /// 鍩烘澘浣欐枡閫�搴� + /// </summary> + [Description("鍩烘澘浣欐枡閫�搴�")] + SubstrateBack = 200, + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs" index 785290a..23c0f6a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs" @@ -122,7 +122,7 @@ } } - private Expression<Func<TEntity, bool>> GetWhereExpression(string propertyName, object propertyValue, ParameterExpression parameter, LinqExpressionType expressionType) + protected Expression<Func<TEntity, bool>> GetWhereExpression(string propertyName, object propertyValue, ParameterExpression parameter, LinqExpressionType expressionType) { Type proType = typeof(TEntity).GetProperty(propertyName).PropertyType; ConstantExpression constant = proType.ToString() == "System.String" diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/HttpContextExtension.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/HttpContextExtension.cs" new file mode 100644 index 0000000..92ecb6e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/HttpContextExtension.cs" @@ -0,0 +1,24 @@ +锘縰sing Microsoft.AspNetCore.Http; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Core.Extensions +{ + public static class HttpContextExtension + { + public static ISession GetSession(this HttpContext context) + { + try + { + return context.Session; + } + catch (Exception) + { + return default; + } + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/SwaggerContextExtension.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/SwaggerContextExtension.cs" new file mode 100644 index 0000000..d3e686f --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/SwaggerContextExtension.cs" @@ -0,0 +1,72 @@ +锘縰sing Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Http.Extensions; +using System; +using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; +using System.Linq; +using System.Security.Claims; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Helper; + +namespace WIDESEA_Core.Extensions +{ + public static class SwaggerContextExtension + { + public const string SwaggerCodeKey = "swagger-code"; + public const string SwaggerJwt = "swagger-jwt"; + + public static bool IsSuccessSwagger() + { + return App.HttpContext?.GetSession()?.GetString(SwaggerCodeKey) == "success"; + } + + public static bool IsSuccessSwagger(this HttpContext context) + { + return context.GetSession()?.GetString(SwaggerCodeKey) == "success"; + } + + public static void SuccessSwagger() + { + App.HttpContext?.GetSession()?.SetString(SwaggerCodeKey, "success"); + } + + public static void SuccessSwagger(this HttpContext context) + { + context.GetSession()?.SetString(SwaggerCodeKey, "success"); + } + + public static void SuccessSwaggerJwt(this HttpContext context, string token) + { + var claims = new ClaimsIdentity(GetClaimsIdentity(token)); + context.User.AddIdentity(claims); + context.GetSession().SetString(SwaggerJwt, token); + } + + private static IEnumerable<Claim> GetClaimsIdentity(string token) + { + var jwtHandler = new JwtSecurityTokenHandler(); + // token鏍¢獙 + if (token.IsNotEmptyOrNull() && jwtHandler.CanReadToken(token)) + { + var jwtToken = jwtHandler.ReadJwtToken(token); + + return jwtToken.Claims; + } + + return new List<Claim>(); + } + + public static string GetSuccessSwaggerJwt(this HttpContext context) + { + return context.GetSession().GetString(SwaggerJwt); + } + + + public static void RedirectSwaggerLogin(this HttpContext context) + { + var returnUrl = context.Request.GetDisplayUrl(); //鑾峰彇褰撳墠url鍦板潃 + context.Response.Redirect("/swg-login.html?returnUrl=" + returnUrl); + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/WebSocketSetup.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/WebSocketSetup.cs" index b0b9fc5..48dc714 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/WebSocketSetup.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/WebSocketSetup.cs" @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Core.Helper; namespace WIDESEA_Core.Extensions { @@ -14,6 +15,12 @@ { if (services == null) throw new ArgumentNullException(nameof(services)); + int port = AppSettings.Get("WebSocketPort").ObjToInt(); + if (port == 0) + { + port = 9296; + } + services.AddSingleton(x => { WebSocketServer socketServer = new WebSocketServer(); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs" index 15b0ead..4ad30c7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs" @@ -9,6 +9,7 @@ using System.Security.Claims; using System.Text; using System.Threading.Tasks; +using WIDESEA_Core.Extensions; using WIDESEA_Core.Helper; using ICacheService = WIDESEA_Core.Caches.ICacheService; @@ -46,21 +47,19 @@ public string GetToken() { - string token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; + string token = ""; + token = _cacheService.Get(UserId.ToString()); + if (!string.IsNullOrEmpty(token)) { return token; } + token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; if (!token.IsNullOrEmpty()) { return token; } - //if (_accessor.HttpContext?.IsSuccessSwagger() == true) + //if (_accessor.HttpContext?.IsSuccessSwagger() ?? false) //{ // token = _accessor.HttpContext.GetSuccessSwaggerJwt(); // if (token.IsNotEmptyOrNull()) // { - // //UserInfo userInfo = JwtHelper.SerializeJwt(token); - // //if (userInfo.UserId > 0) - // //{ - // // return token; - // //} // List<Claim> claims1 = _accessor.HttpContext.User.Claims.ToList(); // if (_accessor.HttpContext.User.Claims.Any(s => s.Type == JwtRegisteredClaimNames.Jti)) // { @@ -72,8 +71,6 @@ // return token; // } //} - token = _cacheService.Get(UserId.ToString()); - if (!string.IsNullOrEmpty(token)) { return token; } return token; // string token = _cacheService.Get(UserId.ToString()); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/EntityProperties.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/EntityProperties.cs" index b6c5235..a57e31b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/EntityProperties.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/EntityProperties.cs" @@ -5,10 +5,12 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; +using System.Linq.Expressions; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.Const; +using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; namespace WIDESEA_Core.Utilities @@ -318,5 +320,48 @@ } return null; } + + public static void ValidatePageOptions<TEntity>(PageDataOptions options, ref ISugarQueryable<TEntity> sugarQueryable) + { + string where = string.Empty; + PropertyInfo[] entityProperties = typeof(TEntity).GetProperties(); + List<SearchParameters> searchParametersList = new List<SearchParameters>(); + if (options.Filter != null && options.Filter.Count > 0) + { + searchParametersList.AddRange(options.Filter); + } + else if (!string.IsNullOrEmpty(options.Wheres)) + { + try + { + searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>(); + options.Filter = searchParametersList; + } + catch { } + } + for (int i = 0; i < searchParametersList.Count; i++) + { + if (string.IsNullOrEmpty(searchParametersList[i].Value)) + { + continue; + } + + PropertyInfo? property = entityProperties.Where(c => c.Name.ToUpper() == searchParametersList[i].Name.ToUpper()).FirstOrDefault(); + + if (property == null) continue; + + List<(bool, string, object)> results = property.ValidationValueForDbType(searchParametersList[i].Value.Split(',')).ToList(); + if (results == null || results.Count() == 0) + { + continue; + } + for (int j = 0; j < results.Count(); j++) + { + LinqExpressionType expressionType = searchParametersList[i].DisplayType.GetLinqCondition(); + Expression<Func<TEntity, bool>> expression = property.GetWhereExpression<TEntity>(results[j].Item3, null, expressionType); + sugarQueryable = sugarQueryable.Where(expression); + } + } + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/LambdaExtensions.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/LambdaExtensions.cs" index 459408a..a8e0099 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/LambdaExtensions.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Utilities/LambdaExtensions.cs" @@ -179,5 +179,70 @@ return p => false; } + + public static Expression<Func<TEntity, bool>> GetWhereExpression<TEntity>(this PropertyInfo propertyInfo, object propertyValue, ParameterExpression parameter, LinqExpressionType expressionType) + { + Type proType = propertyInfo.PropertyType; + ConstantExpression constant = proType.ToString() == "System.String" + ? Expression.Constant(propertyValue) : Expression.Constant(propertyValue.ToString().ChangeType(proType)); + + // DateTime鍙�夋嫨浜嗘棩鏈熺殑鏃跺�欒嚜鍔ㄥ湪缁撴潫鏃ユ湡鍔犱竴澶╋紝淇DateTime绫诲瀷浣跨敤鏃ユ湡鍖洪棿鏌ヨ鏃犳硶鏌ヨ鍒扮粨鏉熸棩鏈熺殑闂 + if ((proType == typeof(DateTime) || proType == typeof(DateTime?)) && expressionType == LinqExpressionType.LessThanOrEqual && propertyValue.ToString().Length == 10) + { + constant = Expression.Constant(Convert.ToDateTime(propertyValue.ToString()).AddDays(1)); + } + parameter = parameter ?? Expression.Parameter(typeof(TEntity), "b"); + //鍒涘缓鑺傜偣鐨勫睘鎬=>p.name 灞炴�ame + MemberExpression memberProperty = Expression.PropertyOrField(parameter, propertyInfo.Name); + UnaryExpression member = Expression.Convert(memberProperty, constant.Type); + Expression<Func<TEntity, bool>> expression = p => false; + switch (expressionType) + { + //p=>p.propertyName == propertyValue + case LinqExpressionType.Equal: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.Equal(member, constant), parameter); + break; + //p=>p.propertyName != propertyValue + case LinqExpressionType.NotEqual: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.NotEqual(member, constant), parameter); + break; + // p => p.propertyName > propertyValue + case LinqExpressionType.GreaterThan: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.GreaterThan(member, constant), parameter); + break; + // p => p.propertyName < propertyValue + case LinqExpressionType.LessThan: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.LessThan(member, constant), parameter); + break; + // p => p.propertyName >= propertyValue + case LinqExpressionType.ThanOrEqual: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.GreaterThanOrEqual(member, constant), parameter); + break; + // p => p.propertyName <= propertyValue + case LinqExpressionType.LessThanOrEqual: + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.LessThanOrEqual(member, constant), parameter); + break; + // p => p.propertyName.Contains(propertyValue) + // p => !p.propertyName.Contains(propertyValue) + case LinqExpressionType.Contains: + case LinqExpressionType.NotContains: + MethodInfo method = typeof(string).GetMethod("Contains", new[] { typeof(string) }); + constant = Expression.Constant(propertyValue, typeof(string)); + if (expressionType == LinqExpressionType.Contains) + { + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.Call(member, method, constant), parameter); + } + else + { + expression = Expression.Lambda<Func<TEntity, bool>>(Expression.Not(Expression.Call(member, method, constant)), parameter); + } + break; + default: + // + expression = p => false; + break; + } + return expression; + } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs" index 2a18606..b7125f4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/MESRoot.cs" @@ -20,19 +20,5 @@ public T Content { get; set; } } - /// <summary> - ///娴嬭瘯鏋跺悓姝� - /// </summary> - public class TestToolSynInfo - { - /// <summary> - /// 娴嬭瘯鏋舵壒娆″彿 - /// </summary> - public string ToolCode { get; set; } - /// <summary> - /// 鍒濆瀵垮懡 - /// </summary> - public int Life { get; set; } - - } + } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/RootList.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/RootList.cs" deleted file mode 100644 index 9ff5822..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/RootList.cs" +++ /dev/null @@ -1,23 +0,0 @@ -锘縰sing OfficeOpenXml.FormulaParsing.Excel.Functions.Text; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WIDESEA_DTO.MES -{ - public class RootList - { - /// <summary> - /// - /// </summary> - public string From { get; set; } - /// <summary> - /// - /// </summary> - public string DateTime { get; set; } - - public List<TestToolScrap> Content { get; set; } - } -} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SubstrateModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SubstrateModel.cs" new file mode 100644 index 0000000..b36a00d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/SubstrateModel.cs" @@ -0,0 +1,90 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_DTO.MES +{ + /// <summary> + /// 鍩烘澘鍑哄簱 + /// </summary> + public class SubstrateOutModel + { + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + public string TaskNo { get; set; } + + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + public string MaterialCode { get; set; } + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string MaterialName { get; set; } + + /// <summary> + /// 闇�姹傛暟閲� + /// </summary> + public float RequiredQuantity { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public string Unit { get; set; } + + /// <summary> + /// 绾夸綋 + /// </summary> + public string Line { get; set; } + } + + /// <summary> + /// 鍩烘澘浣欐枡閫�搴� + /// </summary> + public class SubstrateBackModel + { + /// <summary> + /// 鐗╂枡鎵规 + /// </summary> + public string MaterialLot { get; set; } + + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + public string MaterialCode { get; set; } + + /// <summary> + /// 鐗╂枡鍒嗙被 + /// </summary> + public string MaterialCategory { get; set; } + + /// <summary> + /// 閫�搴撴暟閲� + /// </summary> + public float Quantity { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public string Unit { get; set; } + + /// <summary> + /// 杞藉叿缂栫爜 + /// </summary> + public string CarrierCode { get; set; } + + /// <summary> + /// 鐢熶骇鏃ユ湡 + /// </summary> + public string ProductionDate { get; set; } + + /// <summary> + /// 鏈夋晥鏈� + /// </summary> + public string ExpirationDate { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs" index 93d371f..2d6376a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/MES/TestToolModel.cs" @@ -56,5 +56,19 @@ [PropertyValidate("娴嬭瘯鏋舵壒娆″彿", NotNullAndEmpty = true)] public string TestToolCode { get; set; } } - + + /// <summary> + ///娴嬭瘯鏋跺悓姝� + /// </summary> + public class TestToolSynInfo + { + /// <summary> + /// 娴嬭瘯鏋舵壒娆″彿 + /// </summary> + public string ToolCode { get; set; } + /// <summary> + /// 鍒濆瀵垮懡 + /// </summary> + public int Life { get; set; } + } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs" index 53eaf86..29b47b1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockViewDTO.cs" @@ -10,53 +10,119 @@ namespace WIDESEA_DTO.Stock { + /// <summary> + /// + /// </summary> public class StockViewDTO { - [SugarColumn(IsNullable = true, ColumnDescription = "璐т綅鍙�")] + /// <summary> + /// + /// </summary> public string LocationCode { get; set; } + /// <summary> + /// + /// </summary> public string LocationName { get; set; } + /// <summary> + /// + /// </summary> public int Column { get; set; } + /// <summary> + /// + /// </summary> public int Row { get; set; } + /// <summary> + /// + /// </summary> public int Layer { get; set; } + /// <summary> + /// + /// </summary> public int Depth { get; set; } + /// <summary> + /// + /// </summary> public int LocationStatus { get; set; } + /// <summary> + /// + /// </summary> public int LocationType { get; set; } + /// <summary> + /// + /// </summary> public string RoadwayNo { get; set; } + /// <summary> + /// + /// </summary> public int EnalbeStatus { get; set; } - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + /// <summary> + /// + /// </summary> public int StockId { get; set; } - [SugarColumn(IsNullable = true, ColumnDescription = "鎵樼洏鍙�")] + + /// <summary> + /// + /// </summary> public string PalletCode { get; set; } + /// <summary> + /// + /// </summary> public bool IsFull { get; set; } - [SugarColumn(IsNullable = true, ColumnDescription = "鐗╂枡鍙�")] + + /// <summary> + /// + /// </summary> public string MaterielCode { get; set; } - [SugarColumn(IsNullable = true, ColumnDescription = "鎵规鍙�")] + /// <summary> + /// + /// </summary> public string BatchNo { get; set; } + /// <summary> + /// + /// </summary> public int StockStatus { get; set; } + /// <summary> + /// + /// </summary> public string StockRemark { get; set; } + /// <summary> + /// + /// </summary> public string Creater { get; set; } + /// <summary> + /// + /// </summary> public DateTime CreateDate { get; set; } + /// <summary> + /// + /// </summary> public string Modifier { get; set; } + /// <summary> + /// + /// </summary> public DateTime? ModifyDate { get; set; } + /// <summary> + /// + /// </summary> [Navigate(NavigateType.OneToMany, nameof(Dt_StockInfoDetail.StockId), nameof(StockId))] public List<Dt_StockInfoDetail> Details { get; set; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs" new file mode 100644 index 0000000..5e6fe8e --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs" @@ -0,0 +1,16 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_DTO.Task +{ + /// <summary> + /// + /// </summary> + public class WCSTaskDTO + { + // public int Task + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs" index bde6341..4b0b5f8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs" @@ -6,6 +6,9 @@ namespace WIDESEA_DTO.Task { + /// <summary> + /// 浠诲姟DTO + /// </summary> public class WMSTaskDTO { /// <summary> @@ -53,10 +56,19 @@ /// </summary> public int Grade { get; set; } + /// <summary> + /// + /// </summary> public int WarehouseId { get; set; } + /// <summary> + /// + /// </summary> public string AGVArea { get; set; } + /// <summary> + /// + /// </summary> public int PalletType { get; set; } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WIDESEA_DTO.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WIDESEA_DTO.csproj" index 3c9bb11..502ce7c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WIDESEA_DTO.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WIDESEA_DTO.csproj" @@ -1,13 +1,14 @@ 锘�<Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFramework>net6.0</TargetFramework> - <ImplicitUsings>enable</ImplicitUsings> - <Nullable>enable</Nullable> - </PropertyGroup> + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <GenerateDocumentationFile>True</GenerateDocumentationFile> + </PropertyGroup> - <ItemGroup> - <ProjectReference Include="..\WIDESEA_Model\WIDESEA_Model.csproj" /> - </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\WIDESEA_Model\WIDESEA_Model.csproj" /> + </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" index 3bdd8dc..cab3468 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/IBasicService.cs" @@ -28,5 +28,13 @@ /// 渚涘簲鍟嗕笟鍔″眰 /// </summary> ISupplierInfoService SupplierInfoService { get; } + + IUserInfoService UserInfoService { get; } + + IPalletCodeInfoService PalletCodeInfoService { get; } + + ICustomerInfoService CustomerInfoService { get; } + + IMaterielCodeInfoService MaterielCodeInfoService { get; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundService.cs" index fea1b5b..1c45a8d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundService.cs" @@ -17,5 +17,9 @@ IReceiveOrderDetailService ReceiveOrderDetailService { get; } IReceiveOrderService ReceiveOrderService { get; } + + IPurchaseOrderService PurchaseOrderService { get; } + + IPurchaseOrderDetailService PurchaseOrderDetailService { get; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IMesOutboundOrderRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IMesOutboundOrderRepository.cs" new file mode 100644 index 0000000..9ea7dab --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundRepository/IMesOutboundOrderRepository.cs" @@ -0,0 +1,14 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundRepository +{ + public interface IMesOutboundOrderRepository : IRepository<Dt_MesOutboundOrder> + { + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesOutboundOrderService.cs" new file mode 100644 index 0000000..74c638d --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IMesOutboundOrderService.cs" @@ -0,0 +1,17 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_DTO.MES; +using WIDESEA_DTO; +using WIDESEA_Model.Models; + +namespace WIDESEA_IOutboundService +{ + public interface IMesOutboundOrderService : IService<Dt_MesOutboundOrder> + { + MesResponseContent SubstrateOut(SubstrateOutModel model); + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" index 7e86e2f..4144995 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundService.cs" @@ -9,6 +9,8 @@ { public interface IOutboundService:IDependency { + IMesOutboundOrderService MesOutboundOrderService { get; }; + IOutboundOrderDetailService OutboundOrderDetailService { get; } IOutboundOrderService OutboundOrderService { get; } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs" index 7936dcd..345f0f5 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs" @@ -18,12 +18,18 @@ public IReceiveOrderService ReceiveOrderService { get; } - public InboundService(IInboundOrderDetailService inboundOrderDetailService, IInboundOrderService inbounOrderService, IReceiveOrderDetailService receiveOrderDetailService, IReceiveOrderService receiveOrderService) + public IPurchaseOrderService PurchaseOrderService { get; } + + public IPurchaseOrderDetailService PurchaseOrderDetailService { get; } + + public InboundService(IInboundOrderDetailService inboundOrderDetailService, IInboundOrderService inbounOrderService, IReceiveOrderDetailService receiveOrderDetailService, IReceiveOrderService receiveOrderService, IPurchaseOrderService purchaseOrderService, IPurchaseOrderDetailService purchaseOrderDetailService) { InboundOrderDetailService = inboundOrderDetailService; InbounOrderService = inbounOrderService; ReceiveOrderDetailService = receiveOrderDetailService; ReceiveOrderService = receiveOrderService; + PurchaseOrderService = purchaseOrderService; + PurchaseOrderDetailService = purchaseOrderDetailService; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs" index 9b42375..e0dc8f8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_ApiInfo.cs" @@ -8,6 +8,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鎺ュ彛淇℃伅 + /// </summary> [SugarTable(nameof(Dt_ApiInfo), "鎺ュ彛淇℃伅")] public class Dt_ApiInfo : BaseEntity { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" index 4431357..02df027 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" @@ -9,6 +9,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鐗╂枡鐮佷俊鎭� + /// </summary> [SugarTable(nameof(Dt_MaterielCodeInfo), "鐗╂枡鐮佷俊鎭�")] public class Dt_MaterielCodeInfo : BaseEntity { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletCodeInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletCodeInfo.cs" index 16d765a..cfbc12e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletCodeInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletCodeInfo.cs" @@ -8,6 +8,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鎵樼洏缂栧彿淇℃伅 + /// </summary> [SugarTable(nameof(Dt_PalletCodeInfo), "鎵樼洏缂栧彿淇℃伅")] public class Dt_PalletCodeInfo : BaseEntity { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletTypeInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletTypeInfo.cs" index 4eecf5a..255eacd 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletTypeInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_PalletTypeInfo.cs" @@ -9,61 +9,61 @@ namespace WIDESEA_Model.Models { /// <summary> - /// + /// 鎵樼洏绫诲瀷 /// </summary> [SugarTable(nameof(Dt_PalletTypeInfo), "鎵樼洏绫诲瀷")] public class Dt_PalletTypeInfo : BaseEntity { /// <summary> - /// + /// 涓婚敭 /// </summary> [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] public int Id { get; set; } /// <summary> - /// + /// 鎵樼洏绫诲瀷 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "鎵樼洏绫诲瀷")] public int PalletType { get; set; } /// <summary> - /// + /// 鎵樼洏绫诲瀷鍚嶇О /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏绫诲瀷鍚嶇О")] public string TypeName { get; set; } /// <summary> - /// + /// 闀垮害 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "闀垮害")] public int Length { get; set; } /// <summary> - /// + /// 瀹藉害 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "瀹藉害")] public int Width { get; set; } /// <summary> - /// + /// 楂樺害 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "楂樺害")] public int Height { get; set; } /// <summary> - /// + /// 鐘舵�� /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "鐘舵��")] public int Enbale { get; set; } /// <summary> - /// + /// 浠撳簱缂栧彿 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱缂栧彿")] public int WarehouseId { get; set; } /// <summary> - /// + /// 鎵�灞炲眰 /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵�灞炲眰")] public string SortNum { get; set; } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs" index c6f027f..5e5066e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_UserInfo.cs" @@ -8,6 +8,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鍛樺伐淇℃伅 + /// </summary> [SugarTable(nameof(Dt_UserInfo), "鍛樺伐淇℃伅")] public class Dt_UserInfo : BaseEntity { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" index a23c3d2..34e13aa 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrderDetail_Hty.cs" @@ -9,73 +9,34 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鍏ュ簱鍗曟槑缁� + /// </summary> [SugarTable(nameof(Dt_InboundOrderDetail_Hty), "鍏ュ簱鍗曟槑缁�")] - public class Dt_InboundOrderDetail_Hty : BaseEntity + public class Dt_InboundOrderDetail_Hty : Dt_InboundOrderDetail, IBaseHistoryEntity { - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鍏ュ簱鍗曚富閿�")] - public int OrderId { get; set; } - - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] - public string MaterielCode { get; set; } - - [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] - public string MaterielName { get; set; } - - [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")] - public string BatchNo { get; set; } - - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "鍗曟嵁鏁伴噺")] - public decimal OrderQuantity { get; set; } - - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "缁勭洏鏁伴噺", DefaultValue = "0")] - public decimal ReceiptQuantity { get; set; } - - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "涓婃灦鏁伴噺", DefaultValue = "0")] - public decimal OverInQuantity { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟鏄庣粏鐘舵��")] - public int OrderDetailStatus { get; set; } - - [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "澶囨敞")] + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } /// <summary> - /// 鍒涘缓鏃堕棿 + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" index e5df887..2442f67 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_InboundOrder_Hty.cs" @@ -12,95 +12,33 @@ namespace WIDESEA_Model.Models { /// <summary> - /// + /// 鍏ュ簱鍗曞巻鍙� /// </summary> [SugarTable(nameof(Dt_InboundOrder_Hty), "鍏ュ簱鍗曞巻鍙�")] - public class Dt_InboundOrder_Hty + public class Dt_InboundOrder_Hty : Dt_InboundOrder, IBaseHistoryEntity { /// <summary> - /// + /// 鍘熻〃涓婚敭 /// </summary> - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿")] - public string OrderNo { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "涓婃父鍗曟嵁缂栧彿")] - public string UpperOrderNo { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁绫诲瀷")] - public int OrderType { get; set; } - - /// <summary> - /// 鍗曟嵁鐘舵�� - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鐘舵��")] - public int OrderStatus { get; set; } - - /// <summary> - /// 鍒涘缓鏂瑰紡 - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡")] - public int CreateType { get; set; } - - /// <summary> - /// 澶囨敞 - /// </summary> - [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - - /// <summary> - /// 婧愪富閿� - /// </summary> - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } /// <summary> /// 鎿嶄綔绫诲瀷 /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } /// <summary> - /// 鍒涘缓浜� + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } - - /// <summary> - /// 鍒涘缓鏃堕棿 - /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrder.cs" index f5691b5..52c9f66 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrder.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_PurchaseOrder.cs" @@ -10,7 +10,7 @@ namespace WIDESEA_Model.Models { /// <summary> - /// + /// 閲囪喘鍗� /// </summary> [SugarTable(nameof(Dt_PurchaseOrder), "閲囪喘鍗�"), ModelValidate] public class Dt_PurchaseOrder : BaseEntity diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_MesOutboundOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_MesOutboundOrder.cs" new file mode 100644 index 0000000..54cbe9b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_MesOutboundOrder.cs" @@ -0,0 +1,109 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.Attributes; +using WIDESEA_Core.CodeConfigEnum; +using WIDESEA_Core.DB.Models; + +namespace WIDESEA_Model.Models +{ + /// <summary> + /// + /// </summary> + public class Dt_MesOutboundOrder : BaseEntity + { + /// <summary> + /// 涓婚敭 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] + public int Id { get; set; } + + /// <summary> + /// 浠撳簱涓婚敭 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")] + public int WarehouseId { get; set; } + + /// <summary> + /// 鍗曟嵁缂栧彿 + /// </summary> + [CodeRule(RuleCodeEnum.OutboundOrderRule)] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿", IsOnlyIgnoreUpdate = true)] + public string OrderNo { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浠诲姟鍗曞彿")] + public string TaskNo { get; set; } + + /// <summary> + /// 鍗曟嵁绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁绫诲瀷", IsOnlyIgnoreUpdate = true)] + public int OrderType { get; set; } + + /// <summary> + /// 鍗曟嵁鐘舵�� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鐘舵��")] + public int OrderStatus { get; set; } + + /// <summary> + /// 鍒涘缓鏂瑰紡 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡", IsOnlyIgnoreUpdate = true)] + public int CreateType { get; set; } + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] + public string MaterialCode { get; set; } + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] + public string MaterialName { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鍗曚綅")] + public string Unit { get; set; } + + /// <summary> + /// 鍗曟嵁鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鏁伴噺")] + public float OrderQuantity { get; set; } + + /// <summary> + /// 宸插嚭鏁伴噺 + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "宸插嚭鏁伴噺", DefaultValue = "0")] + public float OverOutQuantity { get; set; } + + /// <summary> + /// 绾夸綋 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "绾夸綋")] + public string Line { get; set; } + + /// <summary> + /// 绾胯竟浠撳湴鍧�鐮� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "绾胯竟浠撳湴鍧�鐮�")] + public string TargetAddressCode { get; set; } + + /// <summary> + /// 瑁佸垏瀹� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "瑁佸垏瀹�")] + public float Width { get; set; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs" index cb46215..c5aff01 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder.cs" @@ -58,23 +58,24 @@ /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡", IsOnlyIgnoreUpdate = true)] public int CreateType { get; set; } + /// <summary> /// 閮ㄩ棬缂栧彿 /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "閮ㄩ棬缂栧彿")] public string DepartmentCode { get; set; } + /// <summary> /// 閮ㄩ棬鍚嶇О /// </summary> [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "閮ㄩ棬鍚嶇О")] public string DepartmentName { get; set; } + /// <summary> /// 澶囨敞 /// </summary> [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] public string Remark { get; set; } - - /// <summary> /// 鍑哄簱鍗曟槑缁� diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" index 996da79..01d46d6 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrderDetail_Hty.cs" @@ -13,109 +13,30 @@ /// /// </summary> [SugarTable(nameof(Dt_OutboundOrderDetail_Hty), "鍑哄簱鍗曟槑缁�")] - public class Dt_OutboundOrderDetail_Hty + public class Dt_OutboundOrderDetail_Hty : Dt_OutboundOrderDetail, IBaseHistoryEntity { /// <summary> - /// + /// 鍘熻〃涓婚敭 /// </summary> - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曚富閿�")] - public int OrderId { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] - public string MaterielCode { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] - public string MaterielName { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")] - public string BatchNo { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "鍗曟嵁鏁伴噺")] - public decimal OrderQuantity { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "閿佸畾鏁伴噺", DefaultValue = "0")] - public decimal LockQuantity { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, DecimalDigits = 2, ColumnDescription = "宸插嚭鏁伴噺", DefaultValue = "0")] - public decimal OverOutQuantity { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, ColumnDescription = "璁㈠崟鏄庣粏鐘舵��")] - public int OrderDetailStatus { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - - /// <summary> - /// - /// </summary> - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } /// <summary> - /// + /// 鎿嶄綔绫诲瀷 /// </summary> - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "澶囨敞")] + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } /// <summary> - /// 鍒涘缓鏃堕棿 + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" index 621f32f..c53b331 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_OutboundOrder_Hty.cs" @@ -11,66 +11,34 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// + /// </summary> [SugarTable(nameof(Dt_OutboundOrder_Hty), "鍑哄簱鍗�")] - public class Dt_OutboundOrder_Hty + public class Dt_OutboundOrder_Hty : Dt_OutboundOrder, IBaseHistoryEntity { - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿", IsOnlyIgnoreUpdate = true)] - public string OrderNo { get; set; } - - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "涓婃父鍗曟嵁缂栧彿", IsOnlyIgnoreUpdate = true)] - public string UpperOrderNo { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁绫诲瀷", IsOnlyIgnoreUpdate = true)] - public int OrderType { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鍗曟嵁鐘舵��")] - public int OrderStatus { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏂瑰紡", IsOnlyIgnoreUpdate = true)] - public int CreateType { get; set; } - - [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "澶囨敞")] - + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } /// <summary> - /// 鍒涘缓鏃堕棿 + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail_Hty.cs" index b385f73..82096fc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfoDetail_Hty.cs" @@ -9,81 +9,34 @@ namespace WIDESEA_Model.Models { - [SugarTable(nameof(Dt_StockInfoDetail_Hty), "搴撳瓨淇℃伅鏄庣粏")] - public class Dt_StockInfoDetail_Hty + /// <summary> + /// 搴撳瓨淇℃伅鏄庣粏鍘嗗彶 + /// </summary> + [SugarTable(nameof(Dt_StockInfoDetail_Hty), "搴撳瓨淇℃伅鏄庣粏鍘嗗彶")] + public class Dt_StockInfoDetail_Hty : Dt_StockInfoDetail, IBaseHistoryEntity { - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "搴撳瓨淇℃伅涓婚敭")] - public int StockId { get; set; } - - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")] - public string MaterielCode { get; set; } - - [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鐗╂枡鍚嶇О")] - public string MaterielName { get; set; } - - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿")] - public string OrderNo { get; set; } - - [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鎵规鍙�")] - public string BatchNo { get; set; } - - [SugarColumn(IsNullable = false, Length = 100, ColumnDescription = "搴忓垪鍙�")] - public string SerialNumber { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "搴撳瓨鏁伴噺")] - public decimal StockQuantity { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鏁伴噺", DefaultValue = "0")] - public decimal OutboundQuantity { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "搴撳瓨鏄庣粏鐘舵��")] - public int Status { get; set; } - - [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - - [Navigate(NavigateType.OneToOne, nameof(Dt_StockQuantityChangeRecord.StockDetailId), nameof(Id))] - public Dt_StockQuantityChangeRecord StockQuantityChangeRecord { get; set; } - - - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "澶囨敞")] + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } /// <summary> - /// 鍒涘缓鏃堕棿 + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs" index 1662516..00a0f08 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_StockInfo_Hty.cs" @@ -9,62 +9,34 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 搴撳瓨淇℃伅鍘嗗彶 + /// </summary> [SugarTable(nameof(Dt_StockInfo_Hty), "搴撳瓨淇℃伅")] - public class Dt_StockInfo_Hty + public class Dt_StockInfo_Hty : Dt_StockInfo, IBaseHistoryEntity { - [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")] - public int Id { get; set; } - - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏缂栧彿")] - public string PalletCode { get; set; } - - [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "璐т綅缂栧彿")] - public string LocationCode { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁婊$洏", DefaultValue = "0")] - public bool IsFull { get; set; } - - [SugarColumn(IsNullable = false, ColumnDescription = "搴撳瓨鐘舵��")] - public int StockStatus { get; set; } - - [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")] - public string Remark { get; set; } - - [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "婧愪富閿�")] + /// <summary> + /// 鍘熻〃涓婚敭 + /// </summary> + [ImporterHeader(Name = "鍘熻〃涓婚敭")] + [ExporterHeader(DisplayName = "鍘熻〃涓婚敭")] + [SugarColumn(IsNullable = false, DefaultValue = "0", ColumnDescription = "鍘熻〃涓婚敭")] public int SourceId { get; set; } - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "澶囨敞")] + /// <summary> + /// 鎿嶄綔绫诲瀷 + /// </summary> + [ImporterHeader(Name = "鎿嶄綔绫诲瀷")] + [ExporterHeader(DisplayName = "鎿嶄綔绫诲瀷")] + [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎿嶄綔绫诲瀷")] public string OperateType { get; set; } - /// <summary> - /// 鍒涘缓浜� - /// </summary> - [ImporterHeader(Name = "鍒涘缓浜�")] - [ExporterHeader(DisplayName = "鍒涘缓浜�")] - [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍒涘缓浜�")] - public string Creater { get; set; } /// <summary> - /// 鍒涘缓鏃堕棿 + /// 绉诲叆鍘嗗彶鏃堕棿 /// </summary> - [ImporterHeader(Name = "鍒涘缓鏃堕棿")] - [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")] - [SugarColumn(IsNullable = false, ColumnDescription = "鍒涘缓鏃堕棿")] - public DateTime CreateDate { get; set; } = DateTime.Now; - - /// <summary> - /// 鏇存柊鑰� - /// </summary> - [ImporterHeader(Name = "淇敼浜�")] - [ExporterHeader(DisplayName = "淇敼浜�")] - [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "淇敼浜�")] - public string Modifier { get; set; } - - /// <summary> - /// 淇敼鏃ユ湡 - /// </summary> - [ImporterHeader(Name = "淇敼鏃ユ湡")] - [ExporterHeader(DisplayName = "淇敼鏃ユ湡")] - [SugarColumn(IsNullable = true, ColumnDescription = "淇敼鏃ユ湡")] - public DateTime? ModifyDate { get; set; } + [ImporterHeader(Name = "绉诲叆鍘嗗彶鏃堕棿")] + [ExporterHeader(DisplayName = "绉诲叆鍘嗗彶鏃堕棿")] + [SugarColumn(IsNullable = false, ColumnDescription = "绉诲叆鍘嗗彶鏃堕棿")] + public DateTime InsertTime { get; set; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/System/Sys_Log.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/System/Sys_Log.cs" index 8c15781..a2d31ba 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/System/Sys_Log.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/System/Sys_Log.cs" @@ -8,6 +8,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 鎺ュ彛鏃ュ織 + /// </summary> [SugarTable(nameof(Sys_Log), "鎺ュ彛鏃ュ織")] public class Sys_Log { @@ -34,12 +37,6 @@ /// </summary> [SugarColumn(IsNullable = true, ColumnDescription = "缁撴潫鏃堕棿")] public DateTime EndDate { get; set; } - - /// <summary> - /// 鏃ュ織绫诲瀷 - /// </summary> - //[SugarColumn(IsNullable = true, ColumnDescription = "鏃ュ織绫诲瀷")] - //public DateTime LogType { get; set; } /// <summary> /// 璇锋眰鍙傛暟 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs" index b69fc0c..f903756 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task_Hty.cs" @@ -11,6 +11,9 @@ namespace WIDESEA_Model.Models { + /// <summary> + /// 浠诲姟淇℃伅鍘嗗彶 + /// </summary> [SugarTable(nameof(Dt_Task_Hty), "浠诲姟淇℃伅鍘嗗彶")] public class Dt_Task_Hty : Dt_Task, IBaseHistoryEntity { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/WIDESEA_Model.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/WIDESEA_Model.csproj" index f1d8179..efb20bf 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/WIDESEA_Model.csproj" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/WIDESEA_Model.csproj" @@ -1,18 +1,19 @@ <Project Sdk="Microsoft.NET.Sdk"> - <PropertyGroup> - <TargetFramework>net6.0</TargetFramework> - <ImplicitUsings>enable</ImplicitUsings> - <Nullable>enable</Nullable> - </PropertyGroup> + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <GenerateDocumentationFile>True</GenerateDocumentationFile> + </PropertyGroup> - <ItemGroup> - <PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" /> - </ItemGroup> + <ItemGroup> + <PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" /> + </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\WIDESEA_Common\WIDESEA_Common.csproj" /> - <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> - </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\WIDESEA_Common\WIDESEA_Common.csproj" /> + <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" /> + </ItemGroup> </Project> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/MesOutboundOrderRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/MesOutboundOrderRepository.cs" new file mode 100644 index 0000000..276f503 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundRepository/MesOutboundOrderRepository.cs" @@ -0,0 +1,18 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseRepository; +using WIDESEA_IOutboundRepository; +using WIDESEA_Model.Models; + +namespace WIDESEA_OutboundRepository +{ + public class MesOutboundOrderRepository : RepositoryBase<Dt_MesOutboundOrder>, IMesOutboundOrderRepository + { + public MesOutboundOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) + { + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs" new file mode 100644 index 0000000..3c67a27 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs" @@ -0,0 +1,71 @@ +锘� +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WIDESEA_Core.BaseServices; +using WIDESEA_DTO.ERP; +using WIDESEA_DTO.MES; +using WIDESEA_DTO; +using WIDESEA_IOutboundRepository; +using WIDESEA_IOutboundService; +using WIDESEA_Model.Models; +using WIDESEA_Common.OrderEnum; +using WIDESEA_Core.Helper; +using WIDESEA_IBasicRepository; +using WIDESEA_Common.WareHouseEnum; +using WIDESEA_Core; + +namespace WIDESEA_OutboundService +{ + public class MesOutboundOrderService : ServiceBase<Dt_MesOutboundOrder, IMesOutboundOrderRepository>, IMesOutboundOrderService + { + private readonly IBasicRepository _basicRepository; + + public MesOutboundOrderService(IMesOutboundOrderRepository BaseDal, IBasicRepository basicRepository) : base(BaseDal) + { + _basicRepository = basicRepository; + } + + public MesResponseContent SubstrateOut(SubstrateOutModel model) + { + try + { + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA57.ToString()); + if (warehouse == null) + { + return MesResponseContent.Instance.Error($"浠撳簱鍩虹淇℃伅鏈厤缃�"); + } + + Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterialCode); + if (materielInfo == null) + { + return MesResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅"); + } + + Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder() + { + CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(), + Line = model.Line, + MaterialCode = model.MaterialCode, + MaterialName = model.MaterialName, + OrderQuantity = model.RequiredQuantity, + TaskNo = model.TaskNo, + Unit = model.Unit, + OrderType = MesOutboundOrderTypeEnum.SubstrateOut.ObjToInt(), + OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(), + WarehouseId = warehouse.WarehouseId + }; + + BaseDal.AddData(mesOutboundOrder); + + return MesResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return MesResponseContent.Instance.Error(ex.Message); + } + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" index 010d9b4..c7cc800 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" @@ -44,7 +44,7 @@ private readonly IInvokeERPService _invokeERPService; private readonly IOutStockLockInfoService _outStockLockInfoService; - public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper,IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService, + public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IStockInfoService stockInfoService, IStockInfoRepository stockInfoRepository, IInvokeERPService invokeERPService, IOutStockLockInfoService outStockLockInfoService) : base(BaseDal) { _mapper = mapper; @@ -115,7 +115,7 @@ }; Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder() { - OrderNo=model.OrderNo, + OrderNo = model.OrderNo, UpperOrderNo = model.OrderNo, OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(), OrderType = OutOrderTypeEnum.Issue.ObjToInt(), @@ -172,31 +172,31 @@ } } //涓婃姤鍑哄簱瀹屾垚 - public WebResponseContent TestOutUpload(int id,List<Dt_OutStockLockInfo>? outStockLockInfos) + public WebResponseContent TestOutUpload(int id, List<Dt_OutStockLockInfo>? outStockLockInfos) { try { - Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x=>x.Id==id).Includes(x=>x.Details).First(); + Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == id).Includes(x => x.Details).First(); Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseId == outboundOrder.WarehouseId); ERPIssueModel issueModel = new ERPIssueModel(); List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>(); - List<Dt_OutStockLockInfo> _OutStockLockInfos=new List<Dt_OutStockLockInfo>(); + List<Dt_OutStockLockInfo> _OutStockLockInfos = new List<Dt_OutStockLockInfo>(); //娴嬭瘯鏋跺簱缁橢RP涓婃姤鍑哄簱瀹屾垚 - if (outStockLockInfos.Count<=0 || outStockLockInfos==null) + if (outStockLockInfos.Count <= 0 || outStockLockInfos == null) { stockInfos = TestOutStocksUpdate(warehouse).Data as List<Dt_StockInfo> ?? new List<Dt_StockInfo>(); - List<ERPPickItemModel> eRPOutPick =new List<ERPPickItemModel>(); + List<ERPPickItemModel> eRPOutPick = new List<ERPPickItemModel>(); for (int i = 0; i < stockInfos.Count; i++) { ERPPickItemModel pickItemModel = new ERPPickItemModel() { - Lotno= stockInfos[i].Details[0].BatchNo, - Qty= stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(), - Location= warehouse.WarehouseCode + Lotno = stockInfos[i].Details[0].BatchNo, + Qty = stockInfos[i].Details[0].StockQuantity.ObjToInt().ToString(), + Location = warehouse.WarehouseCode }; eRPOutPick.Add(pickItemModel); } - + ERPPickModel pickModel = new ERPPickModel() { Rowindex = outboundOrder.Details[0].RowNo, @@ -225,8 +225,8 @@ } else { - List<ERPPickModel> eRPPickModels= new List<ERPPickModel>(); - + List<ERPPickModel> eRPPickModels = new List<ERPPickModel>(); + //鑾峰彇鍑哄簱璇︽儏鍗� foreach (var item in outStockLockInfos) { @@ -245,7 +245,7 @@ Qty = pickItemModel.Qty, Dataitem = new List<ERPPickItemModel> { pickItemModel } }; - item.Status= OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt(); + item.Status = OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt(); eRPPickModels.Add(pickModel); _OutStockLockInfos.Add(item); } @@ -267,7 +267,7 @@ Issitem = new List<ERPIssueItemModel>() { issueItemModel }, }; } - + if (stockInfos.Count > 0) { _stockInfoRepository.UpdateData(stockInfos); @@ -297,7 +297,7 @@ { //鑾峰彇鍑哄簱鍗曞簱瀛� List<Dt_StockInfo> stockInfos = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.WarehouseId == warehouse.WarehouseId).Includes(x => x.Details).ToList(); - if (stockInfos.Count<=0) + if (stockInfos.Count <= 0) { return WebResponseContent.Instance.Error($"搴撳瓨涓嶈冻"); } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" index 4b48024..11576a6 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs" @@ -9,17 +9,20 @@ { public class OutboundService : IOutboundService { + public IMesOutboundOrderService MesOutboundOrderService { get; } + public IOutboundOrderDetailService OutboundOrderDetailService { get; } public IOutboundOrderService OutboundOrderService { get; } public IOutStockLockInfoService OutboundStockLockInfoService { get; } - public OutboundService(IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService) + public OutboundService(IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IMesOutboundOrderService mesOutboundOrderService) { OutboundOrderDetailService = outboundOrderDetailService; OutboundOrderService = outboundOrderService; OutboundStockLockInfoService = outboundStockLockInfoService; + MesOutboundOrderService = mesOutboundOrderService; } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" index fd0185e..685992d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_RecordService/Service/StockQuantityChangeRecordService.cs" @@ -28,7 +28,7 @@ { x.PalleCode = stockInfo.PalletCode; x.BeforeQuantity = beforeQuantity; - if (totalQuantity > beforeQuantity) + if (totalQuantity >= beforeQuantity) { x.ChangeQuantity = stockInfoDetails[index].StockQuantity; currentQuantity += stockInfoDetails[index].StockQuantity; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" index a843426..5348412 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" @@ -8,12 +8,14 @@ using System.Drawing.Printing; using System.Dynamic; using System.Linq; +using System.Linq.Expressions; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; +using WIDESEA_Core.Const; using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_Core.Utilities; @@ -37,84 +39,82 @@ public virtual PageGridData<StockViewDTO> GetPageData(PageDataOptions options) { + List<StockViewDTO> stockViewDTOs = new List<StockViewDTO>(); - //string where = options.ValidatePageOptions(typeof(StockViewDTO).GetProperties()); - //鑾峰彇鎺掑簭瀛楁 - //Dictionary<string, OrderByType> orderbyDic = options.GetPageDataSort(typeof(StockViewDTO).GetProperties()); - //List<OrderByModel> orderByModels = new List<OrderByModel>(); - //foreach (var item in orderbyDic) - //{ - // OrderByModel orderByModel = new OrderByModel() - // { - // FieldName = item.Key, - // OrderByType = item.Value - // }; - // orderByModels.Add(orderByModel); - //} + string where = string.Empty; + ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Includes(x => x.Details); + if (!string.IsNullOrEmpty(options.Wheres)) + { + try + { + List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>(); + if (searchParametersList.Count > 0) + { + { + SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.MaterielCode).FirstLetterToLower()); + if (searchParameters != null) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value))); + } + } + + { + SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower()); + if (searchParameters != null) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.BatchNo.Contains(searchParameters.Value))); + } + } + + } + + } + catch { } + } + + EntityProperties.ValidatePageOptions(options, ref sugarQueryable1); + + ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>(); + + EntityProperties.ValidatePageOptions(options, ref sugarQueryable); + + ISugarQueryable<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a) + => new StockViewDTO + { + LocationCode = b.LocationCode, + Column = a.Column, + CreateDate = b.CreateDate, + Creater = b.Creater, + Depth = a.Depth, + EnalbeStatus = a.EnableStatus, + Layer = a.Layer, + LocationName = a.LocationName, + LocationStatus = a.LocationStatus, + LocationType = a.LocationType, + Modifier = b.Modifier, + ModifyDate = b.ModifyDate, + PalletCode = b.PalletCode, + StockRemark = b.Remark, + RoadwayNo = a.RoadwayNo, + Row = a.Row, + StockId = b.Id, + StockStatus = b.StockStatus, + Details = b.Details, + }); + + int totalCount = 0; - ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Includes(x=>x.Details); - ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>(); - - List<StockViewDTO> list = sugarQueryable1.InnerJoin(sugarQueryable, (b, a) => a.LocationCode == b.LocationCode).Select((b, a) - => new StockViewDTO + stockViewDTOs = list.ToPageList(options.Page, options.Rows, ref totalCount); + + stockViewDTOs.ForEach(x => { - LocationCode = b.LocationCode, - Column = a.Column, - CreateDate = b.CreateDate, - Creater = b.Creater, - Depth = a.Depth, - EnalbeStatus = a.EnableStatus, - Layer = a.Layer, - LocationName = a.LocationName, - LocationStatus = a.LocationStatus, - LocationType = a.LocationType, - Modifier = b.Modifier, - ModifyDate = b.ModifyDate, - PalletCode = b.PalletCode, - StockRemark = b.Remark, - RoadwayNo = a.RoadwayNo, - Row = a.Row, - StockId = b.Id, - StockStatus = b.StockStatus, - Details = b.Details, - }).ToPageList(options.Page, options.Rows, ref totalCount); - list.ForEach(x => - { - x.MaterielCode = string.Join(",", x.Details.Select(x => x.MaterielCode).Distinct()); - x.BatchNo = string.Join(",", x.Details.Select(x => x.BatchNo).Distinct()); - } - ); - if (options.Wheres.IsNotEmptyOrNull()) - { - List<SearchParameters> searchParameters = options.Wheres.DeserializeObject<List<SearchParameters>>(); - foreach (var item in searchParameters) - { - switch (item.Name) - { - case "palletCode": - list = list.Where(x => x.PalletCode.Contains(item.Value)).ToList(); - break; - case "locationStatus": - List<int> locationStatus = item.Value.Split(",").Select(int.Parse).ToList(); - list = list.Where(x => locationStatus.Contains(x.LocationStatus)).ToList(); - break; - case "stockStatus": - List<int> stockStatus = item.Value.Split(",").Select(int.Parse).ToList(); - list = list.Where(x => stockStatus.Contains(x.StockStatus)).ToList(); - break; - case "materielCode": - list = list.Where(x => x.MaterielCode.Contains(item.Value)).ToList(); - break; - case "batchNo": - list=list.Where(x => x.BatchNo.Contains(item.Value)).ToList(); - break; - default: - break; - } - } + x.MaterielCode = string.Join(",", x.Details.Select(x => x.MaterielCode).Distinct()); + x.BatchNo = string.Join(",", x.Details.Select(x => x.BatchNo).Distinct()); } - return new PageGridData<StockViewDTO>(totalCount, list); + ); + + return new PageGridData<StockViewDTO>(totalCount, stockViewDTOs); } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" index 3d8e7d2..fe89df1 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" @@ -246,5 +246,6 @@ } return content; } + } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" index 383eeb8..54f6266 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" @@ -78,5 +78,10 @@ return WebResponseContent.Instance.Error(ex.Message); } } + + //public WebResponseContent UpdateTaskInfo(WCSTaskDTO taskDTO) + //{ + + //} } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" index 660d379..ac5eaf8 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" @@ -16,6 +16,7 @@ using WIDESEA_IBasicService; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; +using WIDESEA_InboundService; using WIDESEA_IOutboundService; using WIDESEA_Model.Models; using static WIDESEA_DTO.ErpResponseContent; @@ -29,23 +30,15 @@ [ApiController] public class ErpController : ControllerBase { - private readonly IPurchaseOrderRepository _purchaseOrderRepository; - private readonly IPurchaseOrderService _purchaseOrderService; - private readonly ISupplierInfoService _supplierInfoService; - private readonly IMaterielInfoService _materielInfoService; - private readonly IOutboundOrderService _outboundOrderService; - private readonly ICustomerInfoService _customerInfoService; - private readonly IUserInfoService _userInfoService; + private readonly IBasicService _basicService; + private readonly IOutboundService _outboundService; + private readonly IInboundService _inboundService; - public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoService supplierInfoService, IMaterielInfoService materielInfoService, IOutboundOrderService outboundOrderService,ICustomerInfoService customerInfoService, IUserInfoService userInfoService) + public ErpController(IBasicService basicService, IOutboundService outboundService, IInboundService inboundService) { - _purchaseOrderRepository = purchaseOrderRepository; - _purchaseOrderService = purchaseOrderService; - _supplierInfoService = supplierInfoService; - _materielInfoService = materielInfoService; - _outboundOrderService = outboundOrderService; - _customerInfoService = customerInfoService; - _userInfoService = userInfoService; + _basicService = basicService; + _outboundService = outboundService; + _inboundService = inboundService; } /// <summary> @@ -56,7 +49,7 @@ [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> model) { - WebResponseContent content = _purchaseOrderService.ReceivePurchaseOrder(model.Content); + WebResponseContent content = _inboundService.PurchaseOrderService.ReceivePurchaseOrder(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -69,7 +62,7 @@ [HttpPost, Route("ReceiveUser"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveUser([FromBody] Root<UserInfoDTO> model) { - WebResponseContent content = _userInfoService.ReceiveUser(model.Content); + WebResponseContent content = _basicService.UserInfoService.ReceiveUser(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -82,7 +75,7 @@ [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveSupplier([FromBody] Root<SupplierDTO> model) { - WebResponseContent content = _supplierInfoService.ReceiveSupplier(model.Content); + WebResponseContent content = _basicService.SupplierInfoService.ReceiveSupplier(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -95,7 +88,7 @@ [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveMaterial([FromBody] Root<MaterielInfoDTO> model) { - WebResponseContent content = _materielInfoService.ReceiveMaterial(model.Content); + WebResponseContent content = _basicService.MaterielInfoService.ReceiveMaterial(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -108,7 +101,7 @@ [HttpPost, Route("ReceiveCustomer"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveCustomer([FromBody] Root<CustomerInfoDTO> model) { - WebResponseContent content = _customerInfoService.ReceiveCustomer(model.Content); + WebResponseContent content = _basicService.CustomerInfoService.ReceiveCustomer(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } @@ -121,7 +114,7 @@ [HttpPost, Route("ReceiveOutOrder"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveOutOrder([FromBody] Root<ErpOutOrderDTO> erpOutOrder) { - WebResponseContent content = _outboundOrderService.ReceiveOutOrder(erpOutOrder.Content); + WebResponseContent content = _outboundService.OutboundOrderService.ReceiveOutOrder(erpOutOrder.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" index 8e39f2d..1f0f207 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/MES/MesController.cs" @@ -22,22 +22,15 @@ [ApiController] public class MesController : ControllerBase { - private readonly IPurchaseOrderRepository _purchaseOrderRepository; - private readonly IPurchaseOrderService _purchaseOrderService; - private readonly ISupplierInfoService _supplierInfoService; - private readonly IMaterielInfoService _materielInfoService; - private readonly IOutboundOrderService _outboundOrderService; + private readonly IOutboundService _outboundService; private readonly ITaskService _taskService; - public MesController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoService supplierInfoService, IMaterielInfoService materielInfoService, IOutboundOrderService outboundOrderService, ITaskService taskService) + public MesController(IOutboundService outboundService, ITaskService taskService) { - _purchaseOrderRepository = purchaseOrderRepository; - _purchaseOrderService = purchaseOrderService; - _supplierInfoService = supplierInfoService; - _materielInfoService = materielInfoService; - _outboundOrderService = outboundOrderService; + _outboundService = outboundService; _taskService = taskService; } + /// <summary> /// 鎺ユ敹MES娴嬭瘯鏋跺嚭搴� /// </summary> @@ -48,6 +41,7 @@ { return _taskService.TestToolOut(model.Content); } + /// <summary> /// 鎺ユ敹MES娴嬭瘯鏋堕��搴� /// </summary> @@ -58,6 +52,7 @@ { return _taskService.TestToolBack(model.Content); } + /// <summary> /// 娴嬭瘯鏋舵姤搴� /// </summary> @@ -68,15 +63,27 @@ { return _taskService.TestScrap(model.Content); } + + /// <summary> + /// + /// </summary> + /// <param name="toolSynInfo"></param> + /// <returns></returns> [HttpPost, Route("TestSynStock"), AllowAnonymous] public WebResponseContent TestSynStock([FromBody]TestToolSynInfo toolSynInfo) { return _taskService.TestSynStock(toolSynInfo); } - [HttpPost, Route("testHttp"), AllowAnonymous, MethodParamsValidate] - public string TestScrap(string str) + + /// <summary> + /// + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("SubstrateOut"), AllowAnonymous] + public MesResponseContent SubstrateOut([FromBody] Root<SubstrateOutModel> model) { - return HttpMesHelper.GetStr(str); + return _outboundService.MesOutboundOrderService.SubstrateOut(model.Content); } } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_UserController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_UserController.cs" index d9033aa..8345af4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_UserController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_UserController.cs" @@ -2,12 +2,14 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; +using Newtonsoft.Json; using StackExchange.Profiling; using WIDESEA_Core; using WIDESEA_Core.Authorization; using WIDESEA_Core.BaseController; using WIDESEA_Core.Caches; using WIDESEA_Core.Const; +using WIDESEA_Core.Extensions; using WIDESEA_Core.Helper; using WIDESEA_Core.HttpContextUser; using WIDESEA_Core.Utilities; @@ -37,6 +39,30 @@ public IActionResult Login([FromBody] LoginInfo loginInfo) { return Json(Service.Login(loginInfo)); + } + + [HttpPost, Route("swgLogin"), AllowAnonymous] + public dynamic SwgLogin([FromBody] SwaggerLoginRequest loginRequest) + { + if (loginRequest is null) + { + return new { result = false }; + } + + try + { + if (loginRequest.name == "admin" && loginRequest.pwd == $"admin!{DateTime.Now.ToString("yyyyMMdd")}") + { + HttpContext.SuccessSwagger(); + return new { result = true }; + } + } + catch (Exception ex) + { + + } + + return new { result = false }; } [HttpPost, Route("getCurrentUserInfo")] @@ -98,4 +124,10 @@ } } + + public class SwaggerLoginRequest + { + public string name { get; set; } + public string pwd { get; set; } + } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" index ab095ee..343e79e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" @@ -43,6 +43,13 @@ return Service.RequestInboundTask(saveModel); } + /// <summary> + /// + /// </summary> + /// <param name="stationCode"></param> + /// <param name="roadwayNo"></param> + /// <param name="palletCode"></param> + /// <returns></returns> [HttpPost, HttpGet, Route("DeviceRequestInboundTask"), AllowAnonymous] public WebResponseContent DeviceRequestInboundTask(string stationCode, string roadwayNo, string palletCode) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" index 2a23123..c8b83e9 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" @@ -106,8 +106,8 @@ //if (app.Environment.IsDevelopment()) { //todo - //app.UseSwaggerAuthorized(); - app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html")); + app.UseSwaggerAuthorized(); + app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html") ?? throw new Exception("WIDESEA_WMSServer.index.html文件")); }//判断是否需要打开swagger app.UseIpLimitMiddle(); diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" index c70e3ac..fe9d07b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" @@ -28,5 +28,6 @@ "ApiName": "WIDESEA", "ExpMinutes": 120, "QuartzJobAutoStart": true, - "PDAVersion": "2" + "PDAVersion": "2", + "WebSocketPort": 9296 } -- Gitblit v1.9.3