From eec479e2f3139286449005dcb05c014e4a60d255 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 18 八月 2025 16:59:25 +0800
Subject: [PATCH] 报工接口、产线线边库物料查询接口

---
 src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java
index 25b8af6..222c87a 100644
--- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java
+++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialController.java
@@ -1,5 +1,7 @@
 package org.jeecg.modules.lsw.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,10 +17,14 @@
 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;
@@ -53,6 +59,8 @@
     private ILswMaterialInventoryService lswMaterialInventoryService;
     @Autowired
     private ILineSideWarehouseService lineSideWarehouseService;
+    @Autowired
+    private IFactoryService factoryService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -160,6 +168,45 @@
         return Result.OK(lswMaterialInventoryList);
     }
 
+    @AutoLog(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�")
+    @ApiOperation(value = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�", notes = "绾胯竟搴撶墿鏂欎俊鎭�-閫氳繃浜х嚎绫诲瀷鏌ヨ绾胯竟搴撶墿鏂�")
+    @GetMapping(value = "/queryLswMaterialByProductionType")
+    public Result<List<LswMaterial>> queryLswMaterialByProductionType(@RequestParam("factoryId") String factoryId) {
+        Factory factory = factoryService.getById(factoryId);
+        ProductionTypeEnum productionType = ProductionTypeEnum.fromName(factory.getProductionType());
+        List<LswMaterial> lswMaterialList = CollectionUtil.newArrayList();
+        if (productionType == null) {
+            throw new JeecgBootException("浜х嚎绫诲瀷鏈缃紝鏃犳硶鏌ヨ鐩稿簲鐗╂枡淇℃伅锛�");
+        }
+        switch (productionType) {
+            case ASSEMBLE:
+                //瑁呴厤绾匡紝鏌ヨ鎴愬搧鐗╂枡
+                lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
+                        .eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.FINISHED_PRODUCT.name())
+                        .eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
+                        .eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
+                        .orderByAsc(LswMaterial::getMaterialNumber));
+                break;
+            case INNERFLANGE:
+                //鍐呮硶鍏版満鍔犵嚎锛屾煡璇㈠唴娉曞叞鐗╂枡
+                lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
+                        .eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.INNER_FLANGE.name())
+                        .eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
+                        .eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
+                        .orderByAsc(LswMaterial::getMaterialNumber));
+                break;
+            case OUTERFLANGE:
+                //澶栨硶鍏版満鍔犵嚎锛屾煡璇㈠娉曞叞鐗╂枡
+                lswMaterialList = lswMaterialService.list(new LambdaQueryWrapper<LswMaterial>()
+                        .eq(LswMaterial::getMaterialCategory, MaterialCategoryEnum.OUTER_FLANGE.name())
+                        .eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0)
+                        .eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1)
+                        .orderByAsc(LswMaterial::getMaterialNumber));
+                break;
+        }
+        return Result.OK(lswMaterialList);
+    }
+
     /**
      * 瀵煎嚭excel
      *

--
Gitblit v1.9.3