From f95d05316d49bcdd31d022a11d0fc4fbafb040da Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期一, 08 九月 2025 11:40:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java | 21 src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java | 8 src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java | 6 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java | 71 + src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java | 12 src/main/java/org/jeecg/modules/base/mapper/xml/PrinterConfigMapper.xml | 5 src/main/java/org/jeecg/modules/base/model/FactoryModel.java | 5 src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java | 134 + src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java | 193 -- src/main/java/org/jeecg/modules/base/entity/PrinterConfig.java | 101 + src/main/java/org/jeecg/modules/base/service/impl/PrinterConfigServiceImpl.java | 41 src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java | 294 ++-- src/main/java/org/jeecg/modules/base/controller/FactoryController.java | 2 src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java | 6 src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java | 1 src/main/java/org/jeecg/modules/base/service/IPrinterConfigService.java | 21 src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java | 289 ++-- src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml | 7 src/main/java/org/jeecg/modules/lsw/enums/MaterialOutboundCategory.java | 8 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java | 6 src/main/java/org/jeecg/modules/wms/request/ReceiveWMSScanItemList.java | 8 src/main/java/org/jeecg/modules/wms/service/MESWebServiceSoap.java | 11 src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java | 101 - src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java | 29 src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml | 22 src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java | 26 src/main/java/org/jeecg/modules/base/model/PrinterModel.java | 19 src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java | 282 ++-- src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java | 42 src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java | 13 src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java | 2 src/main/java/org/jeecg/modules/lsw/enums/MaterialInventoryCategoryEnum.java | 1 src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java | 15 src/main/java/org/jeecg/modules/base/mapper/PrinterConfigMapper.java | 14 src/main/java/org/jeecg/modules/base/controller/PrinterConfigController.java | 186 +++ src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml | 15 src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java | 16 pom.xml | 26 src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java | 1 src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java | 21 src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java | 5 src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java | 23 src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java | 4 src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java | 11 src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java | 24 db/双林新火炬MES数据库设计.pdma.json | 848 +++++++++++++- src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java | 176 -- src/main/java/org/jeecg/modules/wms/dto/MESResponse.java | 23 src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java | 19 src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java | 16 src/main/java/org/jeecg/JeecgSystemApplication.java | 4 src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java | 164 -- src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java | 2 src/main/java/org/jeecg/modules/wms/dto/ReceiveWMSScanItemListResponse.java | 8 /dev/null | 51 src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java | 3 src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java | 42 src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java | 6 src/main/java/org/jeecg/modules/wms/request/WMSWebServiceSendItem.java | 38 src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java | 2 60 files changed, 2,235 insertions(+), 1,315 deletions(-) diff --git "a/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" index eefeec4..1c568e7 100644 --- "a/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" +++ "b/db/\345\217\214\346\236\227\346\226\260\347\201\253\347\202\254MES\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" @@ -632,7 +632,7 @@ "#DDE5FF" ], "DDLToggleCase": "L", - "menuWidth": "331px" + "menuWidth": "371px" }, "entities": [ { @@ -61892,6 +61892,24 @@ "extProps": {}, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "id": "2543E9E7-C40B-496B-AF48-D57B01A2B230" + }, + { + "defKey": "heat_treatment_flag", + "defName": "鐑鐞嗘爣璇�", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", + "id": "7CA68F5B-F30F-4F91-9BBF-1B9A741F44AF" } ], "correlations": [], @@ -62157,6 +62175,42 @@ "id": "634556B3-6007-47EF-9E18-B2C20FC7ECDB" }, { + "defKey": "original_code", + "defName": "鏉ユ簮缂栫爜", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", + "id": "2F160696-FB4C-485A-A60F-A91604E95A9D" + }, + { + "defKey": "original_name", + "defName": "鏉ユ簮鍚嶇О", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "837ABAD7-8529-40F0-99DB-88FC33B9339F" + }, + { "defKey": "factory_id", "defName": "浜х嚎ID", "comment": "", @@ -62295,8 +62349,26 @@ "id": "7ACEF784-3F6B-470B-8BA7-1E38C2125667" }, { + "defKey": "inbound_category", + "defName": "鍏ュ簱绫诲瀷", + "comment": "鐗╂枡鎷夊姩銆佺敓浜т笅绾裤�佺儹澶勭悊銆佸皬鍐呭湀銆佽皟鎷�", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "E8325FFD-1C27-4AEB-BC00-F0FD0E1D370A" + }, + { "defKey": "receiver", - "defName": "鎺ユ敹浜�", + "defName": "鍏ュ簱浜�", "comment": "", "type": "", "len": "", @@ -62314,7 +62386,7 @@ }, { "defKey": "receive_time", - "defName": "鎺ユ敹鏃堕棿", + "defName": "鍏ュ簱鏃堕棿", "comment": "", "type": "", "len": "", @@ -63398,7 +63470,7 @@ "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, - "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "0A646552-E539-44E6-AB49-69CF4BF16522" }, { @@ -63434,7 +63506,7 @@ "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, - "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "6C143A29-E3B5-4308-A60F-D07E44C58B66" }, { @@ -65364,8 +65436,8 @@ "id": "FBAA1CFF-AA71-46F8-B401-4EC0D39B022A" }, { - "defKey": "work_order_id", - "defName": "宸ュ崟ID", + "defKey": "factory_id", + "defName": "浜х嚎ID", "comment": "", "type": "", "len": "", @@ -65379,61 +65451,7 @@ "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", - "id": "F9190578-1B7F-4A04-9F9F-EF15CE3E043C" - }, - { - "defKey": "equipment_id", - "defName": "璁惧ID", - "comment": "", - "type": "", - "len": "", - "scale": "", - "primaryKey": false, - "notNull": false, - "autoIncrement": false, - "defaultValue": "", - "hideInGraph": false, - "refDict": "", - "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", - "extProps": {}, - "domain": "16120F75-6AA7-4483-868D-F07F511BB081", - "id": "291AF57C-AD4F-4691-BF15-1BDC4629A521" - }, - { - "defKey": "process_code", - "defName": "宸ュ簭缂栫爜", - "comment": "", - "type": "", - "len": "", - "scale": "", - "primaryKey": false, - "notNull": false, - "autoIncrement": false, - "defaultValue": "", - "hideInGraph": false, - "refDict": "", - "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", - "extProps": {}, - "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", - "id": "3501D104-6767-40E3-8A99-0BDF17960C29" - }, - { - "defKey": "process_name", - "defName": "宸ュ簭鍚嶇О", - "comment": "", - "type": "", - "len": "", - "scale": "", - "primaryKey": false, - "notNull": false, - "autoIncrement": false, - "defaultValue": "", - "hideInGraph": false, - "refDict": "", - "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", - "extProps": {}, - "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", - "id": "73290052-0C81-442D-BE27-B8CF1496F69E" + "id": "2E08DF6D-E39A-4798-BC2A-B56CC7AE66B1" }, { "defKey": "material_number", @@ -69745,6 +69763,706 @@ "correlations": [], "indexes": [], "type": "P" + }, + { + "id": "A3B555E5-225C-4432-9CB0-05A1C372AB83", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "mes_material_consumption_detail", + "defName": "鐗╂枡娑堣�楁槑缁�", + "comment": "", + "properties": { + "partitioned by": "(date string)", + "row format delimited": "", + "fields terminated by ','": "", + "collection items terminated by '-'": "", + "map keys terminated by ':'": "", + "store as textfile;": "" + }, + "sysProps": { + "nameTemplate": "{defKey}[{defName}]" + }, + "notes": {}, + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "defName", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "notNull", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "domain", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "type", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "len", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "scale", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "comment", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "refDict", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "isStandard", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "uiHint", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "extProps", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr1", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr2", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr3", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr4", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr5", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr6", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr7", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr8", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr9", + "freeze": false, + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "涓婚敭", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "E84CB7D9-BB16-4D0C-B592-8C4384FFAC3B" + }, + { + "defKey": "create_by", + "defName": "鍒涘缓浜�", + "comment": "", + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "9D7DA32B-70D5-4F8E-929F-F178796661E6", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "create_time", + "defName": "鍒涘缓鏃堕棿", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "6FCE5A8C-426B-4191-B841-C9C529F927DA", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" + }, + { + "defKey": "order_id", + "defName": "璁㈠崟ID", + "comment": "鍗婃垚鍝佹姤宸ワ紝鏃犻渶缁戝畾鍒扮敓浜ц鍗�", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "refDict": "", + "extProps": {}, + "notes": {}, + "attr1": "", + "attr2": "", + "attr3": "", + "attr4": "", + "attr5": "", + "attr6": "", + "attr7": "", + "attr8": "", + "attr9": "", + "id": "A9C8CDA4-F073-46FD-AAB4-D6401B7E5E8D", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "work_order_id", + "defName": "宸ュ崟ID", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "refDict": "", + "extProps": {}, + "notes": {}, + "attr1": "", + "attr2": "", + "attr3": "", + "attr4": "", + "attr5": "", + "attr6": "", + "attr7": "", + "attr8": "", + "attr9": "", + "id": "9B945A59-DF7A-4234-8C3C-8AA7BBFE9509", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "factory_id", + "defName": "浜х嚎ID", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "refDict": "", + "extProps": {}, + "notes": {}, + "attr1": "", + "attr2": "", + "attr3": "", + "attr4": "", + "attr5": "", + "attr6": "", + "attr7": "", + "attr8": "", + "attr9": "", + "id": "70FEFA77-AEE0-45C9-BAFE-D5B6E07AE987", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "reporting_id", + "defName": "鎶ュ伐ID", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "C8586134-EFC2-4930-B87D-EFADF765F584" + }, + { + "defKey": "loading_id", + "defName": "涓婃枡ID", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "948875D7-C355-4E5F-8129-B3E8C2908594" + }, + { + "defKey": "quantity", + "defName": "娑堣�楁暟閲�", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", + "extProps": {}, + "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", + "id": "73E2D815-80C9-4A31-BB07-020959BC00DD" + } + ], + "correlations": [], + "indexes": [], + "type": "P" + }, + { + "id": "9A75D273-970F-4B65-BC27-B9208EC1A4F2", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "base_printer_config", + "defName": "鎵撳嵃鏈洪厤缃�", + "comment": "", + "properties": { + "partitioned by": "(date string)", + "row format delimited": "", + "fields terminated by ','": "", + "collection items terminated by '-'": "", + "map keys terminated by ':'": "", + "store as textfile;": "" + }, + "sysProps": { + "nameTemplate": "{defKey}[{defName}]" + }, + "notes": {}, + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true + }, + { + "refKey": "defKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "defName", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "notNull", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "domain", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "type", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "len", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "scale", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "comment", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "refDict", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "isStandard", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "uiHint", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "extProps", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr1", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr2", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr3", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr4", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr5", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr6", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr7", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr8", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr9", + "freeze": false, + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "涓婚敭", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "8012FE29-1A36-475C-85BE-0101BFF82556" + }, + { + "defKey": "create_by", + "defName": "鍒涘缓浜�", + "comment": "", + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "B48C2340-15FC-4F3D-A483-BDAD359BC3A2", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "create_time", + "defName": "鍒涘缓鏃堕棿", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "F6A6B53B-B7DC-42C1-8394-7A29F47AEB51", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" + }, + { + "defKey": "update_by", + "defName": "鏇存柊浜�", + "comment": "", + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "CE4DDFE2-4785-434B-AB6A-31C4CE82FF4A", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "update_time", + "defName": "鏇存柊鏃堕棿", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "59A6D7C4-1C85-4AB9-A113-137122C8D310", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" + }, + { + "defKey": "del_flag", + "defName": "鍒犻櫎鏍囪", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", + "extProps": {}, + "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", + "id": "1F9CD124-0E52-48AE-BE33-B2CDE2BD46CF" + }, + { + "defKey": "printer_name", + "defName": "鍚嶇О", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "EE70D71D-41B4-4B75-A190-0C7F0F692408" + }, + { + "defKey": "printer_ip", + "defName": "IP鍦板潃", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "9733F3FF-86BC-43B5-81F9-6F12BF7AAF97" + }, + { + "defKey": "port_number", + "defName": "绔彛", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", + "extProps": {}, + "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", + "id": "7BF0DB7E-0BC4-4604-B3B1-C0ABA8A1A090" + }, + { + "defKey": "printer_model", + "defName": "鍨嬪彿", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", + "id": "F3D2ED9C-6CE8-4DB5-A656-B2C1BB2A5249" + }, + { + "defKey": "printer_status", + "defName": "鐘舵��", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", + "id": "893D3D4B-C208-4147-909E-BBFF8FF7FB23" + } + ], + "correlations": [], + "indexes": [], + "type": "P" } ], "views": [], @@ -70586,7 +71304,8 @@ "D16FD5E0-8B16-4C0E-AD67-6E5C2FED1A65", "5835D3E9-4B10-48DC-B116-584E447AA201", "23C6B8F0-0010-4453-B3C2-9305746C37AB", - "D3263A0C-1D6A-453A-B933-86651B5566FE" + "D3263A0C-1D6A-453A-B933-86651B5566FE", + "A3B555E5-225C-4432-9CB0-05A1C372AB83" ], "refViews": [], "refDiagrams": [], @@ -70659,7 +71378,8 @@ "CDDBE073-093D-4D6A-AB29-0B3538417EBA", "0CE184D5-6F92-4384-AE88-96C81A581F9E", "B34D63A4-F6E7-407B-834F-ED01C13EDA80", - "F5104CC1-0137-4EFD-8122-3593A9E005C4" + "F5104CC1-0137-4EFD-8122-3593A9E005C4", + "9A75D273-970F-4B65-BC27-B9208EC1A4F2" ], "refViews": [], "refDiagrams": [], diff --git a/pom.xml b/pom.xml index 060cc41..5715852 100644 --- a/pom.xml +++ b/pom.xml @@ -59,7 +59,7 @@ <log4j2.version>2.17.0</log4j2.version> <logback.version>1.2.9</logback.version> <!-- webservice --> - <cxf.version>3.2.4</cxf.version> + <cxf.version>3.5.2</cxf.version> </properties> <repositories> @@ -227,21 +227,11 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-spring-boot-starter-jaxws</artifactId> - <version>${cxf.version}</version> - </dependency> <!-- CXF webservice --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> - <version>${cxf.version}</version> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> </dependency> @@ -268,6 +258,10 @@ <exclusion> <artifactId>commons-beanutils</artifactId> <groupId>commons-beanutils</groupId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>Saxon-HE</artifactId> </exclusion> </exclusions> </dependency> @@ -527,11 +521,11 @@ <version>0.8</version> </dependency> <!--xml瑙f瀽鍖咃細濡傛灉椤圭洰涓凡鏈夛紝寮曡捣鍐茬獊锛屽彲娉ㄩ噴--> - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - <version>2.12.0</version> - </dependency> +<!-- <dependency>--> +<!-- <groupId>xerces</groupId>--> +<!-- <artifactId>xercesImpl</artifactId>--> +<!-- <version>2.12.0</version>--> +<!-- </dependency>--> <!--寮曞叆sap渚濊禆--> <dependency> diff --git a/src/main/java/org/jeecg/JeecgSystemApplication.java b/src/main/java/org/jeecg/JeecgSystemApplication.java index 06fff58..bb8b518 100644 --- a/src/main/java/org/jeecg/JeecgSystemApplication.java +++ b/src/main/java/org/jeecg/JeecgSystemApplication.java @@ -1,7 +1,6 @@ package org.jeecg; import lombok.extern.slf4j.Slf4j; -import org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration; import org.flowable.spring.boot.eventregistry.EventRegistryServicesAutoConfiguration; import org.jeecg.common.util.oConvertUtils; import org.springframework.boot.SpringApplication; @@ -23,8 +22,7 @@ */ @Slf4j @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, MongoAutoConfiguration.class, - ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class, - CxfAutoConfiguration.class}) + ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class}) public class JeecgSystemApplication extends SpringBootServletInitializer { @Override diff --git a/src/main/java/org/jeecg/modules/base/controller/FactoryController.java b/src/main/java/org/jeecg/modules/base/controller/FactoryController.java index d9f5488..ed9c6b6 100644 --- a/src/main/java/org/jeecg/modules/base/controller/FactoryController.java +++ b/src/main/java/org/jeecg/modules/base/controller/FactoryController.java @@ -226,7 +226,7 @@ public Result<List<FactoryModel>> queryUserProductionLineList() { List<Factory> factoryList = factoryService.queryUserProductionLineList(); List<FactoryModel> factoryModels = factoryList.stream() - .map(factory -> new FactoryModel(factory.getId(), factory.getFactoryName())) + .map(factory -> new FactoryModel(factory.getId(), factory.getFactoryName(), factory.getProductionType())) .collect(Collectors.toList()); return Result.ok(factoryModels); } diff --git a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java index 0f5d3c9..b52a108 100644 --- a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java +++ b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java @@ -1,6 +1,7 @@ package org.jeecg.modules.base.controller; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -9,6 +10,7 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; @@ -38,126 +40,126 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; - /** +/** * @Description: 绾胯竟浠撳簱淇℃伅 * @Author: jeecg-boot - * @Date: 2025-06-24 + * @Date: 2025-06-24 * @Version: V1.0 */ -@Api(tags="绾胯竟浠撳簱淇℃伅") +@Api(tags = "绾胯竟浠撳簱淇℃伅") @RestController @RequestMapping("/base/lineSideWarehouse") @Slf4j public class LineSideWarehouseController extends JeecgController<LineSideWarehouse, ILineSideWarehouseService> { - @Autowired - private ILineSideWarehouseService lineSideWarehouseService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param lineSideWarehouse - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes="绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<LineSideWarehouse>> queryPageList(LineSideWarehouse lineSideWarehouse, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<LineSideWarehouse> queryWrapper = QueryGenerator.initQueryWrapper(lineSideWarehouse, req.getParameterMap()); - Page<LineSideWarehouse> page = new Page<LineSideWarehouse>(pageNo, pageSize); - IPage<LineSideWarehouse> pageList = lineSideWarehouseService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param lineSideWarehouse - * @return - */ - @AutoLog(value = "绾胯竟浠撳簱淇℃伅-娣诲姞") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-娣诲姞", notes="绾胯竟浠撳簱淇℃伅-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody LineSideWarehouse lineSideWarehouse) { - lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_1); - lineSideWarehouseService.save(lineSideWarehouse); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param lineSideWarehouse - * @return - */ - @AutoLog(value = "绾胯竟浠撳簱淇℃伅-缂栬緫") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-缂栬緫", notes="绾胯竟浠撳簱淇℃伅-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody LineSideWarehouse lineSideWarehouse) { - lineSideWarehouseService.updateById(lineSideWarehouse); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎", notes="绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - lineSideWarehouseService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎", notes="绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lineSideWarehouseService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ", notes="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<LineSideWarehouse> queryById(@RequestParam(name="id",required=true) String id) { - LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.getById(id); - if(lineSideWarehouse==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(lineSideWarehouse); - } + @Autowired + private ILineSideWarehouseService lineSideWarehouseService; /** - * 瀵煎嚭excel - * - * @param request - * @param lineSideWarehouse - */ + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lineSideWarehouse + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes = "绾胯竟浠撳簱淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LineSideWarehouse>> queryPageList(LineSideWarehouse lineSideWarehouse, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LineSideWarehouse> queryWrapper = QueryGenerator.initQueryWrapper(lineSideWarehouse, req.getParameterMap()); + Page<LineSideWarehouse> page = new Page<LineSideWarehouse>(pageNo, pageSize); + IPage<LineSideWarehouse> pageList = lineSideWarehouseService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param lineSideWarehouse + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-娣诲姞") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-娣诲姞", notes = "绾胯竟浠撳簱淇℃伅-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody LineSideWarehouse lineSideWarehouse) { + lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_1); + lineSideWarehouseService.save(lineSideWarehouse); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param lineSideWarehouse + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-缂栬緫") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-缂栬緫", notes = "绾胯竟浠撳簱淇℃伅-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody LineSideWarehouse lineSideWarehouse) { + lineSideWarehouseService.updateById(lineSideWarehouse); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎", notes = "绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + lineSideWarehouseService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎", notes = "绾胯竟浠撳簱淇℃伅-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.lineSideWarehouseService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ", notes = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<LineSideWarehouse> queryById(@RequestParam(name = "id", required = true) String id) { + LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.getById(id); + if (lineSideWarehouse == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lineSideWarehouse); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param lineSideWarehouse + */ //@RequiresPermissions("org.jeecg.modules:base_line_side_warehouse:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, LineSideWarehouse lineSideWarehouse) { @@ -165,42 +167,51 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ //@RequiresPermissions("base_line_side_warehouse:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, LineSideWarehouse.class); } - @AutoLog(value = "绾胯竟搴�-鍚敤&绂佺敤") - @ApiOperation(value = "绾胯竟搴�-鍚敤&绂佺敤", notes = "绾胯竟搴�-鍚敤&绂佺敤") - @PutMapping(value = "/active") - public Result<?> active(@RequestParam(name = "id", required = true) String id) { - LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.getById(id); - if (CommonConstant.STATUS_1.equals(lineSideWarehouse.getWarehouseStatus())) { - lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_0); - } else { - lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_1); - } - lineSideWarehouseService.updateById(lineSideWarehouse); - return Result.ok("鎿嶄綔鎴愬姛锛�"); - } + @AutoLog(value = "绾胯竟搴�-鍚敤&绂佺敤") + @ApiOperation(value = "绾胯竟搴�-鍚敤&绂佺敤", notes = "绾胯竟搴�-鍚敤&绂佺敤") + @PutMapping(value = "/active") + public Result<?> active(@RequestParam(name = "id", required = true) String id) { + LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.getById(id); + if (CommonConstant.STATUS_1.equals(lineSideWarehouse.getWarehouseStatus())) { + lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_0); + } else { + lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_1); + } + lineSideWarehouseService.updateById(lineSideWarehouse); + return Result.ok("鎿嶄綔鎴愬姛锛�"); + } - //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") - @ApiOperation(value="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ", notes="绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryByFactoryId") - public Result<LineSideWarehouse> queryByFactoryId(@RequestParam(name="factoryId") String factoryId) { - LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByFactoryId(factoryId); - if(lineSideWarehouse==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(lineSideWarehouse); - } + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-閫氳繃浜х嚎ID鏌ヨ", notes = "绾胯竟浠撳簱淇℃伅-閫氳繃浜х嚎ID鏌ヨ") + @GetMapping(value = "/queryByFactoryId") + public Result<LineSideWarehouse> queryByFactoryId(@RequestParam(name = "factoryId") String factoryId) { + LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByFactoryId(factoryId); + if (lineSideWarehouse == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lineSideWarehouse); + } + + @ApiOperation(value = "绾胯竟浠撳簱淇℃伅-閫氳繃浜х嚎鍒嗙被鏌ヨ", notes = "绾胯竟浠撳簱淇℃伅-閫氳繃浜х嚎鍒嗙被鏌ヨ") + @GetMapping(value = "/queryByProductionType") + public Result<List<LineSideWarehouse>> queryByProductionType(@RequestParam(name = "productionType") String productionType) { + List<LineSideWarehouse> list = lineSideWarehouseService.queryByProductionType(productionType); + if (list == null) { + return Result.OK(Collections.emptyList()); + } + return Result.OK(list); + } } diff --git a/src/main/java/org/jeecg/modules/base/controller/PrinterConfigController.java b/src/main/java/org/jeecg/modules/base/controller/PrinterConfigController.java new file mode 100644 index 0000000..34e6869 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/controller/PrinterConfigController.java @@ -0,0 +1,186 @@ +package org.jeecg.modules.base.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.base.entity.Factory; +import org.jeecg.modules.base.entity.PrinterConfig; +import org.jeecg.modules.base.model.FactoryModel; +import org.jeecg.modules.base.model.PrinterModel; +import org.jeecg.modules.base.service.IPrinterConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** +* @Description: 鎵撳嵃鏈洪厤缃俊鎭� +* @Author: jeecg-boot +* @Date: 2025-06-24 +* @Version: V1.0 +*/ +@Api(tags="鎵撳嵃鏈洪厤缃俊鎭�") +@RestController +@RequestMapping("/base/printerConfig") +@Slf4j +public class PrinterConfigController extends JeecgController<PrinterConfig, IPrinterConfigService> { + @Autowired + private IPrinterConfigService printerConfigService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param printerConfig + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value="鎵撳嵃鏈轰俊鎭�-鍒嗛〉鍒楄〃鏌ヨ", notes="鎵撳嵃鏈轰俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<PrinterConfig>> queryPageList(PrinterConfig printerConfig, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<PrinterConfig> queryWrapper = QueryGenerator.initQueryWrapper(printerConfig, req.getParameterMap()); + Page<PrinterConfig> page = new Page<PrinterConfig>(pageNo, pageSize); + IPage<PrinterConfig> pageList = printerConfigService.page(page, queryWrapper); + return Result.OK(pageList); + } + + + + @ApiOperation(value = "鑾峰彇鎵�鏈夋墦鍗版満IP鍒楄〃", notes = "鑾峰彇鎵�鏈夋墦鍗版満IP鍒楄〃") + @GetMapping(value = "/queryUserPrinterConfigList") + public Result<List<PrinterModel>> queryUserPrinterConfigList() { + List<PrinterConfig> printerConfigList = printerConfigService.queryUserPrinterConfigList(); + List<PrinterModel> factoryModels = printerConfigList.stream() + .map(factory -> new PrinterModel(factory.getPrinterIp(), factory.getPrinterIp())) + .collect(Collectors.toList()); + return Result.ok(factoryModels); + } + /** + * 娣诲姞 + * + * @param printerConfig + * @return + */ + @AutoLog(value = "鎵撳嵃鏈轰俊鎭�-娣诲姞") + @ApiOperation(value="鎵撳嵃鏈轰俊鎭�-娣诲姞", notes="鎵撳嵃鏈轰俊鎭�-娣诲姞") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody PrinterConfig printerConfig) { + printerConfig.setPrinterStatus(CommonConstant.STATUS_1); + printerConfigService.save(printerConfig); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param printerConfig + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-缂栬緫") + @ApiOperation(value="绾胯竟浠撳簱淇℃伅-缂栬緫", notes="绾胯竟浠撳簱淇℃伅-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody PrinterConfig printerConfig) { + printerConfigService.updateById(printerConfig); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") + @ApiOperation(value="绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎", notes="绾胯竟浠撳簱淇℃伅-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + printerConfigService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鎵撳嵃鏈轰俊鎭�-鎵归噺鍒犻櫎") + @ApiOperation(value="鎵撳嵃鏈轰俊鎭�-鎵归噺鍒犻櫎", notes="鎵撳嵃鏈轰俊鎭�-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.printerConfigService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "绾胯竟浠撳簱淇℃伅-閫氳繃id鏌ヨ") + @ApiOperation(value="鎵撳嵃鏈轰俊鎭�-閫氳繃id鏌ヨ", notes="鎵撳嵃鏈轰俊鎭�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<PrinterConfig> queryById(@RequestParam(name="id",required=true) String id) { + PrinterConfig lineSideWarehouse = printerConfigService.getById(id); + if(lineSideWarehouse==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(lineSideWarehouse); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param printerConfig + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, PrinterConfig printerConfig) { + return super.exportXls(request, printerConfig, PrinterConfig.class, "鎵撳嵃鏈轰俊鎭�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, PrinterConfig.class); + } + + @AutoLog(value = "鎵撳嵃鏈�-鍚敤&绂佺敤") + @ApiOperation(value = "鎵撳嵃鏈�-鍚敤&绂佺敤", notes = "鎵撳嵃鏈�-鍚敤&绂佺敤") + @PutMapping(value = "/active") + public Result<?> active(@RequestParam(name = "id", required = true) String id) { + PrinterConfig printerConfig = printerConfigService.getById(id); + if (CommonConstant.STATUS_1.equals(printerConfig.getPrinterStatus())) { + printerConfig.setPrinterStatus(CommonConstant.STATUS_0); + } else { + printerConfig.setPrinterStatus(CommonConstant.STATUS_1); + } + printerConfigService.updateById(printerConfig); + return Result.ok("鎿嶄綔鎴愬姛锛�"); + } + +} diff --git a/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java b/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java index 66d46d2..da727ba 100644 --- a/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java +++ b/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java @@ -1,23 +1,22 @@ package org.jeecg.modules.base.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.util.Date; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableLogic; -import lombok.Data; +import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import org.jeecg.common.constant.CommonConstant; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecg.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.constant.CommonConstant; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; /** * @Description: 绾胯竟浠撳簱淇℃伅 diff --git a/src/main/java/org/jeecg/modules/base/entity/PrinterConfig.java b/src/main/java/org/jeecg/modules/base/entity/PrinterConfig.java new file mode 100644 index 0000000..022df68 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/entity/PrinterConfig.java @@ -0,0 +1,101 @@ +package org.jeecg.modules.base.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.constant.CommonConstant; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鎵撳嵃鏈洪厤缃俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-24 + * @Version: V1.0 + */ +@Data +@TableName("base_printer_config") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "base_printer_config瀵硅薄", description = "鎵撳嵃鏈洪厤缃俊鎭�") +public class PrinterConfig implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭 + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /** + * 鍒涘缓浜� + */ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /** + * 鍒涘缓鏃堕棿 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /** + * 鏇存柊浜� + */ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /** + * 鏇存柊鏃堕棿 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; + /** + * 鍒犻櫎鏍囪 + */ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag = CommonConstant.DEL_FLAG_0; + /** + * 鎵撳嵃鏈篒P + */ + @Excel(name = "鎵撳嵃鏈篒P", width = 15) + @ApiModelProperty(value = "鎵撳嵃鏈篒P") + private String printerIp; + + /** + * 鎵撳嵃鏈篒P + */ + @Excel(name = "鎵撳嵃鏈哄悕绉�", width = 15) + @ApiModelProperty(value = "鎵撳嵃鏈哄悕绉�") + private String printerName; + /** + * 鎵撳嵃鏈虹鍙� + */ + @Excel(name = "鎵撳嵃鏈虹鍙�", width = 15) + @ApiModelProperty(value = "鎵撳嵃鏈虹鍙�") + private String portNumber; + /** + * 鎵撳嵃鏈哄瀷鍙� + */ + @Excel(name = "鎵撳嵃鏈哄瀷鍙�", width = 15) + @ApiModelProperty(value = "鎵撳嵃鏈哄瀷鍙�") + private String printerModel; + + /**鎵撳嵃鏈虹姸鎬�*/ + @Excel(name = "鎵撳嵃鏈虹姸鎬�", width = 15) + @ApiModelProperty(value = "鎵撳嵃鏈虹姸鎬�") + private String printerStatus; +} diff --git a/src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java b/src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java index c1efcb8..b72bfe0 100644 --- a/src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java +++ b/src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java @@ -14,4 +14,10 @@ */ public interface LineSideWarehouseMapper extends BaseMapper<LineSideWarehouse> { + /** + * 閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴� + * @param types + * @return + */ + List<LineSideWarehouse> queryByProductionType(@Param("types") String[] types); } diff --git a/src/main/java/org/jeecg/modules/base/mapper/PrinterConfigMapper.java b/src/main/java/org/jeecg/modules/base/mapper/PrinterConfigMapper.java new file mode 100644 index 0000000..53aef6e --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/mapper/PrinterConfigMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.base.entity.PrinterConfig; + +/** + * @Description: 鎵撳嵃鏈轰俊鎭厤缃� + * @Author: jeecg-boot + * @Date: 2025-06-24 + * @Version: V1.0 + */ +public interface PrinterConfigMapper extends BaseMapper<PrinterConfig> { + +} diff --git a/src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml b/src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml index 87ff328..5ea4d98 100644 --- a/src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml +++ b/src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml @@ -2,4 +2,11 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.base.mapper.LineSideWarehouseMapper"> + <select id="queryByProductionType" resultType="org.jeecg.modules.base.entity.LineSideWarehouse"> + select t1.* from base_line_side_warehouse t1 + left join base_factory t2 on t1.factory_id = t2.id + where t1.del_flag='0' and t1.warehouse_status='1' and + <foreach collection="types" item="item" open=" t2.production_type IN (" close=")" separator=",">#{item}</foreach> + order by t1.warehouse_code + </select> </mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/base/mapper/xml/PrinterConfigMapper.xml b/src/main/java/org/jeecg/modules/base/mapper/xml/PrinterConfigMapper.xml new file mode 100644 index 0000000..4e9d260 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/mapper/xml/PrinterConfigMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.base.mapper.PrinterConfigMapper"> + +</mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/base/model/FactoryModel.java b/src/main/java/org/jeecg/modules/base/model/FactoryModel.java index 89c62fa..c09a8e4 100644 --- a/src/main/java/org/jeecg/modules/base/model/FactoryModel.java +++ b/src/main/java/org/jeecg/modules/base/model/FactoryModel.java @@ -7,12 +7,13 @@ // getter鍜宻etter鏂规硶 private String value; // 浜х嚎ID private String text; // 浜х嚎鍚嶇О - + private String type; // 浜х嚎绫诲瀷 public FactoryModel() { } - public FactoryModel(String value, String text) { + public FactoryModel(String value, String text, String type) { this.value = value; this.text = text; + this.type = type; } } diff --git a/src/main/java/org/jeecg/modules/base/model/PrinterModel.java b/src/main/java/org/jeecg/modules/base/model/PrinterModel.java new file mode 100644 index 0000000..2a56f3e --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/model/PrinterModel.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.base.model; + +import lombok.Data; + +@Data +public class PrinterModel { + // getter鍜宻etter鏂规硶 + private String value; + private String text; + + public PrinterModel() { + } + + public PrinterModel(String value, String text) { + this.value = value; + this.text = text; + + } +} diff --git a/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java b/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java index 5d89f62..72c38c5 100644 --- a/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java +++ b/src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java @@ -3,6 +3,8 @@ import org.jeecg.modules.base.entity.LineSideWarehouse; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 绾胯竟浠撳簱淇℃伅 * @Author: jeecg-boot @@ -17,4 +19,18 @@ * @return */ LineSideWarehouse queryByFactoryId(String factoryId); + + /** + * 鏍规嵁浜х嚎绫诲瀷鏌ヨ绾胯竟搴� + * @param productionType + * @return + */ + List<LineSideWarehouse> queryByProductionType(String productionType); + + /** + * 绾胯竟搴撶紪鐮� + * @param warehouseCode + * @return + */ + LineSideWarehouse queryByWarehouseCode(String warehouseCode); } diff --git a/src/main/java/org/jeecg/modules/base/service/IPrinterConfigService.java b/src/main/java/org/jeecg/modules/base/service/IPrinterConfigService.java new file mode 100644 index 0000000..ec04c60 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/service/IPrinterConfigService.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.base.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.base.entity.Factory; +import org.jeecg.modules.base.entity.PrinterConfig; + +import java.util.List; + +/** + * @Description: 鎵撳嵃鏈洪厤缃� + * @Author: jeecg-boot + * @Date: 2025-06-24 + * @Version: V1.0 + */ +public interface IPrinterConfigService extends IService<PrinterConfig> { + /** + * 鏌ヨIP鍒楄〃 + * @return + */ + List<PrinterConfig> queryUserPrinterConfigList(); +} diff --git a/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java b/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java index 8b205e9..91ba088 100644 --- a/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java +++ b/src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java @@ -2,10 +2,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.mapper.LineSideWarehouseMapper; import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; /** * @Description: 绾胯竟浠撳簱淇℃伅 @@ -26,4 +31,22 @@ } return entity; } + + @Override + public List<LineSideWarehouse> queryByProductionType(String productionType) { + if(StringUtils.isBlank(productionType)) { + return Collections.emptyList(); + } + String[] types = productionType.split(","); + return this.getBaseMapper().queryByProductionType(types); + } + + @Override + public LineSideWarehouse queryByWarehouseCode(String warehouseCode) { + LambdaQueryWrapper<LineSideWarehouse> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LineSideWarehouse::getWarehouseCode, warehouseCode); + wrapper.eq(LineSideWarehouse::getDelFlag, CommonConstant.DEL_FLAG_0); + wrapper.eq(LineSideWarehouse::getWarehouseStatus, CommonConstant.STATUS_1); + return this.getBaseMapper().selectOne(wrapper); + } } diff --git a/src/main/java/org/jeecg/modules/base/service/impl/PrinterConfigServiceImpl.java b/src/main/java/org/jeecg/modules/base/service/impl/PrinterConfigServiceImpl.java new file mode 100644 index 0000000..9310373 --- /dev/null +++ b/src/main/java/org/jeecg/modules/base/service/impl/PrinterConfigServiceImpl.java @@ -0,0 +1,41 @@ +package org.jeecg.modules.base.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.base.entity.Factory; +import org.jeecg.modules.base.entity.PrinterConfig; +import org.jeecg.modules.base.mapper.PrinterConfigMapper; +import org.jeecg.modules.base.service.IPrinterConfigService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @Description: 鎵撳嵃鏈洪厤缃俊鎭� + * @Author: jeecg-boot + * @Date: 2025-06-24 + * @Version: V1.0 + */ +@Service +public class PrinterConfigServiceImpl extends ServiceImpl<PrinterConfigMapper, PrinterConfig> implements IPrinterConfigService { + + @Override + public List<PrinterConfig> queryUserPrinterConfigList() { + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return Collections.emptyList(); + } + LambdaQueryWrapper<PrinterConfig> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PrinterConfig::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(PrinterConfig::getPrinterStatus, "1"); + return super.list(queryWrapper); + } +} diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java index 932e249..59b2736 100644 --- a/src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java +++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java @@ -279,163 +279,75 @@ /* - * 鐢熸垚鍞竴鏉$爜鐨勬柟娉� + * 鐢熸垚鍞竴鏉$爜鐨勬柟娉曪紙鐩墠杩樻病鏈夌紪鐮佽鍒欙紝纭畾鍚庡湪杩欓噷鏀癸級 */ private String generateUniqueBarcode(String cuttingId, int index) { // 鏉$爜鐢熸垚瑙勫垯绀轰緥锛氬垁鍏稩D + 搴忓彿(4浣�) + 闅忔満鏁� return cuttingId + String.format("%04d", index + 1) + (int) (Math.random() * 10000); } -// @GetMapping("/submit") -// public Result<?> submit(@RequestParam("orderId") String orderId) { -// // cuttingInboundService.submit(orderId); -// // return Result.ok("鎻愪氦鎴愬姛"); + + @GetMapping("/submit") + @Timed(value = "cutting.inbound.submit", description = "鍒�鍏峰叆搴撴彁浜よ�楁椂") + public Result<?> submit(@RequestParam("orderId") String orderId) { +// long startTime = System.currentTimeMillis(); // try { // // 1. 鏇存柊鍏ュ簱鍗曠姸鎬� // CuttingInbound cuttingInbound = cuttingInboundService.getById(orderId); // if (cuttingInbound == null) { // return Result.error("鏈壘鍒板搴旂殑鍏ュ簱鍗�"); // } -// -// // 妫�鏌ュ叆搴撳崟鐘舵�侊紝鍙厑璁哥姸鎬佷负"1"鐨勫叆搴撳崟鎻愪氦 -// if (!"1".equals(cuttingInbound.getOrderStatus())) { -// return Result.error("鍙湁鐘舵�佷负鏈彁浜ょ殑鍏ュ簱鍗曟墠鑳芥墽琛屾彁浜ゆ搷浣�"); -// } -// -// // 2. 鏇存柊鐘舵�佷负宸叉彁浜� // cuttingInbound.setOrderStatus("2"); -// boolean updateResult = cuttingInboundService.updateById(cuttingInbound); -// if (!updateResult) { -// return Result.error("鏇存柊鍏ュ簱鍗曠姸鎬佸け璐�"); -// } +// cuttingInboundService.updateById(cuttingInbound); // -// // 3. 鑾峰彇鍏ュ簱鏄庣粏 +// // 2. 鑾峰彇鍏ュ簱鏄庣粏 // List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() // .eq(CuttingInboundDetail::getOrderId, orderId) // .list(); // -// // 鐢ㄤ簬缁熻鎬绘暟閲� -// int totalSubmitted = 0; -// -// // 鎵归噺淇濆瓨鐨勫垪琛� +// // 3. 鏀堕泦鎵�鏈夐渶瑕佷繚瀛樼殑鏁版嵁 // List<CuttingInventory> inventoryList = new ArrayList<>(); // List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); // -// // 4. 鏍规嵁鏄庣粏鏁伴噺鐢熸垚搴撳瓨璁板綍鍜屾潯鐮� // for (CuttingInboundDetail detail : detailList) { -// // 鏍规嵁鏄庣粏涓殑鏁伴噺鐢熸垚瀵瑰簲鏁伴噺鐨勫簱瀛樿褰時eceive_number -// int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber() : 0; -// for (int i = 0; i < quantity; i++) { -// totalSubmitted++; -// // 涓烘瘡涓垁鍏风敓鎴愮嫭绔嬬殑搴撳瓨璁板綍 -// CuttingInventory cuttingInventory = new CuttingInventory(); -// String inventoryId = UUID.randomUUID().toString().replace("-", ""); -// cuttingInventory.setId(inventoryId); -// cuttingInventory.setCuttingId(detail.getCuttingId()); -// // 涓烘瘡涓垁鍏风敓鎴愬敮涓�鏉$爜 -// cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); -// // 璁剧疆搴撳瓨鐘舵�佷负鍦ㄥ簱 -// cuttingInventory.setInventoryStatus("姝e父"); -// // 璁剧疆褰撳墠瀵垮懡涓�100 -// cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); -// // 娣诲姞鍒版壒閲忎繚瀛樺垪琛� -// inventoryList.add(cuttingInventory); +// int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; // -// // 寤虹珛鍏ュ簱鍗曚笌搴撳瓨鐨勫叧鑱斿叧绯� +// for (int i = 0; i < quantity; i++) { +// // 鐢熸垚搴撳瓨璁板綍 +// CuttingInventory cuttingInventory = new CuttingInventory(); +// cuttingInventory.setCuttingId(detail.getCuttingId()); +// cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); +// cuttingInventory.setInventoryStatus("姝e父"); +// cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); +// inventoryList.add(cuttingInventory); +// } +// } +// +// // 4. 鎵归噺淇濆瓨搴撳瓨璁板綍锛堜竴娆℃�ф搷浣滐級 +// if (!inventoryList.isEmpty()) { +// cuttingInventoryService.saveBatch(inventoryList); +// +// // 5. 涓烘瘡涓繚瀛樼殑搴撳瓨璁板綍鍒涘缓鍏宠仈鍏崇郴 +// for (CuttingInventory inventory : inventoryList) { // CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); // cuttingInboundInventory.setOrderId(orderId); -// cuttingInboundInventory.setInventoryId(inventoryId); -// // 娣诲姞鍒版壒閲忎繚瀛樺垪琛� +// cuttingInboundInventory.setInventoryId(inventory.getId()); // inboundInventoryList.add(cuttingInboundInventory); // } +// +// // 6. 鎵归噺淇濆瓨鍏宠仈鍏崇郴锛堜竴娆℃�ф搷浣滐級 +// cuttingInboundInventoryService.saveBatch(inboundInventoryList); // } // -// // 鎵归噺淇濆瓨搴撳瓨璁板綍 -// if (!inventoryList.isEmpty()) { -// boolean saveResult = cuttingInventoryService.saveBatch(inventoryList); -// if (!saveResult) { -// throw new RuntimeException("淇濆瓨搴撳瓨璁板綍澶辫触"); -// } -// } +// long endTime = System.currentTimeMillis(); +// log.info("鍒�鍏峰叆搴撴彁浜ゅ畬鎴愶紝鑰楁椂: {} s", (endTime - startTime)/1000); +// return Result.ok("鎻愪氦鎴愬姛"); // -// // 鎵归噺淇濆瓨鍏宠仈鍏崇郴 -// if (!inboundInventoryList.isEmpty()) { -// boolean relationSaveResult = cuttingInboundInventoryService.saveBatch(inboundInventoryList); -// if (!relationSaveResult) { -// throw new RuntimeException("淇濆瓨鍏宠仈鍏崇郴澶辫触"); -// } -// } -// -// Map<String, Object> result = new HashMap<>(); -// result.put("message", "鎻愪氦鎴愬姛"); -// result.put("totalSubmitted", totalSubmitted); -// return Result.ok(result); // } catch (Exception e) { -// log.error("鎻愪氦鍏ュ簱鍗曞け璐ワ紝orderId: " + orderId, e); -// throw new RuntimeException("鎻愪氦澶辫触: " + e.getMessage(), e); +// long endTime = System.currentTimeMillis(); +// log.error("鎻愪氦鍏ュ簱鍗曞け璐ワ紝orderId: " + orderId + "锛岃�楁椂: " + (endTime - startTime) + " ms", e); +// return Result.error("鎻愪氦澶辫触: " + e.getMessage()); // } -// } - - @GetMapping("/submit") - @Timed(value = "cutting.inbound.submit", description = "鍒�鍏峰叆搴撴彁浜よ�楁椂") - public Result<?> submit(@RequestParam("orderId") String orderId) { - long startTime = System.currentTimeMillis(); - try { - // 1. 鏇存柊鍏ュ簱鍗曠姸鎬� - CuttingInbound cuttingInbound = cuttingInboundService.getById(orderId); - if (cuttingInbound == null) { - return Result.error("鏈壘鍒板搴旂殑鍏ュ簱鍗�"); - } - cuttingInbound.setOrderStatus("2"); - cuttingInboundService.updateById(cuttingInbound); - - // 2. 鑾峰彇鍏ュ簱鏄庣粏 - List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() - .eq(CuttingInboundDetail::getOrderId, orderId) - .list(); - - // 3. 鏀堕泦鎵�鏈夐渶瑕佷繚瀛樼殑鏁版嵁 - List<CuttingInventory> inventoryList = new ArrayList<>(); - List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); - - for (CuttingInboundDetail detail : detailList) { - int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; - - for (int i = 0; i < quantity; i++) { - // 鐢熸垚搴撳瓨璁板綍 - CuttingInventory cuttingInventory = new CuttingInventory(); - cuttingInventory.setCuttingId(detail.getCuttingId()); - cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); - cuttingInventory.setInventoryStatus("姝e父"); - cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); - inventoryList.add(cuttingInventory); - } - } - - // 4. 鎵归噺淇濆瓨搴撳瓨璁板綍锛堜竴娆℃�ф搷浣滐級 - if (!inventoryList.isEmpty()) { - cuttingInventoryService.saveBatch(inventoryList); - - // 5. 涓烘瘡涓繚瀛樼殑搴撳瓨璁板綍鍒涘缓鍏宠仈鍏崇郴 - for (CuttingInventory inventory : inventoryList) { - CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); - cuttingInboundInventory.setOrderId(orderId); - cuttingInboundInventory.setInventoryId(inventory.getId()); - inboundInventoryList.add(cuttingInboundInventory); - } - - // 6. 鎵归噺淇濆瓨鍏宠仈鍏崇郴锛堜竴娆℃�ф搷浣滐級 - cuttingInboundInventoryService.saveBatch(inboundInventoryList); - } - - long endTime = System.currentTimeMillis(); - log.info("鍒�鍏峰叆搴撴彁浜ゅ畬鎴愶紝鑰楁椂: {} s", (endTime - startTime)/1000); - return Result.ok("鎻愪氦鎴愬姛"); - - } catch (Exception e) { - long endTime = System.currentTimeMillis(); - log.error("鎻愪氦鍏ュ簱鍗曞け璐ワ紝orderId: " + orderId + "锛岃�楁椂: " + (endTime - startTime) + " ms", e); - return Result.error("鎻愪氦澶辫触: " + e.getMessage()); - } + return cuttingInboundService.submit(orderId); } } diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java index 630d7e6..a0e4d74 100644 --- a/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java +++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.cms.entity.CuttingInventory; diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java index 1d78b9f..17ad902 100644 --- a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java +++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java @@ -43,141 +43,141 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; - /** +/** * @Description: 鍒�鍏烽鐢ㄥ崟 * @Author: jeecg-boot - * @Date: 2025-07-28 + * @Date: 2025-07-28 * @Version: V1.0 */ -@Api(tags="鍒�鍏烽鐢ㄥ崟") +@Api(tags = "鍒�鍏烽鐢ㄥ崟") @RestController @RequestMapping("/cms/cuttingReceive") @Slf4j public class CuttingReceiveController extends JeecgController<CuttingReceive, ICuttingReceiveService> { - @Autowired - private ICuttingReceiveService cuttingReceiveService; + @Autowired + private ICuttingReceiveService cuttingReceiveService; - @Autowired - private ICuttingReceiveDetailService cuttingReceiveDetailService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param cuttingReceive - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ", notes="鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<CuttingReceive>> queryPageList(CuttingReceive cuttingReceive, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<CuttingReceive> queryWrapper = QueryGenerator.initQueryWrapper(cuttingReceive, req.getParameterMap()); - Page<CuttingReceive> page = new Page<CuttingReceive>(pageNo, pageSize); - IPage<CuttingReceive> pageList = cuttingReceiveService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param jSONObject - * @return - */ - @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-娣诲姞") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-娣诲姞", notes="鍒�鍏烽鐢ㄥ崟-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody JSONObject jSONObject) { - CuttingReceive cuttingReceive = jSONObject.toJavaObject(CuttingReceive.class); - cuttingReceive.setOrderStatus("1"); - cuttingReceiveService.saveOrUpdate(cuttingReceive); - //鍒犻櫎鍘熷叧鑱旀暟鎹� - List<CuttingReceiveDetail> cuttingReceiveDetailList = cuttingReceiveDetailService.lambdaQuery().eq(CuttingReceiveDetail::getOrderId,cuttingReceive.getId()).list(); - cuttingReceiveDetailService.removeBatchByIds(cuttingReceiveDetailList); - //娣诲姞鏂板叧鑱旀暟鎹� - JSONArray jsonArray = jSONObject.getJSONArray("detailData"); - List<CuttingReceiveDetail> list = jsonArray.toJavaList(CuttingReceiveDetail.class); - for (int i = 0; i < list.size(); i++) { - CuttingReceiveDetail temp = list.get(i); - temp.setOrderId(cuttingReceive.getId()); - cuttingReceiveDetailService.save(temp); - } - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param cuttingReceive - * @return - */ - @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-缂栬緫") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-缂栬緫", notes="鍒�鍏烽鐢ㄥ崟-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody CuttingReceive cuttingReceive) { - cuttingReceiveService.updateById(cuttingReceive); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎", notes="鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - cuttingReceiveService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎", notes="鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.cuttingReceiveService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ") - @ApiOperation(value="鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ", notes="鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<CuttingReceive> queryById(@RequestParam(name="id",required=true) String id) { - CuttingReceive cuttingReceive = cuttingReceiveService.getById(id); - if(cuttingReceive==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(cuttingReceive); - } + @Autowired + private ICuttingReceiveDetailService cuttingReceiveDetailService; /** - * 瀵煎嚭excel - * - * @param request - * @param cuttingReceive - */ + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param cuttingReceive + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<CuttingReceive>> queryPageList(CuttingReceive cuttingReceive, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<CuttingReceive> queryWrapper = QueryGenerator.initQueryWrapper(cuttingReceive, req.getParameterMap()); + Page<CuttingReceive> page = new Page<CuttingReceive>(pageNo, pageSize); + IPage<CuttingReceive> pageList = cuttingReceiveService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param jSONObject + * @return + */ + @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-娣诲姞") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-娣诲姞", notes = "鍒�鍏烽鐢ㄥ崟-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody JSONObject jSONObject) { + CuttingReceive cuttingReceive = jSONObject.toJavaObject(CuttingReceive.class); + cuttingReceive.setOrderStatus("1"); + cuttingReceiveService.saveOrUpdate(cuttingReceive); + //鍒犻櫎鍘熷叧鑱旀暟鎹� + List<CuttingReceiveDetail> cuttingReceiveDetailList = cuttingReceiveDetailService.lambdaQuery().eq(CuttingReceiveDetail::getOrderId, cuttingReceive.getId()).list(); + cuttingReceiveDetailService.removeBatchByIds(cuttingReceiveDetailList); + //娣诲姞鏂板叧鑱旀暟鎹� + JSONArray jsonArray = jSONObject.getJSONArray("detailData"); + List<CuttingReceiveDetail> list = jsonArray.toJavaList(CuttingReceiveDetail.class); + for (int i = 0; i < list.size(); i++) { + CuttingReceiveDetail temp = list.get(i); + temp.setOrderId(cuttingReceive.getId()); + cuttingReceiveDetailService.save(temp); + } + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param cuttingReceive + * @return + */ + @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-缂栬緫") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-缂栬緫", notes = "鍒�鍏烽鐢ㄥ崟-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody CuttingReceive cuttingReceive) { + cuttingReceiveService.updateById(cuttingReceive); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎", notes = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + cuttingReceiveService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎", notes = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.cuttingReceiveService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ") + @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ", notes = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<CuttingReceive> queryById(@RequestParam(name = "id", required = true) String id) { + CuttingReceive cuttingReceive = cuttingReceiveService.getById(id); + if (cuttingReceive == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(cuttingReceive); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param cuttingReceive + */ //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, CuttingReceive cuttingReceive) { @@ -185,28 +185,28 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ //@RequiresPermissions("cms_cutting_receive:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, CuttingReceive.class); } - /** - * 鏍规嵁棰嗙敤id鏌ヨ棰嗙敤鏄庣粏 - * - * @param orderId - * @return - */ - @GetMapping("/detailList") - public Result<?> detailList(@RequestParam("orderId") String orderId) { - List<Map<String, Object>> list = cuttingReceiveDetailService.detailList(orderId); - return Result.ok(list); - } + /** + * 鏍规嵁棰嗙敤id鏌ヨ棰嗙敤鏄庣粏 + * + * @param orderId + * @return + */ + @GetMapping("/detailList") + public Result<?> detailList(@RequestParam("orderId") String orderId) { + List<Map<String, Object>> list = cuttingReceiveDetailService.detailList(orderId); + return Result.ok(list); + } } diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java index c7d07ce..d650056 100644 --- a/src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java +++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java @@ -40,145 +40,145 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; - /** +/** * @Description: 鍒�鍏蜂俊鎭� * @Author: jeecg-boot - * @Date: 2025-07-28 + * @Date: 2025-07-28 * @Version: V1.0 */ -@Api(tags="鍒�鍏蜂俊鎭�") +@Api(tags = "鍒�鍏蜂俊鎭�") @RestController @RequestMapping("/cms/cuttingTool") @Slf4j public class CuttingToolController extends JeecgController<CuttingTool, ICuttingToolService> { - @Autowired - private ICuttingToolService cuttingToolService; + @Autowired + private ICuttingToolService cuttingToolService; - @Autowired - private ICuttingPropertiesService cuttingPropertiesService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param cuttingTool - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ", notes="鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<CuttingTool>> queryPageList(CuttingTool cuttingTool, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<CuttingTool> queryWrapper = QueryGenerator.initQueryWrapper(cuttingTool, req.getParameterMap()); - Page<CuttingTool> page = new Page<CuttingTool>(pageNo, pageSize); - IPage<CuttingTool> pageList = cuttingToolService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param cuttingTool - * @return - */ - @AutoLog(value = "鍒�鍏蜂俊鎭�-娣诲姞") - @ApiOperation(value="鍒�鍏蜂俊鎭�-娣诲姞", notes="鍒�鍏蜂俊鎭�-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody CuttingTool cuttingTool) { - cuttingToolService.save(cuttingTool); - List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList(); - for (CuttingProperties cuttingProperties : cuttingPropertiesList) { - cuttingProperties.setCuttingId(cuttingTool.getId()); - cuttingPropertiesService.save(cuttingProperties); - } - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param cuttingTool - * @return - */ - @AutoLog(value = "鍒�鍏蜂俊鎭�-缂栬緫") - @ApiOperation(value="鍒�鍏蜂俊鎭�-缂栬緫", notes="鍒�鍏蜂俊鎭�-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody CuttingTool cuttingTool) { - cuttingToolService.saveOrUpdate(cuttingTool); - List<String> deletePropertiesIds = cuttingTool.getDeletePropertiesIds(); - if (deletePropertiesIds != null) { - for (String deletePropertiesId : deletePropertiesIds) { - cuttingPropertiesService.removeById(deletePropertiesId); - } - } - List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList(); - for (CuttingProperties cuttingProperties : cuttingPropertiesList) { - cuttingProperties.setCuttingId(cuttingTool.getId()); - cuttingPropertiesService.saveOrUpdate(cuttingProperties); - } - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎") - @ApiOperation(value="鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎", notes="鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - cuttingToolService.removeById(id); - cuttingPropertiesService.remove(new LambdaQueryWrapper<CuttingProperties>().eq(CuttingProperties::getCuttingId, id)); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎") - @ApiOperation(value="鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎", notes="鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.cuttingToolService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ") - @ApiOperation(value="鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ", notes="鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<CuttingTool> queryById(@RequestParam(name="id",required=true) String id) { - CuttingTool cuttingTool = cuttingToolService.getById(id); - if(cuttingTool==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(cuttingTool); - } + @Autowired + private ICuttingPropertiesService cuttingPropertiesService; /** - * 瀵煎嚭excel - * - * @param request - * @param cuttingTool - */ + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param cuttingTool + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鍒�鍏蜂俊鎭�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<CuttingTool>> queryPageList(CuttingTool cuttingTool, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<CuttingTool> queryWrapper = QueryGenerator.initQueryWrapper(cuttingTool, req.getParameterMap()); + Page<CuttingTool> page = new Page<CuttingTool>(pageNo, pageSize); + IPage<CuttingTool> pageList = cuttingToolService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param cuttingTool + * @return + */ + @AutoLog(value = "鍒�鍏蜂俊鎭�-娣诲姞") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-娣诲姞", notes = "鍒�鍏蜂俊鎭�-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody CuttingTool cuttingTool) { + cuttingToolService.save(cuttingTool); + List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList(); + for (CuttingProperties cuttingProperties : cuttingPropertiesList) { + cuttingProperties.setCuttingId(cuttingTool.getId()); + cuttingPropertiesService.save(cuttingProperties); + } + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param cuttingTool + * @return + */ + @AutoLog(value = "鍒�鍏蜂俊鎭�-缂栬緫") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-缂栬緫", notes = "鍒�鍏蜂俊鎭�-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody CuttingTool cuttingTool) { + cuttingToolService.saveOrUpdate(cuttingTool); + List<String> deletePropertiesIds = cuttingTool.getDeletePropertiesIds(); + if (deletePropertiesIds != null) { + for (String deletePropertiesId : deletePropertiesIds) { + cuttingPropertiesService.removeById(deletePropertiesId); + } + } + List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList(); + for (CuttingProperties cuttingProperties : cuttingPropertiesList) { + cuttingProperties.setCuttingId(cuttingTool.getId()); + cuttingPropertiesService.saveOrUpdate(cuttingProperties); + } + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎", notes = "鍒�鍏蜂俊鎭�-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + cuttingToolService.removeById(id); + cuttingPropertiesService.remove(new LambdaQueryWrapper<CuttingProperties>().eq(CuttingProperties::getCuttingId, id)); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎", notes = "鍒�鍏蜂俊鎭�-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.cuttingToolService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ") + @ApiOperation(value = "鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ", notes = "鍒�鍏蜂俊鎭�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<CuttingTool> queryById(@RequestParam(name = "id", required = true) String id) { + CuttingTool cuttingTool = cuttingToolService.getById(id); + if (cuttingTool == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(cuttingTool); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param cuttingTool + */ //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, CuttingTool cuttingTool) { @@ -186,30 +186,30 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ //@RequiresPermissions("cms_cutting_tool:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, CuttingTool.class); } - - @GetMapping(value = "/getCuttingToolList") - public Result<?> getCuttingToolList(@RequestParam("pageNo") Integer pageNo, - @RequestParam("pageSize") Integer pageSize, - @RequestParam Map<String, Object> params) { - IPage<Map<String, Object>> cuttingToolList = cuttingToolService.getCuttingToolList(pageNo, pageSize, params); - for (Map<String, Object> record : cuttingToolList.getRecords()) { - String cuttingId = (String) record.get("id"); - List<CuttingProperties> cuttingPropertiesList = cuttingPropertiesService.selectListByCuttingId(cuttingId); - record.put("cuttingPropertiesList", cuttingPropertiesList); - } - return Result.ok(cuttingToolList); - } + //閫夋嫨鍒�鍏风殑鎺ュ彛 + @GetMapping(value = "/getCuttingToolList") + public Result<?> getCuttingToolList(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> cuttingToolList = cuttingToolService.getCuttingToolList(pageNo, pageSize, params); + for (Map<String, Object> record : cuttingToolList.getRecords()) { + String cuttingId = (String) record.get("id"); + List<CuttingProperties> cuttingPropertiesList = cuttingPropertiesService.selectListByCuttingId(cuttingId); + record.put("cuttingPropertiesList", cuttingPropertiesList); + } + return Result.ok(cuttingToolList); + } } diff --git a/src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java b/src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java index f9c7d7b..61c03b7 100644 --- a/src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java +++ b/src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java @@ -4,10 +4,8 @@ import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; + +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -57,6 +55,9 @@ @ApiModelProperty(value = "鍒�鍏稩D") @Dict(dictTable = "cms_cutting_tool",dicCode="id",dicText = "cutting_code") private String cuttingId; + + @TableField(exist = false) // 琛ㄧず杩欎笉鏄暟鎹簱瀛楁 + private String cuttingCode; /**鍒�鍏锋潯鐮�*/ @Excel(name = "鍒�鍏锋潯鐮�", width = 15) @ApiModelProperty(value = "鍒�鍏锋潯鐮�") @@ -69,4 +70,11 @@ @Excel(name = "褰撳墠瀵垮懡(鐧惧垎姣�)", width = 15) @ApiModelProperty(value = "褰撳墠瀵垮懡(鐧惧垎姣�)") private BigDecimal currentLife; + + // 鍦–uttingInventory瀹炰綋绫讳腑娣诲姞 + @TableField(exist = false) // 琛ㄧず杩欎笉鏄暟鎹簱瀛楁 + private String cuttingIdSearch; + + @TableField(exist = false) // 琛ㄧず杩欎笉鏄暟鎹簱瀛楁 + private String cuttingBarcodeSearch; } diff --git a/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java b/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java index 9113c5c..b134181 100644 --- a/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java +++ b/src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java @@ -15,5 +15,5 @@ */ public interface CuttingReceiveDetailMapper extends BaseMapper<CuttingReceiveDetail> { - public List<Map<String, Object>> detailList(@Param("orderId") String orderId); + List<Map<String, Object>> detailList(@Param("orderId") String orderId); } diff --git a/src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java b/src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java index c01d8f1..fd30f93 100644 --- a/src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java +++ b/src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java @@ -15,4 +15,6 @@ */ public interface ICuttingInboundService extends IService<CuttingInbound> { Result<?> importExcelData(List<CuttingInboundExportVo> list); + + Result<?> submit(String orderId); } diff --git a/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java b/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java index 1f02463..cb6f87f 100644 --- a/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java +++ b/src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java @@ -7,6 +7,7 @@ import java.util.Map; /** + * * @Description: 棰嗙敤鍗曟槑缁� * @Author: jeecg-boot * @Date: 2025-07-28 @@ -14,5 +15,5 @@ */ public interface ICuttingReceiveDetailService extends IService<CuttingReceiveDetail> { - public List<Map<String, Object>> detailList(String orderId); + List<Map<String, Object>> detailList(String orderId); } diff --git a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java index 991f67f..17ded30 100644 --- a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java +++ b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java @@ -1,17 +1,25 @@ package org.jeecg.modules.cms.service.impl; +import io.micrometer.core.annotation.Timed; +import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.cms.entity.CuttingInbound; import org.jeecg.modules.cms.entity.CuttingInboundDetail; +import org.jeecg.modules.cms.entity.CuttingInboundInventory; +import org.jeecg.modules.cms.entity.CuttingInventory; import org.jeecg.modules.cms.mapper.CuttingInboundMapper; +import org.jeecg.modules.cms.service.ICuttingInboundInventoryService; import org.jeecg.modules.cms.service.ICuttingInboundService; import org.jeecg.modules.cms.service.ICuttingInboundDetailService; +import org.jeecg.modules.cms.service.ICuttingInventoryService; import org.jeecg.modules.cms.vo.CuttingInboundExportVo; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; @@ -22,10 +30,18 @@ * @Date: 2025-07-28 * @Version: V1.0 */ + +@Slf4j @Service public class CuttingInboundServiceImpl extends ServiceImpl<CuttingInboundMapper, CuttingInbound> implements ICuttingInboundService { @Autowired private ICuttingInboundDetailService cuttingInboundDetailService; // 娉ㄥ叆浠庤〃鏈嶅姟 + + @Autowired + private ICuttingInventoryService cuttingInventoryService; + + @Autowired + private ICuttingInboundInventoryService cuttingInboundInventoryService; /** * 閫氳繃Excel瀵煎叆鍒�鍏峰叆搴撳崟鏁版嵁 * @@ -35,39 +51,7 @@ @Override @Transactional(rollbackFor = Exception.class) public Result<?> importExcelData(List<CuttingInboundExportVo> list) { -// try { -// for (CuttingInboundExportVo exportVo : list) { -// // 淇濆瓨涓昏〃鏁版嵁 -// CuttingInbound cuttingInbound = new CuttingInbound(); -// cuttingInbound.setReceiver(exportVo.getReceiver()); -// cuttingInbound.setReceiveTime(exportVo.getReceiveTime()); -// cuttingInbound.setReceiveComment(exportVo.getReceiveComment()); -// cuttingInbound.setConfirmer(exportVo.getConfirmer()); -// cuttingInbound.setConfirmTime(exportVo.getConfirmTime()); -// cuttingInbound.setConfirmComment(exportVo.getConfirmComment()); -// cuttingInbound.setOrderStatus(exportVo.getOrderStatus()); -// -// // 淇濆瓨涓昏〃鏁版嵁浠ヨ幏鍙朓D -// this.save(cuttingInbound); -// -// // 鑾峰彇涓昏〃ID -// String orderId = cuttingInbound.getId(); -// -// // 澶勭悊浠庤〃鏁版嵁 -// List<CuttingInboundDetail> detailList = exportVo.getDetailList(); -// if (detailList != null && !detailList.isEmpty()) { -// for (CuttingInboundDetail detail : detailList) { -// detail.setOrderId(orderId); // 璁剧疆澶栭敭鍏宠仈 -// cuttingInboundDetailService.save(detail); -// } -// } -// } -// return Result.ok("瀵煎叆鎴愬姛"); -// } catch (Exception e) { -// log.error("瀵煎叆澶辫触", e); -// return Result.error("瀵煎叆澶辫触: " + e.getMessage()); -// } -// } + for (CuttingInboundExportVo exportVo : list) { // 淇濆瓨涓昏〃鏁版嵁 CuttingInbound cuttingInbound = new CuttingInbound(); @@ -96,4 +80,88 @@ } return Result.ok("瀵煎叆鎴愬姛"); } + + + /* + * 鐢熸垚鍞竴鏉$爜鐨勬柟娉曪紙纭畾缂栫爜鐢熸垚瑙勫垯鍚庡湪姝ゅ閲嶅啓锛� + */ + private String generateUniqueBarcode(String cuttingId, int index) { + // 鏉$爜鐢熸垚瑙勫垯绀轰緥锛氬垁鍏稩D + 搴忓彿(4浣�) + 闅忔満鏁� + return cuttingId + String.format("%04d", index + 1) + (int) (Math.random() * 10000); + } + @Override + @Timed(value = "cutting.inbound.submit", description = "鍒�鍏峰叆搴撴彁浜よ�楁椂") + public synchronized Result<?> submit(String orderId) { + long startTime = System.currentTimeMillis(); + try { + // 1. 鏇存柊鍏ュ簱鍗曠姸鎬� + CuttingInbound cuttingInbound = this.getById(orderId); + if (cuttingInbound == null) { + return Result.error("鏈壘鍒板搴旂殑鍏ュ簱鍗�"); + } + + // 妫�鏌ュ叆搴撳崟鐘舵�侊紝鍙厑璁哥姸鎬佷负"1"鐨勫叆搴撳崟鎻愪氦 + if (!"1".equals(cuttingInbound.getOrderStatus())) { + return Result.error("鍙湁鐘舵�佷负鏈彁浜ょ殑鍏ュ簱鍗曟墠鑳芥墽琛屾彁浜ゆ搷浣�"); + } + + cuttingInbound.setOrderStatus("2"); + boolean updateResult = this.updateById(cuttingInbound); + if (!updateResult) { + return Result.error("鏇存柊鍏ュ簱鍗曠姸鎬佸け璐ワ紝鍙兘宸茶鍏朵粬鐢ㄦ埛澶勭悊"); + } + + // 2. 鑾峰彇鍏ュ簱鏄庣粏 + List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() + .eq(CuttingInboundDetail::getOrderId, orderId) + .list(); + + // 3. 鏀堕泦鎵�鏈夐渶瑕佷繚瀛樼殑鏁版嵁 + List<CuttingInventory> inventoryList = new ArrayList<>(); + List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); + + for (CuttingInboundDetail detail : detailList) { + int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; + + for (int i = 0; i < quantity; i++) { + // 鐢熸垚搴撳瓨璁板綍 + CuttingInventory cuttingInventory = new CuttingInventory(); + cuttingInventory.setCuttingId(detail.getCuttingId()); + cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); + cuttingInventory.setInventoryStatus("姝e父"); + cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); + inventoryList.add(cuttingInventory); + } + } + + // 4. 鎵归噺淇濆瓨搴撳瓨璁板綍锛堜竴娆℃�ф搷浣滐級 + if (!inventoryList.isEmpty()) { + cuttingInventoryService.saveBatch(inventoryList); + + // 5. 涓烘瘡涓繚瀛樼殑搴撳瓨璁板綍鍒涘缓鍏宠仈鍏崇郴 + for (CuttingInventory inventory : inventoryList) { + CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); + cuttingInboundInventory.setOrderId(orderId); + cuttingInboundInventory.setInventoryId(inventory.getId()); + inboundInventoryList.add(cuttingInboundInventory); + } + + // 6. 鎵归噺淇濆瓨鍏宠仈鍏崇郴锛堜竴娆℃�ф搷浣滐級 + cuttingInboundInventoryService.saveBatch(inboundInventoryList); + } + + long endTime = System.currentTimeMillis(); + log.info("鍒�鍏峰叆搴撴彁浜ゅ畬鎴愶紝鑰楁椂: {} ms", (endTime - startTime)); + return Result.ok("鎻愪氦鎴愬姛"); + + } catch (Exception e) { + long endTime = System.currentTimeMillis(); + log.error("鎻愪氦鍏ュ簱鍗曞け璐ワ紝orderId: " + orderId + "锛岃�楁椂: " + (endTime - startTime) + " ms", e); + return Result.error("鎻愪氦澶辫触: " + e.getMessage()); + } + } + + + + } diff --git a/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java b/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java index 94bf014..7b3bcf8 100644 --- a/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java +++ b/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java @@ -11,13 +11,13 @@ @Excel(name = "NO", width = 15) private String itemCode; - @Excel(name = "閮ㄤ綅鍚嶇О", width = 15) + @Excel(name = "鐐规鍐呭", width = 15) private String itemName; - @Excel(name = "鐐规鍐呭", width = 15) + @Excel(name = "鐐规鏂规硶", width = 15) private String subItemName; - @Excel(name = "鐐规鏂规硶", width = 15) + @Excel(name = "閮ㄤ綅鍚嶇О", width = 15) private String itemPart; @Excel(name = "鍩哄噯", width = 15) diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java index 222c87a..00d0f04 100644 --- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java @@ -9,38 +9,24 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.base.entity.Factory; -import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.enums.ProductionTypeEnum; import org.jeecg.modules.base.service.IFactoryService; -import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.jeecg.modules.lsw.entity.LswMaterial; -import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.enums.MaterialCategoryEnum; -import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.service.ILswMaterialService; -import org.jeecg.modules.lsw.vo.LswMaterialPage; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; -import java.util.Map; /** * @Description: 绾胯竟搴撶墿鏂欎俊鎭� @@ -55,10 +41,6 @@ public class LswMaterialController { @Autowired private ILswMaterialService lswMaterialService; - @Autowired - private ILswMaterialInventoryService lswMaterialInventoryService; - @Autowired - private ILineSideWarehouseService lineSideWarehouseService; @Autowired private IFactoryService factoryService; @@ -147,28 +129,6 @@ } - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅閫氳繃涓昏〃ID鏌ヨ") - @ApiOperation(value = "鐗╂枡搴撳瓨淇℃伅涓昏〃ID鏌ヨ", notes = "鐗╂枡搴撳瓨淇℃伅-閫氫富琛↖D鏌ヨ") - @GetMapping(value = "/queryLswMaterialInventoryByMainId") - public Result<List<LswMaterialInventory>> queryLswMaterialInventoryListByMainId(@RequestParam(name = "id", required = true) String id) { - List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(id); - for (LswMaterialInventory lswMaterialInventory : lswMaterialInventoryList) { - if (StringUtils.isNotEmpty(lswMaterialInventory.getWarehouseId())) { - String warehouseId = lswMaterialInventory.getWarehouseId(); - LineSideWarehouse warehouse = lineSideWarehouseService.getById(warehouseId); - lswMaterialInventory.setWarehouseName(warehouse.getWarehouseName()); - } - } - return Result.OK(lswMaterialInventoryList); - } - - @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�") @ApiOperation(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�", notes = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�") @GetMapping(value = "/queryLswMaterialByProductionType") public Result<List<LswMaterial>> queryLswMaterialByProductionType(@RequestParam("factoryId") String factoryId) { @@ -207,54 +167,19 @@ return Result.OK(lswMaterialList); } - /** - * 瀵煎嚭excel - * - * @param request - * @param lswMaterial - */ - //@RequiresPermissions("org.jeecg.modules:lsw_material:exportXls") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LswMaterial lswMaterial) { - // Step.1 缁勮鏌ヨ鏉′欢鏌ヨ鏁版嵁 - QueryWrapper<LswMaterial> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterial, request.getParameterMap()); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - - //閰嶇疆閫変腑鏁版嵁鏌ヨ鏉′欢 - String selections = request.getParameter("selections"); - if (oConvertUtils.isNotEmpty(selections)) { - List<String> selectionList = Arrays.asList(selections.split(",")); - queryWrapper.in("id", selectionList); + @ApiOperation(value = "绾胯竟搴撶墿鏂欎俊鎭�-鏍规嵁鐗╂枡绫诲瀷鏌ヨ", notes = "绾胯竟搴撶墿鏂欎俊鎭�-鏍规嵁鐗╂枡绫诲瀷鏌ヨ") + @GetMapping(value = "/queryByMaterialCategory") + public Result<List<LswMaterial>> queryByMaterialCategory(@RequestParam("materialCategory") String materialCategory) { + if (StringUtils.isBlank(materialCategory)) { + return Result.ok(Collections.emptyList()); } - //Step.2 鑾峰彇瀵煎嚭鏁版嵁 + String[] split = materialCategory.split(","); + LambdaQueryWrapper<LswMaterial> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(LswMaterial::getMaterialCategory, Arrays.asList(split)); + queryWrapper.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1); + queryWrapper.orderByAsc(LswMaterial::getMaterialNumber); List<LswMaterial> lswMaterialList = lswMaterialService.list(queryWrapper); - - // Step.3 缁勮pageList - List<LswMaterialPage> pageList = new ArrayList<LswMaterialPage>(); - for (LswMaterial main : lswMaterialList) { - LswMaterialPage vo = new LswMaterialPage(); - BeanUtils.copyProperties(main, vo); - List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(main.getId()); - vo.setLswMaterialInventoryList(lswMaterialInventoryList); - pageList.add(vo); - } - - // Step.4 AutoPoi 瀵煎嚭Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - mv.addObject(NormalExcelConstants.FILE_NAME, "绾胯竟搴撶墿鏂欎俊鎭垪琛�"); - mv.addObject(NormalExcelConstants.CLASS, LswMaterialPage.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("绾胯竟搴撶墿鏂欎俊鎭暟鎹�", "瀵煎嚭浜�:" + sysUser.getRealname(), "绾胯竟搴撶墿鏂欎俊鎭�")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; + return Result.ok(lswMaterialList); } - - @GetMapping(value = "/searchlikeQuery") - public Result<?> searchlikeQuery(LswMaterial lswMaterial, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - IPage<Map<String, Object>> pageList = lswMaterialService.getLswMaterialListData(pageNo, pageSize, req); - return Result.OK(pageList); - } - } diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java index 003adb1..26cf4b4 100644 --- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java @@ -6,11 +6,12 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.lsw.entity.LswMaterialInbound; import org.jeecg.modules.lsw.service.ILswMaterialInboundService; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +31,7 @@ */ @Api(tags="鐗╂枡鍏ュ簱鍗�") @RestController -@RequestMapping("/lswmaterialinbound/lswMaterialInbound") +@RequestMapping("/lsw/materialInbound") @Slf4j public class LswMaterialInboundController extends JeecgController<LswMaterialInbound, ILswMaterialInboundService> { @Autowired @@ -66,11 +67,21 @@ */ @AutoLog(value = "鐗╂枡鍏ュ簱鍗�-娣诲姞") @ApiOperation(value="鐗╂枡鍏ュ簱鍗�-娣诲姞", notes="鐗╂枡鍏ュ簱鍗�-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody LswMaterialInbound lswMaterialInbound) { - lswMaterialInboundService.save(lswMaterialInbound); - return Result.OK("娣诲姞鎴愬姛锛�"); + if(lswMaterialInbound == null){ + return Result.error("鍏ュ簱淇℃伅涓嶈兘涓虹┖锛�"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(sysUser == null){ + return Result.error("鐢ㄦ埛淇℃伅鑾峰彇澶辫触锛�"); + } + lswMaterialInbound.setReceiver(sysUser.getUsername()); + boolean b = lswMaterialInboundService.inboundMaterial(lswMaterialInbound); + if(!b) { + return Result.error("鍏ュ簱澶辫触锛�"); + } + return Result.OK("鍏ュ簱鎴愬姛锛�"); } /** diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java index 2a2f162..289372e 100644 --- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java @@ -1,161 +1,74 @@ package org.jeecg.modules.lsw.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; +import java.util.List; /** -* @Description: 鐗╂枡搴撳瓨淇℃伅 -* @Author: jeecg-boot -* @Date: 2025-06-30 -* @Version: V1.0 -*/ -@Api(tags="鐗╂枡搴撳瓨淇℃伅") + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Api(tags = "鐗╂枡搴撳瓨淇℃伅") @RestController -@RequestMapping("/lswmaterialinventory/lswMaterialInventory") +@RequestMapping("/lsw/materialInventory") @Slf4j public class LswMaterialInventoryController extends JeecgController<LswMaterialInventory, ILswMaterialInventoryService> { - @Autowired - private ILswMaterialInventoryService lswMaterialInventoryService; + @Autowired + private ILswMaterialInventoryService lswMaterialInventoryService; - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param lswMaterialInventory - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<LswMaterialInventory>> queryPageList(LswMaterialInventory lswMaterialInventory, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<LswMaterialInventory> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialInventory, req.getParameterMap()); - Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); - IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); - return Result.OK(pageList); - } + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param materialId + * @param pageNo + * @param pageSize + * @return + */ + @ApiOperation(value = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialInventory>> queryPageList(@RequestParam(name = "materialId", defaultValue = "null") String materialId, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LswMaterialInventory::getMaterialId, materialId); + queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); + queryWrapper.orderByDesc(LswMaterialInventory::getCreateTime); + Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); + IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); + return Result.OK(pageList); + } - /** - * 娣诲姞 - * - * @param lswMaterialInventory - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-娣诲姞") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-娣诲姞", notes="鐗╂枡搴撳瓨淇℃伅-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody LswMaterialInventory lswMaterialInventory) { - lswMaterialInventoryService.save(lswMaterialInventory); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param lswMaterialInventory - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-缂栬緫") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-缂栬緫", notes="鐗╂枡搴撳瓨淇℃伅-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody LswMaterialInventory lswMaterialInventory) { - lswMaterialInventoryService.updateById(lswMaterialInventory); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - lswMaterialInventoryService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lswMaterialInventoryService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<LswMaterialInventory> queryById(@RequestParam(name="id",required=true) String id) { - LswMaterialInventory lswMaterialInventory = lswMaterialInventoryService.getById(id); - if(lswMaterialInventory==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(lswMaterialInventory); - } - - /** - * 瀵煎嚭excel - * - * @param request - * @param lswMaterialInventory - */ - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:exportXls") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LswMaterialInventory lswMaterialInventory) { - return super.exportXls(request, lswMaterialInventory, LswMaterialInventory.class, "鐗╂枡搴撳瓨淇℃伅"); - } - - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - //@RequiresPermissions("lsw_material_inventory:importExcel") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, LswMaterialInventory.class); - } - + @ApiOperation(value = "鐗╂枡搴撳瓨淇℃伅-缁熻鍚勭嚎杈瑰簱鐗╂枡涓暟", notes = "鐗╂枡搴撳瓨淇℃伅-缁熻鍚勭嚎杈瑰簱鐗╂枡涓暟") + @GetMapping(value = "/statisticsInventory") + public Result<String> statisticsInventory(@RequestParam(name = "materialId") String materialId) { + //搴撳瓨缁熻鏁伴噺 + List<MaterialInventoryStatisticsVO> list = lswMaterialInventoryService.statisticsInventory(materialId); + if(CollectionUtil.isEmpty(list)){ + return Result.OK("0"); + } + StringBuilder sb = new StringBuilder(); + for(MaterialInventoryStatisticsVO vo : list){ + sb.append(vo.getWarehouseName()).append(": ").append(vo.getMaterialQuantity().stripTrailingZeros().toPlainString()).append(" | "); + } + return Result.OK(sb.toString()); + } } diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java index a2ceacd..8dc6662 100644 --- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialOutboundController.java @@ -7,164 +7,50 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.lsw.entity.LswMaterialInbound; import org.jeecg.modules.lsw.entity.LswMaterialOutbound; import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; -import java.util.Map; /** -* @Description: 鐗╂枡鍑哄簱鍗� -* @Author: jeecg-boot -* @Date: 2025-06-30 -* @Version: V1.0 -*/ -@Api(tags="鐗╂枡鍑哄簱鍗�") + * @Description: 鐗╂枡鍑哄簱鍗� + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Api(tags = "鐗╂枡鍑哄簱鍗�") @RestController -@RequestMapping("/lswmaterialoutbound/lswMaterialOutbound") +@RequestMapping("/lsw/materialOutbound") @Slf4j public class LswMaterialOutboundController extends JeecgController<LswMaterialOutbound, ILswMaterialOutboundService> { - @Autowired - private ILswMaterialOutboundService lswMaterialOutboundService; + @Autowired + private ILswMaterialOutboundService lswMaterialOutboundService; - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param lswMaterialOutbound - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<LswMaterialOutbound>> queryPageList(LswMaterialOutbound lswMaterialOutbound, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<LswMaterialOutbound> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialOutbound, req.getParameterMap()); - Page<LswMaterialOutbound> page = new Page<LswMaterialOutbound>(pageNo, pageSize); - IPage<LswMaterialOutbound> pageList = lswMaterialOutboundService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param lswMaterialOutbound - * @return - */ - @AutoLog(value = "鐗╂枡鍑哄簱鍗�-娣诲姞") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-娣诲姞", notes="鐗╂枡鍑哄簱鍗�-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody LswMaterialOutbound lswMaterialOutbound) { - lswMaterialOutboundService.save(lswMaterialOutbound); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param lswMaterialOutbound - * @return - */ - @AutoLog(value = "鐗╂枡鍑哄簱鍗�-缂栬緫") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-缂栬緫", notes="鐗╂枡鍑哄簱鍗�-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody LswMaterialOutbound lswMaterialOutbound) { - lswMaterialOutboundService.updateById(lswMaterialOutbound); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎", notes="鐗╂枡鍑哄簱鍗�-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - lswMaterialOutboundService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎", notes="鐗╂枡鍑哄簱鍗�-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lswMaterialOutboundService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鐗╂枡鍑哄簱鍗�-閫氳繃id鏌ヨ") - @ApiOperation(value="鐗╂枡鍑哄簱鍗�-閫氳繃id鏌ヨ", notes="鐗╂枡鍑哄簱鍗�-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<LswMaterialOutbound> queryById(@RequestParam(name="id",required=true) String id) { - LswMaterialOutbound lswMaterialOutbound = lswMaterialOutboundService.getById(id); - if(lswMaterialOutbound==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(lswMaterialOutbound); - } - - /** - * 瀵煎嚭excel - * - * @param request - * @param lswMaterialOutbound - */ - //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:exportXls") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LswMaterialOutbound lswMaterialOutbound) { - return super.exportXls(request, lswMaterialOutbound, LswMaterialOutbound.class, "鐗╂枡鍑哄簱鍗�"); - } - - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - //@RequiresPermissions("lsw_material_outbound:importExcel") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, LswMaterialOutbound.class); - } - @GetMapping(value = "/searchlikeQuery") - public Result<?> searchlikeQuery(LswMaterialOutbound lswMaterialOutbound, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req){ - IPage<Map<String, Object>> pageList = lswMaterialOutboundService.getlswMaterialOutboundListData(pageNo,pageSize,req); + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param lswMaterialOutbound + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鐗╂枡鍑哄簱鍗�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialOutbound>> queryPageList(LswMaterialOutbound lswMaterialOutbound, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<LswMaterialOutbound> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialOutbound, req.getParameterMap()); + Page<LswMaterialOutbound> page = new Page<LswMaterialOutbound>(pageNo, pageSize); + IPage<LswMaterialOutbound> pageList = lswMaterialOutboundService.page(page, queryWrapper); return Result.OK(pageList); } diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java index cf383c6..406e7ad 100644 --- a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java @@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.jeecg.common.aspect.annotation.Dict; -import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java index 8827025..57edc9a 100644 --- a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java @@ -57,6 +57,12 @@ @ApiModelProperty(value = "鍒犻櫎鏍囪") @TableLogic private Integer delFlag; + @Excel(name = "鏉ユ簮缂栫爜", width = 15) + @ApiModelProperty(value = "鏉ユ簮缂栫爜") + private String originalCode; + @Excel(name = "鏉ユ簮鍚嶇О", width = 15) + @ApiModelProperty(value = "鏉ユ簮鍚嶇О") + private String originalName; /**浜х嚎ID*/ @Excel(name = "浜х嚎ID", width = 15) @ApiModelProperty(value = "浜х嚎ID") @@ -83,9 +89,15 @@ @Excel(name = "鍏ュ簱鏁伴噺", width = 15) @ApiModelProperty(value = "鍏ュ簱鏁伴噺") private BigDecimal quantity; + /**鍏ュ簱绫诲瀷*/ + @Excel(name = "鍏ュ簱绫诲瀷", width = 15) + @ApiModelProperty(value = "鍏ュ簱绫诲瀷") + @Dict(dicCode = "material_inbound_category") + private String inboundCategory; /**鎺ユ敹浜�*/ @Excel(name = "鎺ユ敹浜�", width = 15) @ApiModelProperty(value = "鎺ユ敹浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String receiver; /**鎺ユ敹鏃堕棿*/ @Excel(name = "鎺ユ敹鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java index 73d6730..1dac62c 100644 --- a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java @@ -1,7 +1,6 @@ package org.jeecg.modules.lsw.entity; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -13,7 +12,6 @@ import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; -import javax.persistence.Table; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; @@ -42,14 +40,6 @@ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "鍒涘缓鏃ユ湡") private Date createTime; - /**鏇存柊浜�*/ - @ApiModelProperty(value = "鏇存柊浜�") - private String updateBy; - /**鏇存柊鏃ユ湡*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "鏇存柊鏃ユ湡") - private Date updateTime; /**鐗╂枡ID*/ @ApiModelProperty(value = "鐗╂枡ID") private String materialId; @@ -60,32 +50,36 @@ /**搴撳瓨绫诲瀷*/ @Excel(name = "搴撳瓨绫诲瀷", width = 15) @ApiModelProperty(value = "搴撳瓨绫诲瀷") + @Dict(dicCode = "material_inventory_category") private String inventoryCategory; /**鏁伴噺*/ @Excel(name = "鏁伴噺", width = 15) @ApiModelProperty(value = "鏁伴噺") private BigDecimal quantity; /**搴撳瓨鍦癐D*/ - @Excel(name = "搴撳瓨鍦癐D", width = 15) + @Excel(name = "搴撳瓨鍦�", width = 15) @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name") - @ApiModelProperty(value = "搴撳瓨鍦癐D") - private String warehouseId; - @TableField(exist = false) @ApiModelProperty(value = "搴撳瓨鍦�") - private String warehouseName; + private String warehouseId; /**搴撳瓨鐘舵��*/ @Excel(name = "搴撳瓨鐘舵��", width = 15) @ApiModelProperty(value = "搴撳瓨鐘舵��") + @Dict(dicCode = "material_inventory_status") private String inventoryStatus; + /**鐑鐞嗘爣璇�*/ + @Excel(name = "鐑鐞嗘爣璇�", width = 15) + @ApiModelProperty(value = "鐑鐞嗘爣璇�") + private String heatTreatmentFlag; public LswMaterialInventory(){} - public LswMaterialInventory(LswMaterialInbound inbound, String materialId, String inventoryCategory) { + public LswMaterialInventory(LswMaterialInbound inbound, String materialId, String inventoryCategory, String heatTreatmentFlag) { this.warehouseId = inbound.getWarehouseId(); this.quantity = inbound.getQuantity(); this.batchNumber = inbound.getBatchNumber(); this.inventoryStatus = MaterialInventoryStatusEnum.NORMAL.name(); this.inventoryCategory = inventoryCategory; this.materialId = materialId; + this.heatTreatmentFlag = heatTreatmentFlag; } } diff --git a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java index 9130b9c..8463068 100644 --- a/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java +++ b/src/main/java/org/jeecg/modules/lsw/entity/LswMaterialOutbound.java @@ -68,7 +68,6 @@ /**浜х嚎ID*/ @Excel(name = "浜х嚎ID", width = 15) @ApiModelProperty(value = "浜х嚎ID") - @Dict(dictTable = "base_factory", dicCode = "id", dicText = "factory_name") private String factoryId; /**搴撳瓨ID*/ @Excel(name = "搴撳瓨ID", width = 15) @@ -77,6 +76,7 @@ /**绾胯竟搴揑D*/ @Excel(name = "绾胯竟搴揑D", width = 15) @ApiModelProperty(value = "绾胯竟搴揑D") + @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name") private String warehouseId; /**鎵规鍙�*/ @Excel(name = "鎵规鍙�", width = 15) @@ -85,6 +85,7 @@ /**鍑哄簱浜�*/ @Excel(name = "鍑哄簱浜�", width = 15) @ApiModelProperty(value = "鍑哄簱浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String outboundStaff; /**鍑哄簱鏃堕棿*/ @Excel(name = "鍑哄簱鏃堕棿", width = 20, format = "yyyy-MM-dd HH:mm:ss") @@ -96,4 +97,9 @@ @Excel(name = "鍑哄簱鏁伴噺", width = 15) @ApiModelProperty(value = "鍑哄簱鏁伴噺") private BigDecimal quantity; + /**鍑哄簱绫诲瀷*/ + @Excel(name = "鍑哄簱绫诲瀷", width = 15) + @ApiModelProperty(value = "鍑哄簱绫诲瀷") + @Dict(dicCode = "material_outbound_category") + private String outboundCategory; } diff --git a/src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java b/src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java index 6037d5d..5595078 100644 --- a/src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java +++ b/src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java @@ -4,6 +4,8 @@ FINISHED_PRODUCT, //鎴愬搧 OUTER_FLANGE, //澶栨硶鍏� INNER_FLANGE, //鍐呮硶鍏� + SMALL_INNER_RING, //灏忓唴鍦� + STEEL_BALL, //閽㈢悆 COMPONENTS, //閰嶄欢 BLANK; //姣涘澂 diff --git a/src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java b/src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java new file mode 100644 index 0000000..80c1bba --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java @@ -0,0 +1,11 @@ +package org.jeecg.modules.lsw.enums; + +public enum MaterialInboundCategory { + MATERIAL_TRANSFER_REQUEST, //鐗╂枡鎷夊姩 + PRODUCTION_INBOUND,//鐢熶骇涓嬬嚎 + HEAT_TREATMENT_INBOUND,//鐑鐞� + SMALL_INNER_RING,//灏忓唴鍦� + MATERIAL_INNER_TRANSFER, //鍐呴儴璋冩嫧 + PRODUCTION_UNLOADING, //涓嬫枡 + ; +} diff --git a/src/main/java/org/jeecg/modules/lsw/enums/MaterialInventoryCategoryEnum.java b/src/main/java/org/jeecg/modules/lsw/enums/MaterialInventoryCategoryEnum.java index 8e59d15..b012957 100644 --- a/src/main/java/org/jeecg/modules/lsw/enums/MaterialInventoryCategoryEnum.java +++ b/src/main/java/org/jeecg/modules/lsw/enums/MaterialInventoryCategoryEnum.java @@ -3,5 +3,6 @@ public enum MaterialInventoryCategoryEnum { INBOUND, //鍏ュ簱 UNLOADING, //涓嬫枡 + TRANSFER, //璋冩嫧 ; } diff --git a/src/main/java/org/jeecg/modules/lsw/enums/MaterialOutboundCategory.java b/src/main/java/org/jeecg/modules/lsw/enums/MaterialOutboundCategory.java new file mode 100644 index 0000000..344a9b3 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/enums/MaterialOutboundCategory.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.lsw.enums; + +public enum MaterialOutboundCategory { + MATERIAL_LOADING, //涓婃枡 + WAREHOUSE_TRANSFER, //绉诲簱 + MATERIAL_INNER_TRANSFER, //鍐呴儴璋冩嫧 + ; +} diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java index b755fe5..ff096c2 100644 --- a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java @@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Param; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import java.util.List; @@ -15,22 +16,13 @@ */ public interface LswMaterialInventoryMapper extends BaseMapper<LswMaterialInventory> { - /** - * 閫氳繃涓昏〃id鍒犻櫎瀛愯〃鏁版嵁 - * - * @param mainId 涓昏〃id - * @return boolean - */ - public boolean deleteByMainId(@Param("mainId") String mainId); - - /** - * 閫氳繃涓昏〃id鏌ヨ瀛愯〃鏁版嵁 - * - * @param mainId 涓昏〃id - * @return List<LswMaterialInventory> - */ - public List<LswMaterialInventory> selectByMainId(@Param("mainId") String mainId); - List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(@Param("materialNumberList") List<String> bomMaterialNumberList, @Param("factoryId") String factoryId); + + /** + * 搴撳瓨缁熻 + * @param materialId + * @return + */ + List<MaterialInventoryStatisticsVO> statisticsInventory(@Param("materialId") String materialId); } diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java index 194b9c9..db4a787 100644 --- a/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java +++ b/src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java @@ -1,11 +1,7 @@ package org.jeecg.modules.lsw.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.apache.ibatis.annotations.Param; import org.jeecg.modules.lsw.entity.LswMaterial; - -import java.util.Map; /** * @Description: 绾胯竟搴撶墿鏂欎俊鎭� @@ -14,5 +10,5 @@ * @Version: V1.0 */ public interface LswMaterialMapper extends BaseMapper<LswMaterial> { - IPage<Map<String, Object>> getLswMaterialListData(IPage<Map> pageData, @Param("params")Map<String, String> paramMap); + } diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml index ef93fbc..e7ca719 100644 --- a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml @@ -1,18 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper"> - - <delete id="deleteByMainId" parameterType="java.lang.String"> - DELETE - FROM lsw_material_inventory - WHERE - material_id = #{mainId} </delete> - - <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.lsw.entity.LswMaterialInventory"> - SELECT * - FROM lsw_material_inventory - WHERE - material_id = #{mainId} </select> <select id="selectLineSideMaterialInventoryByMaterialNumber" resultType="org.jeecg.modules.lsw.vo.LswMaterialInventoryVo"> SELECT @@ -31,4 +19,14 @@ t1.material_number, t1.material_name </select> + <select id="statisticsInventory" resultType="org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO"> + select m1.warehouse_id, m2.warehouse_name, m1.materialQuantity + from (select warehouse_id, SUM(quantity) as materialQuantity + from lsw_material_inventory + where material_id = #{materialId} + and inventory_status = 'NORMAL' + group by warehouse_id) m1 + left join base_line_side_warehouse m2 on m1.warehouse_id = m2.id + + </select> </mapper> diff --git a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml index 3b6fcef..885483d 100644 --- a/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml +++ b/src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml @@ -1,19 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialMapper"> - <select id="getLswMaterialListData" parameterType="Map" resultType="Map"> - select * from lsw_material WHERE 1=1 - <if test="params.materialNumber != null and params.materialNumber != ''"> - AND material_number LIKE CONCAT('%', #{params.materialNumber}, '%') - </if> - <if test="params.materialName != null and params.materialName != ''"> - AND material_name LIKE CONCAT('%', #{params.materialName}, '%') - </if> - <if test="params.materialModel != null and params.materialModel != ''"> - AND material_model LIKE CONCAT('%', #{params.materialModel}, '%') - </if> - <if test="params.materialCategory != null and params.materialCategory != ''"> - AND material_category = #{params.materialCategory} - </if> - </select> </mapper> \ No newline at end of file diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java index b7601f8..26c436b 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java @@ -3,24 +3,33 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import java.util.List; /** * @Description: 鐗╂枡搴撳瓨淇℃伅 * @Author: jeecg-boot - * @Date: 2025-06-30 + * @Date: 2025-06-30 * @Version: V1.0 */ public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> { - - /** - * 閫氳繃涓昏〃id鏌ヨ瀛愯〃鏁版嵁 - * - * @param mainId 涓昏〃id - * @return List<LswMaterialInventory> - */ - public List<LswMaterialInventory> selectByMainId(String mainId); - /** 閫氳繃鐗╂枡缂栫爜鍜岀嚎杈瑰簱id鏌ヨ鐗╂枡搴撳瓨 */ + /** 閫氳繃鐗╂枡缂栫爜鍜岀嚎杈瑰簱id鏌ヨ鐗╂枡搴撳瓨 */ List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId); + + /** + * 搴撳瓨缁熻 + * @param materialId 鐗╂枡ID + * @return + */ + List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId); + + /** + * 鏌ヨ鏈嚭搴撲俊鎭� + * @param materialNumber + * @param batchNumber + * @param warehouseId + * @return + */ + LswMaterialInventory queryByMaterialNumberAndBatchNumber(String materialNumber, String batchNumber, String warehouseId); } diff --git a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java index ab49739..0698d51 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java +++ b/src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java @@ -1,12 +1,10 @@ package org.jeecg.modules.lsw.service; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.sap.dto.OrderBomDTO; -import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -17,9 +15,6 @@ * @Version: V1.0 */ public interface ILswMaterialService extends IService<LswMaterial> { - - - IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req); /** * 缂栬緫鐗╂枡淇℃伅 diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java index 3c2899e..6f444f9 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInboundServiceImpl.java @@ -5,12 +5,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang.StringUtils; import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.modules.base.entity.LineSideWarehouse; +import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.lsw.entity.LswMaterialInbound; import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.entity.LswMaterialOutbound; +import org.jeecg.modules.lsw.enums.MaterialInboundCategory; +import org.jeecg.modules.lsw.enums.MaterialInventoryCategoryEnum; +import org.jeecg.modules.lsw.enums.MaterialOutboundCategory; import org.jeecg.modules.lsw.mapper.LswMaterialInboundMapper; import org.jeecg.modules.lsw.service.ILswMaterialInboundService; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; import org.jeecg.modules.lsw.service.ILswMaterialService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,6 +41,10 @@ private ILswMaterialInventoryService inventoryService; @Autowired private ILswMaterialService materialService; + @Autowired + private ILineSideWarehouseService lineSideWarehouseService; + @Autowired + private ILswMaterialOutboundService materialOutboundService; @Override public IPage<Map<String, Object>> getlswMaterialInboundListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { @@ -60,20 +72,67 @@ || StringUtils.isBlank(materialInbound.getFactoryId()) || StringUtils.isBlank(materialInbound.getWarehouseId()) || materialInbound.getQuantity() == null - || materialInbound.getQuantity().intValue() > 0 - || StringUtils.isBlank(materialInbound.getBatchNumber())) { - return false; + || materialInbound.getQuantity().intValue() < 1 + || StringUtils.isBlank(materialInbound.getBatchNumber()) + || StringUtils.isBlank(materialInbound.getOriginalCode()) + || StringUtils.isBlank(materialInbound.getOriginalName()) + || StringUtils.isBlank(materialInbound.getInboundCategory())) { + throw new JeecgBootException("鍙傛暟閿欒锛�"); } LswMaterial material = materialService.queryByMaterialNumber(materialInbound.getMaterialNumber()); - if(material == null) { - return false; + if (material == null) { + throw new JeecgBootException("鐗╂枡缂栧彿涓嶅瓨鍦紒"); + } + LineSideWarehouse warehouse = lineSideWarehouseService.getById(materialInbound.getWarehouseId()); + if (warehouse == null) { + throw new JeecgBootException("绾胯竟搴撲笉瀛樺湪锛�"); + } + String heatTreatmentFlag = CommonConstant.STATUS_0; + if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.HEAT_TREATMENT_INBOUND.name())) { + heatTreatmentFlag = CommonConstant.STATUS_1; + } + //搴撳瓨绫诲瀷 + String inventoryCategory = MaterialInventoryCategoryEnum.INBOUND.name(); + if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.MATERIAL_INNER_TRANSFER.name())) { + inventoryCategory = MaterialInventoryCategoryEnum.TRANSFER.name(); + //鏌ヨ鏉ユ簮绾胯竟搴� + LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByWarehouseCode(materialInbound.getOriginalCode()); + if (lineSideWarehouse == null) { + throw new JeecgBootException("鏈壘鍒版潵婧愮嚎杈瑰簱锛�"); + } + //璋冩嫧 鍑哄簱鍘熷搴撳瓨 + LswMaterialInventory originalInventory = inventoryService.queryByMaterialNumberAndBatchNumber(materialInbound.getMaterialNumber(), materialInbound.getBatchNumber(), lineSideWarehouse.getId()); + if (originalInventory == null) { + throw new JeecgBootException("鏈壘鍒版潵婧愮嚎杈瑰簱搴撳瓨锛�"); + } + if (materialInbound.getQuantity().compareTo(originalInventory.getQuantity()) != 0) { + throw new JeecgBootException("璋冩嫧鏁伴噺闇�瑕佺瓑浜庢潵婧愬簱瀛樻暟閲忥紒"); + } + //鍑哄簱淇℃伅 + LswMaterialOutbound outbound = new LswMaterialOutbound(); + outbound.setWarehouseId(lineSideWarehouse.getId()); + outbound.setFactoryId(lineSideWarehouse.getFactoryId()); + outbound.setOutboundStaff(materialInbound.getReceiver()); + outbound.setMaterialName(materialInbound.getMaterialName()); + outbound.setMaterialNumber(materialInbound.getMaterialNumber()); + outbound.setQuantity(originalInventory.getQuantity()); + outbound.setBatchNumber(originalInventory.getBatchNumber()); + outbound.setInventoryId(originalInventory.getId()); + outbound.setOutboundCategory(MaterialOutboundCategory.MATERIAL_INNER_TRANSFER.name()); + //璋冩嫧鍑哄簱 + boolean b = materialOutboundService.outboundMaterial(outbound); + if (!b) { + throw new JeecgBootException("璋冩嫧鍑哄簱澶辫触锛�"); + } + } else if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.PRODUCTION_UNLOADING.name())) { + inventoryCategory = MaterialInventoryCategoryEnum.UNLOADING.name(); } //淇濆瓨鍏ュ簱淇℃伅 materialInbound.setDelFlag(CommonConstant.DEL_FLAG_0); materialInbound.setReceiveTime(new Date()); super.save(materialInbound); //淇濆瓨搴撳瓨淇℃伅 - LswMaterialInventory lswMaterialInventory = new LswMaterialInventory(materialInbound, material.getId(), material.getMaterialCategory()); + LswMaterialInventory lswMaterialInventory = new LswMaterialInventory(materialInbound, material.getId(), inventoryCategory, heatTreatmentFlag); inventoryService.save(lswMaterialInventory); return true; } diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java index fc0a4da..11de910 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java @@ -1,35 +1,55 @@ package org.jeecg.modules.lsw.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.lsw.entity.LswMaterial; import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.service.ILswMaterialService; import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.List; /** * @Description: 鐗╂枡搴撳瓨淇℃伅 * @Author: jeecg-boot - * @Date: 2025-06-30 + * @Date: 2025-06-30 * @Version: V1.0 */ @Service public class LswMaterialInventoryServiceImpl extends ServiceImpl<LswMaterialInventoryMapper, LswMaterialInventory> implements ILswMaterialInventoryService { - - @Autowired - private LswMaterialInventoryMapper lswMaterialInventoryMapper; - - @Override - public List<LswMaterialInventory> selectByMainId(String mainId) { - return lswMaterialInventoryMapper.selectByMainId(mainId); - } + + @Autowired + private LswMaterialInventoryMapper lswMaterialInventoryMapper; + @Autowired + private ILswMaterialService materialService; @Override public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) { - return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); + return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); + } + + @Override + public List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId) { + return lswMaterialInventoryMapper.statisticsInventory(materialId); + } + + @Override + public LswMaterialInventory queryByMaterialNumberAndBatchNumber(String materialNumber, String batchNumber, String warehouseId) { + LswMaterial material = materialService.queryByMaterialNumber(materialNumber); + if (material == null) { + return null; + } + LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LswMaterialInventory::getWarehouseId, warehouseId); + queryWrapper.eq(LswMaterialInventory::getMaterialId, material.getId()); + queryWrapper.eq(LswMaterialInventory::getBatchNumber, batchNumber); + queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); + return lswMaterialInventoryMapper.selectOne(queryWrapper); } } diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java index bf8c3db..362e04f 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialOutboundServiceImpl.java @@ -62,13 +62,13 @@ || StringUtils.isBlank(outbound.getFactoryId()) || StringUtils.isBlank(outbound.getWarehouseId()) || outbound.getQuantity() == null - || outbound.getQuantity().intValue() > 0 + || outbound.getQuantity().intValue() < 1 || StringUtils.isBlank(outbound.getBatchNumber()) - || StringUtils.isBlank(outbound.getInventoryId())) { + || StringUtils.isBlank(outbound.getInventoryId())) { return false; } LswMaterialInventory inventory = materialInventoryService.getById(outbound.getInventoryId()); - if(inventory == null) { + if (inventory == null) { return false; } //鏇存柊搴撳瓨鐘舵�� diff --git a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java index 3590878..f9f93f1 100644 --- a/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java +++ b/src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java @@ -2,28 +2,21 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.commons.lang.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.lsw.entity.LswMaterial; -import org.jeecg.modules.lsw.entity.LswMaterialInventory; -import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; import org.jeecg.modules.lsw.mapper.LswMaterialMapper; import org.jeecg.modules.lsw.service.ILswMaterialService; import org.jeecg.modules.mes.entity.MesProductionOrder; -import org.jeecg.modules.pms.entity.PmsProcessBillMaterials; import org.jeecg.modules.sap.dto.OrderBomDTO; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.servlet.http.HttpServletRequest; -import java.io.Serializable; -import java.util.*; -import java.util.stream.Collectors; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description: 绾胯竟搴撶墿鏂欎俊鎭� @@ -33,33 +26,6 @@ */ @Service public class LswMaterialServiceImpl extends ServiceImpl<LswMaterialMapper, LswMaterial> implements ILswMaterialService { - - @Autowired - private LswMaterialMapper lswMaterialMapper; - @Autowired - private LswMaterialInventoryMapper lswMaterialInventoryMapper; - - @Override - public IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { - IPage<Map> pageData = new Page<Map>(pageNo, pageSize); - Map<String, String> paramMap = new HashMap<String, String>(); - Map<String, String[]> parameterMap = req.getParameterMap(); - if (null != parameterMap) { - if (parameterMap.containsKey("materialNumber") && StringUtils.isNotBlank(parameterMap.get("materialNumber")[0])) { - paramMap.put("materialNumber", parameterMap.get("materialNumber")[0]); - } - if (parameterMap.containsKey("materialName") && StringUtils.isNotBlank(parameterMap.get("materialName")[0])) { - paramMap.put("materialName", parameterMap.get("materialName")[0].trim()); - } - if (parameterMap.containsKey("materialModel") && StringUtils.isNotBlank(parameterMap.get("materialModel")[0])) { - paramMap.put("materialModel", parameterMap.get("materialModel")[0].trim()); - } - if (parameterMap.containsKey("materialCategory") && StringUtils.isNotBlank(parameterMap.get("materialCategory")[0])) { - paramMap.put("materialCategory", parameterMap.get("materialCategory")[0].trim()); - } - } - return super.getBaseMapper().getLswMaterialListData(pageData, paramMap); - } @Override @Transactional(rollbackFor = Exception.class) diff --git a/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java b/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java deleted file mode 100644 index 44d8f6c..0000000 --- a/src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.jeecg.modules.lsw.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.jeecg.common.aspect.annotation.Dict; -import org.jeecg.modules.lsw.entity.LswMaterialInventory; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.jeecgframework.poi.excel.annotation.ExcelCollection; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; -import java.util.List; - -/** - * @Description: 绾胯竟搴撶墿鏂欎俊鎭� - * @Author: jeecg-boot - * @Date: 2025-06-30 - * @Version: V1.0 - */ -@Data -@ApiModel(value="lsw_materialPage瀵硅薄", description="绾胯竟搴撶墿鏂欎俊鎭�") -public class LswMaterialPage { - - /**涓婚敭*/ - @ApiModelProperty(value = "涓婚敭") - private String id; - /**鍒涘缓浜�*/ - @ApiModelProperty(value = "鍒涘缓浜�") - private String createBy; - /**鍒涘缓鏃ユ湡*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "鍒涘缓鏃ユ湡") - private Date createTime; - /**鏇存柊浜�*/ - @ApiModelProperty(value = "鏇存柊浜�") - private String updateBy; - /**鏇存柊鏃ユ湡*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "鏇存柊鏃ユ湡") - private Date updateTime; - /**鎵�灞為儴闂�*/ - @ApiModelProperty(value = "鎵�灞為儴闂�") - private String sysOrgCode; - /**鍒犻櫎鏍囪*/ - @Excel(name = "鍒犻櫎鏍囪", width = 15) - @ApiModelProperty(value = "鍒犻櫎鏍囪") - private Integer delFlag; - /**鐗╂枡缂栫爜*/ - @Excel(name = "鐗╂枡缂栫爜", width = 15) - @ApiModelProperty(value = "鐗╂枡缂栫爜") - private String materialNumber; - /**鐗╂枡鍚嶇О*/ - @Excel(name = "鐗╂枡鍚嶇О", width = 15) - @ApiModelProperty(value = "鐗╂枡鍚嶇О") - private String materialName; - /**鐗╂枡鍨嬪彿*/ - @Excel(name = "鐗╂枡鍨嬪彿", width = 15) - @ApiModelProperty(value = "鐗╂枡鍨嬪彿") - private String materialModel; - /**鐗╂枡绫诲瀷*/ - @Excel(name = "鐗╂枡绫诲瀷", width = 15, dicCode = "material_category") - @Dict(dicCode = "material_category") - @ApiModelProperty(value = "鐗╂枡绫诲瀷") - private String materialCategory; - /**鍗曚綅*/ - @Excel(name = "鍗曚綅", width = 15) - @ApiModelProperty(value = "鍗曚綅") - private String materialUnit; - - @ExcelCollection(name="鐗╂枡搴撳瓨淇℃伅") - @ApiModelProperty(value = "鐗╂枡搴撳瓨淇℃伅") - private List<LswMaterialInventory> lswMaterialInventoryList; - -} diff --git a/src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java b/src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java new file mode 100644 index 0000000..d85ccc8 --- /dev/null +++ b/src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.lsw.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class MaterialInventoryStatisticsVO { + //搴撳瓨鍦癐D + private String warehouseId; + //搴撳瓨鍦板悕绉� + private String warehouseName; + //搴撳瓨鎬绘暟 + private BigDecimal materialQuantity; +} diff --git a/src/main/java/org/jeecg/modules/wms/MESObjectFactory.java b/src/main/java/org/jeecg/modules/wms/MESObjectFactory.java deleted file mode 100644 index aecbbed..0000000 --- a/src/main/java/org/jeecg/modules/wms/MESObjectFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.jeecg.modules.wms; - -import org.jeecg.modules.wms.dto.ReceiveWMSScanItemListResponse; -import org.jeecg.modules.wms.dto.WSResponse; -import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; -import org.jeecg.modules.wms.request.WMSWebServiceSendItem; - -import javax.xml.bind.annotation.XmlRegistry; - -@XmlRegistry -public class MESObjectFactory { - /** - * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.tempuri - * - */ - public MESObjectFactory() { - } - - /** - * Create an instance of {@link ReceiveWMSScanItemList } - * - */ - public ReceiveWMSScanItemList createReceiveWMSScanItemList() { - return new ReceiveWMSScanItemList(); - } - - /** - * Create an instance of {@link WMSWebServiceSendItem } - * - */ - public WMSWebServiceSendItem createWMSWebServiceSendItem() { - return new WMSWebServiceSendItem(); - } - - /** - * Create an instance of {@link ReceiveWMSScanItemListResponse } - * - */ - public ReceiveWMSScanItemListResponse createReceiveWMSScanItemListResponse() { - return new ReceiveWMSScanItemListResponse(); - } - - /** - * Create an instance of {@link WSResponse } - * - */ - public WSResponse createWSResponse() { - return new WSResponse(); - } - -} diff --git a/src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java b/src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java index bc5f335..435c724 100644 --- a/src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java +++ b/src/main/java/org/jeecg/modules/wms/config/WebServiceServerConfig.java @@ -1,7 +1,6 @@ package org.jeecg.modules.wms.config; import org.apache.cxf.Bus; -import org.apache.cxf.bus.spring.SpringBus; import org.apache.cxf.jaxws.EndpointImpl; import org.apache.cxf.transport.servlet.CXFServlet; import org.jeecg.modules.wms.service.MESWebServiceSoap; @@ -16,12 +15,9 @@ @Configuration public class WebServiceServerConfig { @Autowired - private MESWebServiceSoap webServiceSoap; - - @Bean(name = Bus.DEFAULT_BUS_ID) - public Bus springBus() { - return new SpringBus(); - } + private Bus bus; + @Autowired + private MESWebServiceSoap mesWebServiceSoap; @Bean(name = "cxfServlet") // 娉ㄥ叆servlet bean name涓嶈兘dispatcherServlet ,鍚﹀垯浼氳鐩杁ispatcherServlet public ServletRegistrationBean<CXFServlet> cxfServlet() { @@ -31,9 +27,10 @@ @Bean public Endpoint endpoint() { // 鍙傛暟浜岋紝鏄疭EI瀹炵幇绫诲璞� - Endpoint endpoint = new EndpointImpl(this.springBus(), webServiceSoap); + Endpoint endpoint = new EndpointImpl(bus, mesWebServiceSoap); // 鍙戝竷鏈嶅姟 endpoint.publish("/MESWebService"); + return endpoint; } } diff --git a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java index 2e3eaad..39e9527 100644 --- a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java +++ b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java @@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.jeecg.common.api.vo.Result; -import org.jeecg.modules.wms.dto.WSResponse; +import org.jeecg.modules.wms.dto.MESResponse; import org.jeecg.modules.wms.request.*; import org.jeecg.modules.wms.service.MESWebServiceSoap; import org.jeecg.modules.wms.service.WMSWebServiceClient; @@ -35,7 +35,7 @@ MESWebServiceSoap service = (MESWebServiceSoap) factory.create(); ReceiveWMSScanItemList request = new ReceiveWMSScanItemList(); request.setWmsWebServiceSendItemList(list); - WSResponse response = service.receiveWMSScanItemList(request); + MESResponse response = service.receiveWMSScanItemList(request); return Result.ok(response); } diff --git a/src/main/java/org/jeecg/modules/wms/dto/MESResponse.java b/src/main/java/org/jeecg/modules/wms/dto/MESResponse.java new file mode 100644 index 0000000..4aa1594 --- /dev/null +++ b/src/main/java/org/jeecg/modules/wms/dto/MESResponse.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.wms.dto; + +import lombok.Getter; +import lombok.Setter; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + +@Getter +@Setter +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MESResponse", propOrder = { + "errorCode", + "errorDesc" +}, namespace = "http://xhj008.server.webservice.com/") +public class MESResponse { + @XmlElement(name = "ErrorCode", namespace = "http://xhj008.server.webservice.com/") + protected String errorCode; + @XmlElement(name = "ErrorDesc", namespace = "http://xhj008.server.webservice.com/") + protected String errorDesc; +} diff --git a/src/main/java/org/jeecg/modules/wms/dto/ReceiveWMSScanItemListResponse.java b/src/main/java/org/jeecg/modules/wms/dto/ReceiveWMSScanItemListResponse.java index f2da1d4..6b5c57a 100644 --- a/src/main/java/org/jeecg/modules/wms/dto/ReceiveWMSScanItemListResponse.java +++ b/src/main/java/org/jeecg/modules/wms/dto/ReceiveWMSScanItemListResponse.java @@ -8,11 +8,11 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "receiveWMSScanItemListResult" -}) -@XmlRootElement(name = "ReceiveWMSScanItemListResponse") +}, namespace = "http://xhj008.server.webservice.com/") +@XmlRootElement(name = "ReceiveWMSScanItemListResponse", namespace = "http://xhj008.server.webservice.com/") @Getter @Setter public class ReceiveWMSScanItemListResponse { - @XmlElement(name = "ReceiveWMSScanItemListResult") - protected WSResponse receiveWMSScanItemListResult; + @XmlElement(name = "ReceiveWMSScanItemListResult", namespace = "http://xhj008.server.webservice.com/") + protected MESResponse receiveWMSScanItemListResult; } diff --git a/src/main/java/org/jeecg/modules/wms/request/ReceiveWMSScanItemList.java b/src/main/java/org/jeecg/modules/wms/request/ReceiveWMSScanItemList.java index 1ccdc62..5e22ba5 100644 --- a/src/main/java/org/jeecg/modules/wms/request/ReceiveWMSScanItemList.java +++ b/src/main/java/org/jeecg/modules/wms/request/ReceiveWMSScanItemList.java @@ -9,13 +9,13 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "wmsWebServiceSendItemList" -}) -@XmlRootElement(name = "ReceiveWMSScanItemList") +}, namespace = "http://xhj008.server.webservice.com/") +@XmlRootElement(name = "ReceiveWMSScanItemList", namespace = "http://xhj008.server.webservice.com/") @Getter @Setter public class ReceiveWMSScanItemList { - @XmlElementWrapper(name = "ArrayOfWMSWebServiceSendItem") - @XmlElement(name = "WMSWebServiceSendItem", nillable = true) + @XmlElementWrapper(name = "ArrayOfWMSWebServiceSendItem", namespace = "http://xhj008.server.webservice.com/") + @XmlElement(name = "WMSWebServiceSendItem", nillable = true, namespace = "http://xhj008.server.webservice.com/") protected List<WMSWebServiceSendItem> wmsWebServiceSendItemList; } diff --git a/src/main/java/org/jeecg/modules/wms/request/WMSWebServiceSendItem.java b/src/main/java/org/jeecg/modules/wms/request/WMSWebServiceSendItem.java index 2e527e0..3fe2499 100644 --- a/src/main/java/org/jeecg/modules/wms/request/WMSWebServiceSendItem.java +++ b/src/main/java/org/jeecg/modules/wms/request/WMSWebServiceSendItem.java @@ -31,62 +31,62 @@ "stageID", "remark", "orderCode" -}) +}, namespace = "http://xhj008.server.webservice.com/") @XmlAccessorType(XmlAccessType.FIELD) public class WMSWebServiceSendItem { /**宸ュ巶缂栫爜 */ - @XmlElement(name = "FactoryCode") + @XmlElement(name = "FactoryCode", namespace = "http://xhj008.server.webservice.com/") private String factoryCode; /** 鐗╂枡缂栫爜 */ - @XmlElement(name = "SkuCode") + @XmlElement(name = "SkuCode", namespace = "http://xhj008.server.webservice.com/") private String skuCode; /** 棰勭暀鍙� */ - @XmlElement(name = "ReservationOrder") + @XmlElement(name = "ReservationOrder", namespace = "http://xhj008.server.webservice.com/") private String reservationOrder; /** MES绉诲簱鍗曞彿 */ - @XmlElement(name = "Align") + @XmlElement(name = "Align", namespace = "http://xhj008.server.webservice.com/") private String align; /** 鎵樺彿 */ - @XmlElement(name = "Pallet") + @XmlElement(name = "Pallet", namespace = "http://xhj008.server.webservice.com/") private String pallet; /** 鍖呰缂栫爜 */ - @XmlElement(name = "PackageNo") + @XmlElement(name = "PackageNo", namespace = "http://xhj008.server.webservice.com/") private String packageNo; /** 鎵规鍙� */ - @XmlElement(name = "TrackLot") + @XmlElement(name = "TrackLot", namespace = "http://xhj008.server.webservice.com/") private String trackLot; /** 绯诲垪鍙� */ - @XmlElement(name = "Series") + @XmlElement(name = "Series", namespace = "http://xhj008.server.webservice.com/") private String series; /** MES搴撳瓨ID */ - @XmlElement(name = "MesStockID") + @XmlElement(name = "MesStockID", namespace = "http://xhj008.server.webservice.com/") private String mesStockID; /** 鏁伴噺 */ - @XmlElement(name = "Quantity") + @XmlElement(name = "Quantity", namespace = "http://xhj008.server.webservice.com/") private BigDecimal quantity; /** SAP鎵规鍙� */ - @XmlElement(name = "SapTrackLot") + @XmlElement(name = "SapTrackLot", namespace = "http://xhj008.server.webservice.com/") private String sapTrackLot; /** 鍙戦�佸簱瀛樺湴 */ - @XmlElement(name = "Section") + @XmlElement(name = "Section", namespace = "http://xhj008.server.webservice.com/") private String section; /** 鐩爣搴撳瓨鍦� */ - @XmlElement(name = "DestSection") + @XmlElement(name = "DestSection", namespace = "http://xhj008.server.webservice.com/") private String destSection; /** 渚涘簲鍟嗕唬鐮� */ - @XmlElement(name = "SupplierCode") + @XmlElement(name = "SupplierCode", namespace = "http://xhj008.server.webservice.com/") private String supplierCode; /** 渚涘簲鍟嗘壒娆″彿 */ - @XmlElement(name = "SupplierTrackLot") + @XmlElement(name = "SupplierTrackLot", namespace = "http://xhj008.server.webservice.com/") private String supplierTrackLot; /** 闃舵ID */ - @XmlElement(name = "StageID") + @XmlElement(name = "StageID", namespace = "http://xhj008.server.webservice.com/") private String stageID; /** 澶囨敞 */ - @XmlElement(name = "Remark") + @XmlElement(name = "Remark", namespace = "http://xhj008.server.webservice.com/") private String remark; /** 璁㈠崟缂栫爜 */ - @XmlElement(name = "OrderCode") + @XmlElement(name = "OrderCode", namespace = "http://xhj008.server.webservice.com/") private String orderCode; } diff --git a/src/main/java/org/jeecg/modules/wms/service/MESWebServiceSoap.java b/src/main/java/org/jeecg/modules/wms/service/MESWebServiceSoap.java index 80bbc38..0dffadb 100644 --- a/src/main/java/org/jeecg/modules/wms/service/MESWebServiceSoap.java +++ b/src/main/java/org/jeecg/modules/wms/service/MESWebServiceSoap.java @@ -1,28 +1,27 @@ package org.jeecg.modules.wms.service; -import org.jeecg.modules.wms.MESObjectFactory; -import org.jeecg.modules.wms.dto.WSResponse; +import org.jeecg.modules.wms.dto.MESResponse; import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; -import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com/") -@XmlSeeAlso({MESObjectFactory.class}) public interface MESWebServiceSoap { /** * 鎺ユ敹WMS绉诲簱淇℃伅 - * @param request + * @param wmsWebServiceSendItemList * @return */ @WebMethod(operationName = "ReceiveWMSScanItemList", action = "http://xhj008.server.webservice.com/ReceiveWMSScanItemList") @RequestWrapper(localName = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemList") @ResponseWrapper(localName = "ReceiveWMSScanItemListResponse", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemListResponse") @WebResult(name = "ReceiveWMSScanItemListResult", targetNamespace = "http://xhj008.server.webservice.com/") - WSResponse receiveWMSScanItemList(@WebParam(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/") ReceiveWMSScanItemList request); + MESResponse receiveWMSScanItemList( + @WebParam(name = "wmsWebServiceSendItemList", targetNamespace = "http:/xhj008.server.webservice.com/") + ReceiveWMSScanItemList wmsWebServiceSendItemList); } diff --git a/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java b/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java index 31ce6f0..8ccba0d 100644 --- a/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java +++ b/src/main/java/org/jeecg/modules/wms/service/impl/MESWebServiceSoapImpl.java @@ -11,6 +11,7 @@ import org.jeecg.modules.lsw.entity.LswMaterialInbound; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.entity.LswMaterialOutbound; +import org.jeecg.modules.lsw.enums.MaterialInboundCategory; import org.jeecg.modules.lsw.service.ILswMaterialInboundService; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; @@ -21,7 +22,7 @@ import org.jeecg.modules.mes.enums.TransferOrderStatusEnum; import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService; import org.jeecg.modules.mes.service.IMesTransferOrderPrintService; -import org.jeecg.modules.wms.dto.WSResponse; +import org.jeecg.modules.wms.dto.MESResponse; import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; import org.jeecg.modules.wms.request.WMSWebServiceSendItem; import org.jeecg.modules.wms.service.MESWebServiceSoap; @@ -29,17 +30,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; import javax.jws.WebService; -import javax.xml.ws.RequestWrapper; -import javax.xml.ws.ResponseWrapper; import java.math.BigDecimal; @Slf4j -@Service +@Service("MESWebServiceSoap") @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.MESWebServiceSoap") public class MESWebServiceSoapImpl implements MESWebServiceSoap { @@ -60,13 +56,9 @@ @Override @Transactional(rollbackFor = Exception.class) - @WebMethod(operationName = "ReceiveWMSScanItemList", action = "http://xhj008.server.webservice.com/ReceiveWMSScanItemList") - @RequestWrapper(localName = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemList") - @ResponseWrapper(localName = "ReceiveWMSScanItemListResponse", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemListResponse") - @WebResult(name = "ReceiveWMSScanItemListResult", targetNamespace = "http://xhj008.server.webservice.com/") @ApiLog(apiName = "鎺ユ敹WMS鐨勭Щ搴撲俊鎭�(ReceiveWMSScanItemList(MES)", apiCategory = ApiLogCategoryEnum.WMS) - public WSResponse receiveWMSScanItemList(@WebParam(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/") ReceiveWMSScanItemList request) { - WSResponse response = new WSResponse(); + public MESResponse receiveWMSScanItemList(ReceiveWMSScanItemList request) { + MESResponse response = new MESResponse(); if (request == null || CollectionUtil.isEmpty(request.getWmsWebServiceSendItemList())) { response.setErrorCode("N"); response.setErrorDesc("浼犲叆鐨勫弬鏁颁负绌猴紒"); @@ -107,6 +99,8 @@ //娣诲姞鍏ュ簱淇℃伅 LswMaterialInbound inbound = new LswMaterialInbound(); + inbound.setOriginalCode(transferRequest.getOriginalWarehouseId()); + inbound.setOriginalName("WMS"); inbound.setWarehouseId(transferRequest.getTargetWarehouseId()); inbound.setReceiver("WMS"); inbound.setMaterialNumber(transferRequest.getMaterialNumber()); @@ -114,6 +108,7 @@ inbound.setBatchNumber(item.getTrackLot()); inbound.setQuantity(item.getQuantity()); inbound.setFactoryId(warehouse.getFactoryId()); + inbound.setInboundCategory(MaterialInboundCategory.MATERIAL_TRANSFER_REQUEST.name()); boolean b = materialInboundService.inboundMaterial(inbound); if (!b) { errorCount++; -- Gitblit v1.9.3