新火炬后端单体项目初始化代码
已添加4个文件
已修改29个文件
已删除1个文件
2053 ■■■■■ 文件已修改
db/双林新火炬MES数据库设计.pdma.json 868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java 289 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/mapper/LineSideWarehouseMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/mapper/xml/LineSideWarehouseMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/ILineSideWarehouseService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderRequest.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/vo/MaintenanceStandardDetailVo.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/vo/MaintenanceStandardVo.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java 193 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/entity/LswMaterial.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInbound.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/enums/MaterialCategoryEnum.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/vo/MaterialInventoryStatisticsVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/Ë«ÁÖлð¾æMESÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -4,7 +4,7 @@
  "avatar": "",
  "version": "4.9.2",
  "createdTime": "2025-3-10 16:38:19",
  "updatedTime": "2025-8-27 18:34:50",
  "updatedTime": "2025-9-4 21:44:43",
  "dbConns": [],
  "profile": {
    "default": {
@@ -632,7 +632,7 @@
      "#DDE5FF"
    ],
    "DDLToggleCase": "L",
    "menuWidth": "331px"
    "menuWidth": "371px"
  },
  "entities": [
    {
@@ -4813,6 +4813,24 @@
          "extProps": {},
          "domain": "16120F75-6AA7-4483-868D-F07F511BB081",
          "id": "C6EFA873-D974-4F7E-9CB8-FBFC44A38B4F"
        },
        {
          "defKey": "work_order_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": "48521BC4-F13A-49F0-B8EF-383CA631C9CB"
        },
        {
          "defKey": "inspection_date",
@@ -61874,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": [],
@@ -62139,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": "",
@@ -62277,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": "",
@@ -62296,7 +62386,7 @@
        },
        {
          "defKey": "receive_time",
          "defName": "接收时间",
          "defName": "入库时间",
          "comment": "",
          "type": "",
          "len": "",
@@ -63380,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"
        },
        {
@@ -63416,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"
        },
        {
@@ -65346,8 +65436,8 @@
          "id": "FBAA1CFF-AA71-46F8-B401-4EC0D39B022A"
        },
        {
          "defKey": "work_order_id",
          "defName": "工单ID",
          "defKey": "factory_id",
          "defName": "产线ID",
          "comment": "",
          "type": "",
          "len": "",
@@ -65361,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",
@@ -68999,6 +69035,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": [],
@@ -69840,7 +70576,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": [],
@@ -69913,7 +70650,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": [],
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);
    }
}
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: çº¿è¾¹ä»“库信息
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);
}
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>
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,11 @@
     * @return
     */
    LineSideWarehouse queryByFactoryId(String factoryId);
    /**
     * æ ¹æ®äº§çº¿ç±»åž‹æŸ¥è¯¢çº¿è¾¹åº“
     * @param productionType
     * @return
     */
    List<LineSideWarehouse> queryByProductionType(String productionType);
}
src/main/java/org/jeecg/modules/base/service/impl/LineSideWarehouseServiceImpl.java
@@ -2,10 +2,14 @@
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.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 +30,13 @@
        }
        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);
    }
}
src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -12,15 +12,21 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
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.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.AssetStatusEnum;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
import org.jeecg.modules.eam.entity.EamEquipment;
import org.jeecg.modules.eam.entity.EamEquipmentExtend;
import org.jeecg.modules.eam.request.EamEquipmentQuery;
import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.vo.EquipmentSearchResult;
import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
import org.jeecg.modules.mes.service.IMesProductionWorkOrderService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,8 +39,10 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @Description: è®¾å¤‡å°è´¦
@@ -60,6 +68,8 @@
    private ObjectMapper objectMapper;
    @Autowired
    private TranslateDictTextUtils translateDictTextUtils;
    @Autowired
    private IMesProductionWorkOrderService mesProductionWorkOrderService;
    /**
     * åˆ†é¡µåˆ—表查询
@@ -335,4 +345,26 @@
        return Result.ok(resultList);
    }
    @AutoLog(value = "查询排产工单所属产线下需要点检的设备列表")
    @ApiOperation(value = "查询排产工单所属产线下需要点检的设备列表", notes = "查询排产工单所属产线下需要点检的设备列表")
    @GetMapping(value = "/listProductionLineInspectionEquipment")
    public Result<?> listProductionLineInspectionEquipment(@RequestParam("orderId") String orderId) {
        MesProductionWorkOrder workOrder = mesProductionWorkOrderService.getById(orderId);
        if (workOrder == null) {
            return Result.error("工单不存在!");
        }
        List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>()
                        .eq(EamEquipment::getOrgId, workOrder.getFactoryId())
                        .eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0)
                        .apply("NOT EXISTS (SELECT 1 FROM eam_inspection_order t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId)
                        .apply("EXISTS (SELECT 1 FROM eam_maintenance_standard t WHERE t.equipment_id = eam_equipment.id AND t.del_flag = {0} " +
                                        "AND t.standard_status = {1} AND t.maintenance_category = {2})",
                                CommonConstant.DEL_FLAG_0, MaintenanceStandardStatusEnum.NORMAL.name(), MaintenanceCategoryEnum.POINT_INSPECTION.name()))
                .stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{
                    put("value", e.getId());
                    put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                    put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                }}).collect(Collectors.toList());
        return Result.ok(equipmentMapList);
    }
}
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.eam.controller;
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;
@@ -24,10 +25,15 @@
import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamMaintenanceOrderDetailService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
import org.jeecg.modules.eam.vo.MaintenanceStandardDetailVo;
import org.jeecg.modules.eam.vo.MaintenanceStandardVo;
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -60,6 +66,8 @@
    private ISysBusinessCodeRuleService businessCodeRuleService;
    @Autowired
    private IEamEquipmentService eamEquipmentService;
    @Autowired
    private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
@@ -242,6 +250,33 @@
        return Result.OK(eamMaintenanceStandard);
    }
    @AutoLog(value = "保养标准-通过设备id查询保养标准及明细项")
    @ApiOperation(value = "保养标准-通过设备id查询保养标准及明细项", notes = "保养标准-通过设备id查询保养标准及明细项")
    @GetMapping(value = "/queryByEquipmentId")
    public Result<MaintenanceStandardVo> queryByEquipmentId(@RequestParam("equipmentId") String equipmentId) {
        EamMaintenanceStandard maintenanceStandard = eamMaintenanceStandardService.list(new LambdaQueryWrapper<EamMaintenanceStandard>()
                        .eq(EamMaintenanceStandard::getEquipmentId, equipmentId)
                        .eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0)
                        .eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name())
                        .eq(EamMaintenanceStandard::getMaintenanceCategory, MaintenanceCategoryEnum.POINT_INSPECTION.name()))
                .stream().findFirst().orElse(null);
        if (maintenanceStandard == null) {
            return Result.error("未找到该设备下的保养标准!");
        }
        MaintenanceStandardVo maintenanceStandardVo = new MaintenanceStandardVo();
        BeanUtils.copyProperties(maintenanceStandard, maintenanceStandardVo);
        List<EamMaintenanceStandardDetail> maintenanceStandardDetails = eamMaintenanceStandardDetailService
                .selectByStandardId(maintenanceStandard.getId());
        List<MaintenanceStandardDetailVo> maintenanceStandardDetailVos = CollectionUtil.newArrayList();
        maintenanceStandardDetails.forEach(item -> {
            MaintenanceStandardDetailVo maintenanceStandardDetailVo = new MaintenanceStandardDetailVo();
            BeanUtils.copyProperties(item, maintenanceStandardDetailVo);
            maintenanceStandardDetailVos.add(maintenanceStandardDetailVo);
        });
        maintenanceStandardVo.setMaintenanceStandardDetailList(maintenanceStandardDetailVos);
        return Result.OK(maintenanceStandardVo);
    }
    /**
     * å¯¼å‡ºexcel
     *
src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
@@ -67,6 +67,11 @@
    @ApiModelProperty(value = "保养标准ID")
    @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_name")
    private String standardId;
    /**排产工单ID*/
    @Excel(name = "排产工单ID", width = 15)
    @ApiModelProperty(value = "排产工单ID")
    @Dict(dictTable = "mes_production_work_order", dicCode = "id", dicText = "work_order_code")
    private String workOrderId;
    /**点检日期*/
    @Excel(name = "点检日期(计划)", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderRequest.java
@@ -57,6 +57,10 @@
    @ApiModelProperty(value = "保养标准ID")
    @Dict(dictTable = "eam_maintenance_standard", dicCode = "standard_code", dicText = "id")
    private String standardId;
    /**排产工单ID*/
    @ApiModelProperty(value = "排产工单ID")
    @Dict(dictTable = "mes_production_work_order", dicCode = "id", dicText = "work_order_code")
    private String workOrderId;
    /**点检日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -148,12 +148,19 @@
    public boolean addInspectionOrder(EamInspectionOrderRequest eamInspectionOrderRequest) {
        EamInspectionOrder eamInspectionOrder = new EamInspectionOrder();
        BeanUtils.copyProperties(eamInspectionOrderRequest, eamInspectionOrder);
        //修改状态
        if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
            eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
        } else {
            eamInspectionOrder.setInspectionStatus(InspectionStatus.WAIT_INSPECTION.name());
        eamInspectionOrder.setInspectionDate(new Date());
        eamInspectionOrder.setOperateTime(new Date());
        LoginUser user = getCurrentUser();
        if (user == null || StrUtil.isBlank(user.getId())) {
            throw new JeecgBootException("账号不存在");
        }
        eamInspectionOrder.setOperator(user.getUsername());
        ////修改状态
        //if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
        //    eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name());
        //} else {
        //    eamInspectionOrder.setInspectionStatus(InspectionStatus.WAIT_INSPECTION.name());
        //}
        save(eamInspectionOrder);
        //处理明细数据
        if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) {
@@ -163,20 +170,20 @@
            });
            eamInspectionOrderDetailService.saveBatch(eamInspectionOrderRequest.getTableDetailList());
        }
        //处理附件
        if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getFileList())) {
            FileUploadResult fileUploadResult = eamInspectionOrderRequest.getFileList().get(0);
            ObjectMapper mapper = new ObjectMapper();
            try {
                String referenceFile = mapper.writeValueAsString(fileUploadResult);
                eamInspectionOrder.setImageFiles(referenceFile);
            } catch (JsonProcessingException e) {
                log.error("JSON转换失败:" + e.getMessage(), e);
            }
        }
        if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
            triggerProcess(eamInspectionOrder);
        }
        ////处理附件
        //if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getFileList())) {
        //    FileUploadResult fileUploadResult = eamInspectionOrderRequest.getFileList().get(0);
        //    ObjectMapper mapper = new ObjectMapper();
        //    try {
        //        String referenceFile = mapper.writeValueAsString(fileUploadResult);
        //        eamInspectionOrder.setImageFiles(referenceFile);
        //    } catch (JsonProcessingException e) {
        //        log.error("JSON转换失败:" + e.getMessage(), e);
        //    }
        //}
        //if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())) {
        //    triggerProcess(eamInspectionOrder);
        //}
        return true;
    }
src/main/java/org/jeecg/modules/eam/vo/MaintenanceStandardDetailVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
package org.jeecg.modules.eam.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * @Description: ä¿å…»æ ‡å‡†æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-03-26
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
public class MaintenanceStandardDetailVo implements Serializable {
    /**主键*/
    @ApiModelProperty(value = "主键")
    private String id;
    /**保养标准ID*/
    @ApiModelProperty(value = "保养标准ID")
    private String standardId;
    /**保养项序号*/
    @ApiModelProperty(value = "保养项序号")
    private Integer itemCode;
    /**部位*/
    @ApiModelProperty(value = "部位")
    private String itemPart;
    /**保养项*/
    @ApiModelProperty(value = "保养项")
    private String itemName;
    /**子保养项*/
    @ApiModelProperty(value = "子保养项")
    private String subItemName;
    /**检查标准或要求*/
    @ApiModelProperty(value = "检查标准或要求")
    private String itemDemand;
    /**保养要求2*/
    @ApiModelProperty(value = "保养要求2")
    private String itemDemandAlias;
    /**检查方法*/
    @ApiModelProperty(value = "检查方法")
    private String checkMethod;
}
src/main/java/org/jeecg/modules/eam/vo/MaintenanceStandardVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
package org.jeecg.modules.eam.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * @Description: ä¿å…»æ ‡å‡†
 * @Author: jeecg-boot
 * @Date: 2025-03-26
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
public class MaintenanceStandardVo implements Serializable {
    /**
     * ä¸»é”®
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * æ ‡å‡†ç¼–码
     */
    @ApiModelProperty(value = "标准编码")
    private String standardCode;
    /**
     * æ ‡å‡†åç§°
     */
    @ApiModelProperty(value = "标准名称")
    private String standardName;
    /**
     * ä¿å…»å‘¨æœŸ;单位:天
     */
    @ApiModelProperty(value = "保养周期;单位:天")
    private Integer maintenancePeriod;
    /**
     * åˆå§‹æ—¥æœŸ ä»Žå“ªä¸€å¤©å¼€å§‹è®¡ç®—下次保养日期
     */
    @ApiModelProperty(value = "初始日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date initialDate;
    /**
     * ä¿å…»åˆ†ç±»
     */
    @ApiModelProperty(value = "保养分类")
    @Dict(dicCode = "maintenance_category")
    private String maintenanceCategory;
    /**
     * è®¾å¤‡ç¼–号
     */
    @ApiModelProperty(value = "设备编号")
    @Dict(dicCode = "eam_equipment, equipment_code, id")
    private String equipmentId;
    /**
     * æ ‡å‡†çŠ¶æ€
     */
    @ApiModelProperty(value = "标准状态")
    @Dict(dicCode = "maintenance_standard_status")
    private String standardStatus;
    /**
     * æ ‡å‡†ç‰ˆæœ¬
     */
    @ApiModelProperty(value = "标准版本")
    private Integer standardVersion;
    /**
     * æ–‡ä»¶ç¼–号
     */
    @ApiModelProperty(value = "文件编号")
    private String fileCode;
    /**
     * å‚考文件
     */
    @ApiModelProperty(value = "参考文件")
    private String referenceFile;
    /**
     * ä¿å…»æ ‡å‡†æ˜Žç»†
     */
    @ApiModelProperty(value = "保养标准明细")
    private List<MaintenanceStandardDetailVo> maintenanceStandardDetailList;
}
src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java
@@ -8,39 +8,22 @@
import io.swagger.annotations.Api;
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.List;
import java.util.Map;
/**
 * @Description: çº¿è¾¹åº“物料信息
@@ -55,10 +38,6 @@
public class LswMaterialController {
    @Autowired
    private ILswMaterialService lswMaterialService;
    @Autowired
    private ILswMaterialInventoryService lswMaterialInventoryService;
    @Autowired
    private ILineSideWarehouseService lineSideWarehouseService;
    @Autowired
    private IFactoryService factoryService;
@@ -147,28 +126,6 @@
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "物料库存信息通过主表ID查询")
    @ApiOperation(value = "物料库存信息主表ID查询", notes = "物料库存信息-通主表ID查询")
    @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 +164,15 @@
        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);
        }
        //Step.2 èŽ·å–å¯¼å‡ºæ•°æ®
    @ApiOperation(value = "线边库物料信息-根据物料类型查询", notes = "线边库物料信息-根据物料类型查询")
    @GetMapping(value = "/queryByMaterialCategory")
    public Result<List<LswMaterial>> queryByMaterialCategory(@RequestParam("materialCategory") String materialCategory) {
        LambdaQueryWrapper<LswMaterial> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(LswMaterial::getMaterialCategory, materialCategory);
        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);
    }
}
src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInboundController.java
@@ -30,7 +30,7 @@
*/
@Api(tags="物料入库单")
@RestController
@RequestMapping("/lswmaterialinbound/lswMaterialInbound")
@RequestMapping("/lsw/materialInbound")
@Slf4j
public class LswMaterialInboundController extends JeecgController<LswMaterialInbound, ILswMaterialInboundService> {
   @Autowired
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());
    }
}
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;
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,6 +89,11 @@
    @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 = "接收人")
src/main/java/org/jeecg/modules/lsw/entity/LswMaterialInventory.java
@@ -9,6 +9,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@@ -60,23 +61,26 @@
    /**库存类型*/
    @Excel(name = "库存类型", width = 15)
    @ApiModelProperty(value = "库存类型")
    @Dict(dicCode = "material_inventory_category")
    private String inventoryCategory;
    /**数量*/
    @Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;
    /**库存地ID*/
    @Excel(name = "库存地ID", width = 15)
    @Excel(name = "库存地", width = 15)
    @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name")
    @ApiModelProperty(value = "库存地ID")
    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 = CommonConstant.STATUS_0;
    public LswMaterialInventory(){}
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; //毛坯
src/main/java/org/jeecg/modules/lsw/enums/MaterialInboundCategory.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package org.jeecg.modules.lsw.enums;
public enum MaterialInboundCategory {
    MATERIAL_TRANSFER_REQUEST, //物料拉动
    PRODUCTION_INBOUND,//生产下线
    HEAT_TREATMENT_INBOUND,//热处理
    SMALL_INNER_RING,//小内圈
    MATERIAL_INNER_TRANSFER //内部调拨
    ;
}
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);
}
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);
}
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>
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>
src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java
@@ -3,6 +3,7 @@
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;
@@ -13,14 +14,13 @@
 * @Version: V1.0
 */
public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> {
    /**
     * é€šè¿‡ä¸»è¡¨id查询子表数据
     *
     * @param mainId ä¸»è¡¨id
     * @return List<LswMaterialInventory>
     */
    public List<LswMaterialInventory> selectByMainId(String mainId);
    /** é€šè¿‡ç‰©æ–™ç¼–码和线边库id查询物料库存 */
    List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId);
    /**
     * åº“存统计
     * @param materialId ç‰©æ–™ID
     * @return
     */
    List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId);
}
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);
    /**
     * ç¼–辑物料信息
src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java
@@ -5,6 +5,7 @@
import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper;
import org.jeecg.modules.lsw.service.ILswMaterialInventoryService;
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;
@@ -22,14 +23,14 @@
    
    @Autowired
    private LswMaterialInventoryMapper lswMaterialInventoryMapper;
    @Override
    public List<LswMaterialInventory> selectByMainId(String mainId) {
        return lswMaterialInventoryMapper.selectByMainId(mainId);
    }
    @Override
    public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) {
        return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId);
    }
    @Override
    public List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId) {
        return lswMaterialInventoryMapper.statisticsInventory(materialId);
    }
}
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)
src/main/java/org/jeecg/modules/lsw/vo/LswMaterialPage.java
ÎļþÒÑɾ³ý
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 {
    //库存地ID
    private String warehouseId;
    //库存地名称
    private String warehouseName;
    //库存总数
    private BigDecimal materialQuantity;
}
src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -27,6 +27,7 @@
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -93,6 +94,11 @@
        mesProductionWorkOrderList.forEach(item -> {
            if (Objects.isNull(item.getId())) {
                item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name());
                item.setCompletenessCheckFlag(CommonConstant.DEFAULT_0);
                item.setEquipmentInspectionFlag(CommonConstant.DEFAULT_0);
                item.setProcessInspectionFlag(CommonConstant.DEFAULT_0);
                item.setActualQuantity(BigDecimal.ZERO);
                item.setFinishedPallets(0);
            }
        });
        mesProductionWorkOrderService.saveOrUpdateBatch(mesProductionWorkOrderList);
src/main/java/org/jeecg/modules/mes/entity/MesProductionWorkOrder.java
@@ -101,25 +101,25 @@
    @Excel(name = "是否通过齐套性检查", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否通过齐套性检查")
    private String completenessCheckFlag = CommonConstant.DEFAULT_0;
    private String completenessCheckFlag;
    /**是否通过设备点检*/
    @Excel(name = "是否通过设备点检", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否通过设备点检")
    private String equipmentInspectionFlag = CommonConstant.DEFAULT_0;
    private String equipmentInspectionFlag;
    /**是否通过工艺点检*/
    @Excel(name = "是否通过工艺点检", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否通过工艺点检")
    private String processInspectionFlag = CommonConstant.DEFAULT_0;
    private String processInspectionFlag;
    /**实际报工数量*/
    @Excel(name = "实际报工数量", width = 15)
    @ApiModelProperty(value = "实际报工数量")
    private BigDecimal actualQuantity = BigDecimal.ZERO;
    private BigDecimal actualQuantity;
    /**已生产托数(当前班次已生产的托数量,每次报工时更新)*/
    @Excel(name = "已生产托数", width = 15)
    @ApiModelProperty(value = "已生产托数")
    private Integer finishedPallets = 0;
    private Integer finishedPallets;
    /**发布人*/
    @Excel(name = "发布人", width = 15)
    @ApiModelProperty(value = "发布人")