From 5b0cb4220dd85fe51140c275f8b0f18f9373ebc1 Mon Sep 17 00:00:00 2001
From: liyongde <1419499670@qq.com>
Date: Mon, 9 Jun 2025 15:36:33 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AB=8B=E5=BA=93=E5=BA=93=E5=AD=98?=
 =?UTF-8?q?=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../st/dao/StIvtStructattr.java               |  3 +-
 .../st/service/StIvtStructattrService.java    | 11 +++
 .../impl/StIvtStructattrServiceImpl.java      | 28 ++++++++
 .../st/rest/StructattrController.java         | 15 +++-
 .../st/service/StructattrService.java         |  4 ++
 .../st/service/dto/EmptyVehicleParam.java     | 17 +++++
 .../service/impl/StructattrServiceImpl.java   |  4 ++
 .../st/service/vo/EmptyVehicleVo.java         | 71 +++++++++++++++++++
 8 files changed, 150 insertions(+), 3 deletions(-)
 create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/EmptyVehicleParam.java
 create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/vo/EmptyVehicleVo.java

diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/StIvtStructattr.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/StIvtStructattr.java
index c2bfcab..49a26d4 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/StIvtStructattr.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/StIvtStructattr.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
@@ -13,7 +14,7 @@ import java.math.BigDecimal;
  */
 @Data
 @TableName("st_ivt_structattr")
-public class StIvtStructattr {
+public class StIvtStructattr implements Serializable {
 
     /**
      * 仓位标识
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java
index 82ca386..a893202 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java
@@ -1,7 +1,11 @@
 package org.nl.b_lms.storage_manage.st.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
+import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo;
 
 import java.util.List;
 
@@ -12,4 +16,11 @@ public interface StIvtStructattrService extends IService<StIvtStructattr> {
      * @return
      */
     List<StIvtStructattr> getStructAttrSelectList();
+    /**
+     * 分页查询空托盘库存
+     * @param paramMap
+     * @param page
+     * @return
+     */
+    IPage<StIvtStructattr> emptyPalletInventoryPage(EmptyVehicleParam paramMap, PageQuery page);
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java
index 8b6db8f..3d8e80c 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java
@@ -1,18 +1,28 @@
 package org.nl.b_lms.storage_manage.st.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 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;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr;
 import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructattrMapper;
 import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
+import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo;
+import org.nl.wms.stat.service.vo.PastStructPageVo;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @Service
 public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMapper, StIvtStructattr> implements StIvtStructattrService {
 
+    @Resource
+    private StIvtStructattrMapper structattrMapper;
 
     @Override
     public List<StIvtStructattr> getStructAttrSelectList() {
@@ -20,4 +30,22 @@ public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMappe
         lam.eq(StIvtStructattr::getIs_delete, "0");
         return list(lam);
     }
+
+    @Override
+    public IPage<StIvtStructattr> emptyPalletInventoryPage(EmptyVehicleParam paramMap, PageQuery page) {
+        IPage<StIvtStructattr> pages = new Page<>(page.getPage() + 1, page.getSize());
+        LambdaQueryWrapper<StIvtStructattr> lam = new LambdaQueryWrapper<>();
+        lam.eq(StIvtStructattr::getIs_delete, "0")
+                .eq(StIvtStructattr::getIs_used, "1")
+                .eq(StIvtStructattr::getLock_type, "1")
+                .eq(StIvtStructattr::getIs_emptyvehicle, "1")
+                .eq(StIvtStructattr::getSect_code, "BZC01")
+                .isNotNull(StIvtStructattr::getStoragevehicle_code)
+                .ne(StIvtStructattr::getStoragevehicle_code, "")
+                .like(ObjectUtil.isNotEmpty(paramMap.getStoragevehicle_code()), StIvtStructattr::getStoragevehicle_code, paramMap.getStoragevehicle_code())
+                .like(ObjectUtil.isNotEmpty(paramMap.getStruct_code()), StIvtStructattr::getStruct_code, paramMap.getStruct_code())
+                .eq(ObjectUtil.isNotEmpty(paramMap.getStoragevehicle_type()), StIvtStructattr::getStoragevehicle_type, paramMap.getStoragevehicle_type());
+        structattrMapper.selectPage(pages, lam);
+        return pages;
+    }
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java
index b863006..2c5b6c1 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/StructattrController.java
@@ -5,8 +5,12 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService;
+import org.nl.common.TableDataInfo;
+import org.nl.common.domain.query.PageQuery;
 import org.nl.modules.logging.annotation.Log;
 import org.nl.wms.basedata.st.service.StructattrService;
+import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
 import org.nl.wms.basedata.st.service.dto.StructattrDto;
 import org.springframework.data.domain.Pageable;
 import org.springframework.http.HttpStatus;
@@ -28,6 +32,7 @@ import java.util.Map;
 public class StructattrController {
 
     private final StructattrService structattrService;
+    private final StIvtStructattrService stIvtStructattrService;
 
     @GetMapping
     @Log("查询仓位")
@@ -129,9 +134,15 @@ public class StructattrController {
         return new ResponseEntity<>(HttpStatus.OK);
     }
 
+//    @GetMapping("/twoVehicleIvt")
+//    @Log("查询二期空托盘库存")
+//    public ResponseEntity<Object> twoVehicleIvt(@RequestParam Map whereJson, Pageable page) {
+//        return new ResponseEntity<>(structattrService.twoVehicleIvt(whereJson, page), HttpStatus.OK);
+//    }
+
     @GetMapping("/twoVehicleIvt")
     @Log("查询二期空托盘库存")
-    public ResponseEntity<Object> twoVehicleIvt(@RequestParam Map whereJson, Pageable page) {
-        return new ResponseEntity<>(structattrService.twoVehicleIvt(whereJson, page), HttpStatus.OK);
+    public ResponseEntity<Object> twoVehicleIvt(EmptyVehicleParam paramMap, PageQuery page) {
+        return new ResponseEntity<>(TableDataInfo.build(stIvtStructattrService.emptyPalletInventoryPage(paramMap, page)), HttpStatus.OK);
     }
 }
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java
index 0bc3fc4..0617eb7 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/StructattrService.java
@@ -2,7 +2,11 @@ package org.nl.wms.basedata.st.service;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.nl.common.domain.query.PageQuery;
+import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
 import org.nl.wms.basedata.st.service.dto.StructattrDto;
+import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo;
 import org.springframework.data.domain.Pageable;
 
 import java.util.List;
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/EmptyVehicleParam.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/EmptyVehicleParam.java
new file mode 100644
index 0000000..3a81ce7
--- /dev/null
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/EmptyVehicleParam.java
@@ -0,0 +1,17 @@
+package org.nl.wms.basedata.st.service.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 空载具参数实体
+ * @Author: lyd
+ * @Date: 2025/6/9
+ */
+@Data
+public class EmptyVehicleParam implements Serializable {
+    private String storagevehicle_code;
+    private String struct_code;
+    private String storagevehicle_type;
+}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java
index 85882e5..6845ecd 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java
@@ -10,12 +10,14 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService;
 import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound;
 import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapper;
 import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
+import org.nl.common.domain.query.PageQuery;
 import org.nl.common.utils.MapOf;
 import org.nl.common.utils.SecurityUtils;
 import org.nl.modules.common.exception.BadRequestException;
@@ -25,9 +27,11 @@ import org.nl.modules.wql.util.WqlUtil;
 import org.nl.wms.basedata.st.service.SectattrService;
 import org.nl.wms.basedata.st.service.StorattrService;
 import org.nl.wms.basedata.st.service.StructattrService;
+import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam;
 import org.nl.wms.basedata.st.service.dto.SectattrDto;
 import org.nl.wms.basedata.st.service.dto.StorattrDto;
 import org.nl.wms.basedata.st.service.dto.StructattrDto;
+import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/vo/EmptyVehicleVo.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/vo/EmptyVehicleVo.java
new file mode 100644
index 0000000..2f08a99
--- /dev/null
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/vo/EmptyVehicleVo.java
@@ -0,0 +1,71 @@
+package org.nl.wms.basedata.st.service.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 空托盘库存vo
+ * @Author: lyd
+ * @Date: 2025/6/9
+ */
+@Data
+public class EmptyVehicleVo implements Serializable {
+    private String placement_type;
+    private String taskdtl_type;
+    private String material_height_type;
+    private String stor_id;
+    private String stor_type;
+    private String xqty;
+    private String font_direction_scode;
+    private String row_num;
+    private String sect_code;
+    private String simple_name;
+    private String create_id;
+    private String in_empty_seq;
+    private String height;
+    private String is_emptyvehicle;
+    private String storagevehicle_qty;
+    private String create_time;
+    private String yqty;
+    private String task_code;
+    private String weight;
+    private String out_order_seq;
+    private String is_used;
+    private String storagevehicle_id;
+    private String is_zdepth;
+    private String back_ground_pic;
+    private String storagevehicle_type;
+    private String update_optid;
+    private String is_tempstruct;
+    private String stor_code;
+    private String in_order_seq;
+    private String zqty;
+    private String remark;
+    private String capacity;
+    private String front_ground_color;
+    private String block_num;
+    private String update_time;
+    private String update_optname;
+    private String ext_id;
+    private String col_num;
+    private String storagevehicle_code;
+    private String layer_num;
+    private String struct_id;
+    private String inv_id;
+    private String lock_type;
+    private String struct_code;
+    private String inv_type;
+    private String back_ground_color;
+    private String zdepth;
+    private String is_delete;
+    private String taskdtl_id;
+    private String inv_code;
+    private String stor_name;
+    private String sect_id;
+    private String width;
+    private String out_empty_seq;
+    private String struct_name;
+    private String sect_name;
+    private String create_name;
+}