From 0609ad2318e9d20dfa1d1eebe3c24242717cd112 Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周三, 24 4月 2024 13:06:46 +0800 Subject: [PATCH] 新增实体 --- iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js | 114 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue | 463 + iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs | 26 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js | 114 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs | 451 + iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js | 16 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue | 127 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs | 217 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs | 165 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs | 22 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs | 204 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue | 2 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue | 6 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs | 348 + iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs | 18 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs | 18 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue | 528 + iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue | 181 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs | 197 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue | 1345 ++++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs | 0 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs | 670 ++ iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue | 181 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue | 762 ++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs | 18 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs | 18 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue | 2 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs | 14 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js | 114 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs | 208 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs | 22 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue | 155 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js | 32 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue | 100 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs | 260 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue | 827 ++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs | 112 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs | 4 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs | 7 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue | 2 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue | 239 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs | 67 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx | 0 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue | 181 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs | 2 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs | 916 ++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs | 649 ++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs | 18 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx | 0 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue | 181 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs | 26 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx | 0 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs | 22 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx | 0 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue | 897 +- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs | 117 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx | 0 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx | 0 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue | 181 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue | 119 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue | 2 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs | 22 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue | 2 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs | 340 + iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs | 22 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js | 32 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs | 38 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs | 646 ++ iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs | 14 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue | 159 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue | 2 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue | 190 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs | 338 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue | 94 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml | 4500 ++++++++----- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs | 412 + iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js | 114 /dev/null | 282 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue | 111 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue | 6 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs | 57 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue | 130 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs | 2 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx | 0 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx | 0 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js | 114 86 files changed, 16,034 insertions(+), 3,280 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js new file mode 100644 index 0000000..36d36e3 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js @@ -0,0 +1,114 @@ +锘縤mport { axios } from '@/utils/request' + +/** + * 鏌ヨ搴撳尯淇℃伅 + * + * @author liuwq + */ +export function WmsAreaPage (parameter) { + return axios({ + url: '/WmsArea/page', + method: 'get', + params: parameter + }) +} + +/** + * 搴撳尯淇℃伅鍒楄〃 + * + * @author liuwq + */ +export function WmsAreaList (parameter) { + return axios({ + url: '/WmsArea/list', + method: 'get', + params: parameter + }) +} + +/** + * 娣诲姞搴撳尯淇℃伅 + * + * @author liuwq + */ +export function WmsAreaAdd (parameter) { + return axios({ + url: '/WmsArea/add', + method: 'post', + data: parameter + }) +} + +/** + * 缂栬緫搴撳尯淇℃伅 + * + * @author liuwq + */ +export function WmsAreaEdit (parameter) { + return axios({ + url: '/WmsArea/edit', + method: 'post', + data: parameter + }) +} + +/** + * 鍒犻櫎搴撳尯淇℃伅 + * + * @author liuwq + */ +export function WmsAreaDelete (parameter) { + return axios({ + url: '/WmsArea/delete', + method: 'post', + data: parameter + }) +} + + +/** + * 瀵煎嚭搴撳尯淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsAreaToExcel (parameter) { + return axios({ + url: '/WmsArea/toExcel', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + +/** + * 瀵煎叆搴撳尯淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsAreaImportExcel (data, parameter) { + return axios({ + url: '/WmsArea/importExcel', + method: 'post', + data: data, + params: parameter + + }) +} + + +/** + * 涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘 + * + * @author liuwq + */ +export function WmsAreaDownloadExcelTemplate(parameter) { + return axios({ + url: '/WmsArea/downloadExcelTemplate', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + + + diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js new file mode 100644 index 0000000..c703eea --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js @@ -0,0 +1,114 @@ +锘縤mport { axios } from '@/utils/request' + +/** + * 鏌ヨ瀹瑰櫒淇℃伅 + * + * @author liuwq + */ +export function WmsContainerPage (parameter) { + return axios({ + url: '/WmsContainer/page', + method: 'get', + params: parameter + }) +} + +/** + * 瀹瑰櫒淇℃伅鍒楄〃 + * + * @author liuwq + */ +export function WmsContainerList (parameter) { + return axios({ + url: '/WmsContainer/list', + method: 'get', + params: parameter + }) +} + +/** + * 娣诲姞瀹瑰櫒淇℃伅 + * + * @author liuwq + */ +export function WmsContainerAdd (parameter) { + return axios({ + url: '/WmsContainer/add', + method: 'post', + data: parameter + }) +} + +/** + * 缂栬緫瀹瑰櫒淇℃伅 + * + * @author liuwq + */ +export function WmsContainerEdit (parameter) { + return axios({ + url: '/WmsContainer/edit', + method: 'post', + data: parameter + }) +} + +/** + * 鍒犻櫎瀹瑰櫒淇℃伅 + * + * @author liuwq + */ +export function WmsContainerDelete (parameter) { + return axios({ + url: '/WmsContainer/delete', + method: 'post', + data: parameter + }) +} + + +/** + * 瀵煎嚭瀹瑰櫒淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsContainerToExcel (parameter) { + return axios({ + url: '/WmsContainer/toExcel', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + +/** + * 瀵煎叆瀹瑰櫒淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsContainerImportExcel (data, parameter) { + return axios({ + url: '/WmsContainer/importExcel', + method: 'post', + data: data, + params: parameter + + }) +} + + +/** + * 涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘 + * + * @author liuwq + */ +export function WmsContainerDownloadExcelTemplate(parameter) { + return axios({ + url: '/WmsContainer/downloadExcelTemplate', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + + + diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js index c8c89f0..4b80b7d 100644 --- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js @@ -1,7 +1,7 @@ 锘縤mport { axios } from '@/utils/request' /** - * 鏌ヨ鍖呰鍏崇郴鍩虹琛� + * 鏌ヨ瀹瑰櫒鍏崇郴 * * @author ly */ @@ -14,7 +14,7 @@ } /** - * 鍖呰鍏崇郴鍩虹琛ㄥ垪琛� + * 瀹瑰櫒鍏崇郴鍒楄〃 * * @author ly */ @@ -27,7 +27,7 @@ } /** - * 娣诲姞鍖呰鍏崇郴鍩虹琛� + * 娣诲姞瀹瑰櫒鍏崇郴 * * @author ly */ @@ -40,7 +40,7 @@ } /** - * 缂栬緫鍖呰鍏崇郴鍩虹琛� + * 缂栬緫瀹瑰櫒鍏崇郴 * * @author ly */ @@ -53,7 +53,7 @@ } /** - * 鍒犻櫎鍖呰鍏崇郴鍩虹琛� + * 鍒犻櫎瀹瑰櫒鍏崇郴 * * @author ly */ @@ -67,7 +67,7 @@ /** - * 瀵煎嚭鍖呰鍏崇郴鍩虹琛ㄧ殑Excel鏂囦欢 + * 瀵煎嚭瀹瑰櫒鍏崇郴鐨凟xcel鏂囦欢 * * @author ly */ @@ -81,7 +81,7 @@ } /** - * 瀵煎叆鍖呰鍏崇郴鍩虹琛ㄧ殑Excel鏂囦欢 + * 瀵煎叆瀹瑰櫒鍏崇郴鐨凟xcel鏂囦欢 * * @author ly */ @@ -97,7 +97,7 @@ /** - * 涓嬭浇鍖呰鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘 + * 涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘 * * @author ly */ diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js new file mode 100644 index 0000000..af6c8de --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js @@ -0,0 +1,114 @@ +锘縤mport { axios } from '@/utils/request' + +/** + * 鏌ヨ瀹瑰櫒绫诲瀷 + * + * @author liuwq + */ +export function WmsContainerTypePage (parameter) { + return axios({ + url: '/WmsContainerType/page', + method: 'get', + params: parameter + }) +} + +/** + * 瀹瑰櫒绫诲瀷鍒楄〃 + * + * @author liuwq + */ +export function WmsContainerTypeList (parameter) { + return axios({ + url: '/WmsContainerType/list', + method: 'get', + params: parameter + }) +} + +/** + * 娣诲姞瀹瑰櫒绫诲瀷 + * + * @author liuwq + */ +export function WmsContainerTypeAdd (parameter) { + return axios({ + url: '/WmsContainerType/add', + method: 'post', + data: parameter + }) +} + +/** + * 缂栬緫瀹瑰櫒绫诲瀷 + * + * @author liuwq + */ +export function WmsContainerTypeEdit (parameter) { + return axios({ + url: '/WmsContainerType/edit', + method: 'post', + data: parameter + }) +} + +/** + * 鍒犻櫎瀹瑰櫒绫诲瀷 + * + * @author liuwq + */ +export function WmsContainerTypeDelete (parameter) { + return axios({ + url: '/WmsContainerType/delete', + method: 'post', + data: parameter + }) +} + + +/** + * 瀵煎嚭瀹瑰櫒绫诲瀷鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsContainerTypeToExcel (parameter) { + return axios({ + url: '/WmsContainerType/toExcel', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + +/** + * 瀵煎叆瀹瑰櫒绫诲瀷鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsContainerTypeImportExcel (data, parameter) { + return axios({ + url: '/WmsContainerType/importExcel', + method: 'post', + data: data, + params: parameter + + }) +} + + +/** + * 涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘 + * + * @author liuwq + */ +export function WmsContainerTypeDownloadExcelTemplate(parameter) { + return axios({ + url: '/WmsContainerType/downloadExcelTemplate', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + + + diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js index bc8d30c..a870291 100644 --- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js @@ -1,9 +1,9 @@ 锘縤mport { axios } from '@/utils/request' /** - * 鏌ヨ宸ュ巶淇℃伅琛� + * 鏌ヨ宸ュ巶淇℃伅 * - * @author ly + * @author liuwq */ export function WmsFactoryPage (parameter) { return axios({ @@ -14,9 +14,9 @@ } /** - * 宸ュ巶淇℃伅琛ㄥ垪琛� + * 宸ュ巶淇℃伅鍒楄〃 * - * @author ly + * @author liuwq */ export function WmsFactoryList (parameter) { return axios({ @@ -27,9 +27,9 @@ } /** - * 娣诲姞宸ュ巶淇℃伅琛� + * 娣诲姞宸ュ巶淇℃伅 * - * @author ly + * @author liuwq */ export function WmsFactoryAdd (parameter) { return axios({ @@ -40,9 +40,9 @@ } /** - * 缂栬緫宸ュ巶淇℃伅琛� + * 缂栬緫宸ュ巶淇℃伅 * - * @author ly + * @author liuwq */ export function WmsFactoryEdit (parameter) { return axios({ @@ -53,9 +53,9 @@ } /** - * 鍒犻櫎宸ュ巶淇℃伅琛� + * 鍒犻櫎宸ュ巶淇℃伅 * - * @author ly + * @author liuwq */ export function WmsFactoryDelete (parameter) { return axios({ @@ -67,9 +67,9 @@ /** - * 瀵煎嚭宸ュ巶淇℃伅琛ㄧ殑Excel鏂囦欢 + * 瀵煎嚭宸ュ巶淇℃伅鐨凟xcel鏂囦欢 * - * @author ly + * @author liuwq */ export function WmsFactoryToExcel (parameter) { return axios({ @@ -81,9 +81,9 @@ } /** - * 瀵煎叆宸ュ巶淇℃伅琛ㄧ殑Excel鏂囦欢 + * 瀵煎叆宸ュ巶淇℃伅鐨凟xcel鏂囦欢 * - * @author ly + * @author liuwq */ export function WmsFactoryImportExcel (data, parameter) { return axios({ @@ -97,9 +97,9 @@ /** - * 涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘 + * 涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘 * - * @author ly + * @author liuwq */ export function WmsFactoryDownloadExcelTemplate(parameter) { return axios({ diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js new file mode 100644 index 0000000..7959015 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js @@ -0,0 +1,114 @@ +锘縤mport { axios } from '@/utils/request' + +/** + * 鏌ヨ搴撲綅淇℃伅 + * + * @author liuwq + */ +export function WmsPlacePage (parameter) { + return axios({ + url: '/WmsPlace/page', + method: 'get', + params: parameter + }) +} + +/** + * 搴撲綅淇℃伅鍒楄〃 + * + * @author liuwq + */ +export function WmsPlaceList (parameter) { + return axios({ + url: '/WmsPlace/list', + method: 'get', + params: parameter + }) +} + +/** + * 娣诲姞搴撲綅淇℃伅 + * + * @author liuwq + */ +export function WmsPlaceAdd (parameter) { + return axios({ + url: '/WmsPlace/add', + method: 'post', + data: parameter + }) +} + +/** + * 缂栬緫搴撲綅淇℃伅 + * + * @author liuwq + */ +export function WmsPlaceEdit (parameter) { + return axios({ + url: '/WmsPlace/edit', + method: 'post', + data: parameter + }) +} + +/** + * 鍒犻櫎搴撲綅淇℃伅 + * + * @author liuwq + */ +export function WmsPlaceDelete (parameter) { + return axios({ + url: '/WmsPlace/delete', + method: 'post', + data: parameter + }) +} + + +/** + * 瀵煎嚭搴撲綅淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsPlaceToExcel (parameter) { + return axios({ + url: '/WmsPlace/toExcel', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + +/** + * 瀵煎叆搴撲綅淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsPlaceImportExcel (data, parameter) { + return axios({ + url: '/WmsPlace/importExcel', + method: 'post', + data: data, + params: parameter + + }) +} + + +/** + * 涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + * + * @author liuwq + */ +export function WmsPlaceDownloadExcelTemplate(parameter) { + return axios({ + url: '/WmsPlace/downloadExcelTemplate', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + + + diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js new file mode 100644 index 0000000..876537a --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js @@ -0,0 +1,114 @@ +锘縤mport { axios } from '@/utils/request' + +/** + * 鏌ヨ鍗曚綅淇℃伅 + * + * @author liuwq + */ +export function WmsUnitPage (parameter) { + return axios({ + url: '/WmsUnit/page', + method: 'get', + params: parameter + }) +} + +/** + * 鍗曚綅淇℃伅鍒楄〃 + * + * @author liuwq + */ +export function WmsUnitList (parameter) { + return axios({ + url: '/WmsUnit/list', + method: 'get', + params: parameter + }) +} + +/** + * 娣诲姞鍗曚綅淇℃伅 + * + * @author liuwq + */ +export function WmsUnitAdd (parameter) { + return axios({ + url: '/WmsUnit/add', + method: 'post', + data: parameter + }) +} + +/** + * 缂栬緫鍗曚綅淇℃伅 + * + * @author liuwq + */ +export function WmsUnitEdit (parameter) { + return axios({ + url: '/WmsUnit/edit', + method: 'post', + data: parameter + }) +} + +/** + * 鍒犻櫎鍗曚綅淇℃伅 + * + * @author liuwq + */ +export function WmsUnitDelete (parameter) { + return axios({ + url: '/WmsUnit/delete', + method: 'post', + data: parameter + }) +} + + +/** + * 瀵煎嚭鍗曚綅淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsUnitToExcel (parameter) { + return axios({ + url: '/WmsUnit/toExcel', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + +/** + * 瀵煎叆鍗曚綅淇℃伅鐨凟xcel鏂囦欢 + * + * @author liuwq + */ +export function WmsUnitImportExcel (data, parameter) { + return axios({ + url: '/WmsUnit/importExcel', + method: 'post', + data: data, + params: parameter + + }) +} + + +/** + * 涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + * + * @author liuwq + */ +export function WmsUnitDownloadExcelTemplate(parameter) { + return axios({ + url: '/WmsUnit/downloadExcelTemplate', + method: 'get', + params: parameter, + responseType: 'blob' + }) +} + + + diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js index c862dec..ba73645 100644 --- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js +++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js @@ -1,9 +1,9 @@ 锘縤mport { axios } from '@/utils/request' /** - * 鏌ヨ浠撳簱琛� + * 鏌ヨ浠撳簱淇℃伅 * - * @author ly + * @author liuwq */ export function WmsWarehousePage (parameter) { return axios({ @@ -14,9 +14,9 @@ } /** - * 浠撳簱琛ㄥ垪琛� + * 浠撳簱淇℃伅鍒楄〃 * - * @author ly + * @author liuwq */ export function WmsWarehouseList (parameter) { return axios({ @@ -27,9 +27,9 @@ } /** - * 娣诲姞浠撳簱琛� + * 娣诲姞浠撳簱淇℃伅 * - * @author ly + * @author liuwq */ export function WmsWarehouseAdd (parameter) { return axios({ @@ -40,9 +40,9 @@ } /** - * 缂栬緫浠撳簱琛� + * 缂栬緫浠撳簱淇℃伅 * - * @author ly + * @author liuwq */ export function WmsWarehouseEdit (parameter) { return axios({ @@ -53,9 +53,9 @@ } /** - * 鍒犻櫎浠撳簱琛� + * 鍒犻櫎浠撳簱淇℃伅 * - * @author ly + * @author liuwq */ export function WmsWarehouseDelete (parameter) { return axios({ @@ -67,9 +67,9 @@ /** - * 瀵煎嚭浠撳簱琛ㄧ殑Excel鏂囦欢 + * 瀵煎嚭浠撳簱淇℃伅鐨凟xcel鏂囦欢 * - * @author ly + * @author liuwq */ export function WmsWarehouseToExcel (parameter) { return axios({ @@ -81,9 +81,9 @@ } /** - * 瀵煎叆浠撳簱琛ㄧ殑Excel鏂囦欢 + * 瀵煎叆浠撳簱淇℃伅鐨凟xcel鏂囦欢 * - * @author ly + * @author liuwq */ export function WmsWarehouseImportExcel (data, parameter) { return axios({ @@ -97,9 +97,9 @@ /** - * 涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘 + * 涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘 * - * @author ly + * @author liuwq */ export function WmsWarehouseDownloadExcelTemplate(parameter) { return axios({ diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue new file mode 100644 index 0000000..a281a74 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue @@ -0,0 +1,127 @@ +锘�<template> + <a-modal + title="鏂板搴撳尯淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="搴撳尯缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�" v-decorator="['areaCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹紪鐮侊紒'}]}]" /> + </a-form-item> + <a-form-item label="浠撳簱缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" v-decorator="['warehouseCode', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撶紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="浠撳簱鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-decorator="['warehouseName', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撳悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖哄悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撳尯鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖烘弿杩�" v-decorator="['areaDesc']" /> + </a-form-item> + <a-form-item label="搴撳尯鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�" style="width: 100%" v-decorator="['areaStatus', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹姸鎬侊紒'}]}]" /> + </a-form-item> + <a-form-item label="ERP浠g爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏RP浠g爜" v-decorator="['erpCode', {rules: [{required: true, message: '璇疯緭鍏RP浠g爜锛�'}]}]" /> + </a-form-item> + <a-form-item label="鎵�灞炰粨搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ墍灞炰粨搴�" v-decorator="['warehouseId', {rules: [{required: true, message: '璇疯緭鍏ユ墍灞炰粨搴擄紒'}]}]" /> + </a-form-item> + <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="妫�楠屽厛杩涘厛鍑�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isFIFO',{rules: [{ required: true, message: '璇烽�夋嫨妫�楠屽厛杩涘厛鍑猴紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isPartLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍏佽娣锋穯" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowConfusion',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽娣锋穯锛�' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍏佽璐熷簱瀛�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowNegativeInventory',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽璐熷簱瀛橈紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> + import moment from 'moment' + import { + WmsAreaAdd + } from '@/api/modular/main/WmsBase/WmsAreaManage' + export default { + data () { + return { + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + add (record) { + this.visible = true + this.$nextTick(() => { + + }); + }, + /** + * 鎻愪氦琛ㄥ崟 + */ + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + } + } + WmsAreaAdd(values).then((res) => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + } else { + this.confirmLoading = false + } + }) + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue new file mode 100644 index 0000000..e6eae7b --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue @@ -0,0 +1,155 @@ +锘�<template> + <a-modal + title="缂栬緫搴撳尯淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="搴撳尯缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�" v-decorator="['areaCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹紪鐮侊紒'}]}]" /> + </a-form-item> + <a-form-item label="浠撳簱缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" v-decorator="['warehouseCode', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撶紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="浠撳簱鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-decorator="['warehouseName', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撳悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖哄悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撳尯鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖烘弿杩�" v-decorator="['areaDesc']" /> + </a-form-item> + <a-form-item label="搴撳尯鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�" style="width: 100%" v-decorator="['areaStatus', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹姸鎬侊紒'}]}]" /> + </a-form-item> + <a-form-item label="ERP浠g爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏RP浠g爜" v-decorator="['erpCode', {rules: [{required: true, message: '璇疯緭鍏RP浠g爜锛�'}]}]" /> + </a-form-item> + <a-form-item label="鎵�灞炰粨搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ墍灞炰粨搴�" v-decorator="['warehouseId', {rules: [{required: true, message: '璇疯緭鍏ユ墍灞炰粨搴擄紒'}]}]" /> + </a-form-item> + <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="妫�楠屽厛杩涘厛鍑�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isFIFO',{rules: [{ required: true, message: '璇烽�夋嫨妫�楠屽厛杩涘厛鍑猴紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isPartLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍏佽娣锋穯" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowConfusion',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽娣锋穯锛�' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍏佽璐熷簱瀛�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowNegativeInventory',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽璐熷簱瀛橈紒' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import moment from 'moment' + import { + WmsAreaEdit + } from '@/api/modular/main/WmsBase/WmsAreaManage' + export default { + data () { + return { + Id: 0, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + record: {}, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + edit (record) { + this.visible = true; + this.Id = record.id; + this.$nextTick(() => { + }); + //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔� + this.record = JSON.parse(JSON.stringify(record)) + this.$nextTick(() => { + this.form.setFieldsValue( + { + id: record.id, + areaCode: record.areaCode, + warehouseCode: record.warehouseCode, + warehouseName: record.warehouseName, + areaName: record.areaName, + areaDesc: record.areaDesc, + areaStatus: record.areaStatus, + erpCode: record.erpCode, + warehouseId: record.warehouseId, + isBarcodeLevelControl: record.isBarcodeLevelControl, + isFIFO: record.isFIFO, + isPartLevelControl: record.isPartLevelControl, + isAllowConfusion: record.isAllowConfusion, + isAllowNegativeInventory: record.isAllowNegativeInventory, + isVirtually: record.isVirtually, + isDisabled: record.isDisabled + } + ) + }) + }, + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (values[key] == null) continue + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + this.record[key] = values[key] + } else { + this.record[key] = values[key] + } + } + WmsAreaEdit(this.record).then((res) => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', this.record) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + }else{ + this.confirmLoading = false + } + }); + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue new file mode 100644 index 0000000..aac1452 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue @@ -0,0 +1,181 @@ +锘�<template> + <a-modal + :width="850" + :destroyOnClose="true" + :visible="visible" + :forceRender="true" + title="鎵归噺瀵煎叆" + cancelText="鍙栨秷涓婁紶" + okText="寮�濮嬩笂浼�" + @cancel="handleCancel" + @ok="handleSubmit"> + <a-spin :spinning="confirmLoading"> + <a-row :span="24"> + <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span> + </a-row> + <p></p> + <a-row> + <a-col :span="16"> + <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload"> + <a-icon style="font-size: 40px;" type="cloud-upload" /> + </a-upload-dragger> + </a-col> + <!--<a-col :span="8"> + <span>瀵煎叆妯″紡锛�</span> + <a-select + style="width: 130px" + placeholder="璇烽�夋嫨瀵煎叆妯″紡" + v-model="importExcelType"> + <a-select-option + v-for="(item,index) in importExcelTypeData" + :key="index" + :value="item.code">{{ item.name }} + </a-select-option> + </a-select> + </a-col>--> + </a-row> + <a-row :span="24"> + <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed"> + 鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰 + </a-button>--> + <span>銆�</span> + <a-button style="width: 90px;text-align: left;" @click="wmsAreaDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶 + <span>銆�</span> + <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed"> + 鏀惰捣 + </a-button> + </a-row> + <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24"> + <a-breadcrumb> + <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item> + </a-breadcrumb> + </a-row> + <pre v-show="detailed"> + <div v-html="demandText"></div> + </pre> + <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table> + <pre v-show="detailed"> + <div v-html="columnText"></div> + </pre> + </a-spin> + </a-modal> +</template> + +<script> + import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util' + + import { WmsAreaImportExcel, WmsAreaDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsAreaManage' + import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage' + export default { + components: { + }, + data() { + return { + visible: false, + detailed: false, + confirmLoading: false, + fileList: [], + importExcelTypeData: [], + importExcelType: '1', + uploadFile: null, + columns: [], + dataList: [], + demandText:'', + columnText: '' + } + }, + methods: { + index() { + this.visible = true; + this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type') + this.demandText = parseDemandText("wmsAreaDownloadExcelTemplate") + window.downloadFile = this.wmsAreaDownloadExcelTemplate; + this.getTable(); + }, + showDemand() { + this.detailed = !this.detailed; + }, + customRequest(document) { + this.uploadFile = document + }, + getTable() { + sysExcelTemplateGetColumnList({className: "WmsArea"}).then(res => + { + if (res.success) { + this.columns =[]; + this.dataList = [{}]; + res.data.forEach(x => { + this.columns.push({ + dataIndex: x.columnName, + key: x.columnName, + title: x.columnComment + }); + this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�" + }); + this.columnText = parseExcelFieldText(res.data); + } + }); + }, + beforeUpload(fileInfo) { + let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']); + if (!res.success) { + this.$message.warning(res.msg) + return false + } + setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000) + }, + handleChange(fileInfo) { + if (fileInfo.file.status === 'error') { + fileInfo.fileList.splice(0, 1) + } + if (fileInfo.file.status === 'done') { + if (fileInfo.fileList.length > 1) { + fileInfo.fileList.splice(0, 1) + } + this.fileList = fileInfo.file + } + }, + handleSubmit() { + this.confirmLoading = true + const formData = new FormData() + formData.append('file', this.uploadFile.file) + WmsAreaImportExcel(formData, {importExcelType: this.importExcelType}).then(res => { + this.$message.success('鎿嶄綔鎴愬姛') + this.confirmLoading = false + this.$emit('ok', []) + this.handleCancel() + }).finally((res)=>{this.confirmLoading = false}) + }, + handleCancel() { + this.visible = false + this.detailed = false + }, + wmsAreaDownloadExcelTemplate() { + WmsAreaDownloadExcelTemplate({version: "v2"}).then((res) => { + downloadFile(res); + }).catch((err) => { + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + } + } + } +</script> + +<style scoped> +::v-deep .ant-upload.ant-upload-drag { + position: relative; + width: 140px; + height: 135px; + text-align: center; + background: #fafafa; + border: 1px dashed #d9d9d9; + border-radius: 2px; + cursor: pointer; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; +} +::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { + color: #ffc53d; + border-color: white; +} +</style> \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue new file mode 100644 index 0000000..44fff97 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue @@ -0,0 +1,827 @@ +锘�<template> + <div ref="boxOutWrap" class="boxOutWrap"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsArea:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯缂栫爜"> + <a-input v-model="queryParam.areaCode" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="浠撳簱缂栧彿"> + <a-input v-model="queryParam.warehouseCode" allow-clear placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�"/> + </a-form-item> + </a-col><template v-if="advanced"> + <a-col :md="8" :sm="24"> + <a-form-item label="浠撳簱鍚嶇О"> + <a-input v-model="queryParam.warehouseName" allow-clear placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯鍚嶇О"> + <a-input v-model="queryParam.areaName" allow-clear placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯鎻忚堪"> + <a-input v-model="queryParam.areaDesc" allow-clear placeholder="璇疯緭鍏ュ簱鍖烘弿杩�"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯鐘舵��"> + <a-input-number v-model="queryParam.areaStatus" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="ERP浠g爜"> + <a-input v-model="queryParam.erpCode" allow-clear placeholder="璇疯緭鍏RP浠g爜"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鎵�灞炰粨搴�"> + <a-input v-model="queryParam.warehouseId" allow-clear placeholder="璇疯緭鍏ユ墍灞炰粨搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="闆朵欢绾х鎺�"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isBarcodeLevelControl" placeholder="璇烽�夋嫨闆朵欢绾х鎺�"> + <a-select-option v-for="(item,index) in isBarcodeLevelControlData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="妫�楠屽厛杩涘厛鍑�"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isFIFO" placeholder="璇烽�夋嫨妫�楠屽厛杩涘厛鍑�"> + <a-select-option v-for="(item,index) in isFIFOData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="闆朵欢绾х鎺�"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isPartLevelControl" placeholder="璇烽�夋嫨闆朵欢绾х鎺�"> + <a-select-option v-for="(item,index) in isPartLevelControlData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍏佽娣锋穯"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowConfusion" placeholder="璇烽�夋嫨鍏佽娣锋穯"> + <a-select-option v-for="(item,index) in isAllowConfusionData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍏佽璐熷簱瀛�"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowNegativeInventory" placeholder="璇烽�夋嫨鍏佽璐熷簱瀛�"> + <a-select-option v-for="(item,index) in isAllowNegativeInventoryData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁铏氭嫙"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙"> + <a-select-option v-for="(item,index) in isVirtuallyData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> + + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + </a-card> + </div> + <a-card :bordered="false"> + <s-table + ref="table" + :columns="columns" + :data="loadData" + :alert="true" + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsArea:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsArea:exportExcel')" icon="download" @click="WmsAreaToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsArea:add')" icon="plus" @click="$refs.addForm.add()">鏂板搴撳尯淇℃伅</a-button> + </div> + </template> + <span slot="isBarcodeLevelControlscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isFIFOscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isPartLevelControlscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isAllowConfusionscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isAllowNegativeInventoryscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isVirtuallyscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsArea:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsArea:edit') & hasPerm('WmsArea:delete')"/> + <a-popconfirm v-if="hasPerm('WmsArea:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsAreaDelete(record)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </s-table> + <add-form ref="addForm" @ok="handleOk" /> + <edit-form ref="editForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> + </a-card> + </div> +</template> +<script> + import { STable } from '@/components' + import moment from 'moment' + import { WmsAreaPage, WmsAreaDelete, WmsAreaToExcel } from '@/api/modular/main/WmsBase/WmsAreaManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { + current: 1, + pageSize: 10 + }, + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '搴撳尯缂栫爜', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaCode' + }, + { + title: '浠撳簱缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'warehouseCode' + }, + { + title: '浠撳簱鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'warehouseName' + }, + { + title: '搴撳尯鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaName' + }, + { + title: '搴撳尯鎻忚堪', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaDesc' + }, + { + title: '搴撳尯鐘舵��', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaStatus' + }, + { + title: 'ERP浠g爜', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'erpCode' + }, + { + title: '鎵�灞炰粨搴�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'warehouseId' + }, + { + title: '闆朵欢绾х鎺�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isBarcodeLevelControl', + scopedSlots: { customRender: 'isBarcodeLevelControlscopedSlots' } + }, + { + title: '妫�楠屽厛杩涘厛鍑�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isFIFO', + scopedSlots: { customRender: 'isFIFOscopedSlots' } + }, + { + title: '闆朵欢绾х鎺�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isPartLevelControl', + scopedSlots: { customRender: 'isPartLevelControlscopedSlots' } + }, + { + title: '鍏佽娣锋穯', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isAllowConfusion', + scopedSlots: { customRender: 'isAllowConfusionscopedSlots' } + }, + { + title: '鍏佽璐熷簱瀛�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isAllowNegativeInventory', + scopedSlots: { customRender: 'isAllowNegativeInventoryscopedSlots' } + }, + { + title: '鏄惁铏氭嫙', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isVirtually', + scopedSlots: { customRender: 'isVirtuallyscopedSlots' } + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsAreaPage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsArea:edit') || this.hasPerm('WmsArea:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isBarcodeLevelControlOption = this.$options + this.isBarcodeLevelControlData = isBarcodeLevelControlOption.filters['dictData']('yes_true_false') + const isFIFOOption = this.$options + this.isFIFOData = isFIFOOption.filters['dictData']('yes_true_false') + const isPartLevelControlOption = this.$options + this.isPartLevelControlData = isPartLevelControlOption.filters['dictData']('yes_true_false') + const isAllowConfusionOption = this.$options + this.isAllowConfusionData = isAllowConfusionOption.filters['dictData']('yes_true_false') + const isAllowNegativeInventoryOption = this.$options + this.isAllowNegativeInventoryData = isAllowNegativeInventoryOption.filters['dictData']('yes_true_false') + const isVirtuallyOption = this.$options + this.isVirtuallyData = isVirtuallyOption.filters['dictData']('yes_true_false') + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsAreaDelete (record) { + WmsAreaDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, + + + WmsAreaToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsAreaPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } +</script> +<style lang="less"> + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } +</style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue new file mode 100644 index 0000000..4269fb3 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue @@ -0,0 +1,130 @@ +锘�<template> + <a-modal + title="鏂板瀹瑰櫒淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['containerCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['containerName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨婭D" v-decorator="['containerTypeId', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨婭D锛�'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['containerTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="瀹瑰櫒鍏崇郴ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D" v-decorator="['packagingId', {rules: [{required: true, message: '璇疯緭鍏ュ鍣ㄥ叧绯籌D锛�'}]}]" /> + </a-form-item> + <a-form-item label="闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ暱搴�" v-decorator="['specLength']" /> + </a-form-item> + <a-form-item label="瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ搴�" v-decorator="['specWidth']" /> + </a-form-item> + <a-form-item label="楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ珮搴�" v-decorator="['specHeight']" /> + </a-form-item> + <a-form-item label="闄愰暱" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺闀�" v-decorator="['limitLength']" /> + </a-form-item> + <a-form-item label="闄愬" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺瀹�" v-decorator="['limitWidth']" /> + </a-form-item> + <a-form-item label="闄愰珮" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺楂�" v-decorator="['limitHeight']" /> + </a-form-item> + <a-form-item label="杞介噸涓婇檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�" v-decorator="['maxWeight']" /> + </a-form-item> + <a-form-item label="鐖跺鍣ㄥ悕绉�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О" v-decorator="['parentContainerName']" /> + </a-form-item> + <a-form-item label="鐖跺鍣↖d" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id" v-decorator="['parentContainerId']" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�" style="width: 100%" v-decorator="['isVirtually']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> + import moment from 'moment' + import { + WmsContainerAdd + } from '@/api/modular/main/WmsBase/WmsContainerManage' + export default { + data () { + return { + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + add (record) { + this.visible = true + this.$nextTick(() => { + + }); + }, + /** + * 鎻愪氦琛ㄥ崟 + */ + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + } + } + WmsContainerAdd(values).then((res) => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + } else { + this.confirmLoading = false + } + }) + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue new file mode 100644 index 0000000..9d32d6c --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue @@ -0,0 +1,159 @@ +锘�<template> + <a-modal + title="缂栬緫瀹瑰櫒淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['containerCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['containerName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨婭D" v-decorator="['containerTypeId', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨婭D锛�'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['containerTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="瀹瑰櫒鍏崇郴ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D" v-decorator="['packagingId', {rules: [{required: true, message: '璇疯緭鍏ュ鍣ㄥ叧绯籌D锛�'}]}]" /> + </a-form-item> + <a-form-item label="闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ暱搴�" v-decorator="['specLength']" /> + </a-form-item> + <a-form-item label="瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ搴�" v-decorator="['specWidth']" /> + </a-form-item> + <a-form-item label="楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ珮搴�" v-decorator="['specHeight']" /> + </a-form-item> + <a-form-item label="闄愰暱" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺闀�" v-decorator="['limitLength']" /> + </a-form-item> + <a-form-item label="闄愬" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺瀹�" v-decorator="['limitWidth']" /> + </a-form-item> + <a-form-item label="闄愰珮" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ラ檺楂�" v-decorator="['limitHeight']" /> + </a-form-item> + <a-form-item label="杞介噸涓婇檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�" v-decorator="['maxWeight']" /> + </a-form-item> + <a-form-item label="鐖跺鍣ㄥ悕绉�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О" v-decorator="['parentContainerName']" /> + </a-form-item> + <a-form-item label="鐖跺鍣↖d" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id" v-decorator="['parentContainerId']" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�" style="width: 100%" v-decorator="['isVirtually']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import moment from 'moment' + import { + WmsContainerEdit + } from '@/api/modular/main/WmsBase/WmsContainerManage' + export default { + data () { + return { + Id: 0, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + record: {}, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + edit (record) { + this.visible = true; + this.Id = record.id; + this.$nextTick(() => { + }); + //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔� + this.record = JSON.parse(JSON.stringify(record)) + this.$nextTick(() => { + this.form.setFieldsValue( + { + id: record.id, + containerCode: record.containerCode, + containerName: record.containerName, + containerTypeId: record.containerTypeId, + containerTypeName: record.containerTypeName, + packagingId: record.packagingId, + specLength: record.specLength, + specWidth: record.specWidth, + specHeight: record.specHeight, + limitLength: record.limitLength, + limitWidth: record.limitWidth, + limitHeight: record.limitHeight, + maxWeight: record.maxWeight, + parentContainerName: record.parentContainerName, + parentContainerId: record.parentContainerId, + isVirtually: record.isVirtually, + isDisabled: record.isDisabled + } + ) + }) + }, + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (values[key] == null) continue + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + this.record[key] = values[key] + } else { + this.record[key] = values[key] + } + } + WmsContainerEdit(this.record).then((res) => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', this.record) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + }else{ + this.confirmLoading = false + } + }); + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue new file mode 100644 index 0000000..1922b01 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue @@ -0,0 +1,181 @@ +锘�<template> + <a-modal + :width="850" + :destroyOnClose="true" + :visible="visible" + :forceRender="true" + title="鎵归噺瀵煎叆" + cancelText="鍙栨秷涓婁紶" + okText="寮�濮嬩笂浼�" + @cancel="handleCancel" + @ok="handleSubmit"> + <a-spin :spinning="confirmLoading"> + <a-row :span="24"> + <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span> + </a-row> + <p></p> + <a-row> + <a-col :span="16"> + <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload"> + <a-icon style="font-size: 40px;" type="cloud-upload" /> + </a-upload-dragger> + </a-col> + <!--<a-col :span="8"> + <span>瀵煎叆妯″紡锛�</span> + <a-select + style="width: 130px" + placeholder="璇烽�夋嫨瀵煎叆妯″紡" + v-model="importExcelType"> + <a-select-option + v-for="(item,index) in importExcelTypeData" + :key="index" + :value="item.code">{{ item.name }} + </a-select-option> + </a-select> + </a-col>--> + </a-row> + <a-row :span="24"> + <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed"> + 鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰 + </a-button>--> + <span>銆�</span> + <a-button style="width: 90px;text-align: left;" @click="wmsContainerDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶 + <span>銆�</span> + <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed"> + 鏀惰捣 + </a-button> + </a-row> + <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24"> + <a-breadcrumb> + <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item> + </a-breadcrumb> + </a-row> + <pre v-show="detailed"> + <div v-html="demandText"></div> + </pre> + <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table> + <pre v-show="detailed"> + <div v-html="columnText"></div> + </pre> + </a-spin> + </a-modal> +</template> + +<script> + import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util' + + import { WmsContainerImportExcel, WmsContainerDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsContainerManage' + import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage' + export default { + components: { + }, + data() { + return { + visible: false, + detailed: false, + confirmLoading: false, + fileList: [], + importExcelTypeData: [], + importExcelType: '1', + uploadFile: null, + columns: [], + dataList: [], + demandText:'', + columnText: '' + } + }, + methods: { + index() { + this.visible = true; + this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type') + this.demandText = parseDemandText("wmsContainerDownloadExcelTemplate") + window.downloadFile = this.wmsContainerDownloadExcelTemplate; + this.getTable(); + }, + showDemand() { + this.detailed = !this.detailed; + }, + customRequest(document) { + this.uploadFile = document + }, + getTable() { + sysExcelTemplateGetColumnList({className: "WmsContainer"}).then(res => + { + if (res.success) { + this.columns =[]; + this.dataList = [{}]; + res.data.forEach(x => { + this.columns.push({ + dataIndex: x.columnName, + key: x.columnName, + title: x.columnComment + }); + this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�" + }); + this.columnText = parseExcelFieldText(res.data); + } + }); + }, + beforeUpload(fileInfo) { + let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']); + if (!res.success) { + this.$message.warning(res.msg) + return false + } + setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000) + }, + handleChange(fileInfo) { + if (fileInfo.file.status === 'error') { + fileInfo.fileList.splice(0, 1) + } + if (fileInfo.file.status === 'done') { + if (fileInfo.fileList.length > 1) { + fileInfo.fileList.splice(0, 1) + } + this.fileList = fileInfo.file + } + }, + handleSubmit() { + this.confirmLoading = true + const formData = new FormData() + formData.append('file', this.uploadFile.file) + WmsContainerImportExcel(formData, {importExcelType: this.importExcelType}).then(res => { + this.$message.success('鎿嶄綔鎴愬姛') + this.confirmLoading = false + this.$emit('ok', []) + this.handleCancel() + }).finally((res)=>{this.confirmLoading = false}) + }, + handleCancel() { + this.visible = false + this.detailed = false + }, + wmsContainerDownloadExcelTemplate() { + WmsContainerDownloadExcelTemplate({version: "v2"}).then((res) => { + downloadFile(res); + }).catch((err) => { + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + } + } + } +</script> + +<style scoped> +::v-deep .ant-upload.ant-upload-drag { + position: relative; + width: 140px; + height: 135px; + text-align: center; + background: #fafafa; + border: 1px dashed #d9d9d9; + border-radius: 2px; + cursor: pointer; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; +} +::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { + color: #ffc53d; + border-color: white; +} +</style> \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue new file mode 100644 index 0000000..a42b3fe --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue @@ -0,0 +1,762 @@ +锘�<template> + <div ref="boxOutWrap" class="boxOutWrap"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainer:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="缂栧彿"> + <a-input v-model="queryParam.containerCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鍚嶇О"> + <a-input v-model="queryParam.containerName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/> + </a-form-item> + </a-col><template v-if="advanced"> + <a-col :md="8" :sm="24"> + <a-form-item label="绫诲瀷ID"> + <a-input v-model="queryParam.containerTypeId" allow-clear placeholder="璇疯緭鍏ョ被鍨婭D"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="绫诲瀷鍚嶇О"> + <a-input v-model="queryParam.containerTypeName" allow-clear placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="瀹瑰櫒鍏崇郴ID"> + <a-input v-model="queryParam.packagingId" allow-clear placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="闀垮害"> + <a-input v-model="queryParam.specLength" allow-clear placeholder="璇疯緭鍏ラ暱搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="瀹藉害"> + <a-input v-model="queryParam.specWidth" allow-clear placeholder="璇疯緭鍏ュ搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="楂樺害"> + <a-input v-model="queryParam.specHeight" allow-clear placeholder="璇疯緭鍏ラ珮搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="闄愰暱"> + <a-input v-model="queryParam.limitLength" allow-clear placeholder="璇疯緭鍏ラ檺闀�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="闄愬"> + <a-input v-model="queryParam.limitWidth" allow-clear placeholder="璇疯緭鍏ラ檺瀹�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="闄愰珮"> + <a-input v-model="queryParam.limitHeight" allow-clear placeholder="璇疯緭鍏ラ檺楂�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="杞介噸涓婇檺"> + <a-input v-model="queryParam.maxWeight" allow-clear placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鐖跺鍣ㄥ悕绉�"> + <a-input v-model="queryParam.parentContainerName" allow-clear placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鐖跺鍣↖d"> + <a-input v-model="queryParam.parentContainerId" allow-clear placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="鏄惁铏氭嫙"> + <a-input-number v-model="queryParam.isVirtually" style="width: 100%" allow-clear placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> + + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + </a-card> + </div> + <a-card :bordered="false"> + <s-table + ref="table" + :columns="columns" + :data="loadData" + :alert="true" + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainer:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsContainer:exportExcel')" icon="download" @click="WmsContainerToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsContainer:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒淇℃伅</a-button> + </div> + </template> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsContainer:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsContainer:edit') & hasPerm('WmsContainer:delete')"/> + <a-popconfirm v-if="hasPerm('WmsContainer:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsContainerDelete(record)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </s-table> + <add-form ref="addForm" @ok="handleOk" /> + <edit-form ref="editForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> + </a-card> + </div> +</template> +<script> + import { STable } from '@/components' + import moment from 'moment' + import { WmsContainerPage, WmsContainerDelete, WmsContainerToExcel } from '@/api/modular/main/WmsBase/WmsContainerManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { + current: 1, + pageSize: 10 + }, + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'containerCode' + }, + { + title: '鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'containerName' + }, + { + title: '绫诲瀷ID', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'containerTypeId' + }, + { + title: '绫诲瀷鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'containerTypeName' + }, + { + title: '瀹瑰櫒鍏崇郴ID', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'packagingId' + }, + { + title: '闀垮害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'specLength' + }, + { + title: '瀹藉害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'specWidth' + }, + { + title: '楂樺害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'specHeight' + }, + { + title: '闄愰暱', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'limitLength' + }, + { + title: '闄愬', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'limitWidth' + }, + { + title: '闄愰珮', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'limitHeight' + }, + { + title: '杞介噸涓婇檺', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'maxWeight' + }, + { + title: '鐖跺鍣ㄥ悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'parentContainerName' + }, + { + title: '鐖跺鍣↖d', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'parentContainerId' + }, + { + title: '鏄惁铏氭嫙', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isVirtually' + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsContainerPage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsContainer:edit') || this.hasPerm('WmsContainer:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsContainerDelete (record) { + WmsContainerDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, + + + WmsContainerToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsContainerPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } +</script> +<style lang="less"> + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } +</style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue index 569f83d..51ccb0b 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="鏂板鍖呰鍏崇郴鍩虹琛�" + title="鏂板瀹瑰櫒鍏崇郴" :width="900" :visible="visible" :confirmLoading="confirmLoading" diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue index 175ad58..474d889 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="缂栬緫鍖呰鍏崇郴鍩虹琛�" + title="缂栬緫瀹瑰櫒鍏崇郴" :width="900" :visible="visible" :confirmLoading="confirmLoading" diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue index 3bc1547..589f476 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue @@ -100,7 +100,7 @@ <a-button type="info" v-if="hasPerm('WmsContainerPackaging:exportExcel')" icon="download" @click="WmsContainerPackagingToExcel()"> 瀵煎嚭 </a-button> - <a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" @click="$refs.addForm.add()">鏂板鍖呰鍏崇郴鍩虹琛�</a-button> + <a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒鍏崇郴</a-button> </div> </template> <span slot="action" slot-scope="text, record"> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue new file mode 100644 index 0000000..01ac719 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue @@ -0,0 +1,100 @@ +锘�<template> + <a-modal + title="鏂板瀹瑰櫒绫诲瀷" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="绫诲瀷缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" v-decorator="['typeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['typeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="鏄惁鍥炴敹" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowReclaim',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁鍥炴敹锛�' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ崟浣�" v-decorator="['unit', {rules: [{required: true, message: '璇疯緭鍏ュ崟浣嶏紒'}]}]" /> + </a-form-item> + <a-form-item label="浣跨敤鏈熼檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�" v-decorator="['usagePeriod']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> + import moment from 'moment' + import { + WmsContainerTypeAdd + } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' + export default { + data () { + return { + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + add (record) { + this.visible = true + this.$nextTick(() => { + + }); + }, + /** + * 鎻愪氦琛ㄥ崟 + */ + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + } + } + WmsContainerTypeAdd(values).then((res) => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + } else { + this.confirmLoading = false + } + }) + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue new file mode 100644 index 0000000..1dd1d18 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue @@ -0,0 +1,119 @@ +锘�<template> + <a-modal + title="缂栬緫瀹瑰櫒绫诲瀷" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="绫诲瀷缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" v-decorator="['typeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['typeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="鏄惁鍥炴敹" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAllowReclaim',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁鍥炴敹锛�' }], valuePropName: 'checked'}]" /> + </a-form-item> + <a-form-item label="鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ崟浣�" v-decorator="['unit', {rules: [{required: true, message: '璇疯緭鍏ュ崟浣嶏紒'}]}]" /> + </a-form-item> + <a-form-item label="浣跨敤鏈熼檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�" v-decorator="['usagePeriod']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import moment from 'moment' + import { + WmsContainerTypeEdit + } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' + export default { + data () { + return { + Id: 0, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + record: {}, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + edit (record) { + this.visible = true; + this.Id = record.id; + this.$nextTick(() => { + }); + //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔� + this.record = JSON.parse(JSON.stringify(record)) + this.$nextTick(() => { + this.form.setFieldsValue( + { + id: record.id, + typeCode: record.typeCode, + typeName: record.typeName, + isAllowReclaim: record.isAllowReclaim, + unit: record.unit, + usagePeriod: record.usagePeriod, + isDisabled: record.isDisabled + } + ) + }) + }, + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (values[key] == null) continue + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + this.record[key] = values[key] + } else { + this.record[key] = values[key] + } + } + WmsContainerTypeEdit(this.record).then((res) => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', this.record) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + }else{ + this.confirmLoading = false + } + }); + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue new file mode 100644 index 0000000..2ca3bc9 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue @@ -0,0 +1,181 @@ +锘�<template> + <a-modal + :width="850" + :destroyOnClose="true" + :visible="visible" + :forceRender="true" + title="鎵归噺瀵煎叆" + cancelText="鍙栨秷涓婁紶" + okText="寮�濮嬩笂浼�" + @cancel="handleCancel" + @ok="handleSubmit"> + <a-spin :spinning="confirmLoading"> + <a-row :span="24"> + <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span> + </a-row> + <p></p> + <a-row> + <a-col :span="16"> + <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload"> + <a-icon style="font-size: 40px;" type="cloud-upload" /> + </a-upload-dragger> + </a-col> + <!--<a-col :span="8"> + <span>瀵煎叆妯″紡锛�</span> + <a-select + style="width: 130px" + placeholder="璇烽�夋嫨瀵煎叆妯″紡" + v-model="importExcelType"> + <a-select-option + v-for="(item,index) in importExcelTypeData" + :key="index" + :value="item.code">{{ item.name }} + </a-select-option> + </a-select> + </a-col>--> + </a-row> + <a-row :span="24"> + <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed"> + 鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰 + </a-button>--> + <span>銆�</span> + <a-button style="width: 90px;text-align: left;" @click="wmsContainerTypeDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶 + <span>銆�</span> + <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed"> + 鏀惰捣 + </a-button> + </a-row> + <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24"> + <a-breadcrumb> + <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item> + </a-breadcrumb> + </a-row> + <pre v-show="detailed"> + <div v-html="demandText"></div> + </pre> + <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table> + <pre v-show="detailed"> + <div v-html="columnText"></div> + </pre> + </a-spin> + </a-modal> +</template> + +<script> + import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util' + + import { WmsContainerTypeImportExcel, WmsContainerTypeDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsContainerTypeManage' + import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage' + export default { + components: { + }, + data() { + return { + visible: false, + detailed: false, + confirmLoading: false, + fileList: [], + importExcelTypeData: [], + importExcelType: '1', + uploadFile: null, + columns: [], + dataList: [], + demandText:'', + columnText: '' + } + }, + methods: { + index() { + this.visible = true; + this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type') + this.demandText = parseDemandText("wmsContainerTypeDownloadExcelTemplate") + window.downloadFile = this.wmsContainerTypeDownloadExcelTemplate; + this.getTable(); + }, + showDemand() { + this.detailed = !this.detailed; + }, + customRequest(document) { + this.uploadFile = document + }, + getTable() { + sysExcelTemplateGetColumnList({className: "WmsContainerType"}).then(res => + { + if (res.success) { + this.columns =[]; + this.dataList = [{}]; + res.data.forEach(x => { + this.columns.push({ + dataIndex: x.columnName, + key: x.columnName, + title: x.columnComment + }); + this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�" + }); + this.columnText = parseExcelFieldText(res.data); + } + }); + }, + beforeUpload(fileInfo) { + let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']); + if (!res.success) { + this.$message.warning(res.msg) + return false + } + setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000) + }, + handleChange(fileInfo) { + if (fileInfo.file.status === 'error') { + fileInfo.fileList.splice(0, 1) + } + if (fileInfo.file.status === 'done') { + if (fileInfo.fileList.length > 1) { + fileInfo.fileList.splice(0, 1) + } + this.fileList = fileInfo.file + } + }, + handleSubmit() { + this.confirmLoading = true + const formData = new FormData() + formData.append('file', this.uploadFile.file) + WmsContainerTypeImportExcel(formData, {importExcelType: this.importExcelType}).then(res => { + this.$message.success('鎿嶄綔鎴愬姛') + this.confirmLoading = false + this.$emit('ok', []) + this.handleCancel() + }).finally((res)=>{this.confirmLoading = false}) + }, + handleCancel() { + this.visible = false + this.detailed = false + }, + wmsContainerTypeDownloadExcelTemplate() { + WmsContainerTypeDownloadExcelTemplate({version: "v2"}).then((res) => { + downloadFile(res); + }).catch((err) => { + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + } + } + } +</script> + +<style scoped> +::v-deep .ant-upload.ant-upload-drag { + position: relative; + width: 140px; + height: 135px; + text-align: center; + background: #fafafa; + border: 1px dashed #d9d9d9; + border-radius: 2px; + cursor: pointer; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; +} +::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { + color: #ffc53d; + border-color: white; +} +</style> \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue new file mode 100644 index 0000000..529e529 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue @@ -0,0 +1,528 @@ +锘�<template> + <div ref="boxOutWrap" class="boxOutWrap"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainerType:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="绫诲瀷缂栧彿"> + <a-input v-model="queryParam.typeCode" allow-clear placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="绫诲瀷鍚嶇О"> + <a-input v-model="queryParam.typeName" allow-clear placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/> + </a-form-item> + </a-col><template v-if="advanced"> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁鍥炴敹"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowReclaim" placeholder="璇烽�夋嫨鏄惁鍥炴敹"> + <a-select-option v-for="(item,index) in isAllowReclaimData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍗曚綅"> + <a-input v-model="queryParam.unit" allow-clear placeholder="璇疯緭鍏ュ崟浣�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="浣跨敤鏈熼檺"> + <a-input v-model="queryParam.usagePeriod" allow-clear placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> + + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + </a-card> + </div> + <a-card :bordered="false"> + <s-table + ref="table" + :columns="columns" + :data="loadData" + :alert="true" + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainerType:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsContainerType:exportExcel')" icon="download" @click="WmsContainerTypeToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsContainerType:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒绫诲瀷</a-button> + </div> + </template> + <span slot="isAllowReclaimscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsContainerType:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsContainerType:edit') & hasPerm('WmsContainerType:delete')"/> + <a-popconfirm v-if="hasPerm('WmsContainerType:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsContainerTypeDelete(record)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </s-table> + <add-form ref="addForm" @ok="handleOk" /> + <edit-form ref="editForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> + </a-card> + </div> +</template> +<script> + import { STable } from '@/components' + import moment from 'moment' + import { WmsContainerTypePage, WmsContainerTypeDelete, WmsContainerTypeToExcel } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { + current: 1, + pageSize: 10 + }, + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '绫诲瀷缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'typeCode' + }, + { + title: '绫诲瀷鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'typeName' + }, + { + title: '鏄惁鍥炴敹', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isAllowReclaim', + scopedSlots: { customRender: 'isAllowReclaimscopedSlots' } + }, + { + title: '鍗曚綅', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'unit' + }, + { + title: '浣跨敤鏈熼檺', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'usagePeriod' + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsContainerTypePage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsContainerType:edit') || this.hasPerm('WmsContainerType:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isAllowReclaimOption = this.$options + this.isAllowReclaimData = isAllowReclaimOption.filters['dictData']('yes_true_false') + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsContainerTypeDelete (record) { + WmsContainerTypeDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, + + + WmsContainerTypeToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsContainerTypePage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } +</script> +<style lang="less"> + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } +</style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue index bf492da..717217b 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="鏂板宸ュ巶淇℃伅琛�" + title="鏂板宸ュ巶淇℃伅" :width="900" :visible="visible" :confirmLoading="confirmLoading" diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue index ce873f0..a9128a7 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="缂栬緫宸ュ巶淇℃伅琛�" + title="缂栬緫宸ュ巶淇℃伅" :width="900" :visible="visible" :confirmLoading="confirmLoading" diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue index e7dc390..9f5f938 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue @@ -1,500 +1,463 @@ 锘�<template> <div ref="boxOutWrap" class="boxOutWrap"> - <div ref="boxForm" class="boxForm"> - <a-card :bordered="false" :bodyStyle="tstyle"> - <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')"> - <a-form layout="inline"> - <a-row :gutter="48"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="缂栧彿"> + <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鍚嶇О"> + <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/> + </a-form-item> + </a-col><template v-if="advanced"> <a-col :md="8" :sm="24"> - <a-form-item label="缂栧彿"> - <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�" /> + <a-form-item label="鍦板潃"> + <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> </a-form-item> </a-col> <a-col :md="8" :sm="24"> - <a-form-item label="鍚嶇О"> - <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�" /> - </a-form-item> </a-col - ><template v-if="advanced"> - <a-col :md="8" :sm="24"> - <a-form-item label="鍦板潃"> - <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�" /> - </a-form-item> - </a-col> - <a-col :md="8" :sm="24"> - <a-form-item label="鏄惁绂佺敤"> - <a-select - :allowClear="true" - style="width: 100%" - v-model="queryParam.isDisabled" - placeholder="璇烽�夋嫨鏄惁绂佺敤" - > - <a-select-option v-for="(item, index) in isDisabledData" :key="index" :value="item.code">{{ - item.name - }}</a-select-option> - </a-select> - </a-form-item> - </a-col> - <!--骞存湀鏃ユ椂鍒嗙--> - <!--鏃堕棿鑼冨洿--> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> - <a-col :md="8" :sm="24"> - <a-form-item label="鍒涘缓鏃堕棿"> - <a-range-picker - style="width: 100%" - :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" - :show-time="{ - format: 'HH:mm:ss', - defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')] - }" - v-model="queryParam.createdTime" - value-format="YYYY-MM-DD HH:mm:ss" - format="YYYY-MM-DD HH:mm:ss" - @change="onChangecreatedTime" - /> - </a-form-item> - </a-col> - <!--骞存湀鏃ユ椂鍒嗙--> - <!--鏃堕棿鑼冨洿--> + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> - <a-col :md="8" :sm="24"> - <a-form-item label="鏇存柊鏃堕棿"> - <a-range-picker - style="width: 100%" - :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" - :show-time="{ - format: 'HH:mm:ss', - defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')] - }" - v-model="queryParam.updatedTime" - value-format="YYYY-MM-DD HH:mm:ss" - format="YYYY-MM-DD HH:mm:ss" - @change="onChangeupdatedTime" - /> - </a-form-item> - </a-col> - - <a-col :md="8" :sm="24"> - <a-form-item label="鍒涘缓鑰呭悕绉�"> - <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�" /> - </a-form-item> - </a-col> - <a-col :md="8" :sm="24"> - <a-form-item label="淇敼鑰呭悕绉�"> - <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�" /> - </a-form-item> - </a-col> - </template> - - <a-col :md="8" :sm="24"> - <span class="table-page-search-submitButtons"> - <a-button type="primary" @click="$refs.table.refresh(true)">鏌ヨ</a-button> - <a-button style="margin-left: 8px" @click="() => (queryParam = {})">閲嶇疆</a-button> - <a @click="toggleAdvanced" style="margin-left: 8px"> - {{ advanced ? '鏀惰捣' : '灞曞紑' }} - <a-icon :type="advanced ? 'up' : 'down'" /> - </a> - </span> - </a-col> - </a-row> - </a-form> - </div> - </a-card> - </div> + </a-row> + </a-form> + </div> + </a-card> + </div> <a-card :bordered="false"> <s-table ref="table" :columns="columns" :data="loadData" :alert="true" - @changeTablePage="pageInfo = $event" - :scroll="{ x: true, y: tableHeight }" - :rowKey="record => record.id" - :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" - > - <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')"> - <div ref="actionBar" class="actionBar"> - <a-button - type="info" - v-if="hasPerm('sysExcelTemplate:importExcel')" - icon="upload" - @click="$refs.excelForm.index()" - > - 瀵煎叆 - </a-button> - <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()"> - 瀵煎嚭 - </a-button> - <a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()" - >鏂板宸ュ巶淇℃伅琛�</a-button - > - </div> - </template> - <span slot="isDisabledscopedSlots" slot-scope="text"> - <div v-if="text === true"> - <a-tag color="green">鏄�</a-tag> - </div> - <div v-else-if="text == false"> - <a-tag color="volcano">鍚�</a-tag> - </div> - <div v-else=""></div> - </span> - <span slot="action" slot-scope="text, record"> - <a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> - <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')" /> - <a-popconfirm - v-if="hasPerm('WmsFactory:delete')" - placement="topRight" - title="纭鍒犻櫎锛�" - @confirm="() => WmsFactoryDelete(record)" - > + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()">鏂板宸ュ巶淇℃伅</a-button> + </div> + </template> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')"/> + <a-popconfirm v-if="hasPerm('WmsFactory:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsFactoryDelete(record)"> <a>鍒犻櫎</a> </a-popconfirm> </span> </s-table> <add-form ref="addForm" @ok="handleOk" /> <edit-form ref="editForm" @ok="handleOk" /> - <excel-form ref="excelForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> </a-card> </div> </template> <script> -import { STable } from '@/components' -import moment from 'moment' -import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage' -//鑷畾涔塼able楂樺害 -import setTableHtMixin from '@/mixins/handleTableHt.js' -import addForm from './addForm.vue' -import { exportExcel } from '@/utils/exportToExcel' -import { downloadFile } from '@/utils/util' -import editForm from './editForm.vue' -import excelForm from './excelForm.vue' -export default { - mixins: [setTableHtMixin], - components: { - STable, - addForm, - editForm, - excelForm - }, - data() { - return { - advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 - queryParam: {}, - pageInfo: { + import { STable } from '@/components' + import moment from 'moment' + import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { current: 1, pageSize: 10 }, - columns: [ - { - title: '搴忓彿', - width: '60px', - align: 'center', - customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` - }, - { - title: '缂栧彿', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'factoryCode' - }, - { - title: '鍚嶇О', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'factoryName' - }, - { - title: '鍦板潃', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'factoryAddress' - }, - { - title: '鏄惁绂佺敤', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'isDisabled', - scopedSlots: { customRender: 'isDisabledscopedSlots' } - }, - { - title: '鍒涘缓鏃堕棿', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'createdTime' - }, - { - title: '鏇存柊鏃堕棿', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'updatedTime' - }, - { - title: '鍒涘缓鑰呭悕绉�', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'createdUserName' - }, - { - title: '淇敼鑰呭悕绉�', - align: 'center', - customHeaderCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - customCell: () => { - return { - style: { - 'min-width': '120px' //鏈�灏忓垪瀹借缃� - } - } - }, - sorter: true, - dataIndex: 'updatedUserName' - } - ], - tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, - // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 - loadData: parameter => { - return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then(res => { - return res.data - }) - }, - selectedRowKeys: [], - selectedRows: [] - } - }, - created() { - if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) { - this.columns.push({ - title: '鎿嶄綔', - width: '150px', - dataIndex: 'action', - scopedSlots: { customRender: 'action' } - }) - } - const path = this.$route.path - const columnStr = window.localStorage.getItem(path) - if (columnStr) { - var _columns = JSON.parse(columnStr) - this.columns.forEach(element => { - var fObj = _columns.find((item, index) => { - return item.dataIndex === element.dataIndex - }) - if (fObj != undefined && fObj != null) { - element.checked = fObj.checked - } - }) - } - const isDisabledOption = this.$options - this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'factoryCode' + }, + { + title: '鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'factoryName' + }, + { + title: '鍦板潃', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'factoryAddress' + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') - this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 - window.addEventListener( - 'resize', - () => { - this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 - }, - false - ) - }, - methods: { - moment, - /** - * 鏌ヨ鍙傛暟缁勮 - */ - switchingDate() { - const obj = JSON.parse(JSON.stringify(this.queryParam)) - return obj - }, - WmsFactoryDelete(record) { - WmsFactoryDelete(record).then(res => { - if (res.success) { - this.$message.success('鍒犻櫎鎴愬姛') - this.$refs.table.refresh() - } else { - this.$message.error('鍒犻櫎澶辫触') // + res.message - } - }) - }, + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsFactoryDelete (record) { + WmsFactoryDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, - WmsFactoryToExcel() { - this.loading = true - let entozh = {} - const path = this.$route.path - if (window.localStorage.getItem(path)) { - JSON.parse(window.localStorage.getItem(path)).forEach(item => { - if (item.dataIndex != 'action' && item.checked) { - entozh[item.dataIndex] = item.title - } - }) - } else { - //鐩存帴鐐瑰鍑� - this.columns.forEach(item => { - if (item.dataIndex != 'action') { - entozh[item.dataIndex] = item.title - } - }) - } - WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)) - .then(res => { - this.loading = false - //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 - var arrDataCutout = this.columns.filter(v => v.customCutout == true) - res.data.rows.forEach(item => { - var arrKeys = Object.keys(item) - arrKeys.forEach(key => { - var strFieldDic = key + 'Data' - //鏋氫妇杞�� - if (this[strFieldDic] && this[strFieldDic].length > 0) { - let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])) - if (arrFieldDic.length > 0) { - item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�' - } - } - // 鏃ユ湡鎴彇 - if (arrDataCutout.length > 0) { - arrDataCutout.forEach(itemIn => { - if (key == itemIn.dataIndex && item[key]) { - item[key] = item[key].split(' ')[0] - } - }) - } - }) - }) - exportExcel(res.data.rows, entozh, 'xlsx', `${this.$route.meta.title}`) - }) - .catch(err => { - this.loading = false - this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) - }) - }, - toggleAdvanced() { - this.advanced = !this.advanced - this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 - }, - onChangecreatedTime(date, dateString) { - this.queryParam.createdTime = dateString - }, - onChangeupdatedTime(date, dateString) { - this.queryParam.updatedTime = dateString - }, - handleOk() { - this.$refs.table.refresh() - }, - onSelectChange(selectedRowKeys, selectedRows) { - this.selectedRowKeys = selectedRowKeys - this.selectedRows = selectedRows - } - } -} + WmsFactoryToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } </script> <style lang="less"> -.table-operator { - margin-bottom: 18px; -} -button { - margin-right: 8px; -} + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } </style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue new file mode 100644 index 0000000..d451407 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue @@ -0,0 +1,190 @@ +锘�<template> + <a-modal + title="鏂板搴撲綅淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="搴撲綅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" v-decorator="['placeCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" v-decorator="['placeName', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅鍒悕" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�" v-decorator="['placeAlias']" /> + </a-form-item> + <a-form-item label="搴撲綅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱浣嶇被鍨�" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇被鍨嬶紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" v-decorator="['placeTypeName']" /> + </a-form-item> + <a-form-item label="瀛樻斁鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�" v-decorator="['stockUnit']" /> + </a-form-item> + <a-form-item label="搴撲綅灞炴��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�" style="width: 100%" v-decorator="['placeStatus']" /> + </a-form-item> + <a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�" v-decorator="['srmPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁RGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isRgvPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="RGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['rgvPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁AGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAgvPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="AGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['agvPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁杈撻�佺嚎搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isTransPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="杈撻�佺嚎搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�" v-decorator="['transPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isActivateWCS', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="搴撳瓨鐜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱瀛樼幆澧�" v-decorator="['environment']" /> + </a-form-item> + <a-form-item label="搴撳尯缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" v-decorator="['areaCode']" /> + </a-form-item> + <a-form-item label="鎵�鍦ㄥ簱鍖�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" v-decorator="['areaId']" /> + </a-form-item> + <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName']" /> + </a-form-item> + <a-form-item label="妫�楠岀爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ楠岀爜" v-decorator="['verificationCode']" /> + </a-form-item> + <a-form-item label="鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ユ帓" style="width: 100%" v-decorator="['rowNo']" /> + </a-form-item> + <a-form-item label="鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ垪" style="width: 100%" v-decorator="['columnNo']" /> + </a-form-item> + <a-form-item label="灞�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ眰" style="width: 100%" v-decorator="['layerNo']" /> + </a-form-item> + <a-form-item label="宸烽亾" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ贩閬�" style="width: 100%" v-decorator="['laneNo']" /> + </a-form-item> + <a-form-item label="搴撲綅X鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣" v-decorator="['xzb']" /> + </a-form-item> + <a-form-item label="搴撲綅Y鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣" v-decorator="['yzb']" /> + </a-form-item> + <a-form-item label="搴撲綅Z鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣" v-decorator="['zzb']" /> + </a-form-item> + <a-form-item label="搴撲綅闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" v-decorator="['length']" /> + </a-form-item> + <a-form-item label="搴撲綅瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅搴�" v-decorator="['width']" /> + </a-form-item> + <a-form-item label="搴撲綅楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" v-decorator="['height']" /> + </a-form-item> + <a-form-item label="鏈�澶ф壙閲�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ渶澶ф壙閲�" v-decorator="['maxWeight']" /> + </a-form-item> + <a-form-item label="鍏ュ簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ叆搴撻『搴�" style="width: 100%" v-decorator="['inSequence']" /> + </a-form-item> + <a-form-item label="鍑哄簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ嚭搴撻『搴�" style="width: 100%" v-decorator="['outSequence']" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> + import moment from 'moment' + import { + WmsPlaceAdd + } from '@/api/modular/main/WmsBase/WmsPlaceManage' + export default { + data () { + return { + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + add (record) { + this.visible = true + this.$nextTick(() => { + + }); + }, + /** + * 鎻愪氦琛ㄥ崟 + */ + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + } + } + WmsPlaceAdd(values).then((res) => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + } else { + this.confirmLoading = false + } + }) + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue new file mode 100644 index 0000000..f66833a --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue @@ -0,0 +1,239 @@ +锘�<template> + <a-modal + title="缂栬緫搴撲綅淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="搴撲綅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" v-decorator="['placeCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" v-decorator="['placeName', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅鍒悕" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�" v-decorator="['placeAlias']" /> + </a-form-item> + <a-form-item label="搴撲綅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱浣嶇被鍨�" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇被鍨嬶紒'}]}]" /> + </a-form-item> + <a-form-item label="搴撲綅绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" v-decorator="['placeTypeName']" /> + </a-form-item> + <a-form-item label="瀛樻斁鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�" v-decorator="['stockUnit']" /> + </a-form-item> + <a-form-item label="搴撲綅灞炴��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�" style="width: 100%" v-decorator="['placeStatus']" /> + </a-form-item> + <a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�" v-decorator="['srmPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁RGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isRgvPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="RGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['rgvPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁AGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isAgvPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="AGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['agvPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁杈撻�佺嚎搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isTransPlace', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="杈撻�佺嚎搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�" v-decorator="['transPlaceNo']" /> + </a-form-item> + <a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isActivateWCS', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="搴撳瓨鐜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱瀛樼幆澧�" v-decorator="['environment']" /> + </a-form-item> + <a-form-item label="搴撳尯缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" v-decorator="['areaCode']" /> + </a-form-item> + <a-form-item label="鎵�鍦ㄥ簱鍖�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" v-decorator="['areaId']" /> + </a-form-item> + <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName']" /> + </a-form-item> + <a-form-item label="妫�楠岀爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ楠岀爜" v-decorator="['verificationCode']" /> + </a-form-item> + <a-form-item label="鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ユ帓" style="width: 100%" v-decorator="['rowNo']" /> + </a-form-item> + <a-form-item label="鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ垪" style="width: 100%" v-decorator="['columnNo']" /> + </a-form-item> + <a-form-item label="灞�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ眰" style="width: 100%" v-decorator="['layerNo']" /> + </a-form-item> + <a-form-item label="宸烽亾" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ贩閬�" style="width: 100%" v-decorator="['laneNo']" /> + </a-form-item> + <a-form-item label="搴撲綅X鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣" v-decorator="['xzb']" /> + </a-form-item> + <a-form-item label="搴撲綅Y鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣" v-decorator="['yzb']" /> + </a-form-item> + <a-form-item label="搴撲綅Z鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣" v-decorator="['zzb']" /> + </a-form-item> + <a-form-item label="搴撲綅闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" v-decorator="['length']" /> + </a-form-item> + <a-form-item label="搴撲綅瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶅搴�" v-decorator="['width']" /> + </a-form-item> + <a-form-item label="搴撲綅楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" v-decorator="['height']" /> + </a-form-item> + <a-form-item label="鏈�澶ф壙閲�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ渶澶ф壙閲�" v-decorator="['maxWeight']" /> + </a-form-item> + <a-form-item label="鍏ュ簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ叆搴撻『搴�" style="width: 100%" v-decorator="['inSequence']" /> + </a-form-item> + <a-form-item label="鍑哄簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input-number placeholder="璇疯緭鍏ュ嚭搴撻『搴�" style="width: 100%" v-decorator="['outSequence']" /> + </a-form-item> + <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import moment from 'moment' + import { + WmsPlaceEdit + } from '@/api/modular/main/WmsBase/WmsPlaceManage' + export default { + data () { + return { + Id: 0, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + record: {}, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + edit (record) { + this.visible = true; + this.Id = record.id; + this.$nextTick(() => { + }); + //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔� + this.record = JSON.parse(JSON.stringify(record)) + this.$nextTick(() => { + this.form.setFieldsValue( + { + id: record.id, + placeCode: record.placeCode, + placeName: record.placeName, + placeAlias: record.placeAlias, + placeType: record.placeType, + placeTypeName: record.placeTypeName, + stockUnit: record.stockUnit, + placeStatus: record.placeStatus, + isSrmPlace: record.isSrmPlace, + srmPlaceNo: record.srmPlaceNo, + isRgvPlace: record.isRgvPlace, + rgvPlaceNo: record.rgvPlaceNo, + isAgvPlace: record.isAgvPlace, + agvPlaceNo: record.agvPlaceNo, + isTransPlace: record.isTransPlace, + transPlaceNo: record.transPlaceNo, + isActivateWCS: record.isActivateWCS, + environment: record.environment, + areaCode: record.areaCode, + areaId: record.areaId, + areaName: record.areaName, + verificationCode: record.verificationCode, + rowNo: record.rowNo, + columnNo: record.columnNo, + layerNo: record.layerNo, + laneNo: record.laneNo, + xzb: record.xzb, + yzb: record.yzb, + zzb: record.zzb, + length: record.length, + width: record.width, + height: record.height, + maxWeight: record.maxWeight, + inSequence: record.inSequence, + outSequence: record.outSequence, + isVirtually: record.isVirtually, + isDisabled: record.isDisabled + } + ) + }) + }, + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (values[key] == null) continue + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + this.record[key] = values[key] + } else { + this.record[key] = values[key] + } + } + WmsPlaceEdit(this.record).then((res) => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', this.record) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + }else{ + this.confirmLoading = false + } + }); + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue new file mode 100644 index 0000000..ee6612b --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue @@ -0,0 +1,181 @@ +锘�<template> + <a-modal + :width="850" + :destroyOnClose="true" + :visible="visible" + :forceRender="true" + title="鎵归噺瀵煎叆" + cancelText="鍙栨秷涓婁紶" + okText="寮�濮嬩笂浼�" + @cancel="handleCancel" + @ok="handleSubmit"> + <a-spin :spinning="confirmLoading"> + <a-row :span="24"> + <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span> + </a-row> + <p></p> + <a-row> + <a-col :span="16"> + <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload"> + <a-icon style="font-size: 40px;" type="cloud-upload" /> + </a-upload-dragger> + </a-col> + <!--<a-col :span="8"> + <span>瀵煎叆妯″紡锛�</span> + <a-select + style="width: 130px" + placeholder="璇烽�夋嫨瀵煎叆妯″紡" + v-model="importExcelType"> + <a-select-option + v-for="(item,index) in importExcelTypeData" + :key="index" + :value="item.code">{{ item.name }} + </a-select-option> + </a-select> + </a-col>--> + </a-row> + <a-row :span="24"> + <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed"> + 鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰 + </a-button>--> + <span>銆�</span> + <a-button style="width: 90px;text-align: left;" @click="wmsPlaceDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶 + <span>銆�</span> + <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed"> + 鏀惰捣 + </a-button> + </a-row> + <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24"> + <a-breadcrumb> + <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item> + </a-breadcrumb> + </a-row> + <pre v-show="detailed"> + <div v-html="demandText"></div> + </pre> + <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table> + <pre v-show="detailed"> + <div v-html="columnText"></div> + </pre> + </a-spin> + </a-modal> +</template> + +<script> + import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util' + + import { WmsPlaceImportExcel, WmsPlaceDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsPlaceManage' + import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage' + export default { + components: { + }, + data() { + return { + visible: false, + detailed: false, + confirmLoading: false, + fileList: [], + importExcelTypeData: [], + importExcelType: '1', + uploadFile: null, + columns: [], + dataList: [], + demandText:'', + columnText: '' + } + }, + methods: { + index() { + this.visible = true; + this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type') + this.demandText = parseDemandText("wmsPlaceDownloadExcelTemplate") + window.downloadFile = this.wmsPlaceDownloadExcelTemplate; + this.getTable(); + }, + showDemand() { + this.detailed = !this.detailed; + }, + customRequest(document) { + this.uploadFile = document + }, + getTable() { + sysExcelTemplateGetColumnList({className: "WmsPlace"}).then(res => + { + if (res.success) { + this.columns =[]; + this.dataList = [{}]; + res.data.forEach(x => { + this.columns.push({ + dataIndex: x.columnName, + key: x.columnName, + title: x.columnComment + }); + this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�" + }); + this.columnText = parseExcelFieldText(res.data); + } + }); + }, + beforeUpload(fileInfo) { + let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']); + if (!res.success) { + this.$message.warning(res.msg) + return false + } + setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000) + }, + handleChange(fileInfo) { + if (fileInfo.file.status === 'error') { + fileInfo.fileList.splice(0, 1) + } + if (fileInfo.file.status === 'done') { + if (fileInfo.fileList.length > 1) { + fileInfo.fileList.splice(0, 1) + } + this.fileList = fileInfo.file + } + }, + handleSubmit() { + this.confirmLoading = true + const formData = new FormData() + formData.append('file', this.uploadFile.file) + WmsPlaceImportExcel(formData, {importExcelType: this.importExcelType}).then(res => { + this.$message.success('鎿嶄綔鎴愬姛') + this.confirmLoading = false + this.$emit('ok', []) + this.handleCancel() + }).finally((res)=>{this.confirmLoading = false}) + }, + handleCancel() { + this.visible = false + this.detailed = false + }, + wmsPlaceDownloadExcelTemplate() { + WmsPlaceDownloadExcelTemplate({version: "v2"}).then((res) => { + downloadFile(res); + }).catch((err) => { + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + } + } + } +</script> + +<style scoped> +::v-deep .ant-upload.ant-upload-drag { + position: relative; + width: 140px; + height: 135px; + text-align: center; + background: #fafafa; + border: 1px dashed #d9d9d9; + border-radius: 2px; + cursor: pointer; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; +} +::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { + color: #ffc53d; + border-color: white; +} +</style> \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue new file mode 100644 index 0000000..b63d919 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue @@ -0,0 +1,1345 @@ +锘�<template> + <div ref="boxOutWrap" class="boxOutWrap"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsPlace:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅缂栫爜"> + <a-input v-model="queryParam.placeCode" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅鍚嶇О"> + <a-input v-model="queryParam.placeName" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/> + </a-form-item> + </a-col><template v-if="advanced"> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅鍒悕"> + <a-input v-model="queryParam.placeAlias" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅绫诲瀷"> + <a-input-number v-model="queryParam.placeType" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇被鍨�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅绫诲瀷鍚嶇О"> + <a-input v-model="queryParam.placeTypeName" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="瀛樻斁鍗曚綅"> + <a-input v-model="queryParam.stockUnit" allow-clear placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅灞炴��"> + <a-input-number v-model="queryParam.placeStatus" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isSrmPlace" placeholder="璇烽�夋嫨鏄惁鍫嗗灈鏈哄簱浣�"> + <a-select-option v-for="(item,index) in isSrmPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿"> + <a-input v-model="queryParam.srmPlaceNo" allow-clear placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁RGV搴撲綅"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isRgvPlace" placeholder="璇烽�夋嫨鏄惁RGV搴撲綅"> + <a-select-option v-for="(item,index) in isRgvPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="RGV搴撲綅鍙�"> + <a-input v-model="queryParam.rgvPlaceNo" allow-clear placeholder="璇疯緭鍏GV搴撲綅鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁AGV搴撲綅"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAgvPlace" placeholder="璇烽�夋嫨鏄惁AGV搴撲綅"> + <a-select-option v-for="(item,index) in isAgvPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="AGV搴撲綅鍙�"> + <a-input v-model="queryParam.agvPlaceNo" allow-clear placeholder="璇疯緭鍏GV搴撲綅鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁杈撻�佺嚎搴撲綅"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isTransPlace" placeholder="璇烽�夋嫨鏄惁杈撻�佺嚎搴撲綅"> + <a-select-option v-for="(item,index) in isTransPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="杈撻�佺嚎搴撲綅鍙�"> + <a-input v-model="queryParam.transPlaceNo" allow-clear placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isActivateWCS" placeholder="璇烽�夋嫨鏄惁婵�娲讳笌浠诲姟璋冨害"> + <a-select-option v-for="(item,index) in isActivateWCSData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳瓨鐜"> + <a-input v-model="queryParam.environment" allow-clear placeholder="璇疯緭鍏ュ簱瀛樼幆澧�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯缂栧彿"> + <a-input v-model="queryParam.areaCode" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鎵�鍦ㄥ簱鍖�"> + <a-input v-model="queryParam.areaId" allow-clear placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撳尯鍚嶇О"> + <a-input v-model="queryParam.areaName" allow-clear placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="妫�楠岀爜"> + <a-input v-model="queryParam.verificationCode" allow-clear placeholder="璇疯緭鍏ユ楠岀爜"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="鎺�"> + <a-input-number v-model="queryParam.rowNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ユ帓"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="鍒�"> + <a-input-number v-model="queryParam.columnNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ垪"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="灞�"> + <a-input-number v-model="queryParam.layerNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ眰"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="宸烽亾"> + <a-input-number v-model="queryParam.laneNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ贩閬�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅X鍧愭爣"> + <a-input v-model="queryParam.xzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅Y鍧愭爣"> + <a-input v-model="queryParam.yzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅Z鍧愭爣"> + <a-input v-model="queryParam.zzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅闀垮害"> + <a-input v-model="queryParam.length" allow-clear placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅瀹藉害"> + <a-input v-model="queryParam.width" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="搴撲綅楂樺害"> + <a-input v-model="queryParam.height" allow-clear placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏈�澶ф壙閲�"> + <a-input v-model="queryParam.maxWeight" allow-clear placeholder="璇疯緭鍏ユ渶澶ф壙閲�"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="鍏ュ簱椤哄簭"> + <a-input-number v-model="queryParam.inSequence" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ叆搴撻『搴�"/> + </a-form-item> + </a-col><a-col :md="8" :sm="24"> + <a-form-item label="鍑哄簱椤哄簭"> + <a-input-number v-model="queryParam.outSequence" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ嚭搴撻『搴�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁铏氭嫙"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙"> + <a-select-option v-for="(item,index) in isVirtuallyData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> + + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + </a-card> + </div> + <a-card :bordered="false"> + <s-table + ref="table" + :columns="columns" + :data="loadData" + :alert="true" + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsPlace:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsPlace:exportExcel')" icon="download" @click="WmsPlaceToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsPlace:add')" icon="plus" @click="$refs.addForm.add()">鏂板搴撲綅淇℃伅</a-button> + </div> + </template> + <span slot="isSrmPlacescopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isRgvPlacescopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isAgvPlacescopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isTransPlacescopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isActivateWCSscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isVirtuallyscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsPlace:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsPlace:edit') & hasPerm('WmsPlace:delete')"/> + <a-popconfirm v-if="hasPerm('WmsPlace:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsPlaceDelete(record)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </s-table> + <add-form ref="addForm" @ok="handleOk" /> + <edit-form ref="editForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> + </a-card> + </div> +</template> +<script> + import { STable } from '@/components' + import moment from 'moment' + import { WmsPlacePage, WmsPlaceDelete, WmsPlaceToExcel } from '@/api/modular/main/WmsBase/WmsPlaceManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { + current: 1, + pageSize: 10 + }, + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '搴撲綅缂栫爜', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeCode' + }, + { + title: '搴撲綅鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeName' + }, + { + title: '搴撲綅鍒悕', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeAlias' + }, + { + title: '搴撲綅绫诲瀷', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeType' + }, + { + title: '搴撲綅绫诲瀷鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeTypeName' + }, + { + title: '瀛樻斁鍗曚綅', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'stockUnit' + }, + { + title: '搴撲綅灞炴��', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'placeStatus' + }, + { + title: '鏄惁鍫嗗灈鏈哄簱浣�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isSrmPlace', + scopedSlots: { customRender: 'isSrmPlacescopedSlots' } + }, + { + title: '鍫嗗灈鏈哄簱浣嶅彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'srmPlaceNo' + }, + { + title: '鏄惁RGV搴撲綅', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isRgvPlace', + scopedSlots: { customRender: 'isRgvPlacescopedSlots' } + }, + { + title: 'RGV搴撲綅鍙�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'rgvPlaceNo' + }, + { + title: '鏄惁AGV搴撲綅', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isAgvPlace', + scopedSlots: { customRender: 'isAgvPlacescopedSlots' } + }, + { + title: 'AGV搴撲綅鍙�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'agvPlaceNo' + }, + { + title: '鏄惁杈撻�佺嚎搴撲綅', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isTransPlace', + scopedSlots: { customRender: 'isTransPlacescopedSlots' } + }, + { + title: '杈撻�佺嚎搴撲綅鍙�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'transPlaceNo' + }, + { + title: '鏄惁婵�娲讳笌浠诲姟璋冨害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isActivateWCS', + scopedSlots: { customRender: 'isActivateWCSscopedSlots' } + }, + { + title: '搴撳瓨鐜', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'environment' + }, + { + title: '搴撳尯缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaCode' + }, + { + title: '鎵�鍦ㄥ簱鍖�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaId' + }, + { + title: '搴撳尯鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'areaName' + }, + { + title: '妫�楠岀爜', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'verificationCode' + }, + { + title: '鎺�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'rowNo' + }, + { + title: '鍒�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'columnNo' + }, + { + title: '灞�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'layerNo' + }, + { + title: '宸烽亾', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'laneNo' + }, + { + title: '搴撲綅X鍧愭爣', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'xzb' + }, + { + title: '搴撲綅Y鍧愭爣', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'yzb' + }, + { + title: '搴撲綅Z鍧愭爣', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'zzb' + }, + { + title: '搴撲綅闀垮害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'length' + }, + { + title: '搴撲綅瀹藉害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'width' + }, + { + title: '搴撲綅楂樺害', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'height' + }, + { + title: '鏈�澶ф壙閲�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'maxWeight' + }, + { + title: '鍏ュ簱椤哄簭', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'inSequence' + }, + { + title: '鍑哄簱椤哄簭', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '80px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'outSequence' + }, + { + title: '鏄惁铏氭嫙', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isVirtually', + scopedSlots: { customRender: 'isVirtuallyscopedSlots' } + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsPlacePage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsPlace:edit') || this.hasPerm('WmsPlace:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isSrmPlaceOption = this.$options + this.isSrmPlaceData = isSrmPlaceOption.filters['dictData']('yes_true_false') + const isRgvPlaceOption = this.$options + this.isRgvPlaceData = isRgvPlaceOption.filters['dictData']('yes_true_false') + const isAgvPlaceOption = this.$options + this.isAgvPlaceData = isAgvPlaceOption.filters['dictData']('yes_true_false') + const isTransPlaceOption = this.$options + this.isTransPlaceData = isTransPlaceOption.filters['dictData']('yes_true_false') + const isActivateWCSOption = this.$options + this.isActivateWCSData = isActivateWCSOption.filters['dictData']('yes_true_false') + const isVirtuallyOption = this.$options + this.isVirtuallyData = isVirtuallyOption.filters['dictData']('yes_true_false') + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsPlaceDelete (record) { + WmsPlaceDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, + + + WmsPlaceToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsPlacePage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } +</script> +<style lang="less"> + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } +</style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue new file mode 100644 index 0000000..1724b73 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue @@ -0,0 +1,94 @@ +锘�<template> + <a-modal + title="鏂板鍗曚綅淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['unitCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['unitName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['unitDesc']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> + import moment from 'moment' + import { + WmsUnitAdd + } from '@/api/modular/main/WmsBase/WmsUnitManage' + export default { + data () { + return { + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + add (record) { + this.visible = true + this.$nextTick(() => { + + }); + }, + /** + * 鎻愪氦琛ㄥ崟 + */ + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + } + } + WmsUnitAdd(values).then((res) => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + } else { + this.confirmLoading = false + } + }) + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue new file mode 100644 index 0000000..c641026 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue @@ -0,0 +1,111 @@ +锘�<template> + <a-modal + title="缂栬緫鍗曚綅淇℃伅" + :width="900" + :visible="visible" + :confirmLoading="confirmLoading" + @ok="handleSubmit" + @cancel="handleCancel"> + <a-spin :spinning="confirmLoading"> + <a-form :form="form"> + <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['unitCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" /> + </a-form-item> + <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['unitName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" /> + </a-form-item> + <a-form-item label="鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-input placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['unitDesc']" /> + </a-form-item> + <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> + </a-form-item> + <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> + </a-form> + </a-spin> + </a-modal> +</template> + +<script> +import moment from 'moment' + import { + WmsUnitEdit + } from '@/api/modular/main/WmsBase/WmsUnitManage' + export default { + data () { + return { + Id: 0, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 15 } + }, + record: {}, + visible: false, + confirmLoading: false, + form: this.$form.createForm(this) + } + }, + methods: { + moment, + // 鍒濆鍖栨柟娉� + edit (record) { + this.visible = true; + this.Id = record.id; + this.$nextTick(() => { + }); + //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔� + this.record = JSON.parse(JSON.stringify(record)) + this.$nextTick(() => { + this.form.setFieldsValue( + { + id: record.id, + unitCode: record.unitCode, + unitName: record.unitName, + unitDesc: record.unitDesc, + isDisabled: record.isDisabled + } + ) + }) + }, + handleSubmit () { + const { form: { validateFields } } = this + this.confirmLoading = true + validateFields((errors, values) => { + if (!errors) { + for (const key in values) { + if (values[key] == null) continue + if (typeof (values[key]) === 'object') { + values[key] = JSON.stringify(values[key]) + this.record[key] = values[key] + } else { + this.record[key] = values[key] + } + } + WmsUnitEdit(this.record).then((res) => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', this.record) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }).finally((res) => { + this.confirmLoading = false + }) + }else{ + this.confirmLoading = false + } + }); + }, + handleCancel () { + this.form.resetFields() + this.visible = false + } + } + } +</script> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue new file mode 100644 index 0000000..63a7c55 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue @@ -0,0 +1,181 @@ +锘�<template> + <a-modal + :width="850" + :destroyOnClose="true" + :visible="visible" + :forceRender="true" + title="鎵归噺瀵煎叆" + cancelText="鍙栨秷涓婁紶" + okText="寮�濮嬩笂浼�" + @cancel="handleCancel" + @ok="handleSubmit"> + <a-spin :spinning="confirmLoading"> + <a-row :span="24"> + <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span> + </a-row> + <p></p> + <a-row> + <a-col :span="16"> + <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload"> + <a-icon style="font-size: 40px;" type="cloud-upload" /> + </a-upload-dragger> + </a-col> + <!--<a-col :span="8"> + <span>瀵煎叆妯″紡锛�</span> + <a-select + style="width: 130px" + placeholder="璇烽�夋嫨瀵煎叆妯″紡" + v-model="importExcelType"> + <a-select-option + v-for="(item,index) in importExcelTypeData" + :key="index" + :value="item.code">{{ item.name }} + </a-select-option> + </a-select> + </a-col>--> + </a-row> + <a-row :span="24"> + <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed"> + 鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰 + </a-button>--> + <span>銆�</span> + <a-button style="width: 90px;text-align: left;" @click="wmsUnitDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶 + <span>銆�</span> + <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed"> + 鏀惰捣 + </a-button> + </a-row> + <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24"> + <a-breadcrumb> + <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item> + </a-breadcrumb> + </a-row> + <pre v-show="detailed"> + <div v-html="demandText"></div> + </pre> + <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table> + <pre v-show="detailed"> + <div v-html="columnText"></div> + </pre> + </a-spin> + </a-modal> +</template> + +<script> + import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util' + + import { WmsUnitImportExcel, WmsUnitDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsUnitManage' + import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage' + export default { + components: { + }, + data() { + return { + visible: false, + detailed: false, + confirmLoading: false, + fileList: [], + importExcelTypeData: [], + importExcelType: '1', + uploadFile: null, + columns: [], + dataList: [], + demandText:'', + columnText: '' + } + }, + methods: { + index() { + this.visible = true; + this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type') + this.demandText = parseDemandText("wmsUnitDownloadExcelTemplate") + window.downloadFile = this.wmsUnitDownloadExcelTemplate; + this.getTable(); + }, + showDemand() { + this.detailed = !this.detailed; + }, + customRequest(document) { + this.uploadFile = document + }, + getTable() { + sysExcelTemplateGetColumnList({className: "WmsUnit"}).then(res => + { + if (res.success) { + this.columns =[]; + this.dataList = [{}]; + res.data.forEach(x => { + this.columns.push({ + dataIndex: x.columnName, + key: x.columnName, + title: x.columnComment + }); + this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�" + }); + this.columnText = parseExcelFieldText(res.data); + } + }); + }, + beforeUpload(fileInfo) { + let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']); + if (!res.success) { + this.$message.warning(res.msg) + return false + } + setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000) + }, + handleChange(fileInfo) { + if (fileInfo.file.status === 'error') { + fileInfo.fileList.splice(0, 1) + } + if (fileInfo.file.status === 'done') { + if (fileInfo.fileList.length > 1) { + fileInfo.fileList.splice(0, 1) + } + this.fileList = fileInfo.file + } + }, + handleSubmit() { + this.confirmLoading = true + const formData = new FormData() + formData.append('file', this.uploadFile.file) + WmsUnitImportExcel(formData, {importExcelType: this.importExcelType}).then(res => { + this.$message.success('鎿嶄綔鎴愬姛') + this.confirmLoading = false + this.$emit('ok', []) + this.handleCancel() + }).finally((res)=>{this.confirmLoading = false}) + }, + handleCancel() { + this.visible = false + this.detailed = false + }, + wmsUnitDownloadExcelTemplate() { + WmsUnitDownloadExcelTemplate({version: "v2"}).then((res) => { + downloadFile(res); + }).catch((err) => { + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + } + } + } +</script> + +<style scoped> +::v-deep .ant-upload.ant-upload-drag { + position: relative; + width: 140px; + height: 135px; + text-align: center; + background: #fafafa; + border: 1px dashed #d9d9d9; + border-radius: 2px; + cursor: pointer; + -webkit-transition: border-color 0.3s; + transition: border-color 0.3s; +} +::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) { + color: #ffc53d; + border-color: white; +} +</style> \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue new file mode 100644 index 0000000..fba6d14 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue @@ -0,0 +1,463 @@ +锘�<template> + <div ref="boxOutWrap" class="boxOutWrap"> + <div ref="boxForm" class="boxForm"> + <a-card :bordered="false" :bodyStyle="tstyle"> + + <div class="table-page-search-wrapper" v-if="hasPerm('WmsUnit:page')"> + <a-form layout="inline"> + <a-row :gutter="48"> + <a-col :md="8" :sm="24"> + <a-form-item label="缂栧彿"> + <a-input v-model="queryParam.unitCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鍚嶇О"> + <a-input v-model="queryParam.unitName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/> + </a-form-item> + </a-col><template v-if="advanced"> + <a-col :md="8" :sm="24"> + <a-form-item label="鎻忚堪"> + <a-input v-model="queryParam.unitDesc" allow-clear placeholder="璇疯緭鍏ユ弿杩�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="鏄惁绂佺敤"> + <a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤"> + <a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option> + </a-select> + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> + + </a-form-item> + </a-col> + <!--骞存湀鏃ユ椂鍒嗙--> + <!--鏃堕棿鑼冨洿--> + + <a-col :md="8" :sm="24"> + <a-form-item label="鏇存柊鏃堕棿"> + <a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']" :show-time="{ +format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> + + </a-form-item> + </a-col> + + <a-col :md="8" :sm="24"> + <a-form-item label="鍒涘缓鑰呭悕绉�"> + <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/> + </a-form-item> + </a-col> + <a-col :md="8" :sm="24"> + <a-form-item label="淇敼鑰呭悕绉�"> + <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/> + </a-form-item> + </a-col> </template> + + <a-col :md="8" :sm="24" > + <span class="table-page-search-submitButtons"> + <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button> + <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button> + <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }} + <a-icon :type="advanced ? 'up' : 'down'"/> + </a> + </span> + </a-col> + + </a-row> + </a-form> + </div> + </a-card> + </div> + <a-card :bordered="false"> + <s-table + ref="table" + :columns="columns" + :data="loadData" + :alert="true" + @changeTablePage="pageInfo = $event" + :scroll="{x: true,y:tableHeight}" + :rowKey="(record) => record.id" + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> + <template class="table-operator" slot="operator" v-if="hasPerm('WmsUnit:add')" > + <div ref="actionBar" class="actionBar"> + <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> + 瀵煎叆 + </a-button> + <a-button type="info" v-if="hasPerm('WmsUnit:exportExcel')" icon="download" @click="WmsUnitToExcel()"> + 瀵煎嚭 + </a-button> + <a-button type="primary" v-if="hasPerm('WmsUnit:add')" icon="plus" @click="$refs.addForm.add()">鏂板鍗曚綅淇℃伅</a-button> + </div> + </template> + <span slot="isDisabledscopedSlots" slot-scope="text"> + <div v-if="text===true "> + <a-tag color="green">鏄�</a-tag> + </div> + <div v-else-if="text==false"> + <a-tag color="volcano">鍚�</a-tag> + </div> + <div v-else=""></div> + </span> + <span slot="action" slot-scope="text, record"> + + <a v-if="hasPerm('WmsUnit:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="hasPerm('WmsUnit:edit') & hasPerm('WmsUnit:delete')"/> + <a-popconfirm v-if="hasPerm('WmsUnit:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsUnitDelete(record)"> + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + </s-table> + <add-form ref="addForm" @ok="handleOk" /> + <edit-form ref="editForm" @ok="handleOk" /> + <excel-form ref="excelForm" @ok="handleOk" /> + </a-card> + </div> +</template> +<script> + import { STable } from '@/components' + import moment from 'moment' + import { WmsUnitPage, WmsUnitDelete, WmsUnitToExcel } from '@/api/modular/main/WmsBase/WmsUnitManage' + //鑷畾涔塼able楂樺害 + import setTableHtMixin from '@/mixins/handleTableHt.js' + import addForm from './addForm.vue' + import { exportExcel } from '@/utils/exportToExcel' + import { downloadFile } from '@/utils/util' + import editForm from './editForm.vue' + import excelForm from './excelForm.vue' + export default { + mixins: [setTableHtMixin], + components: { + STable, + addForm, + editForm, + excelForm + }, + data () { + return { + advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴 + queryParam: {}, + pageInfo: { + current: 1, + pageSize: 10 + }, + columns: [ + { + title:'搴忓彿', + width: '60px', + align: 'center', + customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` + }, + { + title: '缂栧彿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'unitCode' + }, + { + title: '鍚嶇О', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'unitName' + }, + { + title: '鎻忚堪', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'unitDesc' + }, + { + title: '鏄惁绂佺敤', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'isDisabled', + scopedSlots: { customRender: 'isDisabledscopedSlots' } + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdTime' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedTime' + }, + { + title: '鍒涘缓鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'createdUserName' + }, + { + title: '淇敼鑰呭悕绉�', + align: 'center', + customHeaderCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + customCell: () => { + return { + style: { + 'min-width': '120px'//鏈�灏忓垪瀹借缃� + } + } + }, + sorter: true, + dataIndex: 'updatedUserName' + } + ], + tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, + // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄 + loadData: parameter => { + return WmsUnitPage(Object.assign(parameter, this.switchingDate())).then((res) => { + return res.data + }) + }, + selectedRowKeys: [], + selectedRows: [] + } + }, + created () { + if (this.hasPerm('WmsUnit:edit') || this.hasPerm('WmsUnit:delete')) { + this.columns.push({ + title: '鎿嶄綔', + width: '150px', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + }) + } + const path = this.$route.path + const columnStr = window.localStorage.getItem(path) + if(columnStr) { + var _columns = JSON.parse(columnStr) + this.columns.forEach(element => { + var fObj = _columns.find((item, index) => { + return item.dataIndex === element.dataIndex; + }) + if(fObj!=undefined && fObj!=null){ + element.checked=fObj.checked; + } + }); + } + const isDisabledOption = this.$options + this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false') + + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + window.addEventListener( + 'resize', + () => { + this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害 + }, + false + ) + + }, + methods: { + moment, + /** + * 鏌ヨ鍙傛暟缁勮 + */ + switchingDate () { + const obj = JSON.parse(JSON.stringify(this.queryParam)) + return obj + }, + WmsUnitDelete (record) { + WmsUnitDelete(record).then((res) => { + if (res.success) { + this.$message.success('鍒犻櫎鎴愬姛') + this.$refs.table.refresh() + } else { + this.$message.error('鍒犻櫎澶辫触') // + res.message + } + }) + }, + + + WmsUnitToExcel() { + this.loading = true + let entozh = {}; + const path = this.$route.path; + if (window.localStorage.getItem(path)) { + JSON.parse(window.localStorage.getItem(path)).forEach(item => { + if (item.dataIndex != 'action' && item.checked) { + entozh[item.dataIndex] = item.title + } + }) + } else { //鐩存帴鐐瑰鍑� + this.columns.forEach(item => { + if (item.dataIndex != 'action') { + entozh[item.dataIndex] = item.title + } + }) + } + WmsUnitPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { + this.loading = false; + //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁 + var arrDataCutout = this.columns.filter(v => v.customCutout == true); + res.data.rows.forEach(item => { + var arrKeys = Object.keys(item); + arrKeys.forEach(key => { + var strFieldDic = key + 'Data'; + //鏋氫妇杞�� + if (this[strFieldDic] && this[strFieldDic].length > 0) { + let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); + if (arrFieldDic.length > 0) { + item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'; + } + } + // 鏃ユ湡鎴彇 + if (arrDataCutout.length > 0) { + arrDataCutout.forEach(itemIn => { + if (key == itemIn.dataIndex && item[key]) { + item[key] = item[key].split(" ")[0] + } + }) + } + }); + }) + exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) + }).catch((err) => { + this.loading = false + this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err) + }) + }, + + + toggleAdvanced () { + this.advanced = !this.advanced + this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害 + }, + onChangecreatedTime(date, dateString) { + this.queryParam.createdTime = dateString + }, + onChangeupdatedTime(date, dateString) { + this.queryParam.updatedTime = dateString + }, + handleOk () { + this.$refs.table.refresh() + }, + onSelectChange (selectedRowKeys, selectedRows) { + this.selectedRowKeys = selectedRowKeys + this.selectedRows = selectedRows + } + } + } +</script> +<style lang="less"> + .table-operator { + margin-bottom: 18px; + } + button { + margin-right: 8px; + } +</style> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue index 5c9eb3c..0bebc69 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="鏂板浠撳簱琛�" + title="鏂板浠撳簱淇℃伅" :width="900" :visible="visible" :confirmLoading="confirmLoading" @@ -18,7 +18,7 @@ <a-input placeholder="璇疯緭鍏ヤ粨搴撳湴鍧�" v-decorator="['address']" /> </a-form-item> <a-form-item label="宸ュ巶缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode']" /> + <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode', {rules: [{required: true, message: '璇疯緭鍏ュ伐鍘傜紪鍙凤紒'}]}]" /> </a-form-item> <a-form-item label="闀�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ラ暱" v-decorator="['length']" /> @@ -36,7 +36,7 @@ <a-input placeholder="璇疯緭鍏ュ畾浣�" v-decorator="['position']" /> </a-form-item> <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-switch v-decorator="['isDisabled',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�' }], valuePropName: 'checked'}]" /> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> </a-form-item> <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ュ娉�" v-decorator="['remarks']" /> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue index 3e8cf66..533f2b6 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue @@ -1,6 +1,6 @@ 锘�<template> <a-modal - title="缂栬緫浠撳簱琛�" + title="缂栬緫浠撳簱淇℃伅" :width="900" :visible="visible" :confirmLoading="confirmLoading" @@ -18,7 +18,7 @@ <a-input placeholder="璇疯緭鍏ヤ粨搴撳湴鍧�" v-decorator="['address']" /> </a-form-item> <a-form-item label="宸ュ巶缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode']" /> + <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode', {rules: [{required: true, message: '璇疯緭鍏ュ伐鍘傜紪鍙凤紒'}]}]" /> </a-form-item> <a-form-item label="闀�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ラ暱" v-decorator="['length']" /> @@ -36,7 +36,7 @@ <a-input placeholder="璇疯緭鍏ュ畾浣�" v-decorator="['position']" /> </a-form-item> <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-switch v-decorator="['isDisabled',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�' }], valuePropName: 'checked'}]" /> + <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> </a-form-item> <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ュ娉�" v-decorator="['remarks']" /> diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue index c4b00fd..e8efab0 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue @@ -128,7 +128,7 @@ <a-button type="info" v-if="hasPerm('WmsWarehouse:exportExcel')" icon="download" @click="WmsWarehouseToExcel()"> 瀵煎嚭 </a-button> - <a-button type="primary" v-if="hasPerm('WmsWarehouse:add')" icon="plus" @click="$refs.addForm.add()">鏂板浠撳簱琛�</a-button> + <a-button type="primary" v-if="hasPerm('WmsWarehouse:add')" icon="plus" @click="$refs.addForm.add()">鏂板浠撳簱淇℃伅</a-button> </div> </template> <span slot="isDisabledscopedSlots" slot-scope="text"> diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml index e7834a4..625a7ac 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml @@ -155,116 +155,6 @@ 鐗╂枡缂栫爜 </summary> </member> - <member name="T:Admin.NET.Application.BindEntranceOutput"> - <summary> - 缁勭洏鐗╂枡淇℃伅 - </summary> - </member> - <member name="P:Admin.NET.Application.BindEntranceOutput.ContainerCode"> - <summary> - 鍛ㄨ浆绠卞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.BindEntranceOutput.WmsContainer"> - <summary> - 鏂欑鍙蜂俊鎭� - </summary> - </member> - <member name="P:Admin.NET.Application.BindEntranceOutput.PlaceCode"> - <summary> - 搴撲綅缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.BindEntranceOutput.WmsMaterials"> - <summary> - 鐗╂枡鏄庣粏淇℃伅 - </summary> - </member> - <member name="T:Admin.NET.Application.GetMaterialContainerOutput"> - <summary> - 鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialName"> - <summary> - 鐗╂枡鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialNo"> - <summary> - 鐗╂枡缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialBatch"> - <summary> - 鐗╂枡鎵规 - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialType"> - <summary> - 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.InspectionMethod"> - <summary> - 鐗╂枡妫�楠� - </summary> - </member> - <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialSpec"> - <summary> - 鐗╂枡瑙勬牸 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialName"> - <summary> - 鐗╂枡鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialNo"> - <summary> - 鐗╂枡缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialId"> - <summary> - 鐗╂枡ID - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialBatch"> - <summary> - 鐗╂枡鎵规 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialType"> - <summary> - 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.InspectionMethod"> - <summary> - 鐗╂枡妫�楠� - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialSpec"> - <summary> - 鐗╂枡瑙勬牸 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialDensity"> - <summary> - 鐗╂枡瀵嗗害 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.MaterialUnit"> - <summary> - 鐗╂枡鍗曚綅 - </summary> - </member> - <member name="P:Admin.NET.Application.MaterialOutput.LesWorkshopSection"> - <summary> - 宸ユ - </summary> - </member> <member name="T:Admin.NET.Application.ExWarehouseSearch"> <summary> 鐗╂枡鍑哄簱鏌ヨ鍙傛暟 @@ -404,791 +294,6 @@ <summary> 璐﹂潰鏁伴噺 </summary> - </member> - <member name="T:Admin.NET.Application.WmsAreaDto"> - <summary> - 搴撳尯淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.AreaName"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.AreaDesc"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.AreaStatus"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.AreaType"> - <summary> - 鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.IsSteel"> - <summary> - 鏄惁涓洪挗骞冲彴 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaDto.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsAreaSearch"> - <summary> - 搴撳尯淇℃伅鏌ヨ鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.AreaName"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.AreaDesc"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.AreaStatus"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.AreaType"> - <summary> - 鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.IsSteel"> - <summary> - 鏄惁涓洪挗骞冲彴 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearch.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsAreaSearchNonPage"> - <summary> - 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaName"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaDesc"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaStatus"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaType"> - <summary> - 鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsSteel"> - <summary> - 鏄惁涓洪挗骞冲彴 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsAreaInput"> - <summary> - 搴撳尯淇℃伅杈撳叆鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.AreaName"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.AreaDesc"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.AreaStatus"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.AreaType"> - <summary> - 鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.IsSteel"> - <summary> - 鏄惁涓洪挗骞冲彴 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaInput.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.AddWmsAreaInput"> - <summary> - - </summary> - </member> - <member name="T:Admin.NET.Application.DeleteWmsAreaInput"> - <summary> - - </summary> - </member> - <member name="T:Admin.NET.Application.UpdateWmsAreaInput"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.UpdateWmsAreaInput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="T:Admin.NET.Application.QueryeWmsAreaInput"> - <summary> - - </summary> - </member> - <member name="T:Admin.NET.Application.WmsAreaOutput"> - <summary> - 搴撳尯淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.AreaName"> - <summary> - 鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.AreaDesc"> - <summary> - 鎻忚堪 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.AreaStatus"> - <summary> - 鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.AreaType"> - <summary> - 鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.IsSteel"> - <summary> - 鏄惁涓洪挗骞冲彴 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsAreaOutput.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsContainerDto"> - <summary> - 鎵樼洏淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ContainerCode"> - <summary> - 缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ContainerType"> - <summary> - 绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ContainerStatus"> - <summary> - 鎵樼洏鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.SpecLength"> - <summary> - 闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.SpecWidth"> - <summary> - 瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.SpecHeight"> - <summary> - 楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.LimitLength"> - <summary> - 闄愰暱 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.LimitWidth"> - <summary> - 闄愬 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.LimitHeight"> - <summary> - 闄愰珮 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.MaxWeight"> - <summary> - 杞介噸涓婇檺 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ParentContainerId"> - <summary> - 鐖舵墭鐩業d - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.AssetNo"> - <summary> - 璧勪骇缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ContainerCategory"> - <summary> - 鎵樼洏鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.ErpNo"> - <summary> - Erp鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.IsVirtually"> - <summary> - 鏄惁铏氭嫙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerDto.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsContainerSearch"> - <summary> - 鎵樼洏淇℃伅鏌ヨ鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCode"> - <summary> - 缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerType"> - <summary> - 绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerStatus"> - <summary> - 鎵樼洏鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.SpecLength"> - <summary> - 闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.SpecWidth"> - <summary> - 瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.SpecHeight"> - <summary> - 楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.LimitLength"> - <summary> - 闄愰暱 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.LimitWidth"> - <summary> - 闄愬 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.LimitHeight"> - <summary> - 闄愰珮 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.MaxWeight"> - <summary> - 杞介噸涓婇檺 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerId"> - <summary> - 鐖舵墭鐩業d - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.AssetNo"> - <summary> - 璧勪骇缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCategory"> - <summary> - 鎵樼洏鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.ErpNo"> - <summary> - Erp鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.IsVirtually"> - <summary> - 鏄惁铏氭嫙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearch.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsContainerSearchNonPage"> - <summary> - 鎵樼洏淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCode"> - <summary> - 缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerType"> - <summary> - 绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerStatus"> - <summary> - 鎵樼洏鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecLength"> - <summary> - 闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecWidth"> - <summary> - 瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecHeight"> - <summary> - 楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitLength"> - <summary> - 闄愰暱 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitWidth"> - <summary> - 闄愬 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitHeight"> - <summary> - 闄愰珮 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.MaxWeight"> - <summary> - 杞介噸涓婇檺 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerId"> - <summary> - 鐖舵墭鐩業d - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.AssetNo"> - <summary> - 璧勪骇缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCategory"> - <summary> - 鎵樼洏鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ErpNo"> - <summary> - Erp鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsVirtually"> - <summary> - 鏄惁铏氭嫙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsContainerInput"> - <summary> - 鎵樼洏淇℃伅杈撳叆鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCode"> - <summary> - 缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ContainerType"> - <summary> - 绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ContainerStatus"> - <summary> - 鎵樼洏鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.SpecLength"> - <summary> - 闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.SpecWidth"> - <summary> - 瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.SpecHeight"> - <summary> - 楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.LimitLength"> - <summary> - 闄愰暱 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.LimitWidth"> - <summary> - 闄愬 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.LimitHeight"> - <summary> - 闄愰珮 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.MaxWeight"> - <summary> - 杞介噸涓婇檺 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerId"> - <summary> - 鐖舵墭鐩業d - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.AssetNo"> - <summary> - 璧勪骇缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCategory"> - <summary> - 鎵樼洏鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.ErpNo"> - <summary> - Erp鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.IsVirtually"> - <summary> - 鏄惁铏氭嫙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerInput.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.AddWmsContainerInput.Quantity"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.UpdateWmsContainerInput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="T:Admin.NET.Application.WmsContainerOutput"> - <summary> - 鎵樼洏淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCode"> - <summary> - 缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerType"> - <summary> - 绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerStatus"> - <summary> - 鎵樼洏鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.SpecLength"> - <summary> - 闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.SpecWidth"> - <summary> - 瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.SpecHeight"> - <summary> - 楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.LimitLength"> - <summary> - 闄愰暱 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.LimitWidth"> - <summary> - 闄愬 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.LimitHeight"> - <summary> - 闄愰珮 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.MaxWeight"> - <summary> - 杞介噸涓婇檺 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerId"> - <summary> - 鐖舵墭鐩業d - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.AssetNo"> - <summary> - 璧勪骇缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCategory"> - <summary> - 鎵樼洏鍒嗙被 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.ErpNo"> - <summary> - Erp鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.IsVirtually"> - <summary> - 鏄惁铏氭嫙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.WorkShopType"> - <summary> - 鎵�灞炶溅闂� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsContainerOutput.IssueState"> - <summary> - 绛炬牳鐘舵�� - </summary> - </member> - <member name="T:Admin.NET.Application.IWmsContainerService"> - <summary> - - </summary> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.Add(Admin.NET.Application.AddWmsContainerInput)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.Delete(Admin.NET.Application.DeleteWmsContainerInput)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.Get(Admin.NET.Application.QueryeWmsContainerInput)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.List(Admin.NET.Application.WmsContainerInput)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.Page(Admin.NET.Application.WmsContainerSearch)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.Update(Admin.NET.Application.UpdateWmsContainerInput)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.ListNonPageAsync(Admin.NET.Application.WmsContainerSearchNonPage)"> - <summary> - - </summary> - <param name="input"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.FromExcelAsync(Microsoft.AspNetCore.Http.IFormFile,Admin.NET.Core.ImportExcelType)"> - <summary> - - </summary> - <param name="file"></param> - <param name="importExcelType"></param> - <returns></returns> - </member> - <member name="M:Admin.NET.Application.IWmsContainerService.DownloadExcelTemplate(System.String)"> - <summary> - - </summary> - <param name="version"></param> - <returns></returns> - </member> - <member name="T:Admin.NET.Application.WmsContainerMapper"> - <summary> - - </summary> - </member> - <member name="M:Admin.NET.Application.WmsContainerMapper.Register(Mapster.TypeAdapterConfig)"> - <summary> - - </summary> - <param name="config"></param> </member> <member name="T:Admin.NET.Application.WmsMerchantinfoDto"> <summary> @@ -2281,511 +1386,6 @@ </summary> <param name="input">PDA鑿滃崟鏌ヨ鍙傛暟</param> <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> - </member> - <member name="T:Admin.NET.Application.WmsPlaceDto"> - <summary> - 搴撲綅淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.WmsAreaAreaname"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Placecode"> - <summary> - 缂栫爜 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Placestatus"> - <summary> - 搴撲綅鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Areaid"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Rowno"> - <summary> - 鎺� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Columnno"> - <summary> - 鍒� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Layerno"> - <summary> - 灞� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Deepcellno"> - <summary> - 杩涙繁鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Aisle"> - <summary> - 宸烽亾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Line"> - <summary> - 绾垮彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Islock"> - <summary> - 鏄惁閿佸畾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.EmptyContainer"> - <summary> - 鏄惁绌烘墭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.PositionnoForSrm"> - <summary> - 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Xzb"> - <summary> - 搴撲綅X鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Yzb"> - <summary> - 搴撲綅Y鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Zzb"> - <summary> - 搴撲綅Z鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Length"> - <summary> - 搴撲綅闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Width"> - <summary> - 搴撲綅瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Height"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Maxweight"> - <summary> - 鏈�澶ф壙閲� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Heightlevel"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Priority"> - <summary> - 浼樺厛绾� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.LogicalName"> - <summary> - 閫昏緫鍖哄煙 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceDto.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="T:Admin.NET.Application.WmsPlaceSearch"> - <summary> - 搴撲綅淇℃伅鏌ヨ鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Placecode"> - <summary> - 缂栫爜 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Placestatus"> - <summary> - 搴撲綅鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Areaid"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Rowno"> - <summary> - 鎺� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Columnno"> - <summary> - 鍒� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Layerno"> - <summary> - 灞� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Deepcellno"> - <summary> - 杩涙繁鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Aisle"> - <summary> - 宸烽亾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Line"> - <summary> - 绾垮彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Islock"> - <summary> - 鏄惁閿佸畾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.EmptyContainer"> - <summary> - 鏄惁绌烘墭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.PositionnoForSrm"> - <summary> - 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Xzb"> - <summary> - 搴撲綅X鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Yzb"> - <summary> - 搴撲綅Y鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Zzb"> - <summary> - 搴撲綅Z鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Length"> - <summary> - 搴撲綅闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Width"> - <summary> - 搴撲綅瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Height"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Maxweight"> - <summary> - 鏈�澶ф壙閲� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Heightlevel"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceSearch.Priority"> - <summary> - 浼樺厛绾� - </summary> - </member> - <member name="T:Admin.NET.Application.WmsPlaceInput"> - <summary> - 搴撲綅淇℃伅杈撳叆鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Placecode"> - <summary> - 缂栫爜 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Placestatus"> - <summary> - 搴撲綅鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Areaid"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Rowno"> - <summary> - 鎺� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Columnno"> - <summary> - 鍒� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Layerno"> - <summary> - 灞� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Deepcellno"> - <summary> - 浣� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Aisle"> - <summary> - 宸烽亾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Line"> - <summary> - 绾垮彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Islock"> - <summary> - 鏄惁閿佸畾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.EmptyContainer"> - <summary> - 鏄惁绌烘墭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.PositionnoForSrm"> - <summary> - 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Xzb"> - <summary> - 搴撲綅X鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Yzb"> - <summary> - 搴撲綅Y鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Zzb"> - <summary> - 搴撲綅Z鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Length"> - <summary> - 搴撲綅闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Width"> - <summary> - 搴撲綅瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Height"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Maxweight"> - <summary> - 鏈�澶ф壙閲� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Heightlevel"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceInput.Priority"> - <summary> - 浼樺厛绾� - </summary> - </member> - <member name="T:Admin.NET.Application.AddWmsPlaceInput"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.AddWmsPlaceInput.Areaid"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="T:Admin.NET.Application.DeleteWmsPlaceInput"> - <summary> - - </summary> - </member> - <member name="T:Admin.NET.Application.UpdateWmsPlaceInput"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.UpdateWmsPlaceInput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="T:Admin.NET.Application.QueryeWmsPlaceInput"> - <summary> - - </summary> - </member> - <member name="T:Admin.NET.Application.MoreLockInput"> - <summary> - 鎵归噺閿佸畾鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.MoreLockInput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="T:Admin.NET.Application.WmsPlaceOutput"> - <summary> - 搴撲綅淇℃伅杈撳嚭鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Placecode"> - <summary> - 缂栫爜 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Placestatus"> - <summary> - 搴撲綅鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Areaid"> - <summary> - 鎵�鍦ㄥ簱鍖� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Rowno"> - <summary> - 鎺� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Columnno"> - <summary> - 鍒� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Layerno"> - <summary> - 灞� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Deepcellno"> - <summary> - 杩涙繁鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Aisle"> - <summary> - 宸烽亾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Line"> - <summary> - 绾垮彿 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Islock"> - <summary> - 鏄惁閿佸畾 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.EmptyContainer"> - <summary> - 鏄惁绌烘墭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.PositionnoForSrm"> - <summary> - 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Xzb"> - <summary> - 搴撲綅X鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Yzb"> - <summary> - 搴撲綅Y鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Zzb"> - <summary> - 搴撲綅Z鍧愭爣 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Length"> - <summary> - 搴撲綅闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Width"> - <summary> - 搴撲綅瀹藉害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Height"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Maxweight"> - <summary> - 鏈�澶ф壙閲� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Heightlevel"> - <summary> - 搴撲綅楂樺害 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Priority"> - <summary> - 浼樺厛绾� - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.WmsPlaceOutput.WmsArea"> - <summary> - 搴撳尯淇℃伅杈撳嚭鍙傛暟 - </summary> </member> <member name="T:Admin.NET.Application.WmsWarehouseEntranceDto"> <summary> @@ -15476,9 +14076,510 @@ 淇敼鑰呭悕绉� </summary> </member> + <member name="T:Admin.NET.Application.WmsAreaSearch"> + <summary> + 搴撳尯淇℃伅鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.AreaCode"> + <summary> + 搴撳尯缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseCode"> + <summary> + 浠撳簱缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseName"> + <summary> + 浠撳簱鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.AreaDesc"> + <summary> + 搴撳尯鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.AreaStatus"> + <summary> + 搴撳尯鐘舵�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.ErpCode"> + <summary> + ERP浠g爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseId"> + <summary> + 鎵�灞炰粨搴� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsBarcodeLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsFIFO"> + <summary> + 妫�楠屽厛杩涘厛鍑� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsPartLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsAllowConfusion"> + <summary> + 鍏佽娣锋穯 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsAllowNegativeInventory"> + <summary> + 鍏佽璐熷簱瀛� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearch.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsAreaSearchNonPage"> + <summary> + 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaCode"> + <summary> + 搴撳尯缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseCode"> + <summary> + 浠撳簱缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseName"> + <summary> + 浠撳簱鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaDesc"> + <summary> + 搴撳尯鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaStatus"> + <summary> + 搴撳尯鐘舵�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.ErpCode"> + <summary> + ERP浠g爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseId"> + <summary> + 鎵�灞炰粨搴� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsBarcodeLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsFIFO"> + <summary> + 妫�楠屽厛杩涘厛鍑� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsPartLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsAllowConfusion"> + <summary> + 鍏佽娣锋穯 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsAllowNegativeInventory"> + <summary> + 鍏佽璐熷簱瀛� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsAreaInput"> + <summary> + 搴撳尯淇℃伅杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.AreaCode"> + <summary> + 搴撳尯缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseCode"> + <summary> + 浠撳簱缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseName"> + <summary> + 浠撳簱鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.AreaDesc"> + <summary> + 搴撳尯鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.AreaStatus"> + <summary> + 搴撳尯鐘舵�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.ErpCode"> + <summary> + ERP浠g爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseId"> + <summary> + 鎵�灞炰粨搴� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsBarcodeLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsFIFO"> + <summary> + 妫�楠屽厛杩涘厛鍑� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsPartLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsAllowConfusion"> + <summary> + 鍏佽娣锋穯 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsAllowNegativeInventory"> + <summary> + 鍏佽璐熷簱瀛� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaInput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="T:Admin.NET.Application.AddWmsAreaInput"> + <summary> + 搴撳尯淇℃伅鏂板鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.DeleteWmsAreaInput"> + <summary> + 搴撳尯淇℃伅鍒犻櫎鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.UpdateWmsAreaInput"> + <summary> + 搴撳尯淇℃伅鏇存柊鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.UpdateWmsAreaInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:Admin.NET.Application.QueryeWmsAreaInput"> + <summary> + 搴撳尯淇℃伅鑾峰彇鍗曚釜鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.WmsAreaOutput"> + <summary> + 搴撳尯淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.AreaCode"> + <summary> + 搴撳尯缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseCode"> + <summary> + 浠撳簱缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseName"> + <summary> + 浠撳簱鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.AreaDesc"> + <summary> + 搴撳尯鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.AreaStatus"> + <summary> + 搴撳尯鐘舵�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.ErpCode"> + <summary> + ERP浠g爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseId"> + <summary> + 鎵�灞炰粨搴� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsBarcodeLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsFIFO"> + <summary> + 妫�楠屽厛杩涘厛鍑� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsPartLevelControl"> + <summary> + 闆朵欢绾х鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsAllowConfusion"> + <summary> + 鍏佽娣锋穯 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsAllowNegativeInventory"> + <summary> + 鍏佽璐熷簱瀛� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsAreaOutput.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsAreaService"> + <summary> + 搴撳尯淇℃伅鏈嶅姟 + </summary> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.Page(Admin.NET.Application.WmsAreaSearch)"> + <summary> + 鍒嗛〉鏌ヨ搴撳尯淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.ListNonPageAsync(Admin.NET.Application.WmsAreaSearchNonPage)"> + <summary> + 涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛� + </summary> + <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param> + <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.Get(Admin.NET.Application.QueryeWmsAreaInput)"> + <summary> + 鑾峰彇搴撳尯淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.List(Admin.NET.Application.WmsAreaInput)"> + <summary> + 鑾峰彇搴撳尯淇℃伅鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.Add(Admin.NET.Application.AddWmsAreaInput)"> + <summary> + 澧炲姞搴撳尯淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.Delete(Admin.NET.Application.DeleteWmsAreaInput)"> + <summary> + 鍒犻櫎搴撳尯淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.Update(Admin.NET.Application.UpdateWmsAreaInput)"> + <summary> + 鏇存柊搴撳尯淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> + <summary> + Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘 + </summary> + <param name="file">Excel妯℃澘鏂囦欢</param> + <returns>瀵煎叆鐨勮褰曟暟</returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.CommonImport(System.Data.DataTable,System.Int32)"> + <summary> + DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + </summary> + <param name="dataTable"></param> + <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.DownloadExcelTemplate(System.String)"> + <summary> + 鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘 + </summary> + <param name="version">妯℃澘鐗堟湰</param> + <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.CheckExisit(Admin.NET.Core.WmsArea,System.Boolean)"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + </summary> + <param name="input"></param> + <param name="isEdit"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsAreaService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsArea})"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + </summary> + <param name="inputs"></param> + <returns></returns> + </member> <member name="T:Admin.NET.Application.WmsContainerPackagingSearch"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁� + 瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.ContainerTypeId"> @@ -15533,7 +14634,7 @@ </member> <member name="T:Admin.NET.Application.WmsContainerPackagingSearchNonPage"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + 瀹瑰櫒鍏崇郴涓嶅垎椤垫煡璇㈠弬鏁� </summary> </member> <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.ContainerTypeId"> @@ -15588,7 +14689,7 @@ </member> <member name="T:Admin.NET.Application.WmsContainerPackagingInput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍏ュ弬鏁� + 瀹瑰櫒鍏崇郴杈撳叆鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsContainerPackagingInput.ContainerTypeId"> @@ -15623,17 +14724,17 @@ </member> <member name="T:Admin.NET.Application.AddWmsContainerPackagingInput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄦ柊澧炲弬鏁� + 瀹瑰櫒鍏崇郴鏂板鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.DeleteWmsContainerPackagingInput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄥ垹闄ゅ弬鏁� + 瀹瑰櫒鍏崇郴鍒犻櫎鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.UpdateWmsContainerPackagingInput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄦ洿鏂板弬鏁� + 瀹瑰櫒鍏崇郴鏇存柊鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.UpdateWmsContainerPackagingInput.Id"> @@ -15643,12 +14744,12 @@ </member> <member name="T:Admin.NET.Application.QueryeWmsContainerPackagingInput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄨ幏鍙栧崟涓弬鏁� + 瀹瑰櫒鍏崇郴鑾峰彇鍗曚釜鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.WmsContainerPackagingOutput"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍑哄弬鏁� + 瀹瑰櫒鍏崇郴杈撳嚭鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.ContainerTypeId"> @@ -15708,61 +14809,61 @@ </member> <member name="T:Admin.NET.Application.WmsContainerPackagingService"> <summary> - 瀹瑰櫒鍏崇郴鍩虹琛ㄦ湇鍔� + 瀹瑰櫒鍏崇郴鏈嶅姟 </summary> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.Page(Admin.NET.Application.WmsContainerPackagingSearch)"> <summary> - 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴鍩虹琛� + 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.ListNonPageAsync(Admin.NET.Application.WmsContainerPackagingSearchNonPage)"> <summary> - 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲熀纭�琛ㄥ垪琛� + 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲垪琛� </summary> - <param name="input">瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�</param> - <returns>(瀹瑰櫒鍏崇郴鍩虹琛�)瀹炰緥鍒楄〃</returns> + <param name="input">瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟</param> + <returns>(瀹瑰櫒鍏崇郴)瀹炰緥鍒楄〃</returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.Get(Admin.NET.Application.QueryeWmsContainerPackagingInput)"> <summary> - 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛� + 鑾峰彇瀹瑰櫒鍏崇郴 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.List(Admin.NET.Application.WmsContainerPackagingInput)"> <summary> - 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛ㄥ垪琛� + 鑾峰彇瀹瑰櫒鍏崇郴鍒楄〃 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.Add(Admin.NET.Application.AddWmsContainerPackagingInput)"> <summary> - 澧炲姞瀹瑰櫒鍏崇郴鍩虹琛� + 澧炲姞瀹瑰櫒鍏崇郴 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.Delete(Admin.NET.Application.DeleteWmsContainerPackagingInput)"> <summary> - 鍒犻櫎瀹瑰櫒鍏崇郴鍩虹琛� + 鍒犻櫎瀹瑰櫒鍏崇郴 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.Update(Admin.NET.Application.UpdateWmsContainerPackagingInput)"> <summary> - 鏇存柊瀹瑰櫒鍏崇郴鍩虹琛� + 鏇存柊瀹瑰櫒鍏崇郴 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> <summary> - Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍩虹琛ㄥ姛鑳� + Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍔熻兘 </summary> <param name="file">Excel妯℃澘鏂囦欢</param> <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -15777,7 +14878,7 @@ </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.DownloadExcelTemplate(System.String)"> <summary> - 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘 + 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘 </summary> <param name="version">妯℃澘鐗堟湰</param> <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -15791,6 +14892,848 @@ <returns></returns> </member> <member name="M:Admin.NET.Application.WmsContainerPackagingService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainerPackaging})"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + </summary> + <param name="inputs"></param> + <returns></returns> + </member> + <member name="T:Admin.NET.Application.WmsContainerTypeSearch"> + <summary> + 瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.TypeCode"> + <summary> + 绫诲瀷缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.TypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.IsAllowReclaim"> + <summary> + 鏄惁鍥炴敹 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.Unit"> + <summary> + 鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UsagePeriod"> + <summary> + 浣跨敤鏈熼檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerTypeSearchNonPage"> + <summary> + 瀹瑰櫒绫诲瀷涓嶅垎椤垫煡璇㈠弬鏁� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.TypeCode"> + <summary> + 绫诲瀷缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.TypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.IsAllowReclaim"> + <summary> + 鏄惁鍥炴敹 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.Unit"> + <summary> + 鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UsagePeriod"> + <summary> + 浣跨敤鏈熼檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerTypeInput"> + <summary> + 瀹瑰櫒绫诲瀷杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.TypeCode"> + <summary> + 绫诲瀷缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.TypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.IsAllowReclaim"> + <summary> + 鏄惁鍥炴敹 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.Unit"> + <summary> + 鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.UsagePeriod"> + <summary> + 浣跨敤鏈熼檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeInput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="T:Admin.NET.Application.AddWmsContainerTypeInput"> + <summary> + 瀹瑰櫒绫诲瀷鏂板鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.DeleteWmsContainerTypeInput"> + <summary> + 瀹瑰櫒绫诲瀷鍒犻櫎鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.UpdateWmsContainerTypeInput"> + <summary> + 瀹瑰櫒绫诲瀷鏇存柊鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.UpdateWmsContainerTypeInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:Admin.NET.Application.QueryeWmsContainerTypeInput"> + <summary> + 瀹瑰櫒绫诲瀷鑾峰彇鍗曚釜鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerTypeOutput"> + <summary> + 瀹瑰櫒绫诲瀷杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.TypeCode"> + <summary> + 绫诲瀷缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.TypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.IsAllowReclaim"> + <summary> + 鏄惁鍥炴敹 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.Unit"> + <summary> + 鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UsagePeriod"> + <summary> + 浣跨敤鏈熼檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerTypeService"> + <summary> + 瀹瑰櫒绫诲瀷鏈嶅姟 + </summary> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.Page(Admin.NET.Application.WmsContainerTypeSearch)"> + <summary> + 鍒嗛〉鏌ヨ瀹瑰櫒绫诲瀷 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.ListNonPageAsync(Admin.NET.Application.WmsContainerTypeSearchNonPage)"> + <summary> + 涓嶅垎椤垫煡璇㈠鍣ㄧ被鍨嬪垪琛� + </summary> + <param name="input">瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟</param> + <returns>(瀹瑰櫒绫诲瀷)瀹炰緥鍒楄〃</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.Get(Admin.NET.Application.QueryeWmsContainerTypeInput)"> + <summary> + 鑾峰彇瀹瑰櫒绫诲瀷 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.List(Admin.NET.Application.WmsContainerTypeInput)"> + <summary> + 鑾峰彇瀹瑰櫒绫诲瀷鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.Add(Admin.NET.Application.AddWmsContainerTypeInput)"> + <summary> + 澧炲姞瀹瑰櫒绫诲瀷 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.Delete(Admin.NET.Application.DeleteWmsContainerTypeInput)"> + <summary> + 鍒犻櫎瀹瑰櫒绫诲瀷 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.Update(Admin.NET.Application.UpdateWmsContainerTypeInput)"> + <summary> + 鏇存柊瀹瑰櫒绫诲瀷 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> + <summary> + Excel妯℃澘瀵煎叆瀹瑰櫒绫诲瀷鍔熻兘 + </summary> + <param name="file">Excel妯℃澘鏂囦欢</param> + <returns>瀵煎叆鐨勮褰曟暟</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.CommonImport(System.Data.DataTable,System.Int32)"> + <summary> + DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + </summary> + <param name="dataTable"></param> + <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.DownloadExcelTemplate(System.String)"> + <summary> + 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘 + </summary> + <param name="version">妯℃澘鐗堟湰</param> + <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.CheckExisit(Admin.NET.Core.WmsContainerType,System.Boolean)"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + </summary> + <param name="input"></param> + <param name="isEdit"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerTypeService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainerType})"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + </summary> + <param name="inputs"></param> + <returns></returns> + </member> + <member name="T:Admin.NET.Application.WmsContainerSearch"> + <summary> + 瀹瑰櫒淇℃伅鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerTypeId"> + <summary> + 绫诲瀷ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerTypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.PackagingId"> + <summary> + 瀹瑰櫒鍏崇郴ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.SpecLength"> + <summary> + 闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.SpecWidth"> + <summary> + 瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.SpecHeight"> + <summary> + 楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.LimitLength"> + <summary> + 闄愰暱 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.LimitWidth"> + <summary> + 闄愬 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.LimitHeight"> + <summary> + 闄愰珮 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.MaxWeight"> + <summary> + 杞介噸涓婇檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerName"> + <summary> + 鐖跺鍣ㄥ悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerId"> + <summary> + 鐖跺鍣↖d + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearch.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerSearchNonPage"> + <summary> + 瀹瑰櫒淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerTypeId"> + <summary> + 绫诲瀷ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerTypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.PackagingId"> + <summary> + 瀹瑰櫒鍏崇郴ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecLength"> + <summary> + 闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecWidth"> + <summary> + 瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecHeight"> + <summary> + 楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitLength"> + <summary> + 闄愰暱 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitWidth"> + <summary> + 闄愬 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitHeight"> + <summary> + 闄愰珮 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.MaxWeight"> + <summary> + 杞介噸涓婇檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerName"> + <summary> + 鐖跺鍣ㄥ悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerId"> + <summary> + 鐖跺鍣↖d + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerInput"> + <summary> + 瀹瑰櫒淇℃伅杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ContainerName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ContainerTypeId"> + <summary> + 绫诲瀷ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ContainerTypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.PackagingId"> + <summary> + 瀹瑰櫒鍏崇郴ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.SpecLength"> + <summary> + 闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.SpecWidth"> + <summary> + 瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.SpecHeight"> + <summary> + 楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.LimitLength"> + <summary> + 闄愰暱 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.LimitWidth"> + <summary> + 闄愬 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.LimitHeight"> + <summary> + 闄愰珮 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.MaxWeight"> + <summary> + 杞介噸涓婇檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerName"> + <summary> + 鐖跺鍣ㄥ悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerId"> + <summary> + 鐖跺鍣↖d + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerInput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="T:Admin.NET.Application.AddWmsContainerInput"> + <summary> + 瀹瑰櫒淇℃伅鏂板鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.DeleteWmsContainerInput"> + <summary> + 瀹瑰櫒淇℃伅鍒犻櫎鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.UpdateWmsContainerInput"> + <summary> + 瀹瑰櫒淇℃伅鏇存柊鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.UpdateWmsContainerInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:Admin.NET.Application.QueryeWmsContainerInput"> + <summary> + 瀹瑰櫒淇℃伅鑾峰彇鍗曚釜鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerOutput"> + <summary> + 瀹瑰櫒淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerTypeId"> + <summary> + 绫诲瀷ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerTypeName"> + <summary> + 绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.PackagingId"> + <summary> + 瀹瑰櫒鍏崇郴ID + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.SpecLength"> + <summary> + 闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.SpecWidth"> + <summary> + 瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.SpecHeight"> + <summary> + 楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.LimitLength"> + <summary> + 闄愰暱 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.LimitWidth"> + <summary> + 闄愬 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.LimitHeight"> + <summary> + 闄愰珮 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.MaxWeight"> + <summary> + 杞介噸涓婇檺 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerName"> + <summary> + 鐖跺鍣ㄥ悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerId"> + <summary> + 鐖跺鍣↖d + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsContainerOutput.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsContainerService"> + <summary> + 瀹瑰櫒淇℃伅鏈嶅姟 + </summary> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.Page(Admin.NET.Application.WmsContainerSearch)"> + <summary> + 鍒嗛〉鏌ヨ瀹瑰櫒淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.ListNonPageAsync(Admin.NET.Application.WmsContainerSearchNonPage)"> + <summary> + 涓嶅垎椤垫煡璇㈠鍣ㄤ俊鎭垪琛� + </summary> + <param name="input">瀹瑰櫒淇℃伅鏌ヨ鍙傛暟</param> + <returns>(瀹瑰櫒淇℃伅)瀹炰緥鍒楄〃</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.Get(Admin.NET.Application.QueryeWmsContainerInput)"> + <summary> + 鑾峰彇瀹瑰櫒淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.List(Admin.NET.Application.WmsContainerInput)"> + <summary> + 鑾峰彇瀹瑰櫒淇℃伅鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.Add(Admin.NET.Application.AddWmsContainerInput)"> + <summary> + 澧炲姞瀹瑰櫒淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.Delete(Admin.NET.Application.DeleteWmsContainerInput)"> + <summary> + 鍒犻櫎瀹瑰櫒淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.Update(Admin.NET.Application.UpdateWmsContainerInput)"> + <summary> + 鏇存柊瀹瑰櫒淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> + <summary> + Excel妯℃澘瀵煎叆瀹瑰櫒淇℃伅鍔熻兘 + </summary> + <param name="file">Excel妯℃澘鏂囦欢</param> + <returns>瀵煎叆鐨勮褰曟暟</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.CommonImport(System.Data.DataTable,System.Int32)"> + <summary> + DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + </summary> + <param name="dataTable"></param> + <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.DownloadExcelTemplate(System.String)"> + <summary> + 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘 + </summary> + <param name="version">妯℃澘鐗堟湰</param> + <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.CheckExisit(Admin.NET.Core.WmsContainer,System.Boolean)"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + </summary> + <param name="input"></param> + <param name="isEdit"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsContainerService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainer})"> <summary> 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� </summary> @@ -16461,7 +16404,7 @@ </member> <member name="T:Admin.NET.Application.WmsFactorySearch"> <summary> - 宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁� + 宸ュ巶淇℃伅鏌ヨ鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsFactorySearch.FactoryCode"> @@ -16506,7 +16449,7 @@ </member> <member name="T:Admin.NET.Application.WmsFactorySearchNonPage"> <summary> - 宸ュ巶淇℃伅琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + 宸ュ巶淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� </summary> </member> <member name="P:Admin.NET.Application.WmsFactorySearchNonPage.FactoryCode"> @@ -16551,7 +16494,7 @@ </member> <member name="T:Admin.NET.Application.WmsFactoryInput"> <summary> - 宸ュ巶淇℃伅琛ㄨ緭鍏ュ弬鏁� + 宸ュ巶淇℃伅杈撳叆鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsFactoryInput.FactoryCode"> @@ -16576,17 +16519,17 @@ </member> <member name="T:Admin.NET.Application.AddWmsFactoryInput"> <summary> - 宸ュ巶淇℃伅琛ㄦ柊澧炲弬鏁� + 宸ュ巶淇℃伅鏂板鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.DeleteWmsFactoryInput"> <summary> - 宸ュ巶淇℃伅琛ㄥ垹闄ゅ弬鏁� + 宸ュ巶淇℃伅鍒犻櫎鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.UpdateWmsFactoryInput"> <summary> - 宸ュ巶淇℃伅琛ㄦ洿鏂板弬鏁� + 宸ュ巶淇℃伅鏇存柊鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.UpdateWmsFactoryInput.Id"> @@ -16596,12 +16539,12 @@ </member> <member name="T:Admin.NET.Application.QueryeWmsFactoryInput"> <summary> - 宸ュ巶淇℃伅琛ㄨ幏鍙栧崟涓弬鏁� + 宸ュ巶淇℃伅鑾峰彇鍗曚釜鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.WmsFactoryOutput"> <summary> - 宸ュ巶淇℃伅琛ㄨ緭鍑哄弬鏁� + 宸ュ巶淇℃伅杈撳嚭鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsFactoryOutput.FactoryCode"> @@ -16651,61 +16594,61 @@ </member> <member name="T:Admin.NET.Application.WmsFactoryService"> <summary> - 宸ュ巶淇℃伅琛ㄦ湇鍔� + 宸ュ巶淇℃伅鏈嶅姟 </summary> </member> <member name="M:Admin.NET.Application.WmsFactoryService.Page(Admin.NET.Application.WmsFactorySearch)"> <summary> - 鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛� + 鍒嗛〉鏌ヨ宸ュ巶淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.ListNonPageAsync(Admin.NET.Application.WmsFactorySearchNonPage)"> <summary> - 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭〃鍒楄〃 + 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭垪琛� </summary> - <param name="input">宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�</param> - <returns>(宸ュ巶淇℃伅琛�)瀹炰緥鍒楄〃</returns> + <param name="input">宸ュ巶淇℃伅鏌ヨ鍙傛暟</param> + <returns>(宸ュ巶淇℃伅)瀹炰緥鍒楄〃</returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.Get(Admin.NET.Application.QueryeWmsFactoryInput)"> <summary> - 鑾峰彇宸ュ巶淇℃伅琛� + 鑾峰彇宸ュ巶淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.List(Admin.NET.Application.WmsFactoryInput)"> <summary> - 鑾峰彇宸ュ巶淇℃伅琛ㄥ垪琛� + 鑾峰彇宸ュ巶淇℃伅鍒楄〃 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.Add(Admin.NET.Application.AddWmsFactoryInput)"> <summary> - 澧炲姞宸ュ巶淇℃伅琛� + 澧炲姞宸ュ巶淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.Delete(Admin.NET.Application.DeleteWmsFactoryInput)"> <summary> - 鍒犻櫎宸ュ巶淇℃伅琛� + 鍒犻櫎宸ュ巶淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.Update(Admin.NET.Application.UpdateWmsFactoryInput)"> <summary> - 鏇存柊宸ュ巶淇℃伅琛� + 鏇存柊宸ュ巶淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsFactoryService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> <summary> - Excel妯℃澘瀵煎叆宸ュ巶淇℃伅琛ㄥ姛鑳� + Excel妯℃澘瀵煎叆宸ュ巶淇℃伅鍔熻兘 </summary> <param name="file">Excel妯℃澘鏂囦欢</param> <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -16720,7 +16663,7 @@ </member> <member name="M:Admin.NET.Application.WmsFactoryService.DownloadExcelTemplate(System.String)"> <summary> - 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘 + 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘 </summary> <param name="version">妯℃澘鐗堟湰</param> <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -18008,6 +17951,927 @@ <param name="inputs"></param> <returns></returns> </member> + <member name="T:Admin.NET.Application.WmsPlaceSearch"> + <summary> + 搴撲綅淇℃伅鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceCode"> + <summary> + 搴撲綅缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceName"> + <summary> + 搴撲綅鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceAlias"> + <summary> + 搴撲綅鍒悕 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceType"> + <summary> + 搴撲綅绫诲瀷 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceTypeName"> + <summary> + 搴撲綅绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.StockUnit"> + <summary> + 瀛樻斁鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceStatus"> + <summary> + 搴撲綅灞炴�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsSrmPlace"> + <summary> + 鏄惁鍫嗗灈鏈哄簱浣� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.SrmPlaceNo"> + <summary> + 鍫嗗灈鏈哄簱浣嶅彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsRgvPlace"> + <summary> + 鏄惁RGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.RgvPlaceNo"> + <summary> + RGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsAgvPlace"> + <summary> + 鏄惁AGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.AgvPlaceNo"> + <summary> + AGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsTransPlace"> + <summary> + 鏄惁杈撻�佺嚎搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.TransPlaceNo"> + <summary> + 杈撻�佺嚎搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsActivateWCS"> + <summary> + 鏄惁婵�娲讳笌浠诲姟璋冨害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Environment"> + <summary> + 搴撳瓨鐜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaCode"> + <summary> + 搴撳尯缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaId"> + <summary> + 鎵�鍦ㄥ簱鍖� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.VerificationCode"> + <summary> + 妫�楠岀爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.RowNo"> + <summary> + 鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.ColumnNo"> + <summary> + 鍒� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.LayerNo"> + <summary> + 灞� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.LaneNo"> + <summary> + 宸烽亾 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Xzb"> + <summary> + 搴撲綅X鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Yzb"> + <summary> + 搴撲綅Y鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Zzb"> + <summary> + 搴撲綅Z鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Length"> + <summary> + 搴撲綅闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Width"> + <summary> + 搴撲綅瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.Height"> + <summary> + 搴撲綅楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.MaxWeight"> + <summary> + 鏈�澶ф壙閲� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.InSequence"> + <summary> + 鍏ュ簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.OutSequence"> + <summary> + 鍑哄簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearch.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsPlaceSearchNonPage"> + <summary> + 搴撲綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceCode"> + <summary> + 搴撲綅缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceName"> + <summary> + 搴撲綅鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceAlias"> + <summary> + 搴撲綅鍒悕 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceType"> + <summary> + 搴撲綅绫诲瀷 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceTypeName"> + <summary> + 搴撲綅绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.StockUnit"> + <summary> + 瀛樻斁鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceStatus"> + <summary> + 搴撲綅灞炴�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsSrmPlace"> + <summary> + 鏄惁鍫嗗灈鏈哄簱浣� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.SrmPlaceNo"> + <summary> + 鍫嗗灈鏈哄簱浣嶅彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsRgvPlace"> + <summary> + 鏄惁RGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.RgvPlaceNo"> + <summary> + RGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsAgvPlace"> + <summary> + 鏄惁AGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AgvPlaceNo"> + <summary> + AGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsTransPlace"> + <summary> + 鏄惁杈撻�佺嚎搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.TransPlaceNo"> + <summary> + 杈撻�佺嚎搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsActivateWCS"> + <summary> + 鏄惁婵�娲讳笌浠诲姟璋冨害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Environment"> + <summary> + 搴撳瓨鐜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaCode"> + <summary> + 搴撳尯缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaId"> + <summary> + 鎵�鍦ㄥ簱鍖� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.VerificationCode"> + <summary> + 妫�楠岀爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.RowNo"> + <summary> + 鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.ColumnNo"> + <summary> + 鍒� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.LayerNo"> + <summary> + 灞� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.LaneNo"> + <summary> + 宸烽亾 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Xzb"> + <summary> + 搴撲綅X鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Yzb"> + <summary> + 搴撲綅Y鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Zzb"> + <summary> + 搴撲綅Z鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Length"> + <summary> + 搴撲綅闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Width"> + <summary> + 搴撲綅瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Height"> + <summary> + 搴撲綅楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.MaxWeight"> + <summary> + 鏈�澶ф壙閲� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.InSequence"> + <summary> + 鍏ュ簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.OutSequence"> + <summary> + 鍑哄簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsPlaceInput"> + <summary> + 搴撲綅淇℃伅杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceCode"> + <summary> + 搴撲綅缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceName"> + <summary> + 搴撲綅鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceAlias"> + <summary> + 搴撲綅鍒悕 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceType"> + <summary> + 搴撲綅绫诲瀷 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceTypeName"> + <summary> + 搴撲綅绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.StockUnit"> + <summary> + 瀛樻斁鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceStatus"> + <summary> + 搴撲綅灞炴�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsSrmPlace"> + <summary> + 鏄惁鍫嗗灈鏈哄簱浣� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.SrmPlaceNo"> + <summary> + 鍫嗗灈鏈哄簱浣嶅彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsRgvPlace"> + <summary> + 鏄惁RGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.RgvPlaceNo"> + <summary> + RGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsAgvPlace"> + <summary> + 鏄惁AGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.AgvPlaceNo"> + <summary> + AGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsTransPlace"> + <summary> + 鏄惁杈撻�佺嚎搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.TransPlaceNo"> + <summary> + 杈撻�佺嚎搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsActivateWCS"> + <summary> + 鏄惁婵�娲讳笌浠诲姟璋冨害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Environment"> + <summary> + 搴撳瓨鐜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.AreaCode"> + <summary> + 搴撳尯缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.AreaId"> + <summary> + 鎵�鍦ㄥ簱鍖� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.VerificationCode"> + <summary> + 妫�楠岀爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.RowNo"> + <summary> + 鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.ColumnNo"> + <summary> + 鍒� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.LayerNo"> + <summary> + 灞� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.LaneNo"> + <summary> + 宸烽亾 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Xzb"> + <summary> + 搴撲綅X鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Yzb"> + <summary> + 搴撲綅Y鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Zzb"> + <summary> + 搴撲綅Z鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Length"> + <summary> + 搴撲綅闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Width"> + <summary> + 搴撲綅瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.Height"> + <summary> + 搴撲綅楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.MaxWeight"> + <summary> + 鏈�澶ф壙閲� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.InSequence"> + <summary> + 鍏ュ簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.OutSequence"> + <summary> + 鍑哄簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceInput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="T:Admin.NET.Application.AddWmsPlaceInput"> + <summary> + 搴撲綅淇℃伅鏂板鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.DeleteWmsPlaceInput"> + <summary> + 搴撲綅淇℃伅鍒犻櫎鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.UpdateWmsPlaceInput"> + <summary> + 搴撲綅淇℃伅鏇存柊鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.UpdateWmsPlaceInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:Admin.NET.Application.QueryeWmsPlaceInput"> + <summary> + 搴撲綅淇℃伅鑾峰彇鍗曚釜鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.WmsPlaceOutput"> + <summary> + 搴撲綅淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceCode"> + <summary> + 搴撲綅缂栫爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceName"> + <summary> + 搴撲綅鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceAlias"> + <summary> + 搴撲綅鍒悕 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceType"> + <summary> + 搴撲綅绫诲瀷 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceTypeName"> + <summary> + 搴撲綅绫诲瀷鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.StockUnit"> + <summary> + 瀛樻斁鍗曚綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceStatus"> + <summary> + 搴撲綅灞炴�� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsSrmPlace"> + <summary> + 鏄惁鍫嗗灈鏈哄簱浣� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.SrmPlaceNo"> + <summary> + 鍫嗗灈鏈哄簱浣嶅彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsRgvPlace"> + <summary> + 鏄惁RGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.RgvPlaceNo"> + <summary> + RGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsAgvPlace"> + <summary> + 鏄惁AGV搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.AgvPlaceNo"> + <summary> + AGV搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsTransPlace"> + <summary> + 鏄惁杈撻�佺嚎搴撲綅 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.TransPlaceNo"> + <summary> + 杈撻�佺嚎搴撲綅鍙� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsActivateWCS"> + <summary> + 鏄惁婵�娲讳笌浠诲姟璋冨害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Environment"> + <summary> + 搴撳瓨鐜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaCode"> + <summary> + 搴撳尯缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaId"> + <summary> + 鎵�鍦ㄥ簱鍖� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaName"> + <summary> + 搴撳尯鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.VerificationCode"> + <summary> + 妫�楠岀爜 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.RowNo"> + <summary> + 鎺� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.ColumnNo"> + <summary> + 鍒� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.LayerNo"> + <summary> + 灞� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.LaneNo"> + <summary> + 宸烽亾 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Xzb"> + <summary> + 搴撲綅X鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Yzb"> + <summary> + 搴撲綅Y鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Zzb"> + <summary> + 搴撲綅Z鍧愭爣 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Length"> + <summary> + 搴撲綅闀垮害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Width"> + <summary> + 搴撲綅瀹藉害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Height"> + <summary> + 搴撲綅楂樺害 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.MaxWeight"> + <summary> + 鏈�澶ф壙閲� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.InSequence"> + <summary> + 鍏ュ簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.OutSequence"> + <summary> + 鍑哄簱椤哄簭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsVirtually"> + <summary> + 鏄惁铏氭嫙 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsPlaceOutput.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsPlaceService"> + <summary> + 搴撲綅淇℃伅鏈嶅姟 + </summary> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.Page(Admin.NET.Application.WmsPlaceSearch)"> + <summary> + 鍒嗛〉鏌ヨ搴撲綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.ListNonPageAsync(Admin.NET.Application.WmsPlaceSearchNonPage)"> + <summary> + 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭垪琛� + </summary> + <param name="input">搴撲綅淇℃伅鏌ヨ鍙傛暟</param> + <returns>(搴撲綅淇℃伅)瀹炰緥鍒楄〃</returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.Get(Admin.NET.Application.QueryeWmsPlaceInput)"> + <summary> + 鑾峰彇搴撲綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.List(Admin.NET.Application.WmsPlaceInput)"> + <summary> + 鑾峰彇搴撲綅淇℃伅鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.Add(Admin.NET.Application.AddWmsPlaceInput)"> + <summary> + 澧炲姞搴撲綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.Delete(Admin.NET.Application.DeleteWmsPlaceInput)"> + <summary> + 鍒犻櫎搴撲綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.Update(Admin.NET.Application.UpdateWmsPlaceInput)"> + <summary> + 鏇存柊搴撲綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> + <summary> + Excel妯℃澘瀵煎叆搴撲綅淇℃伅鍔熻兘 + </summary> + <param name="file">Excel妯℃澘鏂囦欢</param> + <returns>瀵煎叆鐨勮褰曟暟</returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.CommonImport(System.Data.DataTable,System.Int32)"> + <summary> + DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + </summary> + <param name="dataTable"></param> + <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.DownloadExcelTemplate(System.String)"> + <summary> + 鏍规嵁鐗堟湰涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + </summary> + <param name="version">妯℃澘鐗堟湰</param> + <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.CheckExisit(Admin.NET.Core.WmsPlace,System.Boolean)"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + </summary> + <param name="input"></param> + <param name="isEdit"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsPlaceService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsPlace})"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + </summary> + <param name="inputs"></param> + <returns></returns> + </member> <member name="T:Admin.NET.Application.WmsSubstituteGoodSearch"> <summary> 鏇夸唬鍝佺鐞嗘煡璇㈠弬鏁� @@ -18349,9 +19213,290 @@ <param name="inputs"></param> <returns></returns> </member> + <member name="T:Admin.NET.Application.WmsUnitSearch"> + <summary> + 鍗曚綅淇℃伅鏌ヨ鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.UnitCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.UnitName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.UnitDesc"> + <summary> + 鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearch.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsUnitSearchNonPage"> + <summary> + 鍗曚綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitDesc"> + <summary> + 鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsUnitInput"> + <summary> + 鍗曚綅淇℃伅杈撳叆鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitInput.UnitCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitInput.UnitName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitInput.UnitDesc"> + <summary> + 鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitInput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="T:Admin.NET.Application.AddWmsUnitInput"> + <summary> + 鍗曚綅淇℃伅鏂板鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.DeleteWmsUnitInput"> + <summary> + 鍗曚綅淇℃伅鍒犻櫎鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.UpdateWmsUnitInput"> + <summary> + 鍗曚綅淇℃伅鏇存柊鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.UpdateWmsUnitInput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="T:Admin.NET.Application.QueryeWmsUnitInput"> + <summary> + 鍗曚綅淇℃伅鑾峰彇鍗曚釜鍙傛暟 + </summary> + </member> + <member name="T:Admin.NET.Application.WmsUnitOutput"> + <summary> + 鍗曚綅淇℃伅杈撳嚭鍙傛暟 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.UnitCode"> + <summary> + 缂栧彿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.UnitName"> + <summary> + 鍚嶇О + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.UnitDesc"> + <summary> + 鎻忚堪 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.IsDisabled"> + <summary> + 鏄惁绂佺敤 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.Id"> + <summary> + Id涓婚敭 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.CreatedTime"> + <summary> + 鍒涘缓鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.UpdatedTime"> + <summary> + 鏇存柊鏃堕棿 + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.CreatedUserName"> + <summary> + 鍒涘缓鑰呭悕绉� + </summary> + </member> + <member name="P:Admin.NET.Application.WmsUnitOutput.UpdatedUserName"> + <summary> + 淇敼鑰呭悕绉� + </summary> + </member> + <member name="T:Admin.NET.Application.WmsUnitService"> + <summary> + 鍗曚綅淇℃伅鏈嶅姟 + </summary> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.Page(Admin.NET.Application.WmsUnitSearch)"> + <summary> + 鍒嗛〉鏌ヨ鍗曚綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.ListNonPageAsync(Admin.NET.Application.WmsUnitSearchNonPage)"> + <summary> + 涓嶅垎椤垫煡璇㈠崟浣嶄俊鎭垪琛� + </summary> + <param name="input">鍗曚綅淇℃伅鏌ヨ鍙傛暟</param> + <returns>(鍗曚綅淇℃伅)瀹炰緥鍒楄〃</returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.Get(Admin.NET.Application.QueryeWmsUnitInput)"> + <summary> + 鑾峰彇鍗曚綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.List(Admin.NET.Application.WmsUnitInput)"> + <summary> + 鑾峰彇鍗曚綅淇℃伅鍒楄〃 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.Add(Admin.NET.Application.AddWmsUnitInput)"> + <summary> + 澧炲姞鍗曚綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.Delete(Admin.NET.Application.DeleteWmsUnitInput)"> + <summary> + 鍒犻櫎鍗曚綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.Update(Admin.NET.Application.UpdateWmsUnitInput)"> + <summary> + 鏇存柊鍗曚綅淇℃伅 + </summary> + <param name="input"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> + <summary> + Excel妯℃澘瀵煎叆鍗曚綅淇℃伅鍔熻兘 + </summary> + <param name="file">Excel妯℃澘鏂囦欢</param> + <returns>瀵煎叆鐨勮褰曟暟</returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.CommonImport(System.Data.DataTable,System.Int32)"> + <summary> + DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + </summary> + <param name="dataTable"></param> + <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.DownloadExcelTemplate(System.String)"> + <summary> + 鏍规嵁鐗堟湰涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + </summary> + <param name="version">妯℃澘鐗堟湰</param> + <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.CheckExisit(Admin.NET.Core.WmsUnit,System.Boolean)"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + </summary> + <param name="input"></param> + <param name="isEdit"></param> + <returns></returns> + </member> + <member name="M:Admin.NET.Application.WmsUnitService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsUnit})"> + <summary> + 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + </summary> + <param name="inputs"></param> + <returns></returns> + </member> <member name="T:Admin.NET.Application.WmsWarehouseSearch"> <summary> - 浠撳簱琛ㄦ煡璇㈠弬鏁� + 浠撳簱淇℃伅鏌ヨ鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsWarehouseSearch.Code"> @@ -18431,7 +19576,7 @@ </member> <member name="T:Admin.NET.Application.WmsWarehouseSearchNonPage"> <summary> - 浠撳簱琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + 浠撳簱淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� </summary> </member> <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Code"> @@ -18511,7 +19656,7 @@ </member> <member name="T:Admin.NET.Application.WmsWarehouseInput"> <summary> - 浠撳簱琛ㄨ緭鍏ュ弬鏁� + 浠撳簱淇℃伅杈撳叆鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsWarehouseInput.Code"> @@ -18571,17 +19716,17 @@ </member> <member name="T:Admin.NET.Application.AddWmsWarehouseInput"> <summary> - 浠撳簱琛ㄦ柊澧炲弬鏁� + 浠撳簱淇℃伅鏂板鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.DeleteWmsWarehouseInput"> <summary> - 浠撳簱琛ㄥ垹闄ゅ弬鏁� + 浠撳簱淇℃伅鍒犻櫎鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.UpdateWmsWarehouseInput"> <summary> - 浠撳簱琛ㄦ洿鏂板弬鏁� + 浠撳簱淇℃伅鏇存柊鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.UpdateWmsWarehouseInput.Id"> @@ -18591,12 +19736,12 @@ </member> <member name="T:Admin.NET.Application.QueryeWmsWarehouseInput"> <summary> - 浠撳簱琛ㄨ幏鍙栧崟涓弬鏁� + 浠撳簱淇℃伅鑾峰彇鍗曚釜鍙傛暟 </summary> </member> <member name="T:Admin.NET.Application.WmsWarehouseOutput"> <summary> - 浠撳簱琛ㄨ緭鍑哄弬鏁� + 浠撳簱淇℃伅杈撳嚭鍙傛暟 </summary> </member> <member name="P:Admin.NET.Application.WmsWarehouseOutput.Code"> @@ -18681,61 +19826,61 @@ </member> <member name="T:Admin.NET.Application.WmsWarehouseService"> <summary> - 浠撳簱琛ㄦ湇鍔� + 浠撳簱淇℃伅鏈嶅姟 </summary> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.Page(Admin.NET.Application.WmsWarehouseSearch)"> <summary> - 鍒嗛〉鏌ヨ浠撳簱琛� + 鍒嗛〉鏌ヨ浠撳簱淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.ListNonPageAsync(Admin.NET.Application.WmsWarehouseSearchNonPage)"> <summary> - 涓嶅垎椤垫煡璇粨搴撹〃鍒楄〃 + 涓嶅垎椤垫煡璇粨搴撲俊鎭垪琛� </summary> - <param name="input">浠撳簱琛ㄦ煡璇㈠弬鏁�</param> - <returns>(浠撳簱琛�)瀹炰緥鍒楄〃</returns> + <param name="input">浠撳簱淇℃伅鏌ヨ鍙傛暟</param> + <returns>(浠撳簱淇℃伅)瀹炰緥鍒楄〃</returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.Get(Admin.NET.Application.QueryeWmsWarehouseInput)"> <summary> - 鑾峰彇浠撳簱琛� + 鑾峰彇浠撳簱淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.List(Admin.NET.Application.WmsWarehouseInput)"> <summary> - 鑾峰彇浠撳簱琛ㄥ垪琛� + 鑾峰彇浠撳簱淇℃伅鍒楄〃 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.Add(Admin.NET.Application.AddWmsWarehouseInput)"> <summary> - 澧炲姞浠撳簱琛� + 澧炲姞浠撳簱淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.Delete(Admin.NET.Application.DeleteWmsWarehouseInput)"> <summary> - 鍒犻櫎浠撳簱琛� + 鍒犻櫎浠撳簱淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.Update(Admin.NET.Application.UpdateWmsWarehouseInput)"> <summary> - 鏇存柊浠撳簱琛� + 鏇存柊浠撳簱淇℃伅 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.WmsWarehouseService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)"> <summary> - Excel妯℃澘瀵煎叆浠撳簱琛ㄥ姛鑳� + Excel妯℃澘瀵煎叆浠撳簱淇℃伅鍔熻兘 </summary> <param name="file">Excel妯℃澘鏂囦欢</param> <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -18750,7 +19895,7 @@ </member> <member name="M:Admin.NET.Application.WmsWarehouseService.DownloadExcelTemplate(System.String)"> <summary> - 鏍规嵁鐗堟湰涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘 + 鏍规嵁鐗堟湰涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘 </summary> <param name="version">妯℃澘鐗堟湰</param> <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -26049,196 +27194,6 @@ 鍗曟嵁缂栧彿 </summary> </member> - <member name="T:Admin.NET.Application.GetSortInfoOutput"> - <summary> - 鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.GetSortInfoOutput.WmsContainer"> - <summary> - 瀹瑰櫒 - </summary> - </member> - <member name="P:Admin.NET.Application.GetSortInfoOutput.WmsSortOrderList"> - <summary> - 鍒嗘嫞淇℃伅 - </summary> - </member> - <member name="T:Admin.NET.Application.SortPdaPageOutput"> - <summary> - 鍒嗛〉鑾峰彇鍒嗘嫞鍗� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderLargeCategory"> - <summary> - 鍗曟嵁澶х被 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderSubclass"> - <summary> - 鍗曟嵁灏忕被 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.MoveType"> - <summary> - 浜嬪姟绫诲瀷 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.SOID"> - <summary> - 涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.NO"> - <summary> - 鍗曟嵁缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.Billdate"> - <summary> - 棰嗘枡鍗曠敵璇锋棩鏈� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.WBSElementcode"> - <summary> - 棰嗙敤椤圭洰鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.BenefitingDepartcode"> - <summary> - 棰嗘枡閮ㄩ棬 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.CostCenterID"> - <summary> - 鍙楃泭閮ㄩ棬 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.FI_Client_Analysis_H"> - <summary> - 瀹㈡埛 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.IsInnerCompany"> - <summary> - 鏄惁鍏徃闂翠氦鏄� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.PickerID"> - <summary> - 棰嗘枡浜� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.WarehouseCentername"> - <summary> - 浠撳偍涓績 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.Companyname"> - <summary> - 鍏徃 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.ConstructionTeamID"> - <summary> - 鏂藉伐闃� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderStatus"> - <summary> - 鍗曟嵁鐘舵�� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaPageOutput.CreatedTime"> - <summary> - 鏃堕棿 - </summary> - </member> - <member name="T:Admin.NET.Application.SortPdaDetailPageOutput"> - <summary> - 鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.OrderNo"> - <summary> - 鏉ユ簮鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Materialcode"> - <summary> - 鐗╂枡缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Materialname"> - <summary> - 鐗╂枡鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.OrderDetailID"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ContainerOrderNo"> - <summary> - 鍒嗘嫞缁勭洏鍗曞彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ProjectCode"> - <summary> - 椤圭洰缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.TACode"> - <summary> - TA鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.PartCode"> - <summary> - 鍒嗘鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.PlaceCode"> - <summary> - 搴撲綅缂栫爜 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ContainerCode"> - <summary> - 瀹瑰櫒缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.SortQuantity"> - <summary> - 鍒嗘嫞鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ActualQuantity"> - <summary> - 瀹為檯鍒嗘嫞鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Remarks"> - <summary> - 澶囨敞 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.SortStatus"> - <summary> - 鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2 - </summary> - </member> - <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Id"> - <summary> - Id涓婚敭 - </summary> - </member> <member name="T:Admin.NET.Application.AutomaticWarehouseService"> <summary> Pda鍗婅嚜鍔ㄥ叆搴� @@ -26585,146 +27540,6 @@ 鍗曟嵁缂栧彿 </summary> </member> - <member name="T:Admin.NET.Application.GetContainerOutput"> - <summary> - 鑾峰彇鎵樼洏鍏ュ弬 - </summary> - </member> - <member name="P:Admin.NET.Application.GetContainerOutput.ContainerCode"> - <summary> - 鎵樼洏鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.GetContainerOutput.WmsContainer"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.GetContainerOutput.WmsMaterials"> - <summary> - 鐗╂枡淇℃伅 - </summary> - </member> - <member name="T:Admin.NET.Application.GroupDiskOutput"> - <summary> - 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.GroupDiskOutput.Containercode"> - <summary> - 鎵樼洏 - </summary> - </member> - <member name="P:Admin.NET.Application.GroupDiskOutput.OrderNo"> - <summary> - 缁勭洏鍗曟嵁 - </summary> - </member> - <member name="T:Admin.NET.Application.PadGetMaterialOutput"> - <summary> - 鐗╂枡杩斿洖鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Id"> - <summary> - Id - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.OrderId"> - <summary> - 鍗曟嵁Id - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Materialname"> - <summary> - 鐗╂枡鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Materialcode"> - <summary> - 鐗╂枡缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Unit"> - <summary> - 鍩烘湰鍗曚綅 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Qty"> - <summary> - 鏁伴噺 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.SingleLength"> - <summary> - 鍗曟牴闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.TheoreticalWeight"> - <summary> - 鐞嗚閲嶉噺 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.Price"> - <summary> - 涓嶅惈绋庡崟浠� - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.SumPrice"> - <summary> - 鎴愭湰閲戦 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.ProjectCode"> - <summary> - 椤圭洰缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.ContractCode"> - <summary> - 鍚堝悓缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.TACode"> - <summary> - TA鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.TradeName"> - <summary> - 鎶ュ叧鍝佸悕 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.ItemNo"> - <summary> - 鎶ュ叧椤瑰彿 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsUnitName"> - <summary> - 鎶ュ叧鍗曚綅 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsNum"> - <summary> - 鎶ュ叧鏁伴噺 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsPrices"> - <summary> - 鎶ュ叧閲戦 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.SpecialNeeds"> - <summary> - 鐗规畩瑕佹眰 - </summary> - </member> - <member name="P:Admin.NET.Application.PadGetMaterialOutput.OrderStatus"> - <summary> - 鍗曟嵁鐘舵�� - </summary> - </member> <member name="T:Admin.NET.Application.GetOrderDetailInput"> <summary> 鍗曟嵁鍙峰弬鏁� @@ -26960,111 +27775,6 @@ <member name="P:Admin.NET.Application.StockReturnPadGetMaterialInput.NO"> <summary> 鍗曟嵁缂栧彿 - </summary> - </member> - <member name="T:Admin.NET.Application.StockReturnGetContainerOutput"> - <summary> - 鑾峰彇鎵樼洏鍏ュ弬 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.ContainerCode"> - <summary> - 鎵樼洏鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.WmsContainer"> - <summary> - - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.WmsMaterials"> - <summary> - 鐗╂枡淇℃伅 - </summary> - </member> - <member name="T:Admin.NET.Application.StockReturnGroupDiskOutput"> - <summary> - 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnGroupDiskOutput.Containercode"> - <summary> - 鎵樼洏 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnGroupDiskOutput.OrderNo"> - <summary> - 缁勭洏鍗曟嵁 - </summary> - </member> - <member name="T:Admin.NET.Application.StockReturnPadGetMaterialOutput"> - <summary> - 鐗╂枡杩斿洖鍙傛暟 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.OrderId"> - <summary> - 鍗曟嵁Id - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.OID"> - <summary> - 涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Materialcode"> - <summary> - 鐗╂枡缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Materialname"> - <summary> - 鐗╂枡鍚嶇О - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Unit"> - <summary> - 鍩烘湰鍗曚綅 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Qty"> - <summary> - 鏁伴噺 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Length"> - <summary> - 鍗曟牴闀垮害 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Number"> - <summary> - 浠舵暟 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Batchno_SCM"> - <summary> - SCM鎵规鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Batchno_WMS"> - <summary> - WMS鎵规鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.ProjectCode"> - <summary> - 椤圭洰缂栧彿 - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.TACode"> - <summary> - TA鍙� - </summary> - </member> - <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.PartCode"> - <summary> - 鍒嗘鍙� </summary> </member> <member name="T:Admin.NET.Application.GetWareHouseInReportFormsInput"> diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs index 5393a8a..8362310 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs @@ -1,124 +1,124 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Admin.NET.Core; +锘�//using System; +//using System.Collections.Generic; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; +//using Admin.NET.Core; -namespace Admin.NET.Application -{ - /// <summary> - /// 缁勭洏鐗╂枡淇℃伅 - /// </summary> - public class BindEntranceOutput - { +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 缁勭洏鐗╂枡淇℃伅 +// /// </summary> +// public class BindEntranceOutput +// { - /// <summary> - /// 鍛ㄨ浆绠卞彿 - /// </summary> - public string ContainerCode { get; set; } +// /// <summary> +// /// 鍛ㄨ浆绠卞彿 +// /// </summary> +// public string ContainerCode { get; set; } - /// <summary> - /// 鏂欑鍙蜂俊鎭� - /// </summary> - public WmsContainerDto WmsContainer { get; set; } - /// <summary> - /// 搴撲綅缂栧彿 - /// </summary> - public string PlaceCode { get; set; } +// /// <summary> +// /// 鏂欑鍙蜂俊鎭� +// /// </summary> +// public WmsContainerDto WmsContainer { get; set; } +// /// <summary> +// /// 搴撲綅缂栧彿 +// /// </summary> +// public string PlaceCode { get; set; } - /// <summary> - /// 鐗╂枡鏄庣粏淇℃伅 - /// </summary> - public List<GetMaterialContainerOutput> WmsMaterials { get; set; } - } +// /// <summary> +// /// 鐗╂枡鏄庣粏淇℃伅 +// /// </summary> +// public List<GetMaterialContainerOutput> WmsMaterials { get; set; } +// } - /// <summary> - /// 鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class GetMaterialContainerOutput - { - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } +// /// <summary> +// /// 鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟 +// /// </summary> +// public class GetMaterialContainerOutput +// { +// /// <summary> +// /// 鐗╂枡鍚嶇О +// /// </summary> +// public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡缂栧彿 - /// </summary> - public string MaterialNo { get; set; } +// /// <summary> +// /// 鐗╂枡缂栧彿 +// /// </summary> +// public string MaterialNo { get; set; } - /// <summary> - /// 鐗╂枡鎵规 - /// </summary> - public string MaterialBatch { get; set; } +// /// <summary> +// /// 鐗╂枡鎵规 +// /// </summary> +// public string MaterialBatch { get; set; } - /// <summary> - /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 - /// </summary> - public MaterialType MaterialType { get; set; } +// /// <summary> +// /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 +// /// </summary> +// public MaterialType MaterialType { get; set; } - /// <summary> - /// 鐗╂枡妫�楠� - /// </summary> - public MaterialInspection InspectionMethod { get; set; } +// /// <summary> +// /// 鐗╂枡妫�楠� +// /// </summary> +// public MaterialInspection InspectionMethod { get; set; } - /// <summary> - /// 鐗╂枡瑙勬牸 - /// </summary> - public string MaterialSpec { get; set; } - } +// /// <summary> +// /// 鐗╂枡瑙勬牸 +// /// </summary> +// public string MaterialSpec { get; set; } +// } - public class MaterialOutput - { - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string MaterialName { get; set; } +// public class MaterialOutput +// { +// /// <summary> +// /// 鐗╂枡鍚嶇О +// /// </summary> +// public string MaterialName { get; set; } - /// <summary> - /// 鐗╂枡缂栧彿 - /// </summary> - public string MaterialNo { get; set; } +// /// <summary> +// /// 鐗╂枡缂栧彿 +// /// </summary> +// public string MaterialNo { get; set; } - /// <summary> - /// 鐗╂枡ID - /// </summary> - public long MaterialId { get; set; } - /// <summary> - /// 鐗╂枡鎵规 - /// </summary> - public string MaterialBatch { get; set; } +// /// <summary> +// /// 鐗╂枡ID +// /// </summary> +// public long MaterialId { get; set; } +// /// <summary> +// /// 鐗╂枡鎵规 +// /// </summary> +// public string MaterialBatch { get; set; } - /// <summary> - /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 - /// </summary> - public MaterialType MaterialType { get; set; } +// /// <summary> +// /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀 +// /// </summary> +// public MaterialType MaterialType { get; set; } - /// <summary> - /// 鐗╂枡妫�楠� - /// </summary> - public MaterialInspection InspectionMethod { get; set; } +// /// <summary> +// /// 鐗╂枡妫�楠� +// /// </summary> +// public MaterialInspection InspectionMethod { get; set; } - /// <summary> - /// 鐗╂枡瑙勬牸 - /// </summary> - public string MaterialSpec { get; set; } +// /// <summary> +// /// 鐗╂枡瑙勬牸 +// /// </summary> +// public string MaterialSpec { get; set; } - /// <summary> - /// 鐗╂枡瀵嗗害 - /// </summary> - public string MaterialDensity { get; set; } +// /// <summary> +// /// 鐗╂枡瀵嗗害 +// /// </summary> +// public string MaterialDensity { get; set; } - /// <summary> - /// 鐗╂枡鍗曚綅 - /// </summary> - public string MaterialUnit { get; set; } +// /// <summary> +// /// 鐗╂枡鍗曚綅 +// /// </summary> +// public string MaterialUnit { get; set; } - /// <summary> - /// 宸ユ - /// </summary> - public LesWorkshopSection LesWorkshopSection { get; set; } - } -} +// /// <summary> +// /// 宸ユ +// /// </summary> +// public LesWorkshopSection LesWorkshopSection { get; set; } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs deleted file mode 100644 index 434e4c8..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs +++ /dev/null @@ -1,50 +0,0 @@ -锘縰sing Admin.NET.Core; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撳尯淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsAreaDto - { - /// <summary> - /// 鍚嶇О - /// </summary> - public string AreaName { get; set; } - - /// <summary> - /// 鎻忚堪 - /// </summary> - public string AreaDesc { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public CommonStatus AreaStatus { get; set; } - - /// <summary> - /// 鍒嗙被 - /// </summary> - public AreaType AreaType { get; set; } - - /// <summary> - /// 鏄惁涓洪挗骞冲彴 - /// </summary> - public bool IsSteel { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public IssueState IssueState { get; set; } - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs deleted file mode 100644 index 32d5fa7..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs +++ /dev/null @@ -1,163 +0,0 @@ -锘縰sing System.ComponentModel.DataAnnotations; -using Admin.NET.Core; -using Admin.NET.Core.Service; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撳尯淇℃伅鏌ヨ鍙傛暟 - /// </summary> - public class WmsAreaSearch : PageInputBase - { - /// <summary> - /// 鍚嶇О - /// </summary> - public virtual string AreaName { get; set; } - - /// <summary> - /// 鎻忚堪 - /// </summary> - public virtual string AreaDesc { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public virtual CommonStatus? AreaStatus { get; set; } - - /// <summary> - /// 鍒嗙被 - /// </summary> - public virtual AreaType? AreaType { get; set; } - - /// <summary> - /// 鏄惁涓洪挗骞冲彴 - /// </summary> - public virtual bool? IsSteel { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual LesWorkShopType? WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual IssueState? IssueState { get; set; } - } - - /// <summary> - /// 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� - /// </summary> - public class WmsAreaSearchNonPage : PageInputNonPageBase - { - /// <summary> - /// 鍚嶇О - /// </summary> - public virtual string AreaName { get; set; } - - /// <summary> - /// 鎻忚堪 - /// </summary> - public virtual string AreaDesc { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public virtual CommonStatus? AreaStatus { get; set; } - - /// <summary> - /// 鍒嗙被 - /// </summary> - public virtual AreaType? AreaType { get; set; } - - /// <summary> - /// 鏄惁涓洪挗骞冲彴 - /// </summary> - public virtual bool? IsSteel { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual LesWorkShopType? WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual IssueState? IssueState { get; set; } - } - - /// <summary> - /// 搴撳尯淇℃伅杈撳叆鍙傛暟 - /// </summary> - public class WmsAreaInput - { - /// <summary> - /// 鍚嶇О - /// </summary> - public virtual string AreaName { get; set; } - - /// <summary> - /// 鎻忚堪 - /// </summary> - public virtual string AreaDesc { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public virtual CommonStatus AreaStatus { get; set; } - - /// <summary> - /// 鍒嗙被 - /// </summary> - public virtual AreaType AreaType { get; set; } - - /// <summary> - /// 鏄惁涓洪挗骞冲彴 - /// </summary> - public virtual bool IsSteel { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual IssueState IssueState { get; set; } - } - - /// <summary> - /// - /// </summary> - public class AddWmsAreaInput : WmsAreaInput - { - } - - /// <summary> - /// - /// </summary> - public class DeleteWmsAreaInput : BaseId - { - } - - /// <summary> - /// - /// </summary> - public class UpdateWmsAreaInput : WmsAreaInput - { - /// <summary> - /// Id涓婚敭 - /// </summary> - [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] - public long Id { get; set; } - } - - /// <summary> - /// - /// </summary> - public class QueryeWmsAreaInput : BaseId - { - - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs deleted file mode 100644 index d2aaacc..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs +++ /dev/null @@ -1,50 +0,0 @@ -锘縰sing Admin.NET.Core; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撳尯淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsAreaOutput - { - /// <summary> - /// 鍚嶇О - /// </summary> - public string AreaName { get; set; } - - /// <summary> - /// 鎻忚堪 - /// </summary> - public string AreaDesc { get; set; } - - /// <summary> - /// 鐘舵�� - /// </summary> - public CommonStatus AreaStatus { get; set; } - - /// <summary> - /// 鍒嗙被 - /// </summary> - public AreaType AreaType { get; set; } - - /// <summary> - /// 鏄惁涓洪挗骞冲彴 - /// </summary> - public bool IsSteel { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public IssueState IssueState { get; set; } - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs deleted file mode 100644 index 682c6a0..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs +++ /dev/null @@ -1,313 +0,0 @@ -锘�//using Furion.DatabaseAccessor; -//using Furion.DependencyInjection; -//using Furion.DynamicApiController; -//using Furion.FriendlyException; -//using Mapster; -//using Microsoft.AspNetCore.Http; -//using Microsoft.AspNetCore.Mvc; -//using Microsoft.EntityFrameworkCore; -//using System.Linq.Dynamic.Core; -//using System.Text; -//using System.Web; -//using Admin.NET.Core; - -//namespace Admin.NET.Application -//{ -// /// <summary> -// /// 搴撳尯淇℃伅鏈嶅姟 -// /// </summary> -// [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsArea", Order = 100)] -// [Route("api/[Controller]")] -// public class WmsAreaService : IDynamicApiController, ITransient -// { -// private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; -// private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; -// private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; -// private readonly ISysExcelTemplateService _sysExcelTemplateService; -// private readonly static object _lock = new(); - -// /// <summary> -// /// 鏋勯�犲嚱鏁� -// /// </summary> -// /// <param name="wmsAreaRep"></param> -// /// <param name="sysDictTypeRep"></param> -// /// <param name="sysDictDataRep"></param> -// /// <param name="sysExcelTemplateService"></param> -// public WmsAreaService( -// IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, -// IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep, -// IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep, -// ISysExcelTemplateService sysExcelTemplateService -// ) -// { -// _wmsAreaRep = wmsAreaRep; -// _sysDictTypeRep = sysDictTypeRep; -// _sysDictDataRep = sysDictDataRep; -// _sysExcelTemplateService = sysExcelTemplateService; -// } - -// /// <summary> -// /// 鍒嗛〉鏌ヨ搴撳尯淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("page")] -// public async Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input) -// { -// var wmsAreas = await _wmsAreaRep.DetachedEntities -// .Where(!string.IsNullOrEmpty(input.AreaName), u => EF.Functions.Like(u.AreaName, $"%{input.AreaName.Trim()}%")) -// .Where(input.AreaStatus != null, u => u.AreaStatus == input.AreaStatus) -// .Where(input.AreaType != null, u => u.AreaType == input.AreaType) -// .Where(input.IsSteel != null, u => u.IsSteel == input.IsSteel) -// .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType) - -// .OrderBy(PageInputOrder.OrderBuilder<WmsAreaSearch>(input)) -// .ProjectToType<WmsAreaOutput>() -// .ToADPagedListAsync(input.PageNo, input.PageSize); -// return wmsAreas; -// } - -// /// <summary> -// /// 涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛� -// /// </summary> -// /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param> -// /// <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns> -// [HttpGet("listNonPage")] -// public async Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input) -// { -// var pAreaName = input.AreaName?.Trim() ?? ""; -// var pAreaStatus = input.AreaStatus; -// var pAreaType = input.AreaType; -// var pIsSteel = input.IsSteel; -// var pWorkShopType = input.WorkShopType; -// var pIssueState = input.IssueState; -// var wmsAreas = await _wmsAreaRep.DetachedEntities -// .Where(!string.IsNullOrEmpty(pAreaName), u => EF.Functions.Like(u.AreaName, $"%{pAreaName}%")) -// .Where(pAreaStatus != null, u => u.AreaStatus == pAreaStatus) -// .Where(pAreaType != null, u => u.AreaType == pAreaType) -// .Where(pIsSteel != null, u => u.IsSteel == pIsSteel) -// .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType) - -// .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) -// .ProjectToType<WmsAreaOutput>() -// .ToListAsync(); -// return wmsAreas; -// } - -// /// <summary> -// /// 澧炲姞搴撳尯淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("add")] -// public async Task Add(AddWmsAreaInput input) -// { -// var wmsArea = input.Adapt<WmsArea>(); -// await _wmsAreaRep.InsertAsync(wmsArea); -// } - -// /// <summary> -// /// 鍒犻櫎搴撳尯淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("delete")] -// public async Task Delete(DeleteWmsAreaInput input) -// { -// var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Id); -// await _wmsAreaRep.DeleteAsync(wmsArea); -// } - -// /// <summary> -// /// 鏇存柊搴撳尯淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("edit")] -// public async Task Update(UpdateWmsAreaInput input) -// { -// var isExist = await _wmsAreaRep.AnyAsync(u => u.Id == input.Id, false); -// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - -// var wmsArea = input.Adapt<WmsArea>(); -// await _wmsAreaRep.UpdateAsync(wmsArea, ignoreNullValues: true); -// } - -// /// <summary> -// /// 鑾峰彇搴撳尯淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("detail")] -// public async Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input) -// { -// return (await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsAreaOutput>(); -// } - -// /// <summary> -// /// 鑾峰彇搴撳尯淇℃伅鍒楄〃 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("list")] -// public async Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input) -// { -// return await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync(); -// } - -// /// <summary> -// /// 缁勮杞﹂棿鑾峰彇搴撳尯 -// /// </summary> -// /// <returns></returns> -// [HttpGet("TaskWmsArea")] -// public async Task<dynamic> TaskWmsArea() -// { -// var list = await _wmsAreaRep.DetachedEntities.Where(x => x.WorkShopType == LesWorkShopType.JIAOHEBANCHEJIAN).ToListAsync(); -// return list.Select(e => new { Code = e.Id, AreaName = e.AreaName }); -// } - -// /// <summary> -// /// 鑾峰彇浠撳簱涓嬫媺妗� -// /// </summary> -// /// <returns></returns> -// [HttpGet("GetAreaEntranceList")] -// public async Task<List<AreaEntranceListOutput>> GetAreaEntranceList() -// { -// var data = await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync(); -// List<AreaEntranceListOutput> areaEntranceListOutputLists = new List<AreaEntranceListOutput>(); -// foreach (var item in data) -// { -// AreaEntranceListOutput areaEntranceListOutputList = new AreaEntranceListOutput(); -// areaEntranceListOutputList.AreaId = item.Id; -// areaEntranceListOutputList.AreaName = item.AreaName; -// areaEntranceListOutputLists.Add(areaEntranceListOutputList); -// } -// return areaEntranceListOutputLists; -// } - -// ///// <summary> -// ///// 鍑哄簱鍙d笅鎷夋 -// ///// </summary> -// ///// <param name="input"></param> -// ///// <returns></returns> -// //[HttpGet("GetEntranceOutList")] -// //public async Task<List<EntranceListOutput>> GetEntranceOutList([FromQuery] EntranceOutInput input) -// //{ -// // var data = await _lesEntranceRep.DetachedEntities.Where(u => u.AreaId == input.Id && u.EntranceType == Core.LesEntranceType.CHUKU).ProjectToType<LesStationOutput>().ToListAsync(); -// // List<EntranceListOutput> entranceLists = new List<EntranceListOutput>(); -// // foreach (var item in data) -// // { -// // EntranceListOutput entranceList = new EntranceListOutput(); -// // entranceList.EntranceId = item.Id; -// // entranceList.EntranceName = item.Name; -// // entranceLists.Add(entranceList); -// // } -// // return entranceLists; -// //} - -// /// <summary> -// /// Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘 -// /// </summary> -// /// <param name="file">Excel妯℃澘鏂囦欢</param> -// /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> -// /// <returns>瀵煎叆鐨勮褰曟暟</returns> -// [HttpPost("fromExcel")] -// public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) -// { -// int size = 200; -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", "v2"); -// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); -// var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); -// for (var i = 0; i < keys.Length; i++) -// { -// keys[i] = keys[i]?.Trim() ?? string.Empty; -// } -// ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object>> data, out string sheetName); -// List<WmsAreaOutput> wmsAreaList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsAreaOutput> dict); -// List<Dictionary<string, object>> uniqueKeyValueDictList = wmsAreaList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); -// var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsArea>(keys.ToList(), uniqueKeyValueDictList, size); -// var selectKeys = keys.ToList(); -// if (!selectKeys.Contains("Id")) selectKeys.Add("Id"); -// var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsArea, WmsAreaOutput>(selectKeys); -// List<WmsArea> updates = new(); -// List<WmsArea> adds = new(); - -// lock (_lock) -// { -// foreach (var filter in filters) -// { -// var wmsAreaExistSubList = _wmsAreaRep.Where(filter).Select(selector).ToList(); -// wmsAreaExistSubList.ForEach(x => -// { -// var k = DataConvertUtil.GetKey(x, keys); -// if (dict.ContainsKey(k)) dict[k].Id = x.Id; -// }); -// } - -// foreach (var wmsArea in wmsAreaList) -// { -// if (wmsArea.Id > 0) -// { -// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsArea.Adapt<WmsArea>()); -// } -// else -// { -// adds.Add(wmsArea.Adapt<WmsArea>()); -// } -// } - -// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsAreaRep.Update(x)); - -// var maxId = _wmsAreaRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); -// adds.ForEach(x => x.Id = ++maxId); -// Db.GetDbContext().Set<WmsArea>().AddRange(adds); -// Db.GetDbContext().SaveChanges(); -// } - -// await Task.CompletedTask; -// return adds.Count; -// } - -// /// <summary> -// /// 鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘 -// /// </summary> -// /// <param name="version">妯℃澘鐗堟湰</param> -// /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> -// [HttpGet("downloadExcelTemplate")] -// public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) -// { -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", version); -// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); -// var path = Path.Combine(@"\", excelTemplate.TemplateFileName); -// Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); -// var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); -// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; -// } - -// /// <summary> -// /// 鏍规嵁搴撳尯淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel -// /// </summary> -// /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param> -// /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> -// [HttpGet("toExcel")] -// public async Task<IActionResult> ToExcelAsync([FromQuery] WmsAreaSearchNonPage input) -// { -// var wmsAreaList = await ListNonPageAsync(input); -// MemoryStream ms = new(); -// DataConvertUtil.ToExcelData(wmsAreaList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, -// out List<List<object>> data, out string sheetName); -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", "v1"); -// if (excelTemplate != null) -// { -// ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); -// } -// else -// { -// ExcelUtil.ToExcel(headers, data, sheetName, ms); -// } -// ms.Position = 0; -// var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); -// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; -// } -// } -//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs deleted file mode 100644 index 83a3c37..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs +++ /dev/null @@ -1,102 +0,0 @@ -锘縰sing Admin.NET.Core.Util.LowCode.Dto; -using System; - -namespace Admin.NET.Application -{ - /// <summary> - /// 鎵樼洏淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsContainerDto - { - /// <summary> - /// 缂栧彿 - /// </summary> - public string ContainerCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public Admin.NET.Core.ContainerType ContainerType { get; set; } - - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public Admin.NET.Core.ContainerStatus ContainerStatus { get; set; } - - /// <summary> - /// 闀垮害 - /// </summary> - public decimal SpecLength { get; set; } - - /// <summary> - /// 瀹藉害 - /// </summary> - public decimal SpecWidth { get; set; } - - /// <summary> - /// 楂樺害 - /// </summary> - public decimal SpecHeight { get; set; } - - /// <summary> - /// 闄愰暱 - /// </summary> - public decimal LimitLength { get; set; } - - /// <summary> - /// 闄愬 - /// </summary> - public decimal LimitWidth { get; set; } - - /// <summary> - /// 闄愰珮 - /// </summary> - public decimal LimitHeight { get; set; } - - /// <summary> - /// 杞介噸涓婇檺 - /// </summary> - public decimal MaxWeight { get; set; } - - /// <summary> - /// 鐖舵墭鐩業d - /// </summary> - public long ParentContainerId { get; set; } - - /// <summary> - /// 璧勪骇缂栧彿 - /// </summary> - public string AssetNo { get; set; } - - /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - public Admin.NET.Core.ContainerCategory ContainerCategory { get; set; } - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - public string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙 - /// </summary> - public Admin.NET.Core.YesOrNot IsVirtually { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public Admin.NET.Core.LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public Admin.NET.Core.IssueState IssueState { get; set; } - - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs deleted file mode 100644 index aab8232..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs +++ /dev/null @@ -1,311 +0,0 @@ -锘縰sing Admin.NET.Core; -using Admin.NET.Core.Service; -using System.ComponentModel.DataAnnotations; - -namespace Admin.NET.Application -{ - - /// <summary> - /// 鎵樼洏淇℃伅鏌ヨ鍙傛暟 - /// </summary> - public class WmsContainerSearch : PageInputBase - { - /// <summary> - /// 缂栧彿 - /// </summary> - public virtual string ContainerCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public virtual Admin.NET.Core.ContainerType? ContainerType { get; set; } - - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public virtual Admin.NET.Core.ContainerStatus? ContainerStatus { get; set; } - - /// <summary> - /// 闀垮害 - /// </summary> - public virtual decimal? SpecLength { get; set; } - - /// <summary> - /// 瀹藉害 - /// </summary> - public virtual decimal? SpecWidth { get; set; } - - /// <summary> - /// 楂樺害 - /// </summary> - public virtual decimal? SpecHeight { get; set; } - - /// <summary> - /// 闄愰暱 - /// </summary> - public virtual decimal? LimitLength { get; set; } - - /// <summary> - /// 闄愬 - /// </summary> - public virtual decimal? LimitWidth { get; set; } - - /// <summary> - /// 闄愰珮 - /// </summary> - public virtual decimal? LimitHeight { get; set; } - - /// <summary> - /// 杞介噸涓婇檺 - /// </summary> - public virtual decimal? MaxWeight { get; set; } - - /// <summary> - /// 鐖舵墭鐩業d - /// </summary> - public virtual long? ParentContainerId { get; set; } - - /// <summary> - /// 璧勪骇缂栧彿 - /// </summary> - public virtual string AssetNo { get; set; } - - /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - public virtual Admin.NET.Core.ContainerCategory? ContainerCategory { get; set; } - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - public virtual string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙 - /// </summary> - public virtual Admin.NET.Core.YesOrNot IsVirtually { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual Admin.NET.Core.LesWorkShopType? WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual Admin.NET.Core.IssueState IssueState { get; set; } - - } - - /// <summary> - /// 鎵樼洏淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� - /// </summary> - public class WmsContainerSearchNonPage : PageInputNonPageBase - { - /// <summary> - /// 缂栧彿 - /// </summary> - public virtual string ContainerCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public virtual Admin.NET.Core.ContainerType? ContainerType { get; set; } - - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public virtual Admin.NET.Core.ContainerStatus? ContainerStatus { get; set; } - - /// <summary> - /// 闀垮害 - /// </summary> - public virtual decimal? SpecLength { get; set; } - - /// <summary> - /// 瀹藉害 - /// </summary> - public virtual decimal? SpecWidth { get; set; } - - /// <summary> - /// 楂樺害 - /// </summary> - public virtual decimal? SpecHeight { get; set; } - - /// <summary> - /// 闄愰暱 - /// </summary> - public virtual decimal? LimitLength { get; set; } - - /// <summary> - /// 闄愬 - /// </summary> - public virtual decimal? LimitWidth { get; set; } - - /// <summary> - /// 闄愰珮 - /// </summary> - public virtual decimal? LimitHeight { get; set; } - - /// <summary> - /// 杞介噸涓婇檺 - /// </summary> - public virtual decimal? MaxWeight { get; set; } - - /// <summary> - /// 鐖舵墭鐩業d - /// </summary> - public virtual long? ParentContainerId { get; set; } - - /// <summary> - /// 璧勪骇缂栧彿 - /// </summary> - public virtual string AssetNo { get; set; } - - /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - public virtual Admin.NET.Core.ContainerCategory? ContainerCategory { get; set; } - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - public virtual string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙 - /// </summary> - public virtual Admin.NET.Core.YesOrNot? IsVirtually { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual Admin.NET.Core.LesWorkShopType? WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual Admin.NET.Core.IssueState? IssueState { get; set; } - - } - - /// <summary> - /// 鎵樼洏淇℃伅杈撳叆鍙傛暟 - /// </summary> - public class WmsContainerInput - { - /// <summary> - /// 缂栧彿 - /// </summary> - public virtual string ContainerCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public virtual Admin.NET.Core.ContainerType ContainerType { get; set; } - - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public virtual Admin.NET.Core.ContainerStatus ContainerStatus { get; set; } - - /// <summary> - /// 闀垮害 - /// </summary> - public virtual decimal SpecLength { get; set; } - - /// <summary> - /// 瀹藉害 - /// </summary> - public virtual decimal SpecWidth { get; set; } - - /// <summary> - /// 楂樺害 - /// </summary> - public virtual decimal SpecHeight { get; set; } - - /// <summary> - /// 闄愰暱 - /// </summary> - public virtual decimal LimitLength { get; set; } - - /// <summary> - /// 闄愬 - /// </summary> - public virtual decimal LimitWidth { get; set; } - - /// <summary> - /// 闄愰珮 - /// </summary> - public virtual decimal LimitHeight { get; set; } - - /// <summary> - /// 杞介噸涓婇檺 - /// </summary> - public virtual decimal MaxWeight { get; set; } - - /// <summary> - /// 鐖舵墭鐩業d - /// </summary> - public virtual long ParentContainerId { get; set; } - - /// <summary> - /// 璧勪骇缂栧彿 - /// </summary> - public virtual string AssetNo { get; set; } - - /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - public virtual Admin.NET.Core.ContainerCategory ContainerCategory { get; set; } - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - public virtual string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙 - /// </summary> - public virtual Admin.NET.Core.YesOrNot IsVirtually { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public virtual Admin.NET.Core.LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public virtual Admin.NET.Core.IssueState IssueState { get; set; } - - } - - public class AddWmsContainerInput : WmsContainerInput - { - /// <summary> - /// Id涓婚敭 - /// </summary> - [Required(ErrorMessage = "鏁伴噺涓嶈兘涓虹┖")] - public long Quantity { get; set; } - } - - public class DeleteWmsContainerInput : BaseId - { - } - - public class UpdateWmsContainerInput : WmsContainerInput - { - /// <summary> - /// Id涓婚敭 - /// </summary> - [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] - public long Id { get; set; } - - } - - public class QueryeWmsContainerInput : BaseId - { - - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs deleted file mode 100644 index 87cbb47..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs +++ /dev/null @@ -1,102 +0,0 @@ -锘縰sing Admin.NET.Core.Util.LowCode.Dto; -using System; - -namespace Admin.NET.Application -{ - /// <summary> - /// 鎵樼洏淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsContainerOutput - { - /// <summary> - /// 缂栧彿 - /// </summary> - public string ContainerCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public Admin.NET.Core.ContainerType ContainerType { get; set; } - - /// <summary> - /// 鎵樼洏鐘舵�� - /// </summary> - public Admin.NET.Core.ContainerStatus ContainerStatus { get; set; } - - /// <summary> - /// 闀垮害 - /// </summary> - public decimal SpecLength { get; set; } - - /// <summary> - /// 瀹藉害 - /// </summary> - public decimal SpecWidth { get; set; } - - /// <summary> - /// 楂樺害 - /// </summary> - public decimal SpecHeight { get; set; } - - /// <summary> - /// 闄愰暱 - /// </summary> - public decimal LimitLength { get; set; } - - /// <summary> - /// 闄愬 - /// </summary> - public decimal LimitWidth { get; set; } - - /// <summary> - /// 闄愰珮 - /// </summary> - public decimal LimitHeight { get; set; } - - /// <summary> - /// 杞介噸涓婇檺 - /// </summary> - public decimal MaxWeight { get; set; } - - /// <summary> - /// 鐖舵墭鐩業d - /// </summary> - public long ParentContainerId { get; set; } - - /// <summary> - /// 璧勪骇缂栧彿 - /// </summary> - public string AssetNo { get; set; } - - /// <summary> - /// 鎵樼洏鍒嗙被 - /// </summary> - public Admin.NET.Core.ContainerCategory ContainerCategory { get; set; } - - /// <summary> - /// Erp鍗曞彿 - /// </summary> - public string ErpNo { get; set; } - - /// <summary> - /// 鏄惁铏氭嫙 - /// </summary> - public Admin.NET.Core.YesOrNot IsVirtually { get; set; } - - /// <summary> - /// 鎵�灞炶溅闂� - /// </summary> - public Admin.NET.Core.LesWorkShopType WorkShopType { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - - /// <summary> - /// 绛炬牳鐘舵�� - /// </summary> - public Admin.NET.Core.IssueState IssueState { get; set; } - - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs deleted file mode 100644 index dd88e4b..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs +++ /dev/null @@ -1,73 +0,0 @@ -锘縰sing Admin.NET.Core; -using Microsoft.AspNetCore.Mvc; -using System.Collections.Generic; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; - -namespace Admin.NET.Application -{ - /// <summary> - /// - /// </summary> - public interface IWmsContainerService - { - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task Add(AddWmsContainerInput input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task Delete(DeleteWmsContainerInput input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - Task Update(UpdateWmsContainerInput input); - /// <summary> - /// - /// </summary> - /// <param name="input"></param> - /// <returns></returns> - - Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input); - /// <summary> - /// - /// </summary> - /// <param name="file"></param> - /// <param name="importExcelType"></param> - /// <returns></returns> - - Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType); - /// <summary> - /// - /// </summary> - /// <param name="version"></param> - /// <returns></returns> - - Task<IActionResult> DownloadExcelTemplate(string version); - } -} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs deleted file mode 100644 index db83988..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs +++ /dev/null @@ -1,303 +0,0 @@ -锘�//using Furion.DatabaseAccessor; -//using Furion.DatabaseAccessor.Extensions; -//using Furion.DependencyInjection; -//using Furion.DynamicApiController; -//using Furion.FriendlyException; -//using Admin.NET.Core; -//using Mapster; -//using Microsoft.AspNetCore.Mvc; -//using Microsoft.EntityFrameworkCore; -//using System.Linq.Dynamic.Core; -//using Microsoft.AspNetCore.Http; -//using System.Text; -//using System.Web; - -//namespace Admin.NET.Application -//{ -// /// <summary> -// /// 鎵樼洏淇℃伅鏈嶅姟 -// /// </summary> -// [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsContainer", Order = 100)] -// [Route("api/[Controller]")] -// public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient -// { -// private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep; -// private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; -// private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; -// private readonly ISysExcelTemplateService _sysExcelTemplateService; -// private readonly static object _lock = new(); - -// /// <summary> -// /// 鏋勯�犲嚱鏁� -// /// </summary> -// public WmsContainerService( -// IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep -// ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep -// ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep -// ,ISysExcelTemplateService sysExcelTemplateService -// ) -// { -// _wmsContainerRep = wmsContainerRep; -// _sysDictTypeRep = sysDictTypeRep; -// _sysDictDataRep = sysDictDataRep; -// _sysExcelTemplateService = sysExcelTemplateService; -// } - -// /// <summary> -// /// 鍒嗛〉鏌ヨ鎵樼洏淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("page")] -// public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input) -// { -// var wmsContainers = await _wmsContainerRep.DetachedEntities -// .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%")) -// .Where(input.ContainerType != null, u => u.ContainerType == input.ContainerType) -// .Where(input.ContainerStatus != null, u => u.ContainerStatus == input.ContainerStatus) -// .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength) -// .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth) -// .Where(input.ContainerCategory != null, u => u.ContainerCategory == input.ContainerCategory) -// .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType) -// .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input)) -// .ProjectToType<WmsContainerOutput>() -// .ToADPagedListAsync(input.PageNo, input.PageSize); -// return wmsContainers; -// } - -// /// <summary> -// /// 涓嶅垎椤垫煡璇㈡墭鐩樹俊鎭垪琛� -// /// </summary> -// /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> -// /// <returns>(鎵樼洏淇℃伅)瀹炰緥鍒楄〃</returns> -// [HttpGet("listNonPage")] -// public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input) -// { -// var pContainerCode = input.ContainerCode?.Trim() ?? ""; -// var pContainerType = input.ContainerType; -// var pContainerStatus = input.ContainerStatus; -// var pSpecLength = input.SpecLength; -// var pSpecWidth = input.SpecWidth; -// var pContainerCategory = input.ContainerCategory; -// var pWorkShopType = input.WorkShopType; -// var wmsContainers = await _wmsContainerRep.DetachedEntities -// .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) -// .Where(pContainerType != null, u => u.ContainerType == pContainerType) -// .Where(pContainerStatus != null, u => u.ContainerStatus == pContainerStatus) -// .Where(pSpecLength != null, u => u.SpecLength == pSpecLength) -// .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth) -// .Where(pContainerCategory != null, u => u.ContainerCategory == pContainerCategory) -// .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType) -// .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) -// .ProjectToType<WmsContainerOutput>() -// .ToListAsync(); -// return wmsContainers; -// } - - -// /// <summary> -// /// 澧炲姞鎵樼洏淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("add")] -// public async Task Add(AddWmsContainerInput input) -// { -// var isExist = await _wmsContainerRep.AnyAsync(u => u.ContainerCode == input.ContainerCode, false); -// if (isExist) throw Oops.Oh($"褰撳墠鎵樼洏宸插瓨鍦紝鏂板澶辫触锛�"); - -// var ContainerInfo = input.Adapt<WmsContainer>(); -// ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN; -// ContainerInfo.AssetNo = "N/A"; -// ContainerInfo.ContainerCategory = ContainerCategory.GZP; -// ContainerInfo.ErpNo = "N/A"; -// ContainerInfo.IsVirtually = YesOrNot.N; -// ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN; -// await _wmsContainerRep.InsertAsync(ContainerInfo); -// //string ContainerCode = "ZHONGTONG"; -// //if (input.SpecLength == 1250) -// //{ -// // ContainerCode = "YKA"; -// //} -// //else if (input.SpecLength == 1050) -// //{ -// // ContainerCode = "YKB"; -// //} -// //else if (input.SpecLength == 800) -// //{ -// // ContainerCode = "YKC"; -// //} -// //var wmsContainerModal = await _wmsContainerRep.DetachedEntities.Where(u => u.ContainerCode.Contains(input.ContainerCode)) -// // .ProjectToType<WmsContainerOutput>() -// // .OrderByDescending(u => u.ContainerCode) -// // .FirstOrDefaultAsync(); -// //int a = 0; -// //if (wmsContainerModal != null) -// //{ -// // a = Convert.ToInt32(wmsContainerModal.ContainerCode.Substring(wmsContainerModal.ContainerCode.Length - 5)); -// //} -// //for (int i = a + 1; i <= a + input.Quantity; i++) -// //{ -// // var wmsContainer = input.Adapt<WmsContainer>(); -// // wmsContainer.AssetNo = "N/A"; -// // wmsContainer.ErpNo = "N/A"; -// // wmsContainer.IsVirtually = YesOrNot.N; -// // wmsContainer.IsDeleted = false;; -// // wmsContainer.ContainerCode = ContainerCode + i.ToString("00000"); -// // await _wmsContainerRep.InsertAsync(wmsContainer); -// //} -// } - -// /// <summary> -// /// 鍒犻櫎鎵樼洏淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("delete")] -// public async Task Delete(DeleteWmsContainerInput input) -// { -// var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id); -// await _wmsContainerRep.DeleteAsync(wmsContainer); -// } - -// /// <summary> -// /// 鏇存柊鎵樼洏淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("edit")] -// public async Task Update(UpdateWmsContainerInput input) -// { -// var isExist = await _wmsContainerRep.AnyAsync(u => u.Id == input.Id, false); -// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - -// var wmsContainer = input.Adapt<WmsContainer>(); -// await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true); -// } - -// /// <summary> -// /// 鑾峰彇鎵樼洏淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("detail")] -// public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input) -// { -// return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>(); -// } - -// /// <summary> -// /// 鑾峰彇鎵樼洏淇℃伅鍒楄〃 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("list")] -// public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input) -// { -// return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().ToListAsync(); -// } -// /// <summary> -// /// Excel妯℃澘瀵煎叆鎵樼洏淇℃伅鍔熻兘 -// /// </summary> -// /// <param name="file">Excel妯℃澘鏂囦欢</param> -// /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param> -// /// <returns>瀵煎叆鐨勮褰曟暟</returns> -// [HttpPost("fromExcel")] -// public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType) -// { -// int size = 200; -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "v2"); -// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); -// var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>(); -// for (var i = 0; i < keys.Length; i++) -// { -// keys[i] = keys[i]?.Trim() ?? string.Empty; -// } -// ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object>> data, out string sheetName); -// List<WmsContainerOutput> wmsContainerList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsContainerOutput> dict); -// List<Dictionary<string, object>> uniqueKeyValueDictList = wmsContainerList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName); -// var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsContainer>(keys.ToList(), uniqueKeyValueDictList, size); -// var selectKeys = keys.ToList(); -// if(!selectKeys.Contains("Id")) selectKeys.Add("Id"); -// var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsContainer, WmsContainerOutput>(selectKeys); -// List<WmsContainer> updates = new(); -// List<WmsContainer> adds = new(); - -// lock (_lock) -// { -// foreach (var filter in filters) -// { -// var wmsContainerExistSubList = _wmsContainerRep.Where(filter).Select(selector).ToList(); -// wmsContainerExistSubList.ForEach(x => -// { -// var k = DataConvertUtil.GetKey(x, keys); -// if (dict.ContainsKey(k)) dict[k].Id = x.Id; -// }); -// } -// foreach (var wmsContainer in wmsContainerList) -// { -// if (wmsContainer.Id > 0) -// { -// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsContainer.Adapt<WmsContainer>()); -// } -// else -// { -// adds.Add(wmsContainer.Adapt<WmsContainer>()); -// } -// } - -// if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsContainerRep.Update(x)); - - -// var maxId = _wmsContainerRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault(); -// adds.ForEach(x => x.Id = ++maxId); -// Db.GetDbContext().Set<WmsContainer>().AddRange(adds); -// Db.GetDbContext().SaveChanges(); - -// } -// await Task.CompletedTask; -// return adds.Count; -// } - -// /// <summary> -// /// 鏍规嵁鐗堟湰涓嬭浇鎵樼洏淇℃伅鐨凟xcel瀵煎叆妯℃澘 -// /// </summary> -// /// <param name="version">妯℃澘鐗堟湰</param> -// /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> -// [HttpGet("downloadExcelTemplate")] -// public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version) -// { -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", version); -// if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002); -// var path = Path.Combine(@"\", excelTemplate.TemplateFileName); -// Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName); -// var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8")); -// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; -// } -// /// <summary> -// /// 鏍规嵁鎵樼洏淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel -// /// </summary> -// /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param> -// /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns> -// [HttpGet("toExcel")] -// public async Task<IActionResult> ToExcelAsync([FromQuery] WmsContainerSearchNonPage input) -// { -// var wmsContainerList = await ListNonPageAsync(input); -// MemoryStream ms = new(); -// DataConvertUtil.ToExcelData(wmsContainerList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, -// out List<List<object>> data, out string sheetName); -// var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "v1"); -// if (excelTemplate != null) -// { -// ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms); -// } -// else -// { -// ExcelUtil.ToExcel(headers, data, sheetName, ms); -// } -// ms.Position = 0; -// var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8")); -// return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName }; -// } -// } -//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs deleted file mode 100644 index 8682b03..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs +++ /dev/null @@ -1,145 +0,0 @@ -锘縰sing Admin.NET.Core; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撲綅淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsPlaceDto - { - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - public string WmsAreaAreaname { get; set; } - - /// <summary> - /// 缂栫爜 - /// </summary> - public string Placecode { get; set; } - - /// <summary> - /// 搴撲綅鐘舵�� - /// </summary> - public PlaceStatus Placestatus { get; set; } - - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - public long Areaid { get; set; } - - /// <summary> - /// 鎺� - /// </summary> - public int Rowno { get; set; } - - /// <summary> - /// 鍒� - /// </summary> - public int Columnno { get; set; } - - /// <summary> - /// 灞� - /// </summary> - public int Layerno { get; set; } - - /// <summary> - /// 杩涙繁鍙� - /// </summary> - public int Deepcellno { get; set; } - - /// <summary> - /// 宸烽亾 - /// </summary> - public int Aisle { get; set; } - - /// <summary> - /// 绾垮彿 - /// </summary> - public int Line { get; set; } - - /// <summary> - /// 宸烽亾宸﹀彸 - /// </summary> - //public string Aisleside { get; set; } - - /// <summary> - /// 鏄惁閿佸畾 - /// </summary> - public YesOrNot Islock { get; set; } - - /// <summary> - /// - /// </summary> - //public YesOrNot Isfull { get; set; } - - /// <summary> - /// 鍚︽鍦ㄦ搷浣� - /// </summary> - //public YesOrNot Hastaskdoing { get; set; } - - /// <summary> - /// 鏄惁绌烘墭 - /// </summary> - public virtual YesOrNot EmptyContainer { get; set; } - - /// <summary> - /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - /// </summary> - public string PositionnoForSrm { get; set; } - - /// <summary> - /// 搴撲綅X鍧愭爣 - /// </summary> - public string Xzb { get; set; } - - /// <summary> - /// 搴撲綅Y鍧愭爣 - /// </summary> - public string Yzb { get; set; } - - /// <summary> - /// 搴撲綅Z鍧愭爣 - /// </summary> - public string Zzb { get; set; } - - /// <summary> - /// 搴撲綅闀垮害 - /// </summary> - public decimal Length { get; set; } - - /// <summary> - /// 搴撲綅瀹藉害 - /// </summary> - public decimal Width { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public decimal Height { get; set; } - - /// <summary> - /// 鏈�澶ф壙閲� - /// </summary> - public decimal Maxweight { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public Heightlevel Heightlevel { get; set; } - - /// <summary> - /// 浼樺厛绾� - /// </summary> - public int Priority { get; set; } - - /// <summary> - /// 閫昏緫鍖哄煙 - /// </summary> - public int LogicalName { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs deleted file mode 100644 index 5c9e5e2..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs +++ /dev/null @@ -1,310 +0,0 @@ -锘縰sing System.ComponentModel.DataAnnotations; -using Admin.NET.Core; -using Admin.NET.Core.Service; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撲綅淇℃伅鏌ヨ鍙傛暟 - /// </summary> - public class WmsPlaceSearch : PageInputBase - { - /// <summary> - /// 缂栫爜 - /// </summary> - public virtual string Placecode { get; set; } - - /// <summary> - /// 搴撲綅鐘舵�� - /// </summary> - public virtual PlaceStatus? Placestatus { get; set; } - - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - public virtual long? Areaid { get; set; } - - /// <summary> - /// 鎺� - /// </summary> - public virtual int? Rowno { get; set; } - - /// <summary> - /// 鍒� - /// </summary> - public virtual int? Columnno { get; set; } - - /// <summary> - /// 灞� - /// </summary> - public virtual int? Layerno { get; set; } - - /// <summary> - /// 杩涙繁鍙� - /// </summary> - public virtual int? Deepcellno { get; set; } - - /// <summary> - /// 宸烽亾 - /// </summary> - public virtual int? Aisle { get; set; } - - /// <summary> - /// 绾垮彿 - /// </summary> - public virtual int? Line { get; set; } - - /// <summary> - /// 宸烽亾宸﹀彸 - /// </summary> - //public virtual string Aisleside { get; set; } - - /// <summary> - /// 鏄惁閿佸畾 - /// </summary> - public virtual YesOrNot? Islock { get; set; } - - /// <summary> - /// - /// </summary> - //public virtual YesOrNot? Isfull { get; set; } - - /// <summary> - /// 鍚︽鍦ㄦ搷浣� - /// </summary> - //public virtual YesOrNot? Hastaskdoing { get; set; } - - /// <summary> - /// 鏄惁绌烘墭 - /// </summary> - public virtual YesOrNot EmptyContainer { get; set; } - - /// <summary> - /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - /// </summary> - public virtual string PositionnoForSrm { get; set; } - - /// <summary> - /// 搴撲綅X鍧愭爣 - /// </summary> - public virtual string Xzb { get; set; } - - /// <summary> - /// 搴撲綅Y鍧愭爣 - /// </summary> - public virtual string Yzb { get; set; } - - /// <summary> - /// 搴撲綅Z鍧愭爣 - /// </summary> - public virtual string Zzb { get; set; } - - /// <summary> - /// 搴撲綅闀垮害 - /// </summary> - public virtual decimal? Length { get; set; } - - /// <summary> - /// 搴撲綅瀹藉害 - /// </summary> - public virtual decimal? Width { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public virtual decimal? Height { get; set; } - - /// <summary> - /// 鏈�澶ф壙閲� - /// </summary> - public virtual decimal? Maxweight { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public virtual Heightlevel? Heightlevel { get; set; } - - /// <summary> - /// 浼樺厛绾� - /// </summary> - public virtual int? Priority { get; set; } - } - - /// <summary> - /// 搴撲綅淇℃伅杈撳叆鍙傛暟 - /// </summary> - public class WmsPlaceInput - { - /// <summary> - /// 缂栫爜 - /// </summary> - public virtual string Placecode { get; set; } - - /// <summary> - /// 搴撲綅鐘舵�� - /// </summary> - public virtual PlaceStatus Placestatus { get; set; } - - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - public virtual long Areaid { get; set; } - - /// <summary> - /// 鎺� - /// </summary> - public virtual int Rowno { get; set; } - - /// <summary> - /// 鍒� - /// </summary> - public virtual int Columnno { get; set; } - - /// <summary> - /// 灞� - /// </summary> - public virtual int Layerno { get; set; } - - /// <summary> - /// 浣� - /// </summary> - public virtual int Deepcellno { get; set; } - - /// <summary> - /// 宸烽亾 - /// </summary> - public virtual int Aisle { get; set; } - - /// <summary> - /// 绾垮彿 - /// </summary> - public virtual int Line { get; set; } - - /// <summary> - /// 宸烽亾宸﹀彸 - /// </summary> - //public virtual string Aisleside { get; set; } - - /// <summary> - /// 鏄惁閿佸畾 - /// </summary> - public virtual YesOrNot Islock { get; set; } - - /// <summary> - /// 鏄惁 - /// </summary> - //public virtual YesOrNot Isfull { get; set; } - - /// <summary> - /// 鍚︽鍦ㄦ搷浣� - /// </summary> - //public virtual YesOrNot Hastaskdoing { get; set; } - - /// <summary> - /// 鏄惁绌烘墭 - /// </summary> - public virtual YesOrNot EmptyContainer { get; set; } - - - /// <summary> - /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - /// </summary> - public virtual string PositionnoForSrm { get; set; } - - /// <summary> - /// 搴撲綅X鍧愭爣 - /// </summary> - public virtual string Xzb { get; set; } - - /// <summary> - /// 搴撲綅Y鍧愭爣 - /// </summary> - public virtual string Yzb { get; set; } - - /// <summary> - /// 搴撲綅Z鍧愭爣 - /// </summary> - public virtual string Zzb { get; set; } - - /// <summary> - /// 搴撲綅闀垮害 - /// </summary> - public virtual decimal Length { get; set; } - - /// <summary> - /// 搴撲綅瀹藉害 - /// </summary> - public virtual decimal Width { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public virtual decimal Height { get; set; } - - /// <summary> - /// 鏈�澶ф壙閲� - /// </summary> - public virtual decimal Maxweight { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public virtual Heightlevel Heightlevel { get; set; } - - /// <summary> - /// 浼樺厛绾� - /// </summary> - public virtual int Priority { get; set; } - } - - /// <summary> - /// - /// </summary> - public class AddWmsPlaceInput : WmsPlaceInput - { - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - [Required(ErrorMessage = "鎵�鍦ㄥ簱鍖轰笉鑳戒负绌�")] - public override long Areaid { get; set; } - } - - /// <summary> - /// - /// </summary> - public class DeleteWmsPlaceInput : BaseId - { - } - - /// <summary> - /// - /// </summary> - public class UpdateWmsPlaceInput : WmsPlaceInput - { - /// <summary> - /// Id涓婚敭 - /// </summary> - [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] - public long Id { get; set; } - } - - /// <summary> - /// - /// </summary> - public class QueryeWmsPlaceInput : BaseId - { - - } - /// <summary> - /// 鎵归噺閿佸畾鍙傛暟 - /// </summary> - public class MoreLockInput - { - /// <summary> - /// Id涓婚敭 - /// </summary> - [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] - public List<long> Id { get; set; } - } - -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs deleted file mode 100644 index 2246990..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs +++ /dev/null @@ -1,137 +0,0 @@ -锘縰sing Admin.NET.Core; - -namespace Admin.NET.Application -{ - /// <summary> - /// 搴撲綅淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public class WmsPlaceOutput - { - /// <summary> - /// 缂栫爜 - /// </summary> - public string Placecode { get; set; } - - /// <summary> - /// 搴撲綅鐘舵�� - /// </summary> - public PlaceStatus Placestatus { get; set; } - - /// <summary> - /// 鎵�鍦ㄥ簱鍖� - /// </summary> - public long Areaid { get; set; } - - /// <summary> - /// 鎺� - /// </summary> - public int Rowno { get; set; } - - /// <summary> - /// 鍒� - /// </summary> - public int Columnno { get; set; } - - /// <summary> - /// 灞� - /// </summary> - public int Layerno { get; set; } - - /// <summary> - /// 杩涙繁鍙� - /// </summary> - public int Deepcellno { get; set; } - - /// <summary> - /// 宸烽亾 - /// </summary> - public int Aisle { get; set; } - - /// <summary> - /// 绾垮彿 - /// </summary> - public int Line { get; set; } - - /// <summary> - /// 宸烽亾宸﹀彸 - /// </summary> - //public string Aisleside { get; set; } - - /// <summary> - /// 鏄惁閿佸畾 - /// </summary> - public YesOrNot Islock { get; set; } - - //public YesOrNot Isfull { get; set; } - - /// <summary> - /// 鍚︽鍦ㄦ搷浣� - /// </summary> - //public YesOrNot Hastaskdoing { get; set; } - - /// <summary> - /// 鏄惁绌烘墭 - /// </summary> - public virtual YesOrNot EmptyContainer { get; set; } - - /// <summary> - /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆 - /// </summary> - public string PositionnoForSrm { get; set; } - - /// <summary> - /// 搴撲綅X鍧愭爣 - /// </summary> - public string Xzb { get; set; } - - /// <summary> - /// 搴撲綅Y鍧愭爣 - /// </summary> - public string Yzb { get; set; } - - /// <summary> - /// 搴撲綅Z鍧愭爣 - /// </summary> - public string Zzb { get; set; } - - /// <summary> - /// 搴撲綅闀垮害 - /// </summary> - public decimal Length { get; set; } - - /// <summary> - /// 搴撲綅瀹藉害 - /// </summary> - public decimal Width { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public decimal Height { get; set; } - - /// <summary> - /// 鏈�澶ф壙閲� - /// </summary> - public decimal Maxweight { get; set; } - - /// <summary> - /// 搴撲綅楂樺害 - /// </summary> - public Heightlevel Heightlevel { get; set; } - - /// <summary> - /// 浼樺厛绾� - /// </summary> - public int Priority { get; set; } - - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - - /// <summary> - /// 搴撳尯淇℃伅杈撳嚭鍙傛暟 - /// </summary> - public WmsAreaOutput WmsArea { get; set; } - } -} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs deleted file mode 100644 index 0580390..0000000 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs +++ /dev/null @@ -1,282 +0,0 @@ -锘�//using Furion.DatabaseAccessor; -//using Furion.DependencyInjection; -//using Furion.DynamicApiController; -//using Furion.FriendlyException; -//using Mapster; -//using Microsoft.AspNetCore.Authorization; -//using Microsoft.AspNetCore.Mvc; -//using Microsoft.EntityFrameworkCore; -//using System.Linq.Dynamic.Core; -//using Admin.NET.Core; - -//namespace Admin.NET.Application -//{ -// /// <summary> -// /// 搴撲綅淇℃伅鏈嶅姟 -// /// </summary> -// [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsPlace", Order = 100)] -// [Route("api/[Controller]")] -// public class WmsPlaceService : IDynamicApiController, ITransient -// { -// private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; -// private readonly IRepository<WmsArea> _wmsAreaRep; - -// /// <summary> -// /// 鏋勯�犲嚱鏁� -// /// </summary> -// public WmsPlaceService( -// IRepository<WmsArea> wmsAreaRep, -// IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep -// ) -// { -// _wmsAreaRep = wmsAreaRep; -// _wmsPlaceRep = wmsPlaceRep; -// } - -// /// <summary> -// /// 鍒嗛〉鏌ヨ搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("page")] -// public async Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input) -// { -// var wmsPlaces = await _wmsPlaceRep.DetachedEntities -// .Where(!string.IsNullOrEmpty(input.Placecode), u => EF.Functions.Like(u.PlaceCode, $"%{input.Placecode.Trim()}%")) -// .Where(input.Placestatus != null, u => u.PlaceStatus == input.Placestatus) -// .Where(input.Areaid > 0, u => u.AreaId == input.Areaid) -// .Where(input.Rowno != null, u => u.RowNo == input.Rowno) -// .Where(input.Columnno != null, u => u.ColumnNo == input.Columnno) -// .Where(input.Layerno != null, u => u.LayerNo == input.Layerno) -// .Where(input.Aisle != null, u => u.Aisle == input.Aisle) -// .Where(input.Islock != null, u => u.Islock == input.Islock) -// .OrderBy(PageInputOrder.OrderBuilder<WmsPlaceSearch>(input)) -// .ProjectToType<WmsPlaceOutput>() -// .ToADPagedListAsync(input.PageNo, input.PageSize); -// return wmsPlaces; -// } - -// /// <summary> -// /// 澧炲姞搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// //[HttpPost("add")] -// //public async Task Add(AddWmsPlaceInput input) -// //{ -// // //鑾峰彇搴撳尯淇℃伅 -// // var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Areaid); -// // if (wmsArea.AreaType == AreaType.LITIKU) -// // { -// // var wmsPlace = input.Adapt<WmsPlace>(); -// // for (int a = 1; a == 1; a++) -// // { -// // for (int t = 1; t <= wmsPlace.RowNo; t++) //寰幆鎺� -// // { -// // for (int i = 1; i <= wmsPlace.ColumnNo; i++) //寰幆鍒� -// // { -// // for (int j = 1; j <= wmsPlace.LayerNo; j++) //寰幆灞� -// // { -// // var model = new WmsPlace(); -// // model.PlaceStatus = PlaceStatus.KONGXIAN; -// // model.AreaId = wmsPlace.AreaId; -// // model.RowNo = t; -// // model.ColumnNo = i; -// // model.LayerNo = j; -// // model.DeepcellNo = 1; -// // model.Aisle = a; -// // model.Islock = YesOrNot.N; -// // model.Length = new decimal(1.2); -// // model.Width = new decimal(1.5); -// // model.Height = new decimal(1.8); -// // model.MaxWeight = new decimal(2.8); -// // model.HeightLevel = Heightlevel.DI; -// // model.Priority = 0; -// // model.AgvCode = ""; -// // model.PlaceCode = String.Format("{0}{1}{2}{3}{4}", wmsArea.AreaDesc, a.ToString("00"), t.ToString("00"), i.ToString("00"), j.ToString("00")); -// // var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == model.PlaceCode); -// // if (!isExit) await _wmsPlaceRep.InsertAsync(model); -// // } -// // } -// // } -// // } -// // } -// // else -// // { -// // var wmsPlace = input.Adapt<WmsPlace>(); -// // for (int t = 1; t <= wmsPlace.RowNo; t++) //寰幆鎺� -// // { -// // for (int i = 1; i <= wmsPlace.ColumnNo; i++) //寰幆鍒� -// // { -// // for (int j = 1; j <= wmsPlace.LayerNo; j++) //寰幆灞� -// // { -// // var model = new WmsPlace(); -// // model.PlaceStatus = PlaceStatus.KONGXIAN; -// // model.AreaId = wmsPlace.AreaId; -// // model.RowNo = t; -// // model.ColumnNo = i; -// // model.LayerNo = j; -// // model.DeepcellNo = 1; -// // model.Aisle = wmsPlace.Aisle; -// // model.Islock = YesOrNot.N; -// // model.Length = new decimal(1.2); -// // model.Width = new decimal(1.5); -// // model.Height = new decimal(1.8); -// // model.MaxWeight = new decimal(2.8); -// // model.HeightLevel = Heightlevel.DI; -// // model.Priority = 0; -// // model.AgvCode = ""; -// // model.PlaceCode = String.Format("{0}{1}{2}{3}", wmsArea.AreaDesc, t.ToString("00"), i.ToString("00"), j.ToString("00")); -// // var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == model.PlaceCode); -// // if (!isExit) await _wmsPlaceRep.InsertAsync(model); -// // } -// // } -// // } -// // } - -// //} - -// /// <summary> -// /// 澧炲姞搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("add")] -// public async Task AddNew(AddWmsPlaceInput input) -// { -// var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == input.Placecode); -// if (isExit) throw Oops.Oh("瀛樺湪鐨勭浉鍚岀殑搴撲綅缂栫爜锛�"); -// var wmsPlace = input.Adapt<WmsPlace>(); -// wmsPlace.AgvCode = "Y/N"; -// wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN; -// wmsPlace.Islock = YesOrNot.N; -// wmsPlace.EmptyContainer = YesOrNot.N; -// if (input.Heightlevel==0) { -// wmsPlace.HeightLevel = Heightlevel.DI; -// } -// await _wmsPlaceRep.InsertAsync(wmsPlace); -// } - -// /// <summary> -// /// 鍒犻櫎搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("delete")] -// public async Task Delete(DeleteWmsPlaceInput input) -// { -// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == input.Id); -// await _wmsPlaceRep.DeleteAsync(wmsPlace); -// } - -// /// <summary> -// /// 鎵归噺閿佸畾 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("MoreLock")] -// public async Task MoreLock(MoreLockInput input) -// { -// if (input.Id.Count <= 0) throw Oops.Oh("id涓嶈兘涓虹┖锛�"); -// foreach (var item in input.Id) -// { -// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == item); -// if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!"); -// wmsPlace.Islock = YesOrNot.Y; -// await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true); -// } -// } - -// /// <summary> -// /// 鎵归噺瑙i攣 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("MoreUnlock")] -// public async Task MoreUnlock(MoreLockInput input) -// { -// if (input.Id.Count <= 0) throw Oops.Oh("id涓嶈兘涓虹┖锛�"); -// foreach (var item in input.Id) -// { -// var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == item); -// if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!"); -// wmsPlace.Islock = YesOrNot.N; -// await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true); -// } -// } - -// /// <summary> -// /// 鏇存柊搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpPost("edit")] -// public async Task Update(UpdateWmsPlaceInput input) -// { -// var isExist = await _wmsPlaceRep.AnyAsync(u => u.Id == input.Id, false); -// if (!isExist) throw Oops.Oh(ErrorCode.D3000); - -// var wmsPlace = input.Adapt<WmsPlace>(); -// await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true); -// } - -// /// <summary> -// /// 鑾峰彇搴撲綅淇℃伅 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("detail")] -// public async Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input) -// { -// return (await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsPlaceOutput>(); -// } - -// /// <summary> -// /// 鑾峰彇搴撲綅淇℃伅鍒楄〃 -// /// </summary> -// /// <param name="input"></param> -// /// <returns></returns> -// [HttpGet("list")] -// public async Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input) -// { -// return await _wmsPlaceRep.DetachedEntities.ProjectToType<WmsPlaceOutput>().ToListAsync(); -// } - -// /// <summary> -// /// 鑾峰彇WmsArea鍒楄〃 -// /// </summary> -// /// <returns></returns> -// [HttpGet("fkWmsArea")] -// public async Task<dynamic> FkWmsAreaList() -// { -// var list = await _wmsAreaRep.DetachedEntities.ToListAsync(); -// return list.Select(e => new { Code = e.Id, Name = e.AreaName }); -// } - -// /// <summary> -// /// 鑾峰彇鐔熷寲搴撳贩閬� -// /// </summary> -// /// <returns></returns> -// [HttpGet("GetFAisle")] -// public async Task<object> GetFAisle() -// { -// var area = await _wmsAreaRep.FirstOrDefaultAsync(n => n.AreaStatus == CommonStatus.ENABLE && n.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && n.AreaType == AreaType.LITIKU); -// var objList = await _wmsPlaceRep.Where(n => n.AreaId == area.Id).OrderBy(n => n.Aisle).Select(n => n.Aisle).Distinct().ToArrayAsync(); -// for (int i = 0; i < objList.Length - 1; i++) -// { -// for (int j = 0; j < objList.Length - 1; j++) -// { -// int k = j + 1; -// if (objList[j] > objList[k]) -// { -// var temp = objList[k]; -// objList[k] = objList[j]; -// objList[j] = temp; -// } -// } -// } -// return objList; -// } -// } - -//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs new file mode 100644 index 0000000..24ed56e --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs @@ -0,0 +1,340 @@ +锘縰sing Admin.NET.Core; +using Admin.NET.Core.Service; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application +{ + + /// <summary> + /// 搴撳尯淇℃伅鏌ヨ鍙傛暟 + /// </summary> + public class WmsAreaSearch : PageInputBase + { + /// <summary> + /// 搴撳尯缂栫爜 + /// </summary> + public virtual string AreaCode { get; set; } + + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + public virtual string WarehouseCode { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О + /// </summary> + public virtual string WarehouseName { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public virtual string AreaName { get; set; } + + /// <summary> + /// 搴撳尯鎻忚堪 + /// </summary> + public virtual string AreaDesc { get; set; } + + /// <summary> + /// 搴撳尯鐘舵�� + /// </summary> + public virtual int? AreaStatus { get; set; } + + /// <summary> + /// ERP浠g爜 + /// </summary> + public virtual string ErpCode { get; set; } + + /// <summary> + /// 鎵�灞炰粨搴� + /// </summary> + public virtual long? WarehouseId { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public virtual bool? IsBarcodeLevelControl { get; set; } + + /// <summary> + /// 妫�楠屽厛杩涘厛鍑� + /// </summary> + public virtual bool? IsFIFO { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public virtual bool? IsPartLevelControl { get; set; } + + /// <summary> + /// 鍏佽娣锋穯 + /// </summary> + public virtual bool? IsAllowConfusion { get; set; } + + /// <summary> + /// 鍏佽璐熷簱瀛� + /// </summary> + public virtual bool? IsAllowNegativeInventory { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<string> CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<string> UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + /// </summary> + public class WmsAreaSearchNonPage : PageInputNonPageBase + { + /// <summary> + /// 搴撳尯缂栫爜 + /// </summary> + public virtual string AreaCode { get; set; } + + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + public virtual string WarehouseCode { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О + /// </summary> + public virtual string WarehouseName { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public virtual string AreaName { get; set; } + + /// <summary> + /// 搴撳尯鎻忚堪 + /// </summary> + public virtual string AreaDesc { get; set; } + + /// <summary> + /// 搴撳尯鐘舵�� + /// </summary> + public virtual int? AreaStatus { get; set; } + + /// <summary> + /// ERP浠g爜 + /// </summary> + public virtual string ErpCode { get; set; } + + /// <summary> + /// 鎵�灞炰粨搴� + /// </summary> + public virtual long? WarehouseId { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public virtual bool? IsBarcodeLevelControl { get; set; } + + /// <summary> + /// 妫�楠屽厛杩涘厛鍑� + /// </summary> + public virtual bool? IsFIFO { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public virtual bool? IsPartLevelControl { get; set; } + + /// <summary> + /// 鍏佽娣锋穯 + /// </summary> + public virtual bool? IsAllowConfusion { get; set; } + + /// <summary> + /// 鍏佽璐熷簱瀛� + /// </summary> + public virtual bool? IsAllowNegativeInventory { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 搴撳尯淇℃伅杈撳叆鍙傛暟 + /// </summary> + public class WmsAreaInput + { + /// <summary> + /// 搴撳尯缂栫爜 + /// </summary> + [Required(ErrorMessage = "搴撳尯缂栫爜涓嶈兘涓虹┖")] + public virtual string AreaCode { get; set; } + + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + [Required(ErrorMessage = "浠撳簱缂栧彿涓嶈兘涓虹┖")] + public virtual string WarehouseCode { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О + /// </summary> + [Required(ErrorMessage = "浠撳簱鍚嶇О涓嶈兘涓虹┖")] + public virtual string WarehouseName { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + [Required(ErrorMessage = "搴撳尯鍚嶇О涓嶈兘涓虹┖")] + public virtual string AreaName { get; set; } + + /// <summary> + /// 搴撳尯鎻忚堪 + /// </summary> + public virtual string AreaDesc { get; set; } + + /// <summary> + /// 搴撳尯鐘舵�� + /// </summary> + [Required(ErrorMessage = "搴撳尯鐘舵�佷笉鑳戒负绌�")] + public virtual int AreaStatus { get; set; } + + /// <summary> + /// ERP浠g爜 + /// </summary> + [Required(ErrorMessage = "ERP浠g爜涓嶈兘涓虹┖")] + public virtual string ErpCode { get; set; } + + /// <summary> + /// 鎵�灞炰粨搴� + /// </summary> + [Required(ErrorMessage = "鎵�灞炰粨搴撲笉鑳戒负绌�")] + public virtual long WarehouseId { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + [Required(ErrorMessage = "闆朵欢绾х鎺т笉鑳戒负绌�")] + public virtual bool IsBarcodeLevelControl { get; set; } + + /// <summary> + /// 妫�楠屽厛杩涘厛鍑� + /// </summary> + [Required(ErrorMessage = "妫�楠屽厛杩涘厛鍑轰笉鑳戒负绌�")] + public virtual bool IsFIFO { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + [Required(ErrorMessage = "闆朵欢绾х鎺т笉鑳戒负绌�")] + public virtual bool IsPartLevelControl { get; set; } + + /// <summary> + /// 鍏佽娣锋穯 + /// </summary> + [Required(ErrorMessage = "鍏佽娣锋穯涓嶈兘涓虹┖")] + public virtual bool IsAllowConfusion { get; set; } + + /// <summary> + /// 鍏佽璐熷簱瀛� + /// </summary> + [Required(ErrorMessage = "鍏佽璐熷簱瀛樹笉鑳戒负绌�")] + public virtual bool IsAllowNegativeInventory { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + } + + /// <summary> + /// 搴撳尯淇℃伅鏂板鍙傛暟 + /// </summary> + public class AddWmsAreaInput : WmsAreaInput + { + } + + /// <summary> + /// 搴撳尯淇℃伅鍒犻櫎鍙傛暟 + /// </summary> + public class DeleteWmsAreaInput : BaseId + { + } + + /// <summary> + /// 搴撳尯淇℃伅鏇存柊鍙傛暟 + /// </summary> + public class UpdateWmsAreaInput : WmsAreaInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long? Id { get; set; } + + } + + /// <summary> + /// 搴撳尯淇℃伅鑾峰彇鍗曚釜鍙傛暟 + /// </summary> + public class QueryeWmsAreaInput : BaseId + { + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs new file mode 100644 index 0000000..6ba0167 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs @@ -0,0 +1,112 @@ +锘縰sing Admin.NET.Core.Util.LowCode.Dto; +using System; + +namespace Admin.NET.Application +{ + /// <summary> + /// 搴撳尯淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WmsAreaOutput + { + /// <summary> + /// 搴撳尯缂栫爜 + /// </summary> + public string AreaCode { get; set; } + + /// <summary> + /// 浠撳簱缂栧彿 + /// </summary> + public string WarehouseCode { get; set; } + + /// <summary> + /// 浠撳簱鍚嶇О + /// </summary> + public string WarehouseName { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public string AreaName { get; set; } + + /// <summary> + /// 搴撳尯鎻忚堪 + /// </summary> + public string AreaDesc { get; set; } + + /// <summary> + /// 搴撳尯鐘舵�� + /// </summary> + public int AreaStatus { get; set; } + + /// <summary> + /// ERP浠g爜 + /// </summary> + public string ErpCode { get; set; } + + /// <summary> + /// 鎵�灞炰粨搴� + /// </summary> + public long WarehouseId { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public bool IsBarcodeLevelControl { get; set; } + + /// <summary> + /// 妫�楠屽厛杩涘厛鍑� + /// </summary> + public bool IsFIFO { get; set; } + + /// <summary> + /// 闆朵欢绾х鎺� + /// </summary> + public bool IsPartLevelControl { get; set; } + + /// <summary> + /// 鍏佽娣锋穯 + /// </summary> + public bool IsAllowConfusion { get; set; } + + /// <summary> + /// 鍏佽璐熷簱瀛� + /// </summary> + public bool IsAllowNegativeInventory { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTimeOffset? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public string UpdatedUserName { get; set; } + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs new file mode 100644 index 0000000..02894e6 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs @@ -0,0 +1,22 @@ +锘縰sing Admin.NET.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Admin.NET.Application +{ + public interface IWmsAreaService + { + Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input); + Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input); + Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input); + Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input); + + Task Add(AddWmsAreaInput input); + Task Update(UpdateWmsAreaInput input); + Task Delete(DeleteWmsAreaInput input); + Task<int> ImportExcelAsync(IFormFile file); + IActionResult DownloadExcelTemplate(string version); + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs new file mode 100644 index 0000000..8299615 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs @@ -0,0 +1,18 @@ +锘縰sing Mapster; +using Admin.NET.Core; + +namespace Admin.NET.Application +{ + public class WmsAreaMapper : IRegister + { + public void Register(TypeAdapterConfig config) + { + config.ForType<AddWmsAreaInput, WmsArea>() + ; + config.ForType<UpdateWmsAreaInput, WmsArea>() + ; + config.ForType<WmsArea, WmsAreaOutput>() + ; + } + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs new file mode 100644 index 0000000..88546d3 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs @@ -0,0 +1,649 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Admin.NET.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using Microsoft.AspNetCore.Http; +using System.Text; +using System.Web; +using System.ComponentModel; +using System.Data; +namespace Admin.NET.Application +{ + /// <summary> + /// 搴撳尯淇℃伅鏈嶅姟 + /// </summary> + [ApiDescriptionSettings("WmsBase", Name = "WmsArea", Order = 100)] + [Route("api")] + public class WmsAreaService : IWmsAreaService, IDynamicApiController, ITransient + { + private readonly IRepository<WmsArea,MasterDbContextLocator> _wmsAreaRep; + private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; + private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; + private readonly ISysExcelTemplateService _sysExcelTemplateService; + private readonly static object _lock = new(); + + public WmsAreaService( + IRepository<WmsArea,MasterDbContextLocator> wmsAreaRep + ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep + ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep + ,ISysExcelTemplateService sysExcelTemplateService + ) + { + _wmsAreaRep = wmsAreaRep; + _sysDictTypeRep = sysDictTypeRep; + _sysDictDataRep = sysDictDataRep; + _sysExcelTemplateService = sysExcelTemplateService; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsArea/page")] + public async Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input) + { + var wmsAreas = await _wmsAreaRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.AreaCode), u => u.AreaCode == input.AreaCode) + .Where(!string.IsNullOrEmpty(input.WarehouseCode), u => u.WarehouseCode == input.WarehouseCode) + .Where(!string.IsNullOrEmpty(input.WarehouseName), u => u.WarehouseName == input.WarehouseName) + .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName) + .Where(!string.IsNullOrEmpty(input.AreaDesc), u => u.AreaDesc == input.AreaDesc) + .Where(input.AreaStatus != null, u => u.AreaStatus == input.AreaStatus) + .Where(!string.IsNullOrEmpty(input.ErpCode), u => u.ErpCode == input.ErpCode) + .Where(input.WarehouseId != null, u => u.WarehouseId == input.WarehouseId) + .Where(input.IsBarcodeLevelControl != null, u => u.IsBarcodeLevelControl == input.IsBarcodeLevelControl) + .Where(input.IsFIFO != null, u => u.IsFIFO == input.IsFIFO) + .Where(input.IsPartLevelControl != null, u => u.IsPartLevelControl == input.IsPartLevelControl) + .Where(input.IsAllowConfusion != null, u => u.IsAllowConfusion == input.IsAllowConfusion) + .Where(input.IsAllowNegativeInventory != null, u => u.IsAllowNegativeInventory == input.IsAllowNegativeInventory) + .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually) + .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName) + .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName) + .OrderBy(PageInputOrder.OrderBuilder<WmsAreaSearch>(input)) + .ProjectToType<WmsAreaOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return wmsAreas; + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛� + /// </summary> + /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns> + [HttpGet("WmsArea/listNonPage")] + public async Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input) + { + var pAreaCode = input.AreaCode?.Trim() ?? ""; + var pWarehouseCode = input.WarehouseCode?.Trim() ?? ""; + var pWarehouseName = input.WarehouseName?.Trim() ?? ""; + var pAreaName = input.AreaName?.Trim() ?? ""; + var pAreaDesc = input.AreaDesc?.Trim() ?? ""; + var pAreaStatus = input.AreaStatus; + var pErpCode = input.ErpCode?.Trim() ?? ""; + var pWarehouseId = input.WarehouseId; + var pIsBarcodeLevelControl = input.IsBarcodeLevelControl; + var pIsFIFO = input.IsFIFO; + var pIsPartLevelControl = input.IsPartLevelControl; + var pIsAllowConfusion = input.IsAllowConfusion; + var pIsAllowNegativeInventory = input.IsAllowNegativeInventory; + var pIsVirtually = input.IsVirtually; + var pIsDisabled = input.IsDisabled; + var pCreatedTime = input.CreatedTime; + var pUpdatedTime = input.UpdatedTime; + var pCreatedUserName = input.CreatedUserName?.Trim() ?? ""; + var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; + var wmsAreas = await _wmsAreaRep.DetachedEntities + .Where(!string.IsNullOrEmpty(pAreaCode), u => u.AreaCode == pAreaCode) + .Where(!string.IsNullOrEmpty(pWarehouseCode), u => u.WarehouseCode == pWarehouseCode) + .Where(!string.IsNullOrEmpty(pWarehouseName), u => u.WarehouseName == pWarehouseName) + .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName) + .Where(!string.IsNullOrEmpty(pAreaDesc), u => u.AreaDesc == pAreaDesc) + .Where(pAreaStatus != null, u => u.AreaStatus == pAreaStatus) + .Where(!string.IsNullOrEmpty(pErpCode), u => u.ErpCode == pErpCode) + .Where(pWarehouseId != null, u => u.WarehouseId == pWarehouseId) + .Where(pIsBarcodeLevelControl != null, u => u.IsBarcodeLevelControl == pIsBarcodeLevelControl) + .Where(pIsFIFO != null, u => u.IsFIFO == pIsFIFO) + .Where(pIsPartLevelControl != null, u => u.IsPartLevelControl == pIsPartLevelControl) + .Where(pIsAllowConfusion != null, u => u.IsAllowConfusion == pIsAllowConfusion) + .Where(pIsAllowNegativeInventory != null, u => u.IsAllowNegativeInventory == pIsAllowNegativeInventory) + .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually) + .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName) + .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName) + .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) + .ProjectToType<WmsAreaOutput>() + .ToListAsync(); + return wmsAreas; + } + + /// <summary> + /// 鑾峰彇搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsArea/detail")] + public async Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input) + { + return (await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsAreaOutput>(); + } + + /// <summary> + /// 鑾峰彇搴撳尯淇℃伅鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsArea/list")] + public async Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input) + { + return await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync(); + } + + #region 澧炪�佸垹銆佹敼 + + /// <summary> + /// 澧炲姞搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsArea/add")] + public async Task Add(AddWmsAreaInput input) + { + var wmsArea = input.Adapt<WmsArea>(); + //楠岃瘉 + await CheckExisit(wmsArea); + + wmsArea.CreatedUserId = wmsArea.UpdatedUserId = SysHelper.GetUserId(); + wmsArea.CreatedUserName = wmsArea.UpdatedUserName = SysHelper.GetUserName(); + wmsArea.CreatedTime = wmsArea.UpdatedTime = SysHelper.GetNowTime(); + await _wmsAreaRep.InsertAsync(wmsArea); + } + + /// <summary> + /// 鍒犻櫎搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsArea/delete")] + public async Task Delete(DeleteWmsAreaInput input) + { + var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Id); + await _wmsAreaRep.DeleteAsync(wmsArea); + + } + + /// <summary> + /// 鏇存柊搴撳尯淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsArea/edit")] + public async Task Update(UpdateWmsAreaInput input) + { + var isExist = await _wmsAreaRep.AnyAsync(u => u.Id == input.Id, false); + if (!isExist) throw Oops.Oh(ErrorCode.D1002); + + var wmsArea = input.Adapt<WmsArea>(); + //楠岃瘉 + await CheckExisit(wmsArea,true); + + wmsArea.UpdatedUserId = SysHelper.GetUserId(); + wmsArea.UpdatedUserName = SysHelper.GetUserName(); + wmsArea.UpdatedTime = SysHelper.GetNowTime(); + await _wmsAreaRep.UpdateAsync(wmsArea,ignoreNullValues:true); + } + + #endregion + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘 + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost("WmsArea/importExcel")] + public async Task<int> ImportExcelAsync(IFormFile file) + { + int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕 + int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁 + + DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); + var addList =await CommonImport(importDataTable, _DataStartLine); + + lock (_lock) + { + _wmsAreaRep.InsertAsync(addList); + + } + await Task.CompletedTask; + return addList.Count; + } + + /// <summary> + /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + /// </summary> + /// <param name="dataTable"></param> + /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + /// <returns></returns> + private async Task<List<WmsArea>> CommonImport(DataTable dataTable, int dataStartLine) + { + + var details = new List<WmsArea>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new WmsArea() + { + CreatedTime = SysHelper.GetNowTime(), + CreatedUserId = SysHelper.GetUserId(), + CreatedUserName = SysHelper.GetUserName(), + UpdatedTime = SysHelper.GetNowTime(), + UpdatedUserId = SysHelper.GetUserId(), + UpdatedUserName = SysHelper.GetUserName() + }; + #region 瀹氫箟鍙橀噺 + var _AreaCode = "";//搴撳尯缂栫爜 + var _WarehouseCode = "";//浠撳簱缂栧彿 + var _WarehouseName = "";//浠撳簱鍚嶇О + var _AreaName = "";//搴撳尯鍚嶇О + var _AreaDesc = "";//搴撳尯鎻忚堪 + var _AreaStatus = "";//搴撳尯鐘舵�� + var _ErpCode = "";//ERP浠g爜 + var _WarehouseId = "";//鎵�灞炰粨搴� + var _IsBarcodeLevelControl = "";//闆朵欢绾х鎺� + var _IsFIFO = "";//妫�楠屽厛杩涘厛鍑� + var _IsPartLevelControl = "";//闆朵欢绾х鎺� + var _IsAllowConfusion = "";//鍏佽娣锋穯 + var _IsAllowNegativeInventory = "";//鍏佽璐熷簱瀛� + var _IsVirtually = "";//鏄惁铏氭嫙 + var _IsDisabled = "";//鏄惁绂佺敤 + var _Id = "";//Id涓婚敭 + #endregion + + + #region 鍙栧�� + _AreaCode = row["搴撳尯缂栫爜"]?.ToString() ; + _WarehouseCode = row["浠撳簱缂栧彿"]?.ToString() ; + _WarehouseName = row["浠撳簱鍚嶇О"]?.ToString() ; + _AreaName = row["搴撳尯鍚嶇О"]?.ToString() ; + _AreaDesc = row["搴撳尯鎻忚堪"]?.ToString() ; + _AreaStatus = row["搴撳尯鐘舵��"]?.ToString() ; + _ErpCode = row["ERP浠g爜"]?.ToString() ; + _WarehouseId = row["鎵�灞炰粨搴�"]?.ToString() ; + _IsBarcodeLevelControl = row["闆朵欢绾х鎺�"]?.ToString() ; + _IsFIFO = row["妫�楠屽厛杩涘厛鍑�"]?.ToString() ; + _IsPartLevelControl = row["闆朵欢绾х鎺�"]?.ToString() ; + _IsAllowConfusion = row["鍏佽娣锋穯"]?.ToString() ; + _IsAllowNegativeInventory = row["鍏佽璐熷簱瀛�"]?.ToString() ; + _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ; + _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; + _Id = row["Id涓婚敭"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_AreaCode)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撳尯缂栫爜]{_AreaCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_AreaCode)) + { + addItem.AreaCode = (string)_AreaCode; + } + + if (string.IsNullOrEmpty(_WarehouseCode)) + { + throw Oops.Oh($"绗瑊index}琛孾浠撳簱缂栧彿]{_WarehouseCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_WarehouseCode)) + { + addItem.WarehouseCode = (string)_WarehouseCode; + } + + if (string.IsNullOrEmpty(_WarehouseName)) + { + throw Oops.Oh($"绗瑊index}琛孾浠撳簱鍚嶇О]{_WarehouseName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_WarehouseName)) + { + addItem.WarehouseName = (string)_WarehouseName; + } + + if (string.IsNullOrEmpty(_AreaName)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撳尯鍚嶇О]{_AreaName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_AreaName)) + { + addItem.AreaName = (string)_AreaName; + } + if(!string.IsNullOrEmpty(_AreaDesc)) + { + addItem.AreaDesc = (string)_AreaDesc; + } + + if (string.IsNullOrEmpty(_AreaStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_AreaStatus)) + { + if (!int.TryParse(_AreaStatus, out int outAreaStatus)&&!string.IsNullOrEmpty(_AreaStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}鍊间笉姝g‘锛�"); + } + if (outAreaStatus <= 0&&!string.IsNullOrEmpty(_AreaStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.AreaStatus = outAreaStatus; + } + + } + + if (string.IsNullOrEmpty(_ErpCode)) + { + throw Oops.Oh($"绗瑊index}琛孾ERP浠g爜]{_ErpCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_ErpCode)) + { + addItem.ErpCode = (string)_ErpCode; + } + + if (string.IsNullOrEmpty(_WarehouseId)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_WarehouseId)) + { + if (!long.TryParse(_WarehouseId, out long outWarehouseId)&&!string.IsNullOrEmpty(_WarehouseId)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}鍊间笉姝g‘锛�"); + } + if (outWarehouseId <= 0&&!string.IsNullOrEmpty(_WarehouseId)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.WarehouseId = outWarehouseId; + } + + } + + if (string.IsNullOrEmpty(_IsBarcodeLevelControl)) + { + throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsBarcodeLevelControl}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsBarcodeLevelControl)) + { + if(!_IsBarcodeLevelControl.Equals("鏄�") && !_IsBarcodeLevelControl.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsBarcodeLevelControl}鍊间笉姝g‘锛�"); + } + else + { + bool outIsBarcodeLevelControl = _IsBarcodeLevelControl.Equals("鏄�") ? true : false; + addItem.IsBarcodeLevelControl = outIsBarcodeLevelControl; + } + } + + + if (string.IsNullOrEmpty(_IsFIFO)) + { + throw Oops.Oh($"绗瑊index}琛孾妫�楠屽厛杩涘厛鍑篯{_IsFIFO}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsFIFO)) + { + if(!_IsFIFO.Equals("鏄�") && !_IsFIFO.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾妫�楠屽厛杩涘厛鍑篯{_IsFIFO}鍊间笉姝g‘锛�"); + } + else + { + bool outIsFIFO = _IsFIFO.Equals("鏄�") ? true : false; + addItem.IsFIFO = outIsFIFO; + } + } + + + if (string.IsNullOrEmpty(_IsPartLevelControl)) + { + throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsPartLevelControl}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsPartLevelControl)) + { + if(!_IsPartLevelControl.Equals("鏄�") && !_IsPartLevelControl.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsPartLevelControl}鍊间笉姝g‘锛�"); + } + else + { + bool outIsPartLevelControl = _IsPartLevelControl.Equals("鏄�") ? true : false; + addItem.IsPartLevelControl = outIsPartLevelControl; + } + } + + + if (string.IsNullOrEmpty(_IsAllowConfusion)) + { + throw Oops.Oh($"绗瑊index}琛孾鍏佽娣锋穯]{_IsAllowConfusion}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsAllowConfusion)) + { + if(!_IsAllowConfusion.Equals("鏄�") && !_IsAllowConfusion.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鍏佽娣锋穯]{_IsAllowConfusion}鍊间笉姝g‘锛�"); + } + else + { + bool outIsAllowConfusion = _IsAllowConfusion.Equals("鏄�") ? true : false; + addItem.IsAllowConfusion = outIsAllowConfusion; + } + } + + + if (string.IsNullOrEmpty(_IsAllowNegativeInventory)) + { + throw Oops.Oh($"绗瑊index}琛孾鍏佽璐熷簱瀛榏{_IsAllowNegativeInventory}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsAllowNegativeInventory)) + { + if(!_IsAllowNegativeInventory.Equals("鏄�") && !_IsAllowNegativeInventory.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鍏佽璐熷簱瀛榏{_IsAllowNegativeInventory}鍊间笉姝g‘锛�"); + } + else + { + bool outIsAllowNegativeInventory = _IsAllowNegativeInventory.Equals("鏄�") ? true : false; + addItem.IsAllowNegativeInventory = outIsAllowNegativeInventory; + } + } + + if(!string.IsNullOrEmpty(_IsVirtually)) + { + if(!_IsVirtually.Equals("鏄�") && !_IsVirtually.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�"); + } + else + { + bool outIsVirtually = _IsVirtually.Equals("鏄�") ? true : false; + addItem.IsVirtually = outIsVirtually; + } + } + + if(!string.IsNullOrEmpty(_IsDisabled)) + { + if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�"); + } + else + { + bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; + addItem.IsDisabled = outIsDisabled; + } + } + + if(!string.IsNullOrEmpty(_Id)) + { + if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); + } + if (outId <= 0&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Id = outId; + } + + } + #endregion + + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <param name="version">妯℃澘鐗堟湰</param> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet("WmsArea/downloadExcelTemplate")] + public IActionResult DownloadExcelTemplate([FromQuery] string version) + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsArea{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(搴撳尯淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + /// </summary> + /// <param name="input"></param> + /// <param name="isEdit"></param> + /// <returns></returns> + private async Task CheckExisit( WmsArea input,bool isEdit=false) + { + + + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsAreaRep.AnyAsync(u => + u.AreaCode.Equals(input.AreaCode) + ,false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _wmsAreaRep.AnyAsync(u => + u.Id != input.Id + &&u.AreaCode.Equals(input.AreaCode) + ,false); + } + + + + if (isExist) throw Oops.Oh(ErrorCode.E0001); + } + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<WmsArea> inputs) + { + //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.AreaCode + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.AreaCode + }).FirstOrDefault(); + if (existExcelItem != null) + { + var wmsArea = existExcelItem.Adapt<WmsArea>(); + var item= existExcelItem.Adapt<WmsArea>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,搴撳尯缂栫爜[{item.AreaCode}]宸插瓨鍦�"); + } + + + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(w=> + inputs.Select(s=>"" + +s.AreaCode + ) + .Contains("" + +w.AreaCode + )); + if (existDBItem != null) + { + var wmsArea = existExcelItem.Adapt<WmsArea>(); + var item= existExcelItem.Adapt<WmsArea>(); + throw Oops.Oh($"绯荤粺涓�,搴撳尯缂栫爜[{item.AreaCode}]宸插瓨鍦�"); + } + } + + #endregion + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs new file mode 100644 index 0000000..665f26c --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs @@ -0,0 +1,348 @@ +锘縰sing Admin.NET.Core; +using Admin.NET.Core.Service; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application +{ + + /// <summary> + /// 瀹瑰櫒淇℃伅鏌ヨ鍙傛暟 + /// </summary> + public class WmsContainerSearch : PageInputBase + { + /// <summary> + /// 缂栧彿 + /// </summary> + public virtual string ContainerCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public virtual string ContainerName { get; set; } + + /// <summary> + /// 绫诲瀷ID + /// </summary> + public virtual long? ContainerTypeId { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public virtual string ContainerTypeName { get; set; } + + /// <summary> + /// 瀹瑰櫒鍏崇郴ID + /// </summary> + public virtual long? PackagingId { get; set; } + + /// <summary> + /// 闀垮害 + /// </summary> + public virtual decimal? SpecLength { get; set; } + + /// <summary> + /// 瀹藉害 + /// </summary> + public virtual decimal? SpecWidth { get; set; } + + /// <summary> + /// 楂樺害 + /// </summary> + public virtual decimal? SpecHeight { get; set; } + + /// <summary> + /// 闄愰暱 + /// </summary> + public virtual decimal? LimitLength { get; set; } + + /// <summary> + /// 闄愬 + /// </summary> + public virtual decimal? LimitWidth { get; set; } + + /// <summary> + /// 闄愰珮 + /// </summary> + public virtual decimal? LimitHeight { get; set; } + + /// <summary> + /// 杞介噸涓婇檺 + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鐖跺鍣ㄥ悕绉� + /// </summary> + public virtual string ParentContainerName { get; set; } + + /// <summary> + /// 鐖跺鍣↖d + /// </summary> + public virtual long? ParentContainerId { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual int? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<string> CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<string> UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + /// </summary> + public class WmsContainerSearchNonPage : PageInputNonPageBase + { + /// <summary> + /// 缂栧彿 + /// </summary> + public virtual string ContainerCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public virtual string ContainerName { get; set; } + + /// <summary> + /// 绫诲瀷ID + /// </summary> + public virtual long? ContainerTypeId { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public virtual string ContainerTypeName { get; set; } + + /// <summary> + /// 瀹瑰櫒鍏崇郴ID + /// </summary> + public virtual long? PackagingId { get; set; } + + /// <summary> + /// 闀垮害 + /// </summary> + public virtual decimal? SpecLength { get; set; } + + /// <summary> + /// 瀹藉害 + /// </summary> + public virtual decimal? SpecWidth { get; set; } + + /// <summary> + /// 楂樺害 + /// </summary> + public virtual decimal? SpecHeight { get; set; } + + /// <summary> + /// 闄愰暱 + /// </summary> + public virtual decimal? LimitLength { get; set; } + + /// <summary> + /// 闄愬 + /// </summary> + public virtual decimal? LimitWidth { get; set; } + + /// <summary> + /// 闄愰珮 + /// </summary> + public virtual decimal? LimitHeight { get; set; } + + /// <summary> + /// 杞介噸涓婇檺 + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鐖跺鍣ㄥ悕绉� + /// </summary> + public virtual string ParentContainerName { get; set; } + + /// <summary> + /// 鐖跺鍣↖d + /// </summary> + public virtual long? ParentContainerId { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual int? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒淇℃伅杈撳叆鍙傛暟 + /// </summary> + public class WmsContainerInput + { + /// <summary> + /// 缂栧彿 + /// </summary> + [Required(ErrorMessage = "缂栧彿涓嶈兘涓虹┖")] + public virtual string ContainerCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")] + public virtual string ContainerName { get; set; } + + /// <summary> + /// 绫诲瀷ID + /// </summary> + [Required(ErrorMessage = "绫诲瀷ID涓嶈兘涓虹┖")] + public virtual long ContainerTypeId { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + [Required(ErrorMessage = "绫诲瀷鍚嶇О涓嶈兘涓虹┖")] + public virtual string ContainerTypeName { get; set; } + + /// <summary> + /// 瀹瑰櫒鍏崇郴ID + /// </summary> + [Required(ErrorMessage = "瀹瑰櫒鍏崇郴ID涓嶈兘涓虹┖")] + public virtual long PackagingId { get; set; } + + /// <summary> + /// 闀垮害 + /// </summary> + public virtual decimal? SpecLength { get; set; } + + /// <summary> + /// 瀹藉害 + /// </summary> + public virtual decimal? SpecWidth { get; set; } + + /// <summary> + /// 楂樺害 + /// </summary> + public virtual decimal? SpecHeight { get; set; } + + /// <summary> + /// 闄愰暱 + /// </summary> + public virtual decimal? LimitLength { get; set; } + + /// <summary> + /// 闄愬 + /// </summary> + public virtual decimal? LimitWidth { get; set; } + + /// <summary> + /// 闄愰珮 + /// </summary> + public virtual decimal? LimitHeight { get; set; } + + /// <summary> + /// 杞介噸涓婇檺 + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鐖跺鍣ㄥ悕绉� + /// </summary> + public virtual string ParentContainerName { get; set; } + + /// <summary> + /// 鐖跺鍣↖d + /// </summary> + public virtual long? ParentContainerId { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual int? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒淇℃伅鏂板鍙傛暟 + /// </summary> + public class AddWmsContainerInput : WmsContainerInput + { + } + + /// <summary> + /// 瀹瑰櫒淇℃伅鍒犻櫎鍙傛暟 + /// </summary> + public class DeleteWmsContainerInput : BaseId + { + } + + /// <summary> + /// 瀹瑰櫒淇℃伅鏇存柊鍙傛暟 + /// </summary> + public class UpdateWmsContainerInput : WmsContainerInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long? Id { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒淇℃伅鑾峰彇鍗曚釜鍙傛暟 + /// </summary> + public class QueryeWmsContainerInput : BaseId + { + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs new file mode 100644 index 0000000..fdb5903 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs @@ -0,0 +1,117 @@ +锘縰sing Admin.NET.Core.Util.LowCode.Dto; +using System; + +namespace Admin.NET.Application +{ + /// <summary> + /// 瀹瑰櫒淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WmsContainerOutput + { + /// <summary> + /// 缂栧彿 + /// </summary> + public string ContainerCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public string ContainerName { get; set; } + + /// <summary> + /// 绫诲瀷ID + /// </summary> + public long ContainerTypeId { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public string ContainerTypeName { get; set; } + + /// <summary> + /// 瀹瑰櫒鍏崇郴ID + /// </summary> + public long PackagingId { get; set; } + + /// <summary> + /// 闀垮害 + /// </summary> + public decimal? SpecLength { get; set; } + + /// <summary> + /// 瀹藉害 + /// </summary> + public decimal? SpecWidth { get; set; } + + /// <summary> + /// 楂樺害 + /// </summary> + public decimal? SpecHeight { get; set; } + + /// <summary> + /// 闄愰暱 + /// </summary> + public decimal? LimitLength { get; set; } + + /// <summary> + /// 闄愬 + /// </summary> + public decimal? LimitWidth { get; set; } + + /// <summary> + /// 闄愰珮 + /// </summary> + public decimal? LimitHeight { get; set; } + + /// <summary> + /// 杞介噸涓婇檺 + /// </summary> + public decimal? MaxWeight { get; set; } + + /// <summary> + /// 鐖跺鍣ㄥ悕绉� + /// </summary> + public string ParentContainerName { get; set; } + + /// <summary> + /// 鐖跺鍣↖d + /// </summary> + public long? ParentContainerId { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public int? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTimeOffset? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public string UpdatedUserName { get; set; } + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs new file mode 100644 index 0000000..6f85e30 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs @@ -0,0 +1,22 @@ +锘縰sing Admin.NET.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Admin.NET.Application +{ + public interface IWmsContainerService + { + Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input); + Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input); + Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input); + Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input); + + Task Add(AddWmsContainerInput input); + Task Update(UpdateWmsContainerInput input); + Task Delete(DeleteWmsContainerInput input); + Task<int> ImportExcelAsync(IFormFile file); + IActionResult DownloadExcelTemplate(string version); + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs similarity index 75% rename from iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs rename to iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs index ade3147..e9c8026 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs @@ -3,15 +3,8 @@ namespace Admin.NET.Application { - /// <summary> - /// - /// </summary> public class WmsContainerMapper : IRegister { - /// <summary> - /// - /// </summary> - /// <param name="config"></param> public void Register(TypeAdapterConfig config) { config.ForType<AddWmsContainerInput, WmsContainer>() diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs new file mode 100644 index 0000000..a1ed450 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs @@ -0,0 +1,670 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Admin.NET.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using Microsoft.AspNetCore.Http; +using System.Text; +using System.Web; +using System.ComponentModel; +using System.Data; +namespace Admin.NET.Application +{ + /// <summary> + /// 瀹瑰櫒淇℃伅鏈嶅姟 + /// </summary> + [ApiDescriptionSettings("WmsBase", Name = "WmsContainer", Order = 100)] + [Route("api")] + public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient + { + private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep; + private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; + private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; + private readonly ISysExcelTemplateService _sysExcelTemplateService; + private readonly static object _lock = new(); + + public WmsContainerService( + IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep + ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep + ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep + ,ISysExcelTemplateService sysExcelTemplateService + ) + { + _wmsContainerRep = wmsContainerRep; + _sysDictTypeRep = sysDictTypeRep; + _sysDictDataRep = sysDictDataRep; + _sysExcelTemplateService = sysExcelTemplateService; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ瀹瑰櫒淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainer/page")] + public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input) + { + var wmsContainers = await _wmsContainerRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.ContainerCode), u => u.ContainerCode == input.ContainerCode) + .Where(!string.IsNullOrEmpty(input.ContainerName), u => u.ContainerName == input.ContainerName) + .Where(input.ContainerTypeId != null, u => u.ContainerTypeId == input.ContainerTypeId) + .Where(!string.IsNullOrEmpty(input.ContainerTypeName), u => u.ContainerTypeName == input.ContainerTypeName) + .Where(input.PackagingId != null, u => u.PackagingId == input.PackagingId) + .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength) + .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth) + .Where(input.SpecHeight != null, u => u.SpecHeight == input.SpecHeight) + .Where(input.LimitLength != null, u => u.LimitLength == input.LimitLength) + .Where(input.LimitWidth != null, u => u.LimitWidth == input.LimitWidth) + .Where(input.LimitHeight != null, u => u.LimitHeight == input.LimitHeight) + .Where(input.MaxWeight != null, u => u.MaxWeight == input.MaxWeight) + .Where(!string.IsNullOrEmpty(input.ParentContainerName), u => u.ParentContainerName == input.ParentContainerName) + .Where(input.ParentContainerId != null, u => u.ParentContainerId == input.ParentContainerId) + .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually) + .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName) + .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName) + .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input)) + .ProjectToType<WmsContainerOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return wmsContainers; + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈠鍣ㄤ俊鎭垪琛� + /// </summary> + /// <param name="input">瀹瑰櫒淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(瀹瑰櫒淇℃伅)瀹炰緥鍒楄〃</returns> + [HttpGet("WmsContainer/listNonPage")] + public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input) + { + var pContainerCode = input.ContainerCode?.Trim() ?? ""; + var pContainerName = input.ContainerName?.Trim() ?? ""; + var pContainerTypeId = input.ContainerTypeId; + var pContainerTypeName = input.ContainerTypeName?.Trim() ?? ""; + var pPackagingId = input.PackagingId; + var pSpecLength = input.SpecLength; + var pSpecWidth = input.SpecWidth; + var pSpecHeight = input.SpecHeight; + var pLimitLength = input.LimitLength; + var pLimitWidth = input.LimitWidth; + var pLimitHeight = input.LimitHeight; + var pMaxWeight = input.MaxWeight; + var pParentContainerName = input.ParentContainerName?.Trim() ?? ""; + var pParentContainerId = input.ParentContainerId; + var pIsVirtually = input.IsVirtually; + var pIsDisabled = input.IsDisabled; + var pCreatedTime = input.CreatedTime; + var pUpdatedTime = input.UpdatedTime; + var pCreatedUserName = input.CreatedUserName?.Trim() ?? ""; + var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; + var wmsContainers = await _wmsContainerRep.DetachedEntities + .Where(!string.IsNullOrEmpty(pContainerCode), u => u.ContainerCode == pContainerCode) + .Where(!string.IsNullOrEmpty(pContainerName), u => u.ContainerName == pContainerName) + .Where(pContainerTypeId != null, u => u.ContainerTypeId == pContainerTypeId) + .Where(!string.IsNullOrEmpty(pContainerTypeName), u => u.ContainerTypeName == pContainerTypeName) + .Where(pPackagingId != null, u => u.PackagingId == pPackagingId) + .Where(pSpecLength != null, u => u.SpecLength == pSpecLength) + .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth) + .Where(pSpecHeight != null, u => u.SpecHeight == pSpecHeight) + .Where(pLimitLength != null, u => u.LimitLength == pLimitLength) + .Where(pLimitWidth != null, u => u.LimitWidth == pLimitWidth) + .Where(pLimitHeight != null, u => u.LimitHeight == pLimitHeight) + .Where(pMaxWeight != null, u => u.MaxWeight == pMaxWeight) + .Where(!string.IsNullOrEmpty(pParentContainerName), u => u.ParentContainerName == pParentContainerName) + .Where(pParentContainerId != null, u => u.ParentContainerId == pParentContainerId) + .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually) + .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName) + .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName) + .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) + .ProjectToType<WmsContainerOutput>() + .ToListAsync(); + return wmsContainers; + } + + /// <summary> + /// 鑾峰彇瀹瑰櫒淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainer/detail")] + public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input) + { + return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>(); + } + + /// <summary> + /// 鑾峰彇瀹瑰櫒淇℃伅鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainer/list")] + public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input) + { + return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().ToListAsync(); + } + + #region 澧炪�佸垹銆佹敼 + + /// <summary> + /// 澧炲姞瀹瑰櫒淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainer/add")] + public async Task Add(AddWmsContainerInput input) + { + var wmsContainer = input.Adapt<WmsContainer>(); + //楠岃瘉 + await CheckExisit(wmsContainer); + + wmsContainer.CreatedUserId = wmsContainer.UpdatedUserId = SysHelper.GetUserId(); + wmsContainer.CreatedUserName = wmsContainer.UpdatedUserName = SysHelper.GetUserName(); + wmsContainer.CreatedTime = wmsContainer.UpdatedTime = SysHelper.GetNowTime(); + await _wmsContainerRep.InsertAsync(wmsContainer); + } + + /// <summary> + /// 鍒犻櫎瀹瑰櫒淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainer/delete")] + public async Task Delete(DeleteWmsContainerInput input) + { + var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id); + await _wmsContainerRep.DeleteAsync(wmsContainer); + + } + + /// <summary> + /// 鏇存柊瀹瑰櫒淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainer/edit")] + public async Task Update(UpdateWmsContainerInput input) + { + var isExist = await _wmsContainerRep.AnyAsync(u => u.Id == input.Id, false); + if (!isExist) throw Oops.Oh(ErrorCode.D1002); + + var wmsContainer = input.Adapt<WmsContainer>(); + //楠岃瘉 + await CheckExisit(wmsContainer,true); + + wmsContainer.UpdatedUserId = SysHelper.GetUserId(); + wmsContainer.UpdatedUserName = SysHelper.GetUserName(); + wmsContainer.UpdatedTime = SysHelper.GetNowTime(); + await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true); + } + + #endregion + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆瀹瑰櫒淇℃伅鍔熻兘 + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost("WmsContainer/importExcel")] + public async Task<int> ImportExcelAsync(IFormFile file) + { + int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕 + int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁 + + DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); + var addList =await CommonImport(importDataTable, _DataStartLine); + + lock (_lock) + { + _wmsContainerRep.InsertAsync(addList); + + } + await Task.CompletedTask; + return addList.Count; + } + + /// <summary> + /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + /// </summary> + /// <param name="dataTable"></param> + /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + /// <returns></returns> + private async Task<List<WmsContainer>> CommonImport(DataTable dataTable, int dataStartLine) + { + + var details = new List<WmsContainer>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new WmsContainer() + { + CreatedTime = SysHelper.GetNowTime(), + CreatedUserId = SysHelper.GetUserId(), + CreatedUserName = SysHelper.GetUserName(), + UpdatedTime = SysHelper.GetNowTime(), + UpdatedUserId = SysHelper.GetUserId(), + UpdatedUserName = SysHelper.GetUserName() + }; + #region 瀹氫箟鍙橀噺 + var _ContainerCode = "";//缂栧彿 + var _ContainerName = "";//鍚嶇О + var _ContainerTypeId = "";//绫诲瀷ID + var _ContainerTypeName = "";//绫诲瀷鍚嶇О + var _PackagingId = "";//瀹瑰櫒鍏崇郴ID + var _SpecLength = "";//闀垮害 + var _SpecWidth = "";//瀹藉害 + var _SpecHeight = "";//楂樺害 + var _LimitLength = "";//闄愰暱 + var _LimitWidth = "";//闄愬 + var _LimitHeight = "";//闄愰珮 + var _MaxWeight = "";//杞介噸涓婇檺 + var _ParentContainerName = "";//鐖跺鍣ㄥ悕绉� + var _ParentContainerId = "";//鐖跺鍣↖d + var _IsVirtually = "";//鏄惁铏氭嫙 + var _IsDisabled = "";//鏄惁绂佺敤 + var _Id = "";//Id涓婚敭 + #endregion + + + #region 鍙栧�� + _ContainerCode = row["缂栧彿"]?.ToString() ; + _ContainerName = row["鍚嶇О"]?.ToString() ; + _ContainerTypeId = row["绫诲瀷ID"]?.ToString() ; + _ContainerTypeName = row["绫诲瀷鍚嶇О"]?.ToString() ; + _PackagingId = row["瀹瑰櫒鍏崇郴ID"]?.ToString() ; + _SpecLength = row["闀垮害"]?.ToString() ; + _SpecWidth = row["瀹藉害"]?.ToString() ; + _SpecHeight = row["楂樺害"]?.ToString() ; + _LimitLength = row["闄愰暱"]?.ToString() ; + _LimitWidth = row["闄愬"]?.ToString() ; + _LimitHeight = row["闄愰珮"]?.ToString() ; + _MaxWeight = row["杞介噸涓婇檺"]?.ToString() ; + _ParentContainerName = row["鐖跺鍣ㄥ悕绉�"]?.ToString() ; + _ParentContainerId = row["鐖跺鍣↖d"]?.ToString() ; + _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ; + _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; + _Id = row["Id涓婚敭"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_ContainerCode)) + { + throw Oops.Oh($"绗瑊index}琛孾缂栧彿]{_ContainerCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_ContainerCode)) + { + addItem.ContainerCode = (string)_ContainerCode; + } + + if (string.IsNullOrEmpty(_ContainerName)) + { + throw Oops.Oh($"绗瑊index}琛孾鍚嶇О]{_ContainerName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_ContainerName)) + { + addItem.ContainerName = (string)_ContainerName; + } + + if (string.IsNullOrEmpty(_ContainerTypeId)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_ContainerTypeId)) + { + if (!long.TryParse(_ContainerTypeId, out long outContainerTypeId)&&!string.IsNullOrEmpty(_ContainerTypeId)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}鍊间笉姝g‘锛�"); + } + if (outContainerTypeId <= 0&&!string.IsNullOrEmpty(_ContainerTypeId)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.ContainerTypeId = outContainerTypeId; + } + + } + + if (string.IsNullOrEmpty(_ContainerTypeName)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷鍚嶇О]{_ContainerTypeName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_ContainerTypeName)) + { + addItem.ContainerTypeName = (string)_ContainerTypeName; + } + + if (string.IsNullOrEmpty(_PackagingId)) + { + throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PackagingId)) + { + if (!long.TryParse(_PackagingId, out long outPackagingId)&&!string.IsNullOrEmpty(_PackagingId)) + { + throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}鍊间笉姝g‘锛�"); + } + if (outPackagingId <= 0&&!string.IsNullOrEmpty(_PackagingId)) + { + throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.PackagingId = outPackagingId; + } + + } + if(!string.IsNullOrEmpty(_SpecLength)) + { + if (!decimal.TryParse(_SpecLength, out decimal outSpecLength)&&!string.IsNullOrEmpty(_SpecLength)) + { + throw Oops.Oh($"绗瑊index}琛孾闀垮害]{_SpecLength}鍊间笉姝g‘锛�"); + } + if (outSpecLength <= 0&&!string.IsNullOrEmpty(_SpecLength)) + { + throw Oops.Oh($"绗瑊index}琛孾闀垮害]{_SpecLength}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.SpecLength = outSpecLength; + } + + } + if(!string.IsNullOrEmpty(_SpecWidth)) + { + if (!decimal.TryParse(_SpecWidth, out decimal outSpecWidth)&&!string.IsNullOrEmpty(_SpecWidth)) + { + throw Oops.Oh($"绗瑊index}琛孾瀹藉害]{_SpecWidth}鍊间笉姝g‘锛�"); + } + if (outSpecWidth <= 0&&!string.IsNullOrEmpty(_SpecWidth)) + { + throw Oops.Oh($"绗瑊index}琛孾瀹藉害]{_SpecWidth}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.SpecWidth = outSpecWidth; + } + + } + if(!string.IsNullOrEmpty(_SpecHeight)) + { + if (!decimal.TryParse(_SpecHeight, out decimal outSpecHeight)&&!string.IsNullOrEmpty(_SpecHeight)) + { + throw Oops.Oh($"绗瑊index}琛孾楂樺害]{_SpecHeight}鍊间笉姝g‘锛�"); + } + if (outSpecHeight <= 0&&!string.IsNullOrEmpty(_SpecHeight)) + { + throw Oops.Oh($"绗瑊index}琛孾楂樺害]{_SpecHeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.SpecHeight = outSpecHeight; + } + + } + if(!string.IsNullOrEmpty(_LimitLength)) + { + if (!decimal.TryParse(_LimitLength, out decimal outLimitLength)&&!string.IsNullOrEmpty(_LimitLength)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愰暱]{_LimitLength}鍊间笉姝g‘锛�"); + } + if (outLimitLength <= 0&&!string.IsNullOrEmpty(_LimitLength)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愰暱]{_LimitLength}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.LimitLength = outLimitLength; + } + + } + if(!string.IsNullOrEmpty(_LimitWidth)) + { + if (!decimal.TryParse(_LimitWidth, out decimal outLimitWidth)&&!string.IsNullOrEmpty(_LimitWidth)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愬]{_LimitWidth}鍊间笉姝g‘锛�"); + } + if (outLimitWidth <= 0&&!string.IsNullOrEmpty(_LimitWidth)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愬]{_LimitWidth}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.LimitWidth = outLimitWidth; + } + + } + if(!string.IsNullOrEmpty(_LimitHeight)) + { + if (!decimal.TryParse(_LimitHeight, out decimal outLimitHeight)&&!string.IsNullOrEmpty(_LimitHeight)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愰珮]{_LimitHeight}鍊间笉姝g‘锛�"); + } + if (outLimitHeight <= 0&&!string.IsNullOrEmpty(_LimitHeight)) + { + throw Oops.Oh($"绗瑊index}琛孾闄愰珮]{_LimitHeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.LimitHeight = outLimitHeight; + } + + } + if(!string.IsNullOrEmpty(_MaxWeight)) + { + if (!decimal.TryParse(_MaxWeight, out decimal outMaxWeight)&&!string.IsNullOrEmpty(_MaxWeight)) + { + throw Oops.Oh($"绗瑊index}琛孾杞介噸涓婇檺]{_MaxWeight}鍊间笉姝g‘锛�"); + } + if (outMaxWeight <= 0&&!string.IsNullOrEmpty(_MaxWeight)) + { + throw Oops.Oh($"绗瑊index}琛孾杞介噸涓婇檺]{_MaxWeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.MaxWeight = outMaxWeight; + } + + } + if(!string.IsNullOrEmpty(_ParentContainerName)) + { + addItem.ParentContainerName = (string)_ParentContainerName; + } + if(!string.IsNullOrEmpty(_ParentContainerId)) + { + if (!long.TryParse(_ParentContainerId, out long outParentContainerId)&&!string.IsNullOrEmpty(_ParentContainerId)) + { + throw Oops.Oh($"绗瑊index}琛孾鐖跺鍣↖d]{_ParentContainerId}鍊间笉姝g‘锛�"); + } + if (outParentContainerId <= 0&&!string.IsNullOrEmpty(_ParentContainerId)) + { + throw Oops.Oh($"绗瑊index}琛孾鐖跺鍣↖d]{_ParentContainerId}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.ParentContainerId = outParentContainerId; + } + + } + if(!string.IsNullOrEmpty(_IsVirtually)) + { + if (!int.TryParse(_IsVirtually, out int outIsVirtually)&&!string.IsNullOrEmpty(_IsVirtually)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�"); + } + if (outIsVirtually <= 0&&!string.IsNullOrEmpty(_IsVirtually)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.IsVirtually = outIsVirtually; + } + + } + if(!string.IsNullOrEmpty(_IsDisabled)) + { + if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�"); + } + else + { + bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; + addItem.IsDisabled = outIsDisabled; + } + } + + if(!string.IsNullOrEmpty(_Id)) + { + if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); + } + if (outId <= 0&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Id = outId; + } + + } + #endregion + + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <param name="version">妯℃澘鐗堟湰</param> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet("WmsContainer/downloadExcelTemplate")] + public IActionResult DownloadExcelTemplate([FromQuery] string version) + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainer{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + /// </summary> + /// <param name="input"></param> + /// <param name="isEdit"></param> + /// <returns></returns> + private async Task CheckExisit( WmsContainer input,bool isEdit=false) + { + + + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsContainerRep.AnyAsync(u => + u.ContainerCode.Equals(input.ContainerCode) + ,false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _wmsContainerRep.AnyAsync(u => + u.Id != input.Id + &&u.ContainerCode.Equals(input.ContainerCode) + ,false); + } + + + + if (isExist) throw Oops.Oh(ErrorCode.E0001); + } + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<WmsContainer> inputs) + { + //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.ContainerCode + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.ContainerCode + }).FirstOrDefault(); + if (existExcelItem != null) + { + var wmsContainer = existExcelItem.Adapt<WmsContainer>(); + var item= existExcelItem.Adapt<WmsContainer>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,缂栧彿[{item.ContainerCode}]宸插瓨鍦�"); + } + + + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(w=> + inputs.Select(s=>"" + +s.ContainerCode + ) + .Contains("" + +w.ContainerCode + )); + if (existDBItem != null) + { + var wmsContainer = existExcelItem.Adapt<WmsContainer>(); + var item= existExcelItem.Adapt<WmsContainer>(); + throw Oops.Oh($"绯荤粺涓�,缂栧彿[{item.ContainerCode}]宸插瓨鍦�"); + } + } + + #endregion + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs index 2339e48..98befd3 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs @@ -6,7 +6,7 @@ { /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁� + /// 瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟 /// </summary> public class WmsContainerPackagingSearch : PageInputBase { @@ -63,7 +63,7 @@ } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + /// 瀹瑰櫒鍏崇郴涓嶅垎椤垫煡璇㈠弬鏁� /// </summary> public class WmsContainerPackagingSearchNonPage : PageInputNonPageBase { @@ -120,7 +120,7 @@ } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍏ュ弬鏁� + /// 瀹瑰櫒鍏崇郴杈撳叆鍙傛暟 /// </summary> public class WmsContainerPackagingInput { @@ -163,21 +163,21 @@ } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ柊澧炲弬鏁� + /// 瀹瑰櫒鍏崇郴鏂板鍙傛暟 /// </summary> public class AddWmsContainerPackagingInput : WmsContainerPackagingInput { } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄥ垹闄ゅ弬鏁� + /// 瀹瑰櫒鍏崇郴鍒犻櫎鍙傛暟 /// </summary> public class DeleteWmsContainerPackagingInput : BaseId { } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ洿鏂板弬鏁� + /// 瀹瑰櫒鍏崇郴鏇存柊鍙傛暟 /// </summary> public class UpdateWmsContainerPackagingInput : WmsContainerPackagingInput { @@ -190,7 +190,7 @@ } /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ幏鍙栧崟涓弬鏁� + /// 瀹瑰櫒鍏崇郴鑾峰彇鍗曚釜鍙傛暟 /// </summary> public class QueryeWmsContainerPackagingInput : BaseId { diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs index b52ee08..f8fb339 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs @@ -4,7 +4,7 @@ namespace Admin.NET.Application { /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍑哄弬鏁� + /// 瀹瑰櫒鍏崇郴杈撳嚭鍙傛暟 /// </summary> public class WmsContainerPackagingOutput { diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs index b4ceca0..3b36ac6 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs @@ -16,7 +16,7 @@ namespace Admin.NET.Application { /// <summary> - /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ湇鍔� + /// 瀹瑰櫒鍏崇郴鏈嶅姟 /// </summary> [ApiDescriptionSettings("WmsBase", Name = "WmsContainerPackaging", Order = 100)] [Route("api")] @@ -42,7 +42,7 @@ } /// <summary> - /// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴鍩虹琛� + /// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -67,10 +67,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲熀纭�琛ㄥ垪琛� + /// 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲垪琛� /// </summary> - /// <param name="input">瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�</param> - /// <returns>(瀹瑰櫒鍏崇郴鍩虹琛�)瀹炰緥鍒楄〃</returns> + /// <param name="input">瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟</param> + /// <returns>(瀹瑰櫒鍏崇郴)瀹炰緥鍒楄〃</returns> [HttpGet("WmsContainerPackaging/listNonPage")] public async Task<List<WmsContainerPackagingOutput>> ListNonPageAsync([FromQuery] WmsContainerPackagingSearchNonPage input) { @@ -102,7 +102,7 @@ } /// <summary> - /// 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛� + /// 鑾峰彇瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -113,7 +113,7 @@ } /// <summary> - /// 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛ㄥ垪琛� + /// 鑾峰彇瀹瑰櫒鍏崇郴鍒楄〃 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -126,7 +126,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞瀹瑰櫒鍏崇郴鍩虹琛� + /// 澧炲姞瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -144,7 +144,7 @@ } /// <summary> - /// 鍒犻櫎瀹瑰櫒鍏崇郴鍩虹琛� + /// 鍒犻櫎瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -157,7 +157,7 @@ } /// <summary> - /// 鏇存柊瀹瑰櫒鍏崇郴鍩虹琛� + /// 鏇存柊瀹瑰櫒鍏崇郴 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -182,7 +182,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍩虹琛ㄥ姛鑳� + /// Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍔熻兘 /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -378,7 +378,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -386,7 +386,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainerPackaging{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; - var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒鍏崇郴鍩虹琛�).xlsx", Encoding.GetEncoding("UTF-8")); + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒鍏崇郴).xlsx", Encoding.GetEncoding("UTF-8")); return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; } diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs new file mode 100644 index 0000000..a0f8494 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs @@ -0,0 +1,197 @@ +锘縰sing Admin.NET.Core; +using Admin.NET.Core.Service; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application +{ + + /// <summary> + /// 瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟 + /// </summary> + public class WmsContainerTypeSearch : PageInputBase + { + /// <summary> + /// 绫诲瀷缂栧彿 + /// </summary> + public virtual string TypeCode { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public virtual string TypeName { get; set; } + + /// <summary> + /// 鏄惁鍥炴敹 + /// </summary> + public virtual bool? IsAllowReclaim { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public virtual string Unit { get; set; } + + /// <summary> + /// 浣跨敤鏈熼檺 + /// </summary> + public virtual string UsagePeriod { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<string> CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<string> UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷涓嶅垎椤垫煡璇㈠弬鏁� + /// </summary> + public class WmsContainerTypeSearchNonPage : PageInputNonPageBase + { + /// <summary> + /// 绫诲瀷缂栧彿 + /// </summary> + public virtual string TypeCode { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public virtual string TypeName { get; set; } + + /// <summary> + /// 鏄惁鍥炴敹 + /// </summary> + public virtual bool? IsAllowReclaim { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public virtual string Unit { get; set; } + + /// <summary> + /// 浣跨敤鏈熼檺 + /// </summary> + public virtual string UsagePeriod { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷杈撳叆鍙傛暟 + /// </summary> + public class WmsContainerTypeInput + { + /// <summary> + /// 绫诲瀷缂栧彿 + /// </summary> + [Required(ErrorMessage = "绫诲瀷缂栧彿涓嶈兘涓虹┖")] + public virtual string TypeCode { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + [Required(ErrorMessage = "绫诲瀷鍚嶇О涓嶈兘涓虹┖")] + public virtual string TypeName { get; set; } + + /// <summary> + /// 鏄惁鍥炴敹 + /// </summary> + [Required(ErrorMessage = "鏄惁鍥炴敹涓嶈兘涓虹┖")] + public virtual bool IsAllowReclaim { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [Required(ErrorMessage = "鍗曚綅涓嶈兘涓虹┖")] + public virtual string Unit { get; set; } + + /// <summary> + /// 浣跨敤鏈熼檺 + /// </summary> + public virtual string UsagePeriod { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷鏂板鍙傛暟 + /// </summary> + public class AddWmsContainerTypeInput : WmsContainerTypeInput + { + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷鍒犻櫎鍙傛暟 + /// </summary> + public class DeleteWmsContainerTypeInput : BaseId + { + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷鏇存柊鍙傛暟 + /// </summary> + public class UpdateWmsContainerTypeInput : WmsContainerTypeInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long? Id { get; set; } + + } + + /// <summary> + /// 瀹瑰櫒绫诲瀷鑾峰彇鍗曚釜鍙傛暟 + /// </summary> + public class QueryeWmsContainerTypeInput : BaseId + { + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs new file mode 100644 index 0000000..88f863b --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs @@ -0,0 +1,67 @@ +锘縰sing Admin.NET.Core.Util.LowCode.Dto; +using System; + +namespace Admin.NET.Application +{ + /// <summary> + /// 瀹瑰櫒绫诲瀷杈撳嚭鍙傛暟 + /// </summary> + public class WmsContainerTypeOutput + { + /// <summary> + /// 绫诲瀷缂栧彿 + /// </summary> + public string TypeCode { get; set; } + + /// <summary> + /// 绫诲瀷鍚嶇О + /// </summary> + public string TypeName { get; set; } + + /// <summary> + /// 鏄惁鍥炴敹 + /// </summary> + public bool IsAllowReclaim { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + public string Unit { get; set; } + + /// <summary> + /// 浣跨敤鏈熼檺 + /// </summary> + public string UsagePeriod { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTimeOffset? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public string UpdatedUserName { get; set; } + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs new file mode 100644 index 0000000..233fe8f --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs @@ -0,0 +1,22 @@ +锘縰sing Admin.NET.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Admin.NET.Application +{ + public interface IWmsContainerTypeService + { + Task<WmsContainerTypeOutput> Get([FromQuery] QueryeWmsContainerTypeInput input); + Task<List<WmsContainerTypeOutput>> List([FromQuery] WmsContainerTypeInput input); + Task<PageResult<WmsContainerTypeOutput>> Page([FromQuery] WmsContainerTypeSearch input); + Task<List<WmsContainerTypeOutput>> ListNonPageAsync([FromQuery] WmsContainerTypeSearchNonPage input); + + Task Add(AddWmsContainerTypeInput input); + Task Update(UpdateWmsContainerTypeInput input); + Task Delete(DeleteWmsContainerTypeInput input); + Task<int> ImportExcelAsync(IFormFile file); + IActionResult DownloadExcelTemplate(string version); + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs new file mode 100644 index 0000000..5819ed8 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs @@ -0,0 +1,18 @@ +锘縰sing Mapster; +using Admin.NET.Core; + +namespace Admin.NET.Application +{ + public class WmsContainerTypeMapper : IRegister + { + public void Register(TypeAdapterConfig config) + { + config.ForType<AddWmsContainerTypeInput, WmsContainerType>() + ; + config.ForType<UpdateWmsContainerTypeInput, WmsContainerType>() + ; + config.ForType<WmsContainerType, WmsContainerTypeOutput>() + ; + } + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs new file mode 100644 index 0000000..428b322 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs @@ -0,0 +1,451 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Admin.NET.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using Microsoft.AspNetCore.Http; +using System.Text; +using System.Web; +using System.ComponentModel; +using System.Data; +namespace Admin.NET.Application +{ + /// <summary> + /// 瀹瑰櫒绫诲瀷鏈嶅姟 + /// </summary> + [ApiDescriptionSettings("WmsBase", Name = "WmsContainerType", Order = 100)] + [Route("api")] + public class WmsContainerTypeService : IWmsContainerTypeService, IDynamicApiController, ITransient + { + private readonly IRepository<WmsContainerType,MasterDbContextLocator> _wmsContainerTypeRep; + private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; + private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; + private readonly ISysExcelTemplateService _sysExcelTemplateService; + private readonly static object _lock = new(); + + public WmsContainerTypeService( + IRepository<WmsContainerType,MasterDbContextLocator> wmsContainerTypeRep + ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep + ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep + ,ISysExcelTemplateService sysExcelTemplateService + ) + { + _wmsContainerTypeRep = wmsContainerTypeRep; + _sysDictTypeRep = sysDictTypeRep; + _sysDictDataRep = sysDictDataRep; + _sysExcelTemplateService = sysExcelTemplateService; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ瀹瑰櫒绫诲瀷 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainerType/page")] + public async Task<PageResult<WmsContainerTypeOutput>> Page([FromQuery] WmsContainerTypeSearch input) + { + var wmsContainerTypes = await _wmsContainerTypeRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.TypeCode), u => u.TypeCode == input.TypeCode) + .Where(!string.IsNullOrEmpty(input.TypeName), u => u.TypeName == input.TypeName) + .Where(input.IsAllowReclaim != null, u => u.IsAllowReclaim == input.IsAllowReclaim) + .Where(!string.IsNullOrEmpty(input.Unit), u => u.Unit == input.Unit) + .Where(!string.IsNullOrEmpty(input.UsagePeriod), u => u.UsagePeriod == input.UsagePeriod) + .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName) + .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName) + .OrderBy(PageInputOrder.OrderBuilder<WmsContainerTypeSearch>(input)) + .ProjectToType<WmsContainerTypeOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return wmsContainerTypes; + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈠鍣ㄧ被鍨嬪垪琛� + /// </summary> + /// <param name="input">瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟</param> + /// <returns>(瀹瑰櫒绫诲瀷)瀹炰緥鍒楄〃</returns> + [HttpGet("WmsContainerType/listNonPage")] + public async Task<List<WmsContainerTypeOutput>> ListNonPageAsync([FromQuery] WmsContainerTypeSearchNonPage input) + { + var pTypeCode = input.TypeCode?.Trim() ?? ""; + var pTypeName = input.TypeName?.Trim() ?? ""; + var pIsAllowReclaim = input.IsAllowReclaim; + var pUnit = input.Unit?.Trim() ?? ""; + var pUsagePeriod = input.UsagePeriod?.Trim() ?? ""; + var pIsDisabled = input.IsDisabled; + var pCreatedTime = input.CreatedTime; + var pUpdatedTime = input.UpdatedTime; + var pCreatedUserName = input.CreatedUserName?.Trim() ?? ""; + var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; + var wmsContainerTypes = await _wmsContainerTypeRep.DetachedEntities + .Where(!string.IsNullOrEmpty(pTypeCode), u => u.TypeCode == pTypeCode) + .Where(!string.IsNullOrEmpty(pTypeName), u => u.TypeName == pTypeName) + .Where(pIsAllowReclaim != null, u => u.IsAllowReclaim == pIsAllowReclaim) + .Where(!string.IsNullOrEmpty(pUnit), u => u.Unit == pUnit) + .Where(!string.IsNullOrEmpty(pUsagePeriod), u => u.UsagePeriod == pUsagePeriod) + .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName) + .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName) + .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) + .ProjectToType<WmsContainerTypeOutput>() + .ToListAsync(); + return wmsContainerTypes; + } + + /// <summary> + /// 鑾峰彇瀹瑰櫒绫诲瀷 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainerType/detail")] + public async Task<WmsContainerTypeOutput> Get([FromQuery] QueryeWmsContainerTypeInput input) + { + return (await _wmsContainerTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerTypeOutput>(); + } + + /// <summary> + /// 鑾峰彇瀹瑰櫒绫诲瀷鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsContainerType/list")] + public async Task<List<WmsContainerTypeOutput>> List([FromQuery] WmsContainerTypeInput input) + { + return await _wmsContainerTypeRep.DetachedEntities.ProjectToType<WmsContainerTypeOutput>().ToListAsync(); + } + + #region 澧炪�佸垹銆佹敼 + + /// <summary> + /// 澧炲姞瀹瑰櫒绫诲瀷 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainerType/add")] + public async Task Add(AddWmsContainerTypeInput input) + { + var wmsContainerType = input.Adapt<WmsContainerType>(); + //楠岃瘉 + await CheckExisit(wmsContainerType); + + wmsContainerType.CreatedUserId = wmsContainerType.UpdatedUserId = SysHelper.GetUserId(); + wmsContainerType.CreatedUserName = wmsContainerType.UpdatedUserName = SysHelper.GetUserName(); + wmsContainerType.CreatedTime = wmsContainerType.UpdatedTime = SysHelper.GetNowTime(); + await _wmsContainerTypeRep.InsertAsync(wmsContainerType); + } + + /// <summary> + /// 鍒犻櫎瀹瑰櫒绫诲瀷 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainerType/delete")] + public async Task Delete(DeleteWmsContainerTypeInput input) + { + var wmsContainerType = await _wmsContainerTypeRep.FirstOrDefaultAsync(u => u.Id == input.Id); + await _wmsContainerTypeRep.DeleteAsync(wmsContainerType); + + } + + /// <summary> + /// 鏇存柊瀹瑰櫒绫诲瀷 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsContainerType/edit")] + public async Task Update(UpdateWmsContainerTypeInput input) + { + var isExist = await _wmsContainerTypeRep.AnyAsync(u => u.Id == input.Id, false); + if (!isExist) throw Oops.Oh(ErrorCode.D1002); + + var wmsContainerType = input.Adapt<WmsContainerType>(); + //楠岃瘉 + await CheckExisit(wmsContainerType,true); + + wmsContainerType.UpdatedUserId = SysHelper.GetUserId(); + wmsContainerType.UpdatedUserName = SysHelper.GetUserName(); + wmsContainerType.UpdatedTime = SysHelper.GetNowTime(); + await _wmsContainerTypeRep.UpdateAsync(wmsContainerType,ignoreNullValues:true); + } + + #endregion + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆瀹瑰櫒绫诲瀷鍔熻兘 + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost("WmsContainerType/importExcel")] + public async Task<int> ImportExcelAsync(IFormFile file) + { + int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕 + int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁 + + DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); + var addList =await CommonImport(importDataTable, _DataStartLine); + + lock (_lock) + { + _wmsContainerTypeRep.InsertAsync(addList); + + } + await Task.CompletedTask; + return addList.Count; + } + + /// <summary> + /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + /// </summary> + /// <param name="dataTable"></param> + /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + /// <returns></returns> + private async Task<List<WmsContainerType>> CommonImport(DataTable dataTable, int dataStartLine) + { + + var details = new List<WmsContainerType>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new WmsContainerType() + { + CreatedTime = SysHelper.GetNowTime(), + CreatedUserId = SysHelper.GetUserId(), + CreatedUserName = SysHelper.GetUserName(), + UpdatedTime = SysHelper.GetNowTime(), + UpdatedUserId = SysHelper.GetUserId(), + UpdatedUserName = SysHelper.GetUserName() + }; + #region 瀹氫箟鍙橀噺 + var _TypeCode = "";//绫诲瀷缂栧彿 + var _TypeName = "";//绫诲瀷鍚嶇О + var _IsAllowReclaim = "";//鏄惁鍥炴敹 + var _Unit = "";//鍗曚綅 + var _UsagePeriod = "";//浣跨敤鏈熼檺 + var _IsDisabled = "";//鏄惁绂佺敤 + var _Id = "";//Id涓婚敭 + #endregion + + + #region 鍙栧�� + _TypeCode = row["绫诲瀷缂栧彿"]?.ToString() ; + _TypeName = row["绫诲瀷鍚嶇О"]?.ToString() ; + _IsAllowReclaim = row["鏄惁鍥炴敹"]?.ToString() ; + _Unit = row["鍗曚綅"]?.ToString() ; + _UsagePeriod = row["浣跨敤鏈熼檺"]?.ToString() ; + _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; + _Id = row["Id涓婚敭"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_TypeCode)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷缂栧彿]{_TypeCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_TypeCode)) + { + addItem.TypeCode = (string)_TypeCode; + } + + if (string.IsNullOrEmpty(_TypeName)) + { + throw Oops.Oh($"绗瑊index}琛孾绫诲瀷鍚嶇О]{_TypeName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_TypeName)) + { + addItem.TypeName = (string)_TypeName; + } + + if (string.IsNullOrEmpty(_IsAllowReclaim)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁鍥炴敹]{_IsAllowReclaim}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_IsAllowReclaim)) + { + if(!_IsAllowReclaim.Equals("鏄�") && !_IsAllowReclaim.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁鍥炴敹]{_IsAllowReclaim}鍊间笉姝g‘锛�"); + } + else + { + bool outIsAllowReclaim = _IsAllowReclaim.Equals("鏄�") ? true : false; + addItem.IsAllowReclaim = outIsAllowReclaim; + } + } + + + if (string.IsNullOrEmpty(_Unit)) + { + throw Oops.Oh($"绗瑊index}琛孾鍗曚綅]{_Unit}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_Unit)) + { + addItem.Unit = (string)_Unit; + } + if(!string.IsNullOrEmpty(_UsagePeriod)) + { + addItem.UsagePeriod = (string)_UsagePeriod; + } + if(!string.IsNullOrEmpty(_IsDisabled)) + { + if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�"); + } + else + { + bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; + addItem.IsDisabled = outIsDisabled; + } + } + + if(!string.IsNullOrEmpty(_Id)) + { + if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); + } + if (outId <= 0&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Id = outId; + } + + } + #endregion + + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <param name="version">妯℃澘鐗堟湰</param> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet("WmsContainerType/downloadExcelTemplate")] + public IActionResult DownloadExcelTemplate([FromQuery] string version) + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainerType{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒绫诲瀷).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + /// </summary> + /// <param name="input"></param> + /// <param name="isEdit"></param> + /// <returns></returns> + private async Task CheckExisit( WmsContainerType input,bool isEdit=false) + { + + + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsContainerTypeRep.AnyAsync(u => + u.TypeCode.Equals(input.TypeCode) + ,false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _wmsContainerTypeRep.AnyAsync(u => + u.Id != input.Id + &&u.TypeCode.Equals(input.TypeCode) + ,false); + } + + + + if (isExist) throw Oops.Oh(ErrorCode.E0001); + } + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<WmsContainerType> inputs) + { + //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.TypeCode + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.TypeCode + }).FirstOrDefault(); + if (existExcelItem != null) + { + var wmsContainerType = existExcelItem.Adapt<WmsContainerType>(); + var item= existExcelItem.Adapt<WmsContainerType>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,绫诲瀷缂栧彿[{item.TypeCode}]宸插瓨鍦�"); + } + + + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsContainerTypeRep.DetachedEntities.FirstOrDefaultAsync(w=> + inputs.Select(s=>"" + +s.TypeCode + ) + .Contains("" + +w.TypeCode + )); + if (existDBItem != null) + { + var wmsContainerType = existExcelItem.Adapt<WmsContainerType>(); + var item= existExcelItem.Adapt<WmsContainerType>(); + throw Oops.Oh($"绯荤粺涓�,绫诲瀷缂栧彿[{item.TypeCode}]宸插瓨鍦�"); + } + } + + #endregion + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs index 8d753ba..abd97e6 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs @@ -6,7 +6,7 @@ { /// <summary> - /// 宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁� + /// 宸ュ巶淇℃伅鏌ヨ鍙傛暟 /// </summary> public class WmsFactorySearch : PageInputBase { @@ -53,7 +53,7 @@ } /// <summary> - /// 宸ュ巶淇℃伅琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + /// 宸ュ巶淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� /// </summary> public class WmsFactorySearchNonPage : PageInputNonPageBase { @@ -100,7 +100,7 @@ } /// <summary> - /// 宸ュ巶淇℃伅琛ㄨ緭鍏ュ弬鏁� + /// 宸ュ巶淇℃伅杈撳叆鍙傛暟 /// </summary> public class WmsFactoryInput { @@ -129,21 +129,21 @@ } /// <summary> - /// 宸ュ巶淇℃伅琛ㄦ柊澧炲弬鏁� + /// 宸ュ巶淇℃伅鏂板鍙傛暟 /// </summary> public class AddWmsFactoryInput : WmsFactoryInput { } /// <summary> - /// 宸ュ巶淇℃伅琛ㄥ垹闄ゅ弬鏁� + /// 宸ュ巶淇℃伅鍒犻櫎鍙傛暟 /// </summary> public class DeleteWmsFactoryInput : BaseId { } /// <summary> - /// 宸ュ巶淇℃伅琛ㄦ洿鏂板弬鏁� + /// 宸ュ巶淇℃伅鏇存柊鍙傛暟 /// </summary> public class UpdateWmsFactoryInput : WmsFactoryInput { @@ -156,7 +156,7 @@ } /// <summary> - /// 宸ュ巶淇℃伅琛ㄨ幏鍙栧崟涓弬鏁� + /// 宸ュ巶淇℃伅鑾峰彇鍗曚釜鍙傛暟 /// </summary> public class QueryeWmsFactoryInput : BaseId { diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs index 80c0b11..b8c7886 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs @@ -4,7 +4,7 @@ namespace Admin.NET.Application { /// <summary> - /// 宸ュ巶淇℃伅琛ㄨ緭鍑哄弬鏁� + /// 宸ュ巶淇℃伅杈撳嚭鍙傛暟 /// </summary> public class WmsFactoryOutput { diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs index 5a5328b..5fd8bd7 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs @@ -16,7 +16,7 @@ namespace Admin.NET.Application { /// <summary> - /// 宸ュ巶淇℃伅琛ㄦ湇鍔� + /// 宸ュ巶淇℃伅鏈嶅姟 /// </summary> [ApiDescriptionSettings("WmsBase", Name = "WmsFactory", Order = 100)] [Route("api")] @@ -42,7 +42,7 @@ } /// <summary> - /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛� + /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -65,10 +65,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭〃鍒楄〃 + /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭垪琛� /// </summary> - /// <param name="input">宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�</param> - /// <returns>(宸ュ巶淇℃伅琛�)瀹炰緥鍒楄〃</returns> + /// <param name="input">宸ュ巶淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(宸ュ巶淇℃伅)瀹炰緥鍒楄〃</returns> [HttpGet("WmsFactory/listNonPage")] public async Task<List<WmsFactoryOutput>> ListNonPageAsync([FromQuery] WmsFactorySearchNonPage input) { @@ -96,7 +96,7 @@ } /// <summary> - /// 鑾峰彇宸ュ巶淇℃伅琛� + /// 鑾峰彇宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -107,7 +107,7 @@ } /// <summary> - /// 鑾峰彇宸ュ巶淇℃伅琛ㄥ垪琛� + /// 鑾峰彇宸ュ巶淇℃伅鍒楄〃 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -120,7 +120,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞宸ュ巶淇℃伅琛� + /// 澧炲姞宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -138,7 +138,7 @@ } /// <summary> - /// 鍒犻櫎宸ュ巶淇℃伅琛� + /// 鍒犻櫎宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -151,7 +151,7 @@ } /// <summary> - /// 鏇存柊宸ュ巶淇℃伅琛� + /// 鏇存柊宸ュ巶淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -176,7 +176,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅琛ㄥ姛鑳� + /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅鍔熻兘 /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -309,7 +309,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -317,7 +317,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsFactory{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; - var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(宸ュ巶淇℃伅琛�).xlsx", Encoding.GetEncoding("UTF-8")); + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(宸ュ巶淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; } diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs new file mode 100644 index 0000000..e83f6f4 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs @@ -0,0 +1,646 @@ +锘縰sing Admin.NET.Core; +using Admin.NET.Core.Service; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application +{ + + /// <summary> + /// 搴撲綅淇℃伅鏌ヨ鍙傛暟 + /// </summary> + public class WmsPlaceSearch : PageInputBase + { + /// <summary> + /// 搴撲綅缂栫爜 + /// </summary> + public virtual string PlaceCode { get; set; } + + /// <summary> + /// 搴撲綅鍚嶇О + /// </summary> + public virtual string PlaceName { get; set; } + + /// <summary> + /// 搴撲綅鍒悕 + /// </summary> + public virtual string PlaceAlias { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷 + /// </summary> + public virtual int? PlaceType { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷鍚嶇О + /// </summary> + public virtual string PlaceTypeName { get; set; } + + /// <summary> + /// 瀛樻斁鍗曚綅 + /// </summary> + public virtual string StockUnit { get; set; } + + /// <summary> + /// 搴撲綅灞炴�� + /// </summary> + public virtual int? PlaceStatus { get; set; } + + /// <summary> + /// 鏄惁鍫嗗灈鏈哄簱浣� + /// </summary> + public virtual bool? IsSrmPlace { get; set; } + + /// <summary> + /// 鍫嗗灈鏈哄簱浣嶅彿 + /// </summary> + public virtual string SrmPlaceNo { get; set; } + + /// <summary> + /// 鏄惁RGV搴撲綅 + /// </summary> + public virtual bool? IsRgvPlace { get; set; } + + /// <summary> + /// RGV搴撲綅鍙� + /// </summary> + public virtual string RgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁AGV搴撲綅 + /// </summary> + public virtual bool? IsAgvPlace { get; set; } + + /// <summary> + /// AGV搴撲綅鍙� + /// </summary> + public virtual string AgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁杈撻�佺嚎搴撲綅 + /// </summary> + public virtual bool? IsTransPlace { get; set; } + + /// <summary> + /// 杈撻�佺嚎搴撲綅鍙� + /// </summary> + public virtual string TransPlaceNo { get; set; } + + /// <summary> + /// 鏄惁婵�娲讳笌浠诲姟璋冨害 + /// </summary> + public virtual bool? IsActivateWCS { get; set; } + + /// <summary> + /// 搴撳瓨鐜 + /// </summary> + public virtual string Environment { get; set; } + + /// <summary> + /// 搴撳尯缂栧彿 + /// </summary> + public virtual string AreaCode { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ簱鍖� + /// </summary> + public virtual long? AreaId { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public virtual string AreaName { get; set; } + + /// <summary> + /// 妫�楠岀爜 + /// </summary> + public virtual string VerificationCode { get; set; } + + /// <summary> + /// 鎺� + /// </summary> + public virtual int? RowNo { get; set; } + + /// <summary> + /// 鍒� + /// </summary> + public virtual int? ColumnNo { get; set; } + + /// <summary> + /// 灞� + /// </summary> + public virtual int? LayerNo { get; set; } + + /// <summary> + /// 宸烽亾 + /// </summary> + public virtual int? LaneNo { get; set; } + + /// <summary> + /// 搴撲綅X鍧愭爣 + /// </summary> + public virtual string Xzb { get; set; } + + /// <summary> + /// 搴撲綅Y鍧愭爣 + /// </summary> + public virtual string Yzb { get; set; } + + /// <summary> + /// 搴撲綅Z鍧愭爣 + /// </summary> + public virtual string Zzb { get; set; } + + /// <summary> + /// 搴撲綅闀垮害 + /// </summary> + public virtual decimal? Length { get; set; } + + /// <summary> + /// 搴撲綅瀹藉害 + /// </summary> + public virtual decimal? Width { get; set; } + + /// <summary> + /// 搴撲綅楂樺害 + /// </summary> + public virtual decimal? Height { get; set; } + + /// <summary> + /// 鏈�澶ф壙閲� + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鍏ュ簱椤哄簭 + /// </summary> + public virtual int? InSequence { get; set; } + + /// <summary> + /// 鍑哄簱椤哄簭 + /// </summary> + public virtual int? OutSequence { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<string> CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<string> UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 搴撲綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + /// </summary> + public class WmsPlaceSearchNonPage : PageInputNonPageBase + { + /// <summary> + /// 搴撲綅缂栫爜 + /// </summary> + public virtual string PlaceCode { get; set; } + + /// <summary> + /// 搴撲綅鍚嶇О + /// </summary> + public virtual string PlaceName { get; set; } + + /// <summary> + /// 搴撲綅鍒悕 + /// </summary> + public virtual string PlaceAlias { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷 + /// </summary> + public virtual int? PlaceType { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷鍚嶇О + /// </summary> + public virtual string PlaceTypeName { get; set; } + + /// <summary> + /// 瀛樻斁鍗曚綅 + /// </summary> + public virtual string StockUnit { get; set; } + + /// <summary> + /// 搴撲綅灞炴�� + /// </summary> + public virtual int? PlaceStatus { get; set; } + + /// <summary> + /// 鏄惁鍫嗗灈鏈哄簱浣� + /// </summary> + public virtual bool? IsSrmPlace { get; set; } + + /// <summary> + /// 鍫嗗灈鏈哄簱浣嶅彿 + /// </summary> + public virtual string SrmPlaceNo { get; set; } + + /// <summary> + /// 鏄惁RGV搴撲綅 + /// </summary> + public virtual bool? IsRgvPlace { get; set; } + + /// <summary> + /// RGV搴撲綅鍙� + /// </summary> + public virtual string RgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁AGV搴撲綅 + /// </summary> + public virtual bool? IsAgvPlace { get; set; } + + /// <summary> + /// AGV搴撲綅鍙� + /// </summary> + public virtual string AgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁杈撻�佺嚎搴撲綅 + /// </summary> + public virtual bool? IsTransPlace { get; set; } + + /// <summary> + /// 杈撻�佺嚎搴撲綅鍙� + /// </summary> + public virtual string TransPlaceNo { get; set; } + + /// <summary> + /// 鏄惁婵�娲讳笌浠诲姟璋冨害 + /// </summary> + public virtual bool? IsActivateWCS { get; set; } + + /// <summary> + /// 搴撳瓨鐜 + /// </summary> + public virtual string Environment { get; set; } + + /// <summary> + /// 搴撳尯缂栧彿 + /// </summary> + public virtual string AreaCode { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ簱鍖� + /// </summary> + public virtual long? AreaId { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public virtual string AreaName { get; set; } + + /// <summary> + /// 妫�楠岀爜 + /// </summary> + public virtual string VerificationCode { get; set; } + + /// <summary> + /// 鎺� + /// </summary> + public virtual int? RowNo { get; set; } + + /// <summary> + /// 鍒� + /// </summary> + public virtual int? ColumnNo { get; set; } + + /// <summary> + /// 灞� + /// </summary> + public virtual int? LayerNo { get; set; } + + /// <summary> + /// 宸烽亾 + /// </summary> + public virtual int? LaneNo { get; set; } + + /// <summary> + /// 搴撲綅X鍧愭爣 + /// </summary> + public virtual string Xzb { get; set; } + + /// <summary> + /// 搴撲綅Y鍧愭爣 + /// </summary> + public virtual string Yzb { get; set; } + + /// <summary> + /// 搴撲綅Z鍧愭爣 + /// </summary> + public virtual string Zzb { get; set; } + + /// <summary> + /// 搴撲綅闀垮害 + /// </summary> + public virtual decimal? Length { get; set; } + + /// <summary> + /// 搴撲綅瀹藉害 + /// </summary> + public virtual decimal? Width { get; set; } + + /// <summary> + /// 搴撲綅楂樺害 + /// </summary> + public virtual decimal? Height { get; set; } + + /// <summary> + /// 鏈�澶ф壙閲� + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鍏ュ簱椤哄簭 + /// </summary> + public virtual int? InSequence { get; set; } + + /// <summary> + /// 鍑哄簱椤哄簭 + /// </summary> + public virtual int? OutSequence { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 搴撲綅淇℃伅杈撳叆鍙傛暟 + /// </summary> + public class WmsPlaceInput + { + /// <summary> + /// 搴撲綅缂栫爜 + /// </summary> + [Required(ErrorMessage = "搴撲綅缂栫爜涓嶈兘涓虹┖")] + public virtual string PlaceCode { get; set; } + + /// <summary> + /// 搴撲綅鍚嶇О + /// </summary> + [Required(ErrorMessage = "搴撲綅鍚嶇О涓嶈兘涓虹┖")] + public virtual string PlaceName { get; set; } + + /// <summary> + /// 搴撲綅鍒悕 + /// </summary> + public virtual string PlaceAlias { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷 + /// </summary> + [Required(ErrorMessage = "搴撲綅绫诲瀷涓嶈兘涓虹┖")] + public virtual int PlaceType { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷鍚嶇О + /// </summary> + public virtual string PlaceTypeName { get; set; } + + /// <summary> + /// 瀛樻斁鍗曚綅 + /// </summary> + public virtual string StockUnit { get; set; } + + /// <summary> + /// 搴撲綅灞炴�� + /// </summary> + public virtual int? PlaceStatus { get; set; } + + /// <summary> + /// 鏄惁鍫嗗灈鏈哄簱浣� + /// </summary> + public virtual bool? IsSrmPlace { get; set; } + + /// <summary> + /// 鍫嗗灈鏈哄簱浣嶅彿 + /// </summary> + public virtual string SrmPlaceNo { get; set; } + + /// <summary> + /// 鏄惁RGV搴撲綅 + /// </summary> + public virtual bool? IsRgvPlace { get; set; } + + /// <summary> + /// RGV搴撲綅鍙� + /// </summary> + public virtual string RgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁AGV搴撲綅 + /// </summary> + public virtual bool? IsAgvPlace { get; set; } + + /// <summary> + /// AGV搴撲綅鍙� + /// </summary> + public virtual string AgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁杈撻�佺嚎搴撲綅 + /// </summary> + public virtual bool? IsTransPlace { get; set; } + + /// <summary> + /// 杈撻�佺嚎搴撲綅鍙� + /// </summary> + public virtual string TransPlaceNo { get; set; } + + /// <summary> + /// 鏄惁婵�娲讳笌浠诲姟璋冨害 + /// </summary> + public virtual bool? IsActivateWCS { get; set; } + + /// <summary> + /// 搴撳瓨鐜 + /// </summary> + public virtual string Environment { get; set; } + + /// <summary> + /// 搴撳尯缂栧彿 + /// </summary> + public virtual string AreaCode { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ簱鍖� + /// </summary> + public virtual long? AreaId { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public virtual string AreaName { get; set; } + + /// <summary> + /// 妫�楠岀爜 + /// </summary> + public virtual string VerificationCode { get; set; } + + /// <summary> + /// 鎺� + /// </summary> + public virtual int? RowNo { get; set; } + + /// <summary> + /// 鍒� + /// </summary> + public virtual int? ColumnNo { get; set; } + + /// <summary> + /// 灞� + /// </summary> + public virtual int? LayerNo { get; set; } + + /// <summary> + /// 宸烽亾 + /// </summary> + public virtual int? LaneNo { get; set; } + + /// <summary> + /// 搴撲綅X鍧愭爣 + /// </summary> + public virtual string Xzb { get; set; } + + /// <summary> + /// 搴撲綅Y鍧愭爣 + /// </summary> + public virtual string Yzb { get; set; } + + /// <summary> + /// 搴撲綅Z鍧愭爣 + /// </summary> + public virtual string Zzb { get; set; } + + /// <summary> + /// 搴撲綅闀垮害 + /// </summary> + public virtual decimal? Length { get; set; } + + /// <summary> + /// 搴撲綅瀹藉害 + /// </summary> + public virtual decimal? Width { get; set; } + + /// <summary> + /// 搴撲綅楂樺害 + /// </summary> + public virtual decimal? Height { get; set; } + + /// <summary> + /// 鏈�澶ф壙閲� + /// </summary> + public virtual decimal? MaxWeight { get; set; } + + /// <summary> + /// 鍏ュ簱椤哄簭 + /// </summary> + public virtual int? InSequence { get; set; } + + /// <summary> + /// 鍑哄簱椤哄簭 + /// </summary> + public virtual int? OutSequence { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public virtual bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + } + + /// <summary> + /// 搴撲綅淇℃伅鏂板鍙傛暟 + /// </summary> + public class AddWmsPlaceInput : WmsPlaceInput + { + } + + /// <summary> + /// 搴撲綅淇℃伅鍒犻櫎鍙傛暟 + /// </summary> + public class DeleteWmsPlaceInput : BaseId + { + } + + /// <summary> + /// 搴撲綅淇℃伅鏇存柊鍙傛暟 + /// </summary> + public class UpdateWmsPlaceInput : WmsPlaceInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long? Id { get; set; } + + } + + /// <summary> + /// 搴撲綅淇℃伅鑾峰彇鍗曚釜鍙傛暟 + /// </summary> + public class QueryeWmsPlaceInput : BaseId + { + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs new file mode 100644 index 0000000..594b4aa --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs @@ -0,0 +1,217 @@ +锘縰sing Admin.NET.Core.Util.LowCode.Dto; +using System; + +namespace Admin.NET.Application +{ + /// <summary> + /// 搴撲綅淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WmsPlaceOutput + { + /// <summary> + /// 搴撲綅缂栫爜 + /// </summary> + public string PlaceCode { get; set; } + + /// <summary> + /// 搴撲綅鍚嶇О + /// </summary> + public string PlaceName { get; set; } + + /// <summary> + /// 搴撲綅鍒悕 + /// </summary> + public string PlaceAlias { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷 + /// </summary> + public int PlaceType { get; set; } + + /// <summary> + /// 搴撲綅绫诲瀷鍚嶇О + /// </summary> + public string PlaceTypeName { get; set; } + + /// <summary> + /// 瀛樻斁鍗曚綅 + /// </summary> + public string StockUnit { get; set; } + + /// <summary> + /// 搴撲綅灞炴�� + /// </summary> + public int? PlaceStatus { get; set; } + + /// <summary> + /// 鏄惁鍫嗗灈鏈哄簱浣� + /// </summary> + public bool? IsSrmPlace { get; set; } + + /// <summary> + /// 鍫嗗灈鏈哄簱浣嶅彿 + /// </summary> + public string SrmPlaceNo { get; set; } + + /// <summary> + /// 鏄惁RGV搴撲綅 + /// </summary> + public bool? IsRgvPlace { get; set; } + + /// <summary> + /// RGV搴撲綅鍙� + /// </summary> + public string RgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁AGV搴撲綅 + /// </summary> + public bool? IsAgvPlace { get; set; } + + /// <summary> + /// AGV搴撲綅鍙� + /// </summary> + public string AgvPlaceNo { get; set; } + + /// <summary> + /// 鏄惁杈撻�佺嚎搴撲綅 + /// </summary> + public bool? IsTransPlace { get; set; } + + /// <summary> + /// 杈撻�佺嚎搴撲綅鍙� + /// </summary> + public string TransPlaceNo { get; set; } + + /// <summary> + /// 鏄惁婵�娲讳笌浠诲姟璋冨害 + /// </summary> + public bool? IsActivateWCS { get; set; } + + /// <summary> + /// 搴撳瓨鐜 + /// </summary> + public string Environment { get; set; } + + /// <summary> + /// 搴撳尯缂栧彿 + /// </summary> + public string AreaCode { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ簱鍖� + /// </summary> + public long? AreaId { get; set; } + + /// <summary> + /// 搴撳尯鍚嶇О + /// </summary> + public string AreaName { get; set; } + + /// <summary> + /// 妫�楠岀爜 + /// </summary> + public string VerificationCode { get; set; } + + /// <summary> + /// 鎺� + /// </summary> + public int? RowNo { get; set; } + + /// <summary> + /// 鍒� + /// </summary> + public int? ColumnNo { get; set; } + + /// <summary> + /// 灞� + /// </summary> + public int? LayerNo { get; set; } + + /// <summary> + /// 宸烽亾 + /// </summary> + public int? LaneNo { get; set; } + + /// <summary> + /// 搴撲綅X鍧愭爣 + /// </summary> + public string Xzb { get; set; } + + /// <summary> + /// 搴撲綅Y鍧愭爣 + /// </summary> + public string Yzb { get; set; } + + /// <summary> + /// 搴撲綅Z鍧愭爣 + /// </summary> + public string Zzb { get; set; } + + /// <summary> + /// 搴撲綅闀垮害 + /// </summary> + public decimal? Length { get; set; } + + /// <summary> + /// 搴撲綅瀹藉害 + /// </summary> + public decimal? Width { get; set; } + + /// <summary> + /// 搴撲綅楂樺害 + /// </summary> + public decimal? Height { get; set; } + + /// <summary> + /// 鏈�澶ф壙閲� + /// </summary> + public decimal? MaxWeight { get; set; } + + /// <summary> + /// 鍏ュ簱椤哄簭 + /// </summary> + public int? InSequence { get; set; } + + /// <summary> + /// 鍑哄簱椤哄簭 + /// </summary> + public int? OutSequence { get; set; } + + /// <summary> + /// 鏄惁铏氭嫙 + /// </summary> + public bool? IsVirtually { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTimeOffset? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public string UpdatedUserName { get; set; } + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs new file mode 100644 index 0000000..562f290 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs @@ -0,0 +1,22 @@ +锘縰sing Admin.NET.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Admin.NET.Application +{ + public interface IWmsPlaceService + { + Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input); + Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input); + Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input); + Task<List<WmsPlaceOutput>> ListNonPageAsync([FromQuery] WmsPlaceSearchNonPage input); + + Task Add(AddWmsPlaceInput input); + Task Update(UpdateWmsPlaceInput input); + Task Delete(DeleteWmsPlaceInput input); + Task<int> ImportExcelAsync(IFormFile file); + IActionResult DownloadExcelTemplate(string version); + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs new file mode 100644 index 0000000..00f7056 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs @@ -0,0 +1,18 @@ +锘縰sing Mapster; +using Admin.NET.Core; + +namespace Admin.NET.Application +{ + public class WmsPlaceMapper : IRegister + { + public void Register(TypeAdapterConfig config) + { + config.ForType<AddWmsPlaceInput, WmsPlace>() + ; + config.ForType<UpdateWmsPlaceInput, WmsPlace>() + ; + config.ForType<WmsPlace, WmsPlaceOutput>() + ; + } + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs new file mode 100644 index 0000000..5d775ee --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs @@ -0,0 +1,916 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Admin.NET.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using Microsoft.AspNetCore.Http; +using System.Text; +using System.Web; +using System.ComponentModel; +using System.Data; +namespace Admin.NET.Application +{ + /// <summary> + /// 搴撲綅淇℃伅鏈嶅姟 + /// </summary> + [ApiDescriptionSettings("WmsBase", Name = "WmsPlace", Order = 100)] + [Route("api")] + public class WmsPlaceService : IWmsPlaceService, IDynamicApiController, ITransient + { + private readonly IRepository<WmsPlace,MasterDbContextLocator> _wmsPlaceRep; + private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; + private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; + private readonly ISysExcelTemplateService _sysExcelTemplateService; + private readonly static object _lock = new(); + + public WmsPlaceService( + IRepository<WmsPlace,MasterDbContextLocator> wmsPlaceRep + ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep + ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep + ,ISysExcelTemplateService sysExcelTemplateService + ) + { + _wmsPlaceRep = wmsPlaceRep; + _sysDictTypeRep = sysDictTypeRep; + _sysDictDataRep = sysDictDataRep; + _sysExcelTemplateService = sysExcelTemplateService; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsPlace/page")] + public async Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input) + { + var wmsPlaces = await _wmsPlaceRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.PlaceCode), u => u.PlaceCode == input.PlaceCode) + .Where(!string.IsNullOrEmpty(input.PlaceName), u => u.PlaceName == input.PlaceName) + .Where(!string.IsNullOrEmpty(input.PlaceAlias), u => u.PlaceAlias == input.PlaceAlias) + .Where(input.PlaceType != null, u => u.PlaceType == input.PlaceType) + .Where(!string.IsNullOrEmpty(input.PlaceTypeName), u => u.PlaceTypeName == input.PlaceTypeName) + .Where(!string.IsNullOrEmpty(input.StockUnit), u => u.StockUnit == input.StockUnit) + .Where(input.PlaceStatus != null, u => u.PlaceStatus == input.PlaceStatus) + .Where(input.IsSrmPlace != null, u => u.IsSrmPlace == input.IsSrmPlace) + .Where(!string.IsNullOrEmpty(input.SrmPlaceNo), u => u.SrmPlaceNo == input.SrmPlaceNo) + .Where(input.IsRgvPlace != null, u => u.IsRgvPlace == input.IsRgvPlace) + .Where(!string.IsNullOrEmpty(input.RgvPlaceNo), u => u.RgvPlaceNo == input.RgvPlaceNo) + .Where(input.IsAgvPlace != null, u => u.IsAgvPlace == input.IsAgvPlace) + .Where(!string.IsNullOrEmpty(input.AgvPlaceNo), u => u.AgvPlaceNo == input.AgvPlaceNo) + .Where(input.IsTransPlace != null, u => u.IsTransPlace == input.IsTransPlace) + .Where(!string.IsNullOrEmpty(input.TransPlaceNo), u => u.TransPlaceNo == input.TransPlaceNo) + .Where(input.IsActivateWCS != null, u => u.IsActivateWCS == input.IsActivateWCS) + .Where(!string.IsNullOrEmpty(input.Environment), u => u.Environment == input.Environment) + .Where(!string.IsNullOrEmpty(input.AreaCode), u => u.AreaCode == input.AreaCode) + .Where(input.AreaId != null, u => u.AreaId == input.AreaId) + .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName) + .Where(!string.IsNullOrEmpty(input.VerificationCode), u => u.VerificationCode == input.VerificationCode) + .Where(input.RowNo != null, u => u.RowNo == input.RowNo) + .Where(input.ColumnNo != null, u => u.ColumnNo == input.ColumnNo) + .Where(input.LayerNo != null, u => u.LayerNo == input.LayerNo) + .Where(input.LaneNo != null, u => u.LaneNo == input.LaneNo) + .Where(!string.IsNullOrEmpty(input.Xzb), u => u.Xzb == input.Xzb) + .Where(!string.IsNullOrEmpty(input.Yzb), u => u.Yzb == input.Yzb) + .Where(!string.IsNullOrEmpty(input.Zzb), u => u.Zzb == input.Zzb) + .Where(input.Length != null, u => u.Length == input.Length) + .Where(input.Width != null, u => u.Width == input.Width) + .Where(input.Height != null, u => u.Height == input.Height) + .Where(input.MaxWeight != null, u => u.MaxWeight == input.MaxWeight) + .Where(input.InSequence != null, u => u.InSequence == input.InSequence) + .Where(input.OutSequence != null, u => u.OutSequence == input.OutSequence) + .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually) + .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName) + .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName) + .OrderBy(PageInputOrder.OrderBuilder<WmsPlaceSearch>(input)) + .ProjectToType<WmsPlaceOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return wmsPlaces; + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭垪琛� + /// </summary> + /// <param name="input">搴撲綅淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(搴撲綅淇℃伅)瀹炰緥鍒楄〃</returns> + [HttpGet("WmsPlace/listNonPage")] + public async Task<List<WmsPlaceOutput>> ListNonPageAsync([FromQuery] WmsPlaceSearchNonPage input) + { + var pPlaceCode = input.PlaceCode?.Trim() ?? ""; + var pPlaceName = input.PlaceName?.Trim() ?? ""; + var pPlaceAlias = input.PlaceAlias?.Trim() ?? ""; + var pPlaceType = input.PlaceType; + var pPlaceTypeName = input.PlaceTypeName?.Trim() ?? ""; + var pStockUnit = input.StockUnit?.Trim() ?? ""; + var pPlaceStatus = input.PlaceStatus; + var pIsSrmPlace = input.IsSrmPlace; + var pSrmPlaceNo = input.SrmPlaceNo?.Trim() ?? ""; + var pIsRgvPlace = input.IsRgvPlace; + var pRgvPlaceNo = input.RgvPlaceNo?.Trim() ?? ""; + var pIsAgvPlace = input.IsAgvPlace; + var pAgvPlaceNo = input.AgvPlaceNo?.Trim() ?? ""; + var pIsTransPlace = input.IsTransPlace; + var pTransPlaceNo = input.TransPlaceNo?.Trim() ?? ""; + var pIsActivateWCS = input.IsActivateWCS; + var pEnvironment = input.Environment?.Trim() ?? ""; + var pAreaCode = input.AreaCode?.Trim() ?? ""; + var pAreaId = input.AreaId; + var pAreaName = input.AreaName?.Trim() ?? ""; + var pVerificationCode = input.VerificationCode?.Trim() ?? ""; + var pRowNo = input.RowNo; + var pColumnNo = input.ColumnNo; + var pLayerNo = input.LayerNo; + var pLaneNo = input.LaneNo; + var pXzb = input.Xzb?.Trim() ?? ""; + var pYzb = input.Yzb?.Trim() ?? ""; + var pZzb = input.Zzb?.Trim() ?? ""; + var pLength = input.Length; + var pWidth = input.Width; + var pHeight = input.Height; + var pMaxWeight = input.MaxWeight; + var pInSequence = input.InSequence; + var pOutSequence = input.OutSequence; + var pIsVirtually = input.IsVirtually; + var pIsDisabled = input.IsDisabled; + var pCreatedTime = input.CreatedTime; + var pUpdatedTime = input.UpdatedTime; + var pCreatedUserName = input.CreatedUserName?.Trim() ?? ""; + var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; + var wmsPlaces = await _wmsPlaceRep.DetachedEntities + .Where(!string.IsNullOrEmpty(pPlaceCode), u => u.PlaceCode == pPlaceCode) + .Where(!string.IsNullOrEmpty(pPlaceName), u => u.PlaceName == pPlaceName) + .Where(!string.IsNullOrEmpty(pPlaceAlias), u => u.PlaceAlias == pPlaceAlias) + .Where(pPlaceType != null, u => u.PlaceType == pPlaceType) + .Where(!string.IsNullOrEmpty(pPlaceTypeName), u => u.PlaceTypeName == pPlaceTypeName) + .Where(!string.IsNullOrEmpty(pStockUnit), u => u.StockUnit == pStockUnit) + .Where(pPlaceStatus != null, u => u.PlaceStatus == pPlaceStatus) + .Where(pIsSrmPlace != null, u => u.IsSrmPlace == pIsSrmPlace) + .Where(!string.IsNullOrEmpty(pSrmPlaceNo), u => u.SrmPlaceNo == pSrmPlaceNo) + .Where(pIsRgvPlace != null, u => u.IsRgvPlace == pIsRgvPlace) + .Where(!string.IsNullOrEmpty(pRgvPlaceNo), u => u.RgvPlaceNo == pRgvPlaceNo) + .Where(pIsAgvPlace != null, u => u.IsAgvPlace == pIsAgvPlace) + .Where(!string.IsNullOrEmpty(pAgvPlaceNo), u => u.AgvPlaceNo == pAgvPlaceNo) + .Where(pIsTransPlace != null, u => u.IsTransPlace == pIsTransPlace) + .Where(!string.IsNullOrEmpty(pTransPlaceNo), u => u.TransPlaceNo == pTransPlaceNo) + .Where(pIsActivateWCS != null, u => u.IsActivateWCS == pIsActivateWCS) + .Where(!string.IsNullOrEmpty(pEnvironment), u => u.Environment == pEnvironment) + .Where(!string.IsNullOrEmpty(pAreaCode), u => u.AreaCode == pAreaCode) + .Where(pAreaId != null, u => u.AreaId == pAreaId) + .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName) + .Where(!string.IsNullOrEmpty(pVerificationCode), u => u.VerificationCode == pVerificationCode) + .Where(pRowNo != null, u => u.RowNo == pRowNo) + .Where(pColumnNo != null, u => u.ColumnNo == pColumnNo) + .Where(pLayerNo != null, u => u.LayerNo == pLayerNo) + .Where(pLaneNo != null, u => u.LaneNo == pLaneNo) + .Where(!string.IsNullOrEmpty(pXzb), u => u.Xzb == pXzb) + .Where(!string.IsNullOrEmpty(pYzb), u => u.Yzb == pYzb) + .Where(!string.IsNullOrEmpty(pZzb), u => u.Zzb == pZzb) + .Where(pLength != null, u => u.Length == pLength) + .Where(pWidth != null, u => u.Width == pWidth) + .Where(pHeight != null, u => u.Height == pHeight) + .Where(pMaxWeight != null, u => u.MaxWeight == pMaxWeight) + .Where(pInSequence != null, u => u.InSequence == pInSequence) + .Where(pOutSequence != null, u => u.OutSequence == pOutSequence) + .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually) + .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName) + .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName) + .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) + .ProjectToType<WmsPlaceOutput>() + .ToListAsync(); + return wmsPlaces; + } + + /// <summary> + /// 鑾峰彇搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsPlace/detail")] + public async Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input) + { + return (await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsPlaceOutput>(); + } + + /// <summary> + /// 鑾峰彇搴撲綅淇℃伅鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsPlace/list")] + public async Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input) + { + return await _wmsPlaceRep.DetachedEntities.ProjectToType<WmsPlaceOutput>().ToListAsync(); + } + + #region 澧炪�佸垹銆佹敼 + + /// <summary> + /// 澧炲姞搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsPlace/add")] + public async Task Add(AddWmsPlaceInput input) + { + var wmsPlace = input.Adapt<WmsPlace>(); + //楠岃瘉 + await CheckExisit(wmsPlace); + + wmsPlace.CreatedUserId = wmsPlace.UpdatedUserId = SysHelper.GetUserId(); + wmsPlace.CreatedUserName = wmsPlace.UpdatedUserName = SysHelper.GetUserName(); + wmsPlace.CreatedTime = wmsPlace.UpdatedTime = SysHelper.GetNowTime(); + await _wmsPlaceRep.InsertAsync(wmsPlace); + } + + /// <summary> + /// 鍒犻櫎搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsPlace/delete")] + public async Task Delete(DeleteWmsPlaceInput input) + { + var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == input.Id); + await _wmsPlaceRep.DeleteAsync(wmsPlace); + + } + + /// <summary> + /// 鏇存柊搴撲綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsPlace/edit")] + public async Task Update(UpdateWmsPlaceInput input) + { + var isExist = await _wmsPlaceRep.AnyAsync(u => u.Id == input.Id, false); + if (!isExist) throw Oops.Oh(ErrorCode.D1002); + + var wmsPlace = input.Adapt<WmsPlace>(); + //楠岃瘉 + await CheckExisit(wmsPlace,true); + + wmsPlace.UpdatedUserId = SysHelper.GetUserId(); + wmsPlace.UpdatedUserName = SysHelper.GetUserName(); + wmsPlace.UpdatedTime = SysHelper.GetNowTime(); + await _wmsPlaceRep.UpdateAsync(wmsPlace,ignoreNullValues:true); + } + + #endregion + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆搴撲綅淇℃伅鍔熻兘 + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost("WmsPlace/importExcel")] + public async Task<int> ImportExcelAsync(IFormFile file) + { + int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕 + int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁 + + DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); + var addList =await CommonImport(importDataTable, _DataStartLine); + + lock (_lock) + { + _wmsPlaceRep.InsertAsync(addList); + + } + await Task.CompletedTask; + return addList.Count; + } + + /// <summary> + /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + /// </summary> + /// <param name="dataTable"></param> + /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + /// <returns></returns> + private async Task<List<WmsPlace>> CommonImport(DataTable dataTable, int dataStartLine) + { + + var details = new List<WmsPlace>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new WmsPlace() + { + CreatedTime = SysHelper.GetNowTime(), + CreatedUserId = SysHelper.GetUserId(), + CreatedUserName = SysHelper.GetUserName(), + UpdatedTime = SysHelper.GetNowTime(), + UpdatedUserId = SysHelper.GetUserId(), + UpdatedUserName = SysHelper.GetUserName() + }; + #region 瀹氫箟鍙橀噺 + var _PlaceCode = "";//搴撲綅缂栫爜 + var _PlaceName = "";//搴撲綅鍚嶇О + var _PlaceAlias = "";//搴撲綅鍒悕 + var _PlaceType = "";//搴撲綅绫诲瀷 + var _PlaceTypeName = "";//搴撲綅绫诲瀷鍚嶇О + var _StockUnit = "";//瀛樻斁鍗曚綅 + var _PlaceStatus = "";//搴撲綅灞炴�� + var _IsSrmPlace = "";//鏄惁鍫嗗灈鏈哄簱浣� + var _SrmPlaceNo = "";//鍫嗗灈鏈哄簱浣嶅彿 + var _IsRgvPlace = "";//鏄惁RGV搴撲綅 + var _RgvPlaceNo = "";//RGV搴撲綅鍙� + var _IsAgvPlace = "";//鏄惁AGV搴撲綅 + var _AgvPlaceNo = "";//AGV搴撲綅鍙� + var _IsTransPlace = "";//鏄惁杈撻�佺嚎搴撲綅 + var _TransPlaceNo = "";//杈撻�佺嚎搴撲綅鍙� + var _IsActivateWCS = "";//鏄惁婵�娲讳笌浠诲姟璋冨害 + var _Environment = "";//搴撳瓨鐜 + var _AreaCode = "";//搴撳尯缂栧彿 + var _AreaId = "";//鎵�鍦ㄥ簱鍖� + var _AreaName = "";//搴撳尯鍚嶇О + var _VerificationCode = "";//妫�楠岀爜 + var _RowNo = "";//鎺� + var _ColumnNo = "";//鍒� + var _LayerNo = "";//灞� + var _LaneNo = "";//宸烽亾 + var _Xzb = "";//搴撲綅X鍧愭爣 + var _Yzb = "";//搴撲綅Y鍧愭爣 + var _Zzb = "";//搴撲綅Z鍧愭爣 + var _Length = "";//搴撲綅闀垮害 + var _Width = "";//搴撲綅瀹藉害 + var _Height = "";//搴撲綅楂樺害 + var _MaxWeight = "";//鏈�澶ф壙閲� + var _InSequence = "";//鍏ュ簱椤哄簭 + var _OutSequence = "";//鍑哄簱椤哄簭 + var _IsVirtually = "";//鏄惁铏氭嫙 + var _IsDisabled = "";//鏄惁绂佺敤 + var _Id = "";//Id涓婚敭 + #endregion + + + #region 鍙栧�� + _PlaceCode = row["搴撲綅缂栫爜"]?.ToString() ; + _PlaceName = row["搴撲綅鍚嶇О"]?.ToString() ; + _PlaceAlias = row["搴撲綅鍒悕"]?.ToString() ; + _PlaceType = row["搴撲綅绫诲瀷"]?.ToString() ; + _PlaceTypeName = row["搴撲綅绫诲瀷鍚嶇О"]?.ToString() ; + _StockUnit = row["瀛樻斁鍗曚綅"]?.ToString() ; + _PlaceStatus = row["搴撲綅灞炴��"]?.ToString() ; + _IsSrmPlace = row["鏄惁鍫嗗灈鏈哄簱浣�"]?.ToString() ; + _SrmPlaceNo = row["鍫嗗灈鏈哄簱浣嶅彿"]?.ToString() ; + _IsRgvPlace = row["鏄惁RGV搴撲綅"]?.ToString() ; + _RgvPlaceNo = row["RGV搴撲綅鍙�"]?.ToString() ; + _IsAgvPlace = row["鏄惁AGV搴撲綅"]?.ToString() ; + _AgvPlaceNo = row["AGV搴撲綅鍙�"]?.ToString() ; + _IsTransPlace = row["鏄惁杈撻�佺嚎搴撲綅"]?.ToString() ; + _TransPlaceNo = row["杈撻�佺嚎搴撲綅鍙�"]?.ToString() ; + _IsActivateWCS = row["鏄惁婵�娲讳笌浠诲姟璋冨害"]?.ToString() ; + _Environment = row["搴撳瓨鐜"]?.ToString() ; + _AreaCode = row["搴撳尯缂栧彿"]?.ToString() ; + _AreaId = row["鎵�鍦ㄥ簱鍖�"]?.ToString() ; + _AreaName = row["搴撳尯鍚嶇О"]?.ToString() ; + _VerificationCode = row["妫�楠岀爜"]?.ToString() ; + _RowNo = row["鎺�"]?.ToString() ; + _ColumnNo = row["鍒�"]?.ToString() ; + _LayerNo = row["灞�"]?.ToString() ; + _LaneNo = row["宸烽亾"]?.ToString() ; + _Xzb = row["搴撲綅X鍧愭爣"]?.ToString() ; + _Yzb = row["搴撲綅Y鍧愭爣"]?.ToString() ; + _Zzb = row["搴撲綅Z鍧愭爣"]?.ToString() ; + _Length = row["搴撲綅闀垮害"]?.ToString() ; + _Width = row["搴撲綅瀹藉害"]?.ToString() ; + _Height = row["搴撲綅楂樺害"]?.ToString() ; + _MaxWeight = row["鏈�澶ф壙閲�"]?.ToString() ; + _InSequence = row["鍏ュ簱椤哄簭"]?.ToString() ; + _OutSequence = row["鍑哄簱椤哄簭"]?.ToString() ; + _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ; + _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; + _Id = row["Id涓婚敭"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_PlaceCode)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅缂栫爜]{_PlaceCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PlaceCode)) + { + addItem.PlaceCode = (string)_PlaceCode; + } + + if (string.IsNullOrEmpty(_PlaceName)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅鍚嶇О]{_PlaceName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PlaceName)) + { + addItem.PlaceName = (string)_PlaceName; + } + if(!string.IsNullOrEmpty(_PlaceAlias)) + { + addItem.PlaceAlias = (string)_PlaceAlias; + } + + if (string.IsNullOrEmpty(_PlaceType)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PlaceType)) + { + if (!int.TryParse(_PlaceType, out int outPlaceType)&&!string.IsNullOrEmpty(_PlaceType)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}鍊间笉姝g‘锛�"); + } + if (outPlaceType <= 0&&!string.IsNullOrEmpty(_PlaceType)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.PlaceType = outPlaceType; + } + + } + if(!string.IsNullOrEmpty(_PlaceTypeName)) + { + addItem.PlaceTypeName = (string)_PlaceTypeName; + } + if(!string.IsNullOrEmpty(_StockUnit)) + { + addItem.StockUnit = (string)_StockUnit; + } + if(!string.IsNullOrEmpty(_PlaceStatus)) + { + if (!int.TryParse(_PlaceStatus, out int outPlaceStatus)&&!string.IsNullOrEmpty(_PlaceStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅灞炴�{_PlaceStatus}鍊间笉姝g‘锛�"); + } + if (outPlaceStatus <= 0&&!string.IsNullOrEmpty(_PlaceStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅灞炴�{_PlaceStatus}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.PlaceStatus = outPlaceStatus; + } + + } + if(!string.IsNullOrEmpty(_IsSrmPlace)) + { + if(!_IsSrmPlace.Equals("鏄�") && !_IsSrmPlace.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁鍫嗗灈鏈哄簱浣峕{_IsSrmPlace}鍊间笉姝g‘锛�"); + } + else + { + bool outIsSrmPlace = _IsSrmPlace.Equals("鏄�") ? true : false; + addItem.IsSrmPlace = outIsSrmPlace; + } + } + + if(!string.IsNullOrEmpty(_SrmPlaceNo)) + { + addItem.SrmPlaceNo = (string)_SrmPlaceNo; + } + if(!string.IsNullOrEmpty(_IsRgvPlace)) + { + if(!_IsRgvPlace.Equals("鏄�") && !_IsRgvPlace.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁RGV搴撲綅]{_IsRgvPlace}鍊间笉姝g‘锛�"); + } + else + { + bool outIsRgvPlace = _IsRgvPlace.Equals("鏄�") ? true : false; + addItem.IsRgvPlace = outIsRgvPlace; + } + } + + if(!string.IsNullOrEmpty(_RgvPlaceNo)) + { + addItem.RgvPlaceNo = (string)_RgvPlaceNo; + } + if(!string.IsNullOrEmpty(_IsAgvPlace)) + { + if(!_IsAgvPlace.Equals("鏄�") && !_IsAgvPlace.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁AGV搴撲綅]{_IsAgvPlace}鍊间笉姝g‘锛�"); + } + else + { + bool outIsAgvPlace = _IsAgvPlace.Equals("鏄�") ? true : false; + addItem.IsAgvPlace = outIsAgvPlace; + } + } + + if(!string.IsNullOrEmpty(_AgvPlaceNo)) + { + addItem.AgvPlaceNo = (string)_AgvPlaceNo; + } + if(!string.IsNullOrEmpty(_IsTransPlace)) + { + if(!_IsTransPlace.Equals("鏄�") && !_IsTransPlace.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁杈撻�佺嚎搴撲綅]{_IsTransPlace}鍊间笉姝g‘锛�"); + } + else + { + bool outIsTransPlace = _IsTransPlace.Equals("鏄�") ? true : false; + addItem.IsTransPlace = outIsTransPlace; + } + } + + if(!string.IsNullOrEmpty(_TransPlaceNo)) + { + addItem.TransPlaceNo = (string)_TransPlaceNo; + } + if(!string.IsNullOrEmpty(_IsActivateWCS)) + { + if(!_IsActivateWCS.Equals("鏄�") && !_IsActivateWCS.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁婵�娲讳笌浠诲姟璋冨害]{_IsActivateWCS}鍊间笉姝g‘锛�"); + } + else + { + bool outIsActivateWCS = _IsActivateWCS.Equals("鏄�") ? true : false; + addItem.IsActivateWCS = outIsActivateWCS; + } + } + + if(!string.IsNullOrEmpty(_Environment)) + { + addItem.Environment = (string)_Environment; + } + if(!string.IsNullOrEmpty(_AreaCode)) + { + addItem.AreaCode = (string)_AreaCode; + } + if(!string.IsNullOrEmpty(_AreaId)) + { + if (!long.TryParse(_AreaId, out long outAreaId)&&!string.IsNullOrEmpty(_AreaId)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�鍦ㄥ簱鍖篯{_AreaId}鍊间笉姝g‘锛�"); + } + if (outAreaId <= 0&&!string.IsNullOrEmpty(_AreaId)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�鍦ㄥ簱鍖篯{_AreaId}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.AreaId = outAreaId; + } + + } + if(!string.IsNullOrEmpty(_AreaName)) + { + addItem.AreaName = (string)_AreaName; + } + if(!string.IsNullOrEmpty(_VerificationCode)) + { + addItem.VerificationCode = (string)_VerificationCode; + } + if(!string.IsNullOrEmpty(_RowNo)) + { + if (!int.TryParse(_RowNo, out int outRowNo)&&!string.IsNullOrEmpty(_RowNo)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺抅{_RowNo}鍊间笉姝g‘锛�"); + } + if (outRowNo <= 0&&!string.IsNullOrEmpty(_RowNo)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺抅{_RowNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.RowNo = outRowNo; + } + + } + if(!string.IsNullOrEmpty(_ColumnNo)) + { + if (!int.TryParse(_ColumnNo, out int outColumnNo)&&!string.IsNullOrEmpty(_ColumnNo)) + { + throw Oops.Oh($"绗瑊index}琛孾鍒梋{_ColumnNo}鍊间笉姝g‘锛�"); + } + if (outColumnNo <= 0&&!string.IsNullOrEmpty(_ColumnNo)) + { + throw Oops.Oh($"绗瑊index}琛孾鍒梋{_ColumnNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.ColumnNo = outColumnNo; + } + + } + if(!string.IsNullOrEmpty(_LayerNo)) + { + if (!int.TryParse(_LayerNo, out int outLayerNo)&&!string.IsNullOrEmpty(_LayerNo)) + { + throw Oops.Oh($"绗瑊index}琛孾灞俔{_LayerNo}鍊间笉姝g‘锛�"); + } + if (outLayerNo <= 0&&!string.IsNullOrEmpty(_LayerNo)) + { + throw Oops.Oh($"绗瑊index}琛孾灞俔{_LayerNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.LayerNo = outLayerNo; + } + + } + if(!string.IsNullOrEmpty(_LaneNo)) + { + if (!int.TryParse(_LaneNo, out int outLaneNo)&&!string.IsNullOrEmpty(_LaneNo)) + { + throw Oops.Oh($"绗瑊index}琛孾宸烽亾]{_LaneNo}鍊间笉姝g‘锛�"); + } + if (outLaneNo <= 0&&!string.IsNullOrEmpty(_LaneNo)) + { + throw Oops.Oh($"绗瑊index}琛孾宸烽亾]{_LaneNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.LaneNo = outLaneNo; + } + + } + if(!string.IsNullOrEmpty(_Xzb)) + { + addItem.Xzb = (string)_Xzb; + } + if(!string.IsNullOrEmpty(_Yzb)) + { + addItem.Yzb = (string)_Yzb; + } + if(!string.IsNullOrEmpty(_Zzb)) + { + addItem.Zzb = (string)_Zzb; + } + if(!string.IsNullOrEmpty(_Length)) + { + if (!decimal.TryParse(_Length, out decimal outLength)&&!string.IsNullOrEmpty(_Length)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅闀垮害]{_Length}鍊间笉姝g‘锛�"); + } + if (outLength <= 0&&!string.IsNullOrEmpty(_Length)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅闀垮害]{_Length}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Length = outLength; + } + + } + if(!string.IsNullOrEmpty(_Width)) + { + if (!decimal.TryParse(_Width, out decimal outWidth)&&!string.IsNullOrEmpty(_Width)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅瀹藉害]{_Width}鍊间笉姝g‘锛�"); + } + if (outWidth <= 0&&!string.IsNullOrEmpty(_Width)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅瀹藉害]{_Width}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Width = outWidth; + } + + } + if(!string.IsNullOrEmpty(_Height)) + { + if (!decimal.TryParse(_Height, out decimal outHeight)&&!string.IsNullOrEmpty(_Height)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅楂樺害]{_Height}鍊间笉姝g‘锛�"); + } + if (outHeight <= 0&&!string.IsNullOrEmpty(_Height)) + { + throw Oops.Oh($"绗瑊index}琛孾搴撲綅楂樺害]{_Height}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Height = outHeight; + } + + } + if(!string.IsNullOrEmpty(_MaxWeight)) + { + if (!decimal.TryParse(_MaxWeight, out decimal outMaxWeight)&&!string.IsNullOrEmpty(_MaxWeight)) + { + throw Oops.Oh($"绗瑊index}琛孾鏈�澶ф壙閲峕{_MaxWeight}鍊间笉姝g‘锛�"); + } + if (outMaxWeight <= 0&&!string.IsNullOrEmpty(_MaxWeight)) + { + throw Oops.Oh($"绗瑊index}琛孾鏈�澶ф壙閲峕{_MaxWeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.MaxWeight = outMaxWeight; + } + + } + if(!string.IsNullOrEmpty(_InSequence)) + { + if (!int.TryParse(_InSequence, out int outInSequence)&&!string.IsNullOrEmpty(_InSequence)) + { + throw Oops.Oh($"绗瑊index}琛孾鍏ュ簱椤哄簭]{_InSequence}鍊间笉姝g‘锛�"); + } + if (outInSequence <= 0&&!string.IsNullOrEmpty(_InSequence)) + { + throw Oops.Oh($"绗瑊index}琛孾鍏ュ簱椤哄簭]{_InSequence}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.InSequence = outInSequence; + } + + } + if(!string.IsNullOrEmpty(_OutSequence)) + { + if (!int.TryParse(_OutSequence, out int outOutSequence)&&!string.IsNullOrEmpty(_OutSequence)) + { + throw Oops.Oh($"绗瑊index}琛孾鍑哄簱椤哄簭]{_OutSequence}鍊间笉姝g‘锛�"); + } + if (outOutSequence <= 0&&!string.IsNullOrEmpty(_OutSequence)) + { + throw Oops.Oh($"绗瑊index}琛孾鍑哄簱椤哄簭]{_OutSequence}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.OutSequence = outOutSequence; + } + + } + if(!string.IsNullOrEmpty(_IsVirtually)) + { + if(!_IsVirtually.Equals("鏄�") && !_IsVirtually.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�"); + } + else + { + bool outIsVirtually = _IsVirtually.Equals("鏄�") ? true : false; + addItem.IsVirtually = outIsVirtually; + } + } + + if(!string.IsNullOrEmpty(_IsDisabled)) + { + if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�"); + } + else + { + bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; + addItem.IsDisabled = outIsDisabled; + } + } + + if(!string.IsNullOrEmpty(_Id)) + { + if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); + } + if (outId <= 0&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Id = outId; + } + + } + #endregion + + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <param name="version">妯℃澘鐗堟湰</param> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet("WmsPlace/downloadExcelTemplate")] + public IActionResult DownloadExcelTemplate([FromQuery] string version) + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsPlace{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(搴撲綅淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + /// </summary> + /// <param name="input"></param> + /// <param name="isEdit"></param> + /// <returns></returns> + private async Task CheckExisit( WmsPlace input,bool isEdit=false) + { + + + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsPlaceRep.AnyAsync(u => + u.PlaceCode.Equals(input.PlaceCode) + ,false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _wmsPlaceRep.AnyAsync(u => + u.Id != input.Id + &&u.PlaceCode.Equals(input.PlaceCode) + ,false); + } + + + + if (isExist) throw Oops.Oh(ErrorCode.E0001); + } + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<WmsPlace> inputs) + { + //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.PlaceCode + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.PlaceCode + }).FirstOrDefault(); + if (existExcelItem != null) + { + var wmsPlace = existExcelItem.Adapt<WmsPlace>(); + var item= existExcelItem.Adapt<WmsPlace>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,搴撲綅缂栫爜[{item.PlaceCode}]宸插瓨鍦�"); + } + + + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(w=> + inputs.Select(s=>"" + +s.PlaceCode + ) + .Contains("" + +w.PlaceCode + )); + if (existDBItem != null) + { + var wmsPlace = existExcelItem.Adapt<WmsPlace>(); + var item= existExcelItem.Adapt<WmsPlace>(); + throw Oops.Oh($"绯荤粺涓�,搴撲綅缂栫爜[{item.PlaceCode}]宸插瓨鍦�"); + } + } + + #endregion + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs new file mode 100644 index 0000000..f967b03 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs @@ -0,0 +1,165 @@ +锘縰sing Admin.NET.Core; +using Admin.NET.Core.Service; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application +{ + + /// <summary> + /// 鍗曚綅淇℃伅鏌ヨ鍙傛暟 + /// </summary> + public class WmsUnitSearch : PageInputBase + { + /// <summary> + /// 缂栧彿 + /// </summary> + public virtual string UnitCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public virtual string UnitName { get; set; } + + /// <summary> + /// 鎻忚堪 + /// </summary> + public virtual string UnitDesc { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<string> CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<string> UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 鍗曚綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� + /// </summary> + public class WmsUnitSearchNonPage : PageInputNonPageBase + { + /// <summary> + /// 缂栧彿 + /// </summary> + public virtual string UnitCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public virtual string UnitName { get; set; } + + /// <summary> + /// 鎻忚堪 + /// </summary> + public virtual string UnitDesc { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public virtual List<DateTimeOffset>? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public virtual string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public virtual string UpdatedUserName { get; set; } + + } + + /// <summary> + /// 鍗曚綅淇℃伅杈撳叆鍙傛暟 + /// </summary> + public class WmsUnitInput + { + /// <summary> + /// 缂栧彿 + /// </summary> + [Required(ErrorMessage = "缂栧彿涓嶈兘涓虹┖")] + public virtual string UnitCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")] + public virtual string UnitName { get; set; } + + /// <summary> + /// 鎻忚堪 + /// </summary> + public virtual string UnitDesc { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public virtual bool? IsDisabled { get; set; } + + } + + /// <summary> + /// 鍗曚綅淇℃伅鏂板鍙傛暟 + /// </summary> + public class AddWmsUnitInput : WmsUnitInput + { + } + + /// <summary> + /// 鍗曚綅淇℃伅鍒犻櫎鍙傛暟 + /// </summary> + public class DeleteWmsUnitInput : BaseId + { + } + + /// <summary> + /// 鍗曚綅淇℃伅鏇存柊鍙傛暟 + /// </summary> + public class UpdateWmsUnitInput : WmsUnitInput + { + /// <summary> + /// Id涓婚敭 + /// </summary> + [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")] + public long? Id { get; set; } + + } + + /// <summary> + /// 鍗曚綅淇℃伅鑾峰彇鍗曚釜鍙傛暟 + /// </summary> + public class QueryeWmsUnitInput : BaseId + { + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs new file mode 100644 index 0000000..668e3ac --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs @@ -0,0 +1,57 @@ +锘縰sing Admin.NET.Core.Util.LowCode.Dto; +using System; + +namespace Admin.NET.Application +{ + /// <summary> + /// 鍗曚綅淇℃伅杈撳嚭鍙傛暟 + /// </summary> + public class WmsUnitOutput + { + /// <summary> + /// 缂栧彿 + /// </summary> + public string UnitCode { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public string UnitName { get; set; } + + /// <summary> + /// 鎻忚堪 + /// </summary> + public string UnitDesc { get; set; } + + /// <summary> + /// 鏄惁绂佺敤 + /// </summary> + public bool? IsDisabled { get; set; } + + /// <summary> + /// Id涓婚敭 + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTimeOffset? CreatedTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTimeOffset? UpdatedTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭悕绉� + /// </summary> + public string CreatedUserName { get; set; } + + /// <summary> + /// 淇敼鑰呭悕绉� + /// </summary> + public string UpdatedUserName { get; set; } + + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs new file mode 100644 index 0000000..0b91e04 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs @@ -0,0 +1,22 @@ +锘縰sing Admin.NET.Core; +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; + +namespace Admin.NET.Application +{ + public interface IWmsUnitService + { + Task<WmsUnitOutput> Get([FromQuery] QueryeWmsUnitInput input); + Task<List<WmsUnitOutput>> List([FromQuery] WmsUnitInput input); + Task<PageResult<WmsUnitOutput>> Page([FromQuery] WmsUnitSearch input); + Task<List<WmsUnitOutput>> ListNonPageAsync([FromQuery] WmsUnitSearchNonPage input); + + Task Add(AddWmsUnitInput input); + Task Update(UpdateWmsUnitInput input); + Task Delete(DeleteWmsUnitInput input); + Task<int> ImportExcelAsync(IFormFile file); + IActionResult DownloadExcelTemplate(string version); + } +} \ No newline at end of file diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs new file mode 100644 index 0000000..86dc842 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs @@ -0,0 +1,18 @@ +锘縰sing Mapster; +using Admin.NET.Core; + +namespace Admin.NET.Application +{ + public class WmsUnitMapper : IRegister + { + public void Register(TypeAdapterConfig config) + { + config.ForType<AddWmsUnitInput, WmsUnit>() + ; + config.ForType<UpdateWmsUnitInput, WmsUnit>() + ; + config.ForType<WmsUnit, WmsUnitOutput>() + ; + } + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs new file mode 100644 index 0000000..10d8819 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs @@ -0,0 +1,412 @@ +锘縰sing Furion.DatabaseAccessor; +using Furion.DatabaseAccessor.Extensions; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Furion.FriendlyException; +using Admin.NET.Core; +using Mapster; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using System.Linq.Dynamic.Core; +using Microsoft.AspNetCore.Http; +using System.Text; +using System.Web; +using System.ComponentModel; +using System.Data; +namespace Admin.NET.Application +{ + /// <summary> + /// 鍗曚綅淇℃伅鏈嶅姟 + /// </summary> + [ApiDescriptionSettings("WmsBase", Name = "WmsUnit", Order = 100)] + [Route("api")] + public class WmsUnitService : IWmsUnitService, IDynamicApiController, ITransient + { + private readonly IRepository<WmsUnit,MasterDbContextLocator> _wmsUnitRep; + private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep; + private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep; + private readonly ISysExcelTemplateService _sysExcelTemplateService; + private readonly static object _lock = new(); + + public WmsUnitService( + IRepository<WmsUnit,MasterDbContextLocator> wmsUnitRep + ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep + ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep + ,ISysExcelTemplateService sysExcelTemplateService + ) + { + _wmsUnitRep = wmsUnitRep; + _sysDictTypeRep = sysDictTypeRep; + _sysDictDataRep = sysDictDataRep; + _sysExcelTemplateService = sysExcelTemplateService; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ鍗曚綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsUnit/page")] + public async Task<PageResult<WmsUnitOutput>> Page([FromQuery] WmsUnitSearch input) + { + var wmsUnits = await _wmsUnitRep.DetachedEntities + .Where(!string.IsNullOrEmpty(input.UnitCode), u => u.UnitCode == input.UnitCode) + .Where(!string.IsNullOrEmpty(input.UnitName), u => u.UnitName == input.UnitName) + .Where(!string.IsNullOrEmpty(input.UnitDesc), u => u.UnitDesc == input.UnitDesc) + .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName) + .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName) + .OrderBy(PageInputOrder.OrderBuilder<WmsUnitSearch>(input)) + .ProjectToType<WmsUnitOutput>() + .ToADPagedListAsync(input.PageNo, input.PageSize); + return wmsUnits; + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈠崟浣嶄俊鎭垪琛� + /// </summary> + /// <param name="input">鍗曚綅淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(鍗曚綅淇℃伅)瀹炰緥鍒楄〃</returns> + [HttpGet("WmsUnit/listNonPage")] + public async Task<List<WmsUnitOutput>> ListNonPageAsync([FromQuery] WmsUnitSearchNonPage input) + { + var pUnitCode = input.UnitCode?.Trim() ?? ""; + var pUnitName = input.UnitName?.Trim() ?? ""; + var pUnitDesc = input.UnitDesc?.Trim() ?? ""; + var pIsDisabled = input.IsDisabled; + var pCreatedTime = input.CreatedTime; + var pUpdatedTime = input.UpdatedTime; + var pCreatedUserName = input.CreatedUserName?.Trim() ?? ""; + var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; + var wmsUnits = await _wmsUnitRep.DetachedEntities + .Where(!string.IsNullOrEmpty(pUnitCode), u => u.UnitCode == pUnitCode) + .Where(!string.IsNullOrEmpty(pUnitName), u => u.UnitName == pUnitName) + .Where(!string.IsNullOrEmpty(pUnitDesc), u => u.UnitDesc == pUnitDesc) + .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled) + .Where(input.CreatedTime!=null, u => u.CreatedTime>= Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1])) + .Where(input.UpdatedTime!=null, u => u.UpdatedTime>= Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1])) + .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName) + .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName) + .OrderBy(PageInputOrder.OrderNonPageBuilder(input)) + .ProjectToType<WmsUnitOutput>() + .ToListAsync(); + return wmsUnits; + } + + /// <summary> + /// 鑾峰彇鍗曚綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsUnit/detail")] + public async Task<WmsUnitOutput> Get([FromQuery] QueryeWmsUnitInput input) + { + return (await _wmsUnitRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsUnitOutput>(); + } + + /// <summary> + /// 鑾峰彇鍗曚綅淇℃伅鍒楄〃 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet("WmsUnit/list")] + public async Task<List<WmsUnitOutput>> List([FromQuery] WmsUnitInput input) + { + return await _wmsUnitRep.DetachedEntities.ProjectToType<WmsUnitOutput>().ToListAsync(); + } + + #region 澧炪�佸垹銆佹敼 + + /// <summary> + /// 澧炲姞鍗曚綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsUnit/add")] + public async Task Add(AddWmsUnitInput input) + { + var wmsUnit = input.Adapt<WmsUnit>(); + //楠岃瘉 + await CheckExisit(wmsUnit); + + wmsUnit.CreatedUserId = wmsUnit.UpdatedUserId = SysHelper.GetUserId(); + wmsUnit.CreatedUserName = wmsUnit.UpdatedUserName = SysHelper.GetUserName(); + wmsUnit.CreatedTime = wmsUnit.UpdatedTime = SysHelper.GetNowTime(); + await _wmsUnitRep.InsertAsync(wmsUnit); + } + + /// <summary> + /// 鍒犻櫎鍗曚綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsUnit/delete")] + public async Task Delete(DeleteWmsUnitInput input) + { + var wmsUnit = await _wmsUnitRep.FirstOrDefaultAsync(u => u.Id == input.Id); + await _wmsUnitRep.DeleteAsync(wmsUnit); + + } + + /// <summary> + /// 鏇存柊鍗曚綅淇℃伅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost("WmsUnit/edit")] + public async Task Update(UpdateWmsUnitInput input) + { + var isExist = await _wmsUnitRep.AnyAsync(u => u.Id == input.Id, false); + if (!isExist) throw Oops.Oh(ErrorCode.D1002); + + var wmsUnit = input.Adapt<WmsUnit>(); + //楠岃瘉 + await CheckExisit(wmsUnit,true); + + wmsUnit.UpdatedUserId = SysHelper.GetUserId(); + wmsUnit.UpdatedUserName = SysHelper.GetUserName(); + wmsUnit.UpdatedTime = SysHelper.GetNowTime(); + await _wmsUnitRep.UpdateAsync(wmsUnit,ignoreNullValues:true); + } + + #endregion + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆鍗曚綅淇℃伅鍔熻兘 + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost("WmsUnit/importExcel")] + public async Task<int> ImportExcelAsync(IFormFile file) + { + int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕 + int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁 + + DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine); + var addList =await CommonImport(importDataTable, _DataStartLine); + + lock (_lock) + { + _wmsUnitRep.InsertAsync(addList); + + } + await Task.CompletedTask; + return addList.Count; + } + + /// <summary> + /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃 + /// </summary> + /// <param name="dataTable"></param> + /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param> + /// <returns></returns> + private async Task<List<WmsUnit>> CommonImport(DataTable dataTable, int dataStartLine) + { + + var details = new List<WmsUnit>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new WmsUnit() + { + CreatedTime = SysHelper.GetNowTime(), + CreatedUserId = SysHelper.GetUserId(), + CreatedUserName = SysHelper.GetUserName(), + UpdatedTime = SysHelper.GetNowTime(), + UpdatedUserId = SysHelper.GetUserId(), + UpdatedUserName = SysHelper.GetUserName() + }; + #region 瀹氫箟鍙橀噺 + var _UnitCode = "";//缂栧彿 + var _UnitName = "";//鍚嶇О + var _UnitDesc = "";//鎻忚堪 + var _IsDisabled = "";//鏄惁绂佺敤 + var _Id = "";//Id涓婚敭 + #endregion + + + #region 鍙栧�� + _UnitCode = row["缂栧彿"]?.ToString() ; + _UnitName = row["鍚嶇О"]?.ToString() ; + _UnitDesc = row["鎻忚堪"]?.ToString() ; + _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ; + _Id = row["Id涓婚敭"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_UnitCode)) + { + throw Oops.Oh($"绗瑊index}琛孾缂栧彿]{_UnitCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_UnitCode)) + { + addItem.UnitCode = (string)_UnitCode; + } + + if (string.IsNullOrEmpty(_UnitName)) + { + throw Oops.Oh($"绗瑊index}琛孾鍚嶇О]{_UnitName}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_UnitName)) + { + addItem.UnitName = (string)_UnitName; + } + if(!string.IsNullOrEmpty(_UnitDesc)) + { + addItem.UnitDesc = (string)_UnitDesc; + } + if(!string.IsNullOrEmpty(_IsDisabled)) + { + if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�"); + } + else + { + bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false; + addItem.IsDisabled = outIsDisabled; + } + } + + if(!string.IsNullOrEmpty(_Id)) + { + if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�"); + } + if (outId <= 0&&!string.IsNullOrEmpty(_Id)) + { + throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Id = outId; + } + + } + #endregion + + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <param name="version">妯℃澘鐗堟湰</param> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet("WmsUnit/downloadExcelTemplate")] + public IActionResult DownloadExcelTemplate([FromQuery] string version) + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsUnit{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鍗曚綅淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴� + /// </summary> + /// <param name="input"></param> + /// <param name="isEdit"></param> + /// <returns></returns> + private async Task CheckExisit( WmsUnit input,bool isEdit=false) + { + + + + bool isExist = false; + if (!isEdit)//鏂板 + { + //鏁版嵁鏄惁瀛樺湪閲嶅 + isExist = await _wmsUnitRep.AnyAsync(u => + u.UnitCode.Equals(input.UnitCode) + ,false); + } + else//缂栬緫 + { + + + + //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅 + isExist = await _wmsUnitRep.AnyAsync(u => + u.Id != input.Id + &&u.UnitCode.Equals(input.UnitCode) + ,false); + } + + + + if (isExist) throw Oops.Oh(ErrorCode.E0001); + } + + /// <summary> + /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<WmsUnit> inputs) + { + //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏁版嵁鏄惁閲嶅 + var existExcelItem = inputs.GroupBy(g => new { + g.UnitCode + }) + .Where(g => g.Count() > 1) + .Select(s => new { + s.Key.UnitCode + }).FirstOrDefault(); + if (existExcelItem != null) + { + var wmsUnit = existExcelItem.Adapt<WmsUnit>(); + var item= existExcelItem.Adapt<WmsUnit>(); + throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,缂栧彿[{item.UnitCode}]宸插瓨鍦�"); + } + + + + + //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + var existDBItem = await _wmsUnitRep.DetachedEntities.FirstOrDefaultAsync(w=> + inputs.Select(s=>"" + +s.UnitCode + ) + .Contains("" + +w.UnitCode + )); + if (existDBItem != null) + { + var wmsUnit = existExcelItem.Adapt<WmsUnit>(); + var item= existExcelItem.Adapt<WmsUnit>(); + throw Oops.Oh($"绯荤粺涓�,缂栧彿[{item.UnitCode}]宸插瓨鍦�"); + } + } + + #endregion + } +} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs index c0dd5fb..4e6079d 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs @@ -6,7 +6,7 @@ { /// <summary> - /// 浠撳簱琛ㄦ煡璇㈠弬鏁� + /// 浠撳簱淇℃伅鏌ヨ鍙傛暟 /// </summary> public class WmsWarehouseSearch : PageInputBase { @@ -88,7 +88,7 @@ } /// <summary> - /// 浠撳簱琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟 + /// 浠撳簱淇℃伅涓嶅垎椤垫煡璇㈠弬鏁� /// </summary> public class WmsWarehouseSearchNonPage : PageInputNonPageBase { @@ -170,7 +170,7 @@ } /// <summary> - /// 浠撳簱琛ㄨ緭鍏ュ弬鏁� + /// 浠撳簱淇℃伅杈撳叆鍙傛暟 /// </summary> public class WmsWarehouseInput { @@ -194,6 +194,7 @@ /// <summary> /// 宸ュ巶缂栧彿 /// </summary> + [Required(ErrorMessage = "宸ュ巶缂栧彿涓嶈兘涓虹┖")] public virtual string FactoryCode { get; set; } /// <summary> @@ -224,8 +225,7 @@ /// <summary> /// 鏄惁绂佺敤 /// </summary> - [Required(ErrorMessage = "鏄惁绂佺敤涓嶈兘涓虹┖")] - public virtual bool IsDisabled { get; set; } + public virtual bool? IsDisabled { get; set; } /// <summary> /// 澶囨敞 @@ -235,21 +235,21 @@ } /// <summary> - /// 浠撳簱琛ㄦ柊澧炲弬鏁� + /// 浠撳簱淇℃伅鏂板鍙傛暟 /// </summary> public class AddWmsWarehouseInput : WmsWarehouseInput { } /// <summary> - /// 浠撳簱琛ㄥ垹闄ゅ弬鏁� + /// 浠撳簱淇℃伅鍒犻櫎鍙傛暟 /// </summary> public class DeleteWmsWarehouseInput : BaseId { } /// <summary> - /// 浠撳簱琛ㄦ洿鏂板弬鏁� + /// 浠撳簱淇℃伅鏇存柊鍙傛暟 /// </summary> public class UpdateWmsWarehouseInput : WmsWarehouseInput { @@ -262,7 +262,7 @@ } /// <summary> - /// 浠撳簱琛ㄨ幏鍙栧崟涓弬鏁� + /// 浠撳簱淇℃伅鑾峰彇鍗曚釜鍙傛暟 /// </summary> public class QueryeWmsWarehouseInput : BaseId { diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs index 632cf29..1c42ed0 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs @@ -4,7 +4,7 @@ namespace Admin.NET.Application { /// <summary> - /// 浠撳簱琛ㄨ緭鍑哄弬鏁� + /// 浠撳簱淇℃伅杈撳嚭鍙傛暟 /// </summary> public class WmsWarehouseOutput { @@ -56,7 +56,7 @@ /// <summary> /// 鏄惁绂佺敤 /// </summary> - public bool IsDisabled { get; set; } + public bool? IsDisabled { get; set; } /// <summary> /// 澶囨敞 diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs index be2bb77..e9ac41f 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs @@ -16,7 +16,7 @@ namespace Admin.NET.Application { /// <summary> - /// 浠撳簱琛ㄦ湇鍔� + /// 浠撳簱淇℃伅鏈嶅姟 /// </summary> [ApiDescriptionSettings("WmsBase", Name = "WmsWarehouse", Order = 100)] [Route("api")] @@ -42,7 +42,7 @@ } /// <summary> - /// 鍒嗛〉鏌ヨ浠撳簱琛� + /// 鍒嗛〉鏌ヨ浠撳簱淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -72,10 +72,10 @@ } /// <summary> - /// 涓嶅垎椤垫煡璇粨搴撹〃鍒楄〃 + /// 涓嶅垎椤垫煡璇粨搴撲俊鎭垪琛� /// </summary> - /// <param name="input">浠撳簱琛ㄦ煡璇㈠弬鏁�</param> - /// <returns>(浠撳簱琛�)瀹炰緥鍒楄〃</returns> + /// <param name="input">浠撳簱淇℃伅鏌ヨ鍙傛暟</param> + /// <returns>(浠撳簱淇℃伅)瀹炰緥鍒楄〃</returns> [HttpGet("WmsWarehouse/listNonPage")] public async Task<List<WmsWarehouseOutput>> ListNonPageAsync([FromQuery] WmsWarehouseSearchNonPage input) { @@ -117,7 +117,7 @@ } /// <summary> - /// 鑾峰彇浠撳簱琛� + /// 鑾峰彇浠撳簱淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -128,7 +128,7 @@ } /// <summary> - /// 鑾峰彇浠撳簱琛ㄥ垪琛� + /// 鑾峰彇浠撳簱淇℃伅鍒楄〃 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -141,7 +141,7 @@ #region 澧炪�佸垹銆佹敼 /// <summary> - /// 澧炲姞浠撳簱琛� + /// 澧炲姞浠撳簱淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -159,7 +159,7 @@ } /// <summary> - /// 鍒犻櫎浠撳簱琛� + /// 鍒犻櫎浠撳簱淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -172,7 +172,7 @@ } /// <summary> - /// 鏇存柊浠撳簱琛� + /// 鏇存柊浠撳簱淇℃伅 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -197,7 +197,7 @@ #region 瀵煎叆 /// <summary> - /// Excel妯℃澘瀵煎叆浠撳簱琛ㄥ姛鑳� + /// Excel妯℃澘瀵煎叆浠撳簱淇℃伅鍔熻兘 /// </summary> /// <param name="file">Excel妯℃澘鏂囦欢</param> /// <returns>瀵煎叆鐨勮褰曟暟</returns> @@ -302,6 +302,12 @@ { addItem.Address = (string)_Address; } + + if (string.IsNullOrEmpty(_FactoryCode)) + { + throw Oops.Oh($"绗瑊index}琛孾宸ュ巶缂栧彿]{_FactoryCode}涓嶈兘涓虹┖锛�"); + } + if(!string.IsNullOrEmpty(_FactoryCode)) { addItem.FactoryCode = (string)_FactoryCode; @@ -362,12 +368,6 @@ { addItem.Position = (string)_Position; } - - if (string.IsNullOrEmpty(_IsDisabled)) - { - throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}涓嶈兘涓虹┖锛�"); - } - if(!string.IsNullOrEmpty(_IsDisabled)) { if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�")) @@ -414,7 +414,7 @@ } /// <summary> - /// 鏍规嵁鐗堟湰涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘 + /// 鏍规嵁鐗堟湰涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘 /// </summary> /// <param name="version">妯℃澘鐗堟湰</param> /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> @@ -422,7 +422,7 @@ public IActionResult DownloadExcelTemplate([FromQuery] string version) { string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsWarehouse{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; - var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(浠撳簱琛�).xlsx", Encoding.GetEncoding("UTF-8")); + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(浠撳簱淇℃伅).xlsx", Encoding.GetEncoding("UTF-8")); return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; } diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs index 7804b78..22631da 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs @@ -1,204 +1,204 @@ -锘縰sing Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Admin.NET.Core; +锘�//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.ComponentModel.DataAnnotations; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; +//using Admin.NET.Core; -namespace Admin.NET.Application -{ - /// <summary> - /// 鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟 - /// </summary> - public class GetSortInfoOutput - { - /// <summary> - /// 瀹瑰櫒 - /// </summary> - public WmsContainerDto WmsContainer { get; set; } +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟 +// /// </summary> +// public class GetSortInfoOutput +// { +// /// <summary> +// /// 瀹瑰櫒 +// /// </summary> +// public WmsContainerDto WmsContainer { get; set; } - /// <summary> - /// 鍒嗘嫞淇℃伅 - /// </summary> - public List<WmsSortOrder> WmsSortOrderList { get; set; } - } +// /// <summary> +// /// 鍒嗘嫞淇℃伅 +// /// </summary> +// public List<WmsSortOrder> WmsSortOrderList { get; set; } +// } - /// <summary> - /// 鍒嗛〉鑾峰彇鍒嗘嫞鍗� - /// </summary> - public class SortPdaPageOutput : PageInputBase - { - /// <summary> - /// 鍗曟嵁澶х被 - /// </summary> - public long OrderLargeCategory { get; set; } +// /// <summary> +// /// 鍒嗛〉鑾峰彇鍒嗘嫞鍗� +// /// </summary> +// public class SortPdaPageOutput : PageInputBase +// { +// /// <summary> +// /// 鍗曟嵁澶х被 +// /// </summary> +// public long OrderLargeCategory { get; set; } - /// <summary> - /// 鍗曟嵁灏忕被 - /// </summary> - public long OrderSubclass { get; set; } +// /// <summary> +// /// 鍗曟嵁灏忕被 +// /// </summary> +// public long OrderSubclass { get; set; } - /// <summary> - /// 浜嬪姟绫诲瀷 - /// </summary> - public string MoveType { get; set; } +// /// <summary> +// /// 浜嬪姟绫诲瀷 +// /// </summary> +// public string MoveType { get; set; } - /// <summary> - /// 涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮� - /// </summary> - public long SOID { get; set; } +// /// <summary> +// /// 涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮� +// /// </summary> +// public long SOID { get; set; } - /// <summary> - /// 鍗曟嵁缂栧彿 - /// </summary> - public string NO { get; set; } +// /// <summary> +// /// 鍗曟嵁缂栧彿 +// /// </summary> +// public string NO { get; set; } - /// <summary> - /// 棰嗘枡鍗曠敵璇锋棩鏈� - /// </summary> - public DateTimeOffset Billdate { get; set; } +// /// <summary> +// /// 棰嗘枡鍗曠敵璇锋棩鏈� +// /// </summary> +// public DateTimeOffset Billdate { get; set; } - /// <summary> - /// 棰嗙敤椤圭洰鍙� - /// </summary> - public string WBSElementcode { get; set; } +// /// <summary> +// /// 棰嗙敤椤圭洰鍙� +// /// </summary> +// public string WBSElementcode { get; set; } - /// <summary> - /// 棰嗘枡閮ㄩ棬 - /// </summary> - public string BenefitingDepartcode { get; set; } +// /// <summary> +// /// 棰嗘枡閮ㄩ棬 +// /// </summary> +// public string BenefitingDepartcode { get; set; } - /// <summary> - /// 鍙楃泭閮ㄩ棬 - /// </summary> - public string CostCenterID { get; set; } +// /// <summary> +// /// 鍙楃泭閮ㄩ棬 +// /// </summary> +// public string CostCenterID { get; set; } - /// <summary> - /// 瀹㈡埛 - /// </summary> - public string FI_Client_Analysis_H { get; set; } +// /// <summary> +// /// 瀹㈡埛 +// /// </summary> +// public string FI_Client_Analysis_H { get; set; } - /// <summary> - /// 鏄惁鍏徃闂翠氦鏄� - /// </summary> - public long IsInnerCompany { get; set; } +// /// <summary> +// /// 鏄惁鍏徃闂翠氦鏄� +// /// </summary> +// public long IsInnerCompany { get; set; } - /// <summary> - /// 棰嗘枡浜� - /// </summary> - public string PickerID { get; set; } +// /// <summary> +// /// 棰嗘枡浜� +// /// </summary> +// public string PickerID { get; set; } - /// <summary> - /// 浠撳偍涓績 - /// </summary> - public string WarehouseCentername { get; set; } +// /// <summary> +// /// 浠撳偍涓績 +// /// </summary> +// public string WarehouseCentername { get; set; } - /// <summary> - /// 鍏徃 - /// </summary> - public string Companyname { get; set; } +// /// <summary> +// /// 鍏徃 +// /// </summary> +// public string Companyname { get; set; } - /// <summary> - /// 鏂藉伐闃� - /// </summary> - public string ConstructionTeamID { get; set; } +// /// <summary> +// /// 鏂藉伐闃� +// /// </summary> +// public string ConstructionTeamID { get; set; } - /// <summary> - /// 鍗曟嵁鐘舵�� - /// </summary> - public Admin.NET.Core.OrderStatusEnum OrderStatus { get; set; } +// /// <summary> +// /// 鍗曟嵁鐘舵�� +// /// </summary> +// public Admin.NET.Core.OrderStatusEnum OrderStatus { get; set; } - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } +// /// <summary> +// /// Id涓婚敭 +// /// </summary> +// public long Id { get; set; } - /// <summary> - /// 鏃堕棿 - /// </summary> - public DateTimeOffset? CreatedTime { get; set; } - } +// /// <summary> +// /// 鏃堕棿 +// /// </summary> +// public DateTimeOffset? CreatedTime { get; set; } +// } - /// <summary> - /// 鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟 - /// </summary> - public class SortPdaDetailPageOutput - { - /// <summary> - /// 鏉ユ簮鍗曞彿 - /// </summary> - public string OrderNo { get; set; } +// /// <summary> +// /// 鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟 +// /// </summary> +// public class SortPdaDetailPageOutput +// { +// /// <summary> +// /// 鏉ユ簮鍗曞彿 +// /// </summary> +// public string OrderNo { get; set; } - /// <summary> - /// 鐗╂枡缂栧彿 - /// </summary> - public string Materialcode { get; set; } +// /// <summary> +// /// 鐗╂枡缂栧彿 +// /// </summary> +// public string Materialcode { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string Materialname { get; set; } +// /// <summary> +// /// 鐗╂枡鍚嶇О +// /// </summary> +// public string Materialname { get; set; } - /// <summary> - /// - /// </summary> - public long OrderDetailID { get; set; } +// /// <summary> +// /// +// /// </summary> +// public long OrderDetailID { get; set; } - /// <summary> - /// 鍒嗘嫞缁勭洏鍗曞彿 - /// </summary> - public string ContainerOrderNo { get; set; } +// /// <summary> +// /// 鍒嗘嫞缁勭洏鍗曞彿 +// /// </summary> +// public string ContainerOrderNo { get; set; } - /// <summary> - /// 椤圭洰缂栧彿 - /// </summary> - public string ProjectCode { get; set; } +// /// <summary> +// /// 椤圭洰缂栧彿 +// /// </summary> +// public string ProjectCode { get; set; } - /// <summary> - /// TA鍙� - /// </summary> - public string TACode { get; set; } +// /// <summary> +// /// TA鍙� +// /// </summary> +// public string TACode { get; set; } - /// <summary> - /// 鍒嗘鍙� - /// </summary> - public string PartCode { get; set; } +// /// <summary> +// /// 鍒嗘鍙� +// /// </summary> +// public string PartCode { get; set; } - /// <summary> - /// 搴撲綅缂栫爜 - /// </summary> - public string PlaceCode { get; set; } +// /// <summary> +// /// 搴撲綅缂栫爜 +// /// </summary> +// public string PlaceCode { get; set; } - /// <summary> - /// 瀹瑰櫒缂栧彿 - /// </summary> - public string ContainerCode { get; set; } +// /// <summary> +// /// 瀹瑰櫒缂栧彿 +// /// </summary> +// public string ContainerCode { get; set; } - /// <summary> - /// 鍒嗘嫞鏁� - /// </summary> - public decimal SortQuantity { get; set; } +// /// <summary> +// /// 鍒嗘嫞鏁� +// /// </summary> +// public decimal SortQuantity { get; set; } - /// <summary> - /// 瀹為檯鍒嗘嫞鏁� - /// </summary> - public decimal ActualQuantity { get; set; } +// /// <summary> +// /// 瀹為檯鍒嗘嫞鏁� +// /// </summary> +// public decimal ActualQuantity { get; set; } - /// <summary> - /// 澶囨敞 - /// </summary> - public string Remarks { get; set; } +// /// <summary> +// /// 澶囨敞 +// /// </summary> +// public string Remarks { get; set; } - /// <summary> - /// 鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2 - /// </summary> - public Admin.NET.Core.SortStatusEnum SortStatus { get; set; } +// /// <summary> +// /// 鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2 +// /// </summary> +// public Admin.NET.Core.SortStatusEnum SortStatus { get; set; } - /// <summary> - /// Id涓婚敭 - /// </summary> - public long Id { get; set; } - } -} +// /// <summary> +// /// Id涓婚敭 +// /// </summary> +// public long Id { get; set; } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs index 15c58c4..1c2a619 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs @@ -1,154 +1,154 @@ -锘縰sing Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Admin.NET.Core; +锘�//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.ComponentModel.DataAnnotations; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; +//using Admin.NET.Core; -namespace Admin.NET.Application -{ - /// <summary> - /// 鑾峰彇鎵樼洏鍏ュ弬 - /// </summary> - public class GetContainerOutput - { - /// <summary> - /// 鎵樼洏鍙� - /// </summary> - [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")] - public string ContainerCode { get; set; } +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鑾峰彇鎵樼洏鍏ュ弬 +// /// </summary> +// public class GetContainerOutput +// { +// /// <summary> +// /// 鎵樼洏鍙� +// /// </summary> +// [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")] +// public string ContainerCode { get; set; } - /// <summary> - /// - /// </summary> - public WmsContainerDto WmsContainer { get; set; } +// /// <summary> +// /// +// /// </summary> +// public WmsContainerDto WmsContainer { get; set; } - /// <summary> - /// 鐗╂枡淇℃伅 - /// </summary> - public List<WmsMaterialContainer> WmsMaterials { get; set; } - } +// /// <summary> +// /// 鐗╂枡淇℃伅 +// /// </summary> +// public List<WmsMaterialContainer> WmsMaterials { get; set; } +// } - /// <summary> - /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� - /// </summary> - public class GroupDiskOutput - { - /// <summary> - /// 鎵樼洏 - /// </summary> - public string Containercode { get; set; } +// /// <summary> +// /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� +// /// </summary> +// public class GroupDiskOutput +// { +// /// <summary> +// /// 鎵樼洏 +// /// </summary> +// public string Containercode { get; set; } - /// <summary> - /// 缁勭洏鍗曟嵁 - /// </summary> - public string OrderNo { get; set; } - } - /// <summary> - /// 鐗╂枡杩斿洖鍙傛暟 - /// </summary> - public class PadGetMaterialOutput - { - /// <summary> - /// Id - /// </summary> - public long Id { get; set; } +// /// <summary> +// /// 缁勭洏鍗曟嵁 +// /// </summary> +// public string OrderNo { get; set; } +// } +// /// <summary> +// /// 鐗╂枡杩斿洖鍙傛暟 +// /// </summary> +// public class PadGetMaterialOutput +// { +// /// <summary> +// /// Id +// /// </summary> +// public long Id { get; set; } - /// <summary> - /// 鍗曟嵁Id - /// </summary> - public long OrderId { get; set; } +// /// <summary> +// /// 鍗曟嵁Id +// /// </summary> +// public long OrderId { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string Materialname { get; set; } +// /// <summary> +// /// 鐗╂枡鍚嶇О +// /// </summary> +// public string Materialname { get; set; } - /// <summary> - /// 鐗╂枡缂栧彿 - /// </summary> - public string Materialcode { get; set; } +// /// <summary> +// /// 鐗╂枡缂栧彿 +// /// </summary> +// public string Materialcode { get; set; } - /// <summary> - /// 鍩烘湰鍗曚綅 - /// </summary> - public string Unit { get; set; } +// /// <summary> +// /// 鍩烘湰鍗曚綅 +// /// </summary> +// public string Unit { get; set; } - /// <summary> - /// 鏁伴噺 - /// </summary> - public decimal Qty { get; set; } +// /// <summary> +// /// 鏁伴噺 +// /// </summary> +// public decimal Qty { get; set; } - /// <summary> - /// 鍗曟牴闀垮害 - /// </summary> - public decimal SingleLength { get; set; } +// /// <summary> +// /// 鍗曟牴闀垮害 +// /// </summary> +// public decimal SingleLength { get; set; } - /// <summary> - /// 鐞嗚閲嶉噺 - /// </summary> - public decimal TheoreticalWeight { get; set; } +// /// <summary> +// /// 鐞嗚閲嶉噺 +// /// </summary> +// public decimal TheoreticalWeight { get; set; } - /// <summary> - /// 涓嶅惈绋庡崟浠� - /// </summary> - public decimal Price { get; set; } +// /// <summary> +// /// 涓嶅惈绋庡崟浠� +// /// </summary> +// public decimal Price { get; set; } - /// <summary> - /// 鎴愭湰閲戦 - /// </summary> - public decimal SumPrice { get; set; } +// /// <summary> +// /// 鎴愭湰閲戦 +// /// </summary> +// public decimal SumPrice { get; set; } - /// <summary> - /// 椤圭洰缂栧彿 - /// </summary> - public string ProjectCode { get; set; } +// /// <summary> +// /// 椤圭洰缂栧彿 +// /// </summary> +// public string ProjectCode { get; set; } - /// <summary> - /// 鍚堝悓缂栧彿 - /// </summary> - public string ContractCode { get; set; } +// /// <summary> +// /// 鍚堝悓缂栧彿 +// /// </summary> +// public string ContractCode { get; set; } - /// <summary> - /// TA鍙� - /// </summary> - public string TACode { get; set; } +// /// <summary> +// /// TA鍙� +// /// </summary> +// public string TACode { get; set; } - /// <summary> - /// 鎶ュ叧鍝佸悕 - /// </summary> - public string TradeName { get; set; } +// /// <summary> +// /// 鎶ュ叧鍝佸悕 +// /// </summary> +// public string TradeName { get; set; } - /// <summary> - /// 鎶ュ叧椤瑰彿 - /// </summary> - public string ItemNo { get; set; } +// /// <summary> +// /// 鎶ュ叧椤瑰彿 +// /// </summary> +// public string ItemNo { get; set; } - /// <summary> - /// 鎶ュ叧鍗曚綅 - /// </summary> - public string CustomsUnitName { get; set; } +// /// <summary> +// /// 鎶ュ叧鍗曚綅 +// /// </summary> +// public string CustomsUnitName { get; set; } - /// <summary> - /// 鎶ュ叧鏁伴噺 - /// </summary> - public decimal CustomsNum { get; set; } +// /// <summary> +// /// 鎶ュ叧鏁伴噺 +// /// </summary> +// public decimal CustomsNum { get; set; } - /// <summary> - /// 鎶ュ叧閲戦 - /// </summary> - public decimal CustomsPrices { get; set; } +// /// <summary> +// /// 鎶ュ叧閲戦 +// /// </summary> +// public decimal CustomsPrices { get; set; } - /// <summary> - /// 鐗规畩瑕佹眰 - /// </summary> - public string SpecialNeeds { get; set; } +// /// <summary> +// /// 鐗规畩瑕佹眰 +// /// </summary> +// public string SpecialNeeds { get; set; } - /// <summary> - /// 鍗曟嵁鐘舵�� - /// </summary> - public OrderDetailsStatusEnum OrderStatus { get; set; } - } -} +// /// <summary> +// /// 鍗曟嵁鐘舵�� +// /// </summary> +// public OrderDetailsStatusEnum OrderStatus { get; set; } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs index 67b0754..2074a63 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs @@ -1,119 +1,119 @@ -锘縰sing Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Admin.NET.Core; +锘�//using Microsoft.EntityFrameworkCore; +//using System; +//using System.Collections.Generic; +//using System.ComponentModel.DataAnnotations; +//using System.Linq; +//using System.Text; +//using System.Threading.Tasks; +//using Admin.NET.Core; -namespace Admin.NET.Application -{ - /// <summary> - /// 鑾峰彇鎵樼洏鍏ュ弬 - /// </summary> - public class StockReturnGetContainerOutput - { - /// <summary> - /// 鎵樼洏鍙� - /// </summary> - [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")] - public string ContainerCode { get; set; } +//namespace Admin.NET.Application +//{ +// /// <summary> +// /// 鑾峰彇鎵樼洏鍏ュ弬 +// /// </summary> +// public class StockReturnGetContainerOutput +// { +// /// <summary> +// /// 鎵樼洏鍙� +// /// </summary> +// [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")] +// public string ContainerCode { get; set; } - /// <summary> - /// - /// </summary> - public WmsContainerDto WmsContainer { get; set; } +// /// <summary> +// /// +// /// </summary> +// public WmsContainerDto WmsContainer { get; set; } - /// <summary> - /// 鐗╂枡淇℃伅 - /// </summary> - public List<WmsMaterialContainer> WmsMaterials { get; set; } - } +// /// <summary> +// /// 鐗╂枡淇℃伅 +// /// </summary> +// public List<WmsMaterialContainer> WmsMaterials { get; set; } +// } - /// <summary> - /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� - /// </summary> - public class StockReturnGroupDiskOutput - { - /// <summary> - /// 鎵樼洏 - /// </summary> - public string Containercode { get; set; } +// /// <summary> +// /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁� +// /// </summary> +// public class StockReturnGroupDiskOutput +// { +// /// <summary> +// /// 鎵樼洏 +// /// </summary> +// public string Containercode { get; set; } - /// <summary> - /// 缁勭洏鍗曟嵁 - /// </summary> - public string OrderNo { get; set; } - } - /// <summary> - /// 鐗╂枡杩斿洖鍙傛暟 - /// </summary> - public class StockReturnPadGetMaterialOutput - { - /// <summary> - /// 鍗曟嵁Id - /// </summary> - public long OrderId { get; set; } +// /// <summary> +// /// 缁勭洏鍗曟嵁 +// /// </summary> +// public string OrderNo { get; set; } +// } +// /// <summary> +// /// 鐗╂枡杩斿洖鍙傛暟 +// /// </summary> +// public class StockReturnPadGetMaterialOutput +// { +// /// <summary> +// /// 鍗曟嵁Id +// /// </summary> +// public long OrderId { get; set; } - /// <summary> - /// 涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮� - /// </summary> - public long OID { get; set; } +// /// <summary> +// /// 涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮� +// /// </summary> +// public long OID { get; set; } - /// <summary> - /// 鐗╂枡缂栧彿 - /// </summary> - public string Materialcode { get; set; } +// /// <summary> +// /// 鐗╂枡缂栧彿 +// /// </summary> +// public string Materialcode { get; set; } - /// <summary> - /// 鐗╂枡鍚嶇О - /// </summary> - public string Materialname { get; set; } +// /// <summary> +// /// 鐗╂枡鍚嶇О +// /// </summary> +// public string Materialname { get; set; } - /// <summary> - /// 鍩烘湰鍗曚綅 - /// </summary> - public string Unit { get; set; } +// /// <summary> +// /// 鍩烘湰鍗曚綅 +// /// </summary> +// public string Unit { get; set; } - /// <summary> - /// 鏁伴噺 - /// </summary> - public decimal Qty { get; set; } +// /// <summary> +// /// 鏁伴噺 +// /// </summary> +// public decimal Qty { get; set; } - /// <summary> - /// 鍗曟牴闀垮害 - /// </summary> - public decimal Length { get; set; } +// /// <summary> +// /// 鍗曟牴闀垮害 +// /// </summary> +// public decimal Length { get; set; } - /// <summary> - /// 浠舵暟 - /// </summary> - public decimal Number { get; set; } +// /// <summary> +// /// 浠舵暟 +// /// </summary> +// public decimal Number { get; set; } - /// <summary> - /// SCM鎵规鍙� - /// </summary> - public string Batchno_SCM { get; set; } +// /// <summary> +// /// SCM鎵规鍙� +// /// </summary> +// public string Batchno_SCM { get; set; } - /// <summary> - /// WMS鎵规鍙� - /// </summary> - public string Batchno_WMS { get; set; } +// /// <summary> +// /// WMS鎵规鍙� +// /// </summary> +// public string Batchno_WMS { get; set; } - /// <summary> - /// 椤圭洰缂栧彿 - /// </summary> - public string ProjectCode { get; set; } +// /// <summary> +// /// 椤圭洰缂栧彿 +// /// </summary> +// public string ProjectCode { get; set; } - /// <summary> - /// TA鍙� - /// </summary> - public string TACode { get; set; } +// /// <summary> +// /// TA鍙� +// /// </summary> +// public string TACode { get; set; } - /// <summary> - /// 鍒嗘鍙� - /// </summary> - public string PartCode { get; set; } - } -} +// /// <summary> +// /// 鍒嗘鍙� +// /// </summary> +// public string PartCode { get; set; } +// } +//} diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterialUnit.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs old mode 100755 new mode 100644 similarity index 100% rename from iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterialUnit.cs rename to iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx new file mode 100644 index 0000000..1c1cb2d --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx new file mode 100644 index 0000000..9948eb5 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx index 743ed8a..281db10 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx new file mode 100644 index 0000000..172ab94 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx index 238ea9a..e7be33b 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx new file mode 100644 index 0000000..188e34a --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx new file mode 100644 index 0000000..719af73 --- /dev/null +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx Binary files differ diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx index 3b27946..624ba8d 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx Binary files differ -- Gitblit v1.9.3