From 85e36a5016633748bbd76bb4ddaef49566a505d5 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 08 五月 2025 17:57:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/WarehouseServiceImpl.java    |  115 +++++++++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/WarehouseMapper.xml            |   20 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml       |    2 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/GoodsShelvesServiceImpl.java |   55 +++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/Warehouse.java                     |   33 +-
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/WarehouseMapper.java               |    7 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/WarehouseController.java       |   13 +
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IGoodsShelvesService.java         |   19 +
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/GoodsShelvesMapper.xml         |   25 ++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IWarehouseService.java            |    9 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/GoodsShelves.java                  |   99 +++++++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/GoodsShelvesController.java    |  177 +++++++++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml   |    2 
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/GoodsShelvesMapper.java            |   21 ++
 14 files changed, 579 insertions(+), 18 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml
index b7136f3..b20669f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml
@@ -14,7 +14,7 @@
                 <when test="equipmentIds != null and equipmentIds.size() > 0 ">
                     AND t2.equipment_code IN
                     <foreach collection="equipmentIds" item="equipmentId" index="index" open="(" close=")" separator=",">
-                        {equipmentId}
+                        #{equipmentId}
                     </foreach>
                 </when>
                 <otherwise>
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
index f484955..4d83492 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
@@ -123,6 +123,6 @@
             mpq.update_by updateBy,
             mpq.update_time updateTime
         FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id
-        WHERE mpq.id = { id }
+        WHERE mpq.id = #{ id }
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/GoodsShelvesController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/GoodsShelvesController.java
new file mode 100644
index 0000000..fb3ae25
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/GoodsShelvesController.java
@@ -0,0 +1,177 @@
+package org.jeecg.modules.tms.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+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.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.tms.entity.GoodsShelves;
+import org.jeecg.modules.tms.service.IGoodsShelvesService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: tms_goods_shelves
+ * @Author: jeecg-boot
+ * @Date:   2025-05-08
+ * @Version: V1.0
+ */
+@Api(tags="tms_goods_shelves")
+@RestController
+@RequestMapping("/tms/goodsShelves")
+@Slf4j
+public class GoodsShelvesController extends JeecgController<GoodsShelves, IGoodsShelvesService> {
+	@Autowired
+	private IGoodsShelvesService goodsShelvesService;
+	
+	/**
+	 * 鍒嗛〉鍒楄〃鏌ヨ
+	 *
+	 * @param goodsShelves
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "tms_goods_shelves-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="tms_goods_shelves-鍒嗛〉鍒楄〃鏌ヨ", notes="tms_goods_shelves-鍒嗛〉鍒楄〃鏌ヨ")
+	@GetMapping(value = "/list")
+	public Result<IPage<GoodsShelves>> queryPageList(GoodsShelves goodsShelves,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		Map<String, String[]> parameterMap = req.getParameterMap();
+		Page<GoodsShelves> page = new Page<GoodsShelves>(pageNo, pageSize);
+		IPage<GoodsShelves> pageList = goodsShelvesService.queryPageList(page, parameterMap);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   娣诲姞
+	 *
+	 * @param goodsShelves
+	 * @return
+	 */
+	@AutoLog(value = "tms_goods_shelves-娣诲姞")
+	@ApiOperation(value="tms_goods_shelves-娣诲姞", notes="tms_goods_shelves-娣诲姞")
+	//@RequiresPermissions("org.jeecg.modules:tms_goods_shelves:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody GoodsShelves goodsShelves) {
+		goodsShelvesService.save(goodsShelves);
+		return Result.OK("娣诲姞鎴愬姛锛�");
+	}
+	
+	/**
+	 *  缂栬緫
+	 *
+	 * @param goodsShelves
+	 * @return
+	 */
+	@AutoLog(value = "tms_goods_shelves-缂栬緫")
+	@ApiOperation(value="tms_goods_shelves-缂栬緫", notes="tms_goods_shelves-缂栬緫")
+	//@RequiresPermissions("org.jeecg.modules:tms_goods_shelves:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody GoodsShelves goodsShelves) {
+		goodsShelvesService.updateById(goodsShelves);
+		return Result.OK("缂栬緫鎴愬姛!");
+	}
+	
+	/**
+	 *   閫氳繃id鍒犻櫎
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "tms_goods_shelves-閫氳繃id鍒犻櫎")
+	@ApiOperation(value="tms_goods_shelves-閫氳繃id鍒犻櫎", notes="tms_goods_shelves-閫氳繃id鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:tms_goods_shelves:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		goodsShelvesService.removeById(id);
+		return Result.OK("鍒犻櫎鎴愬姛!");
+	}
+	
+	/**
+	 *  鎵归噺鍒犻櫎
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "tms_goods_shelves-鎵归噺鍒犻櫎")
+	@ApiOperation(value="tms_goods_shelves-鎵归噺鍒犻櫎", notes="tms_goods_shelves-鎵归噺鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:tms_goods_shelves:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.goodsShelvesService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+	}
+	
+	/**
+	 * 閫氳繃id鏌ヨ
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "tms_goods_shelves-閫氳繃id鏌ヨ")
+	@ApiOperation(value="tms_goods_shelves-閫氳繃id鏌ヨ", notes="tms_goods_shelves-閫氳繃id鏌ヨ")
+	@GetMapping(value = "/queryById")
+	public Result<GoodsShelves> queryById(@RequestParam(name="id",required=true) String id) {
+		GoodsShelves goodsShelves = goodsShelvesService.getById(id);
+		if(goodsShelves==null) {
+			return Result.error("鏈壘鍒板搴旀暟鎹�");
+		}
+		return Result.OK(goodsShelves);
+	}
+
+    /**
+    * 瀵煎嚭excel
+    *
+    * @param request
+    * @param goodsShelves
+    */
+    //@RequiresPermissions("org.jeecg.modules:tms_goods_shelves:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, GoodsShelves goodsShelves) {
+        return super.exportXls(request, goodsShelves, GoodsShelves.class, "tms_goods_shelves");
+    }
+
+    /**
+      * 閫氳繃excel瀵煎叆鏁版嵁
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("tms_goods_shelves:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, GoodsShelves.class);
+    }
+
+}
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/WarehouseController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/WarehouseController.java
index 6050308..4b2b3c4 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/WarehouseController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/WarehouseController.java
@@ -9,6 +9,8 @@
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.CommonGenericTree;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
@@ -66,11 +68,18 @@
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
-		QueryWrapper<Warehouse> queryWrapper = QueryGenerator.initQueryWrapper(warehouse, req.getParameterMap());
+		Map<String, String[]> parameterMap = req.getParameterMap();
 		Page<Warehouse> page = new Page<Warehouse>(pageNo, pageSize);
-		IPage<Warehouse> pageList = warehouseService.page(page, queryWrapper);
+		IPage<Warehouse> pageList = warehouseService.queryPageList(page, parameterMap);
 		return Result.OK(pageList);
 	}
+
+	@ApiOperation(value="tms_warehouse-鍔犺浇鏍戝舰缁撴瀯鏁版嵁", notes="tms_warehouse-鍔犺浇鏍戝舰缁撴瀯鏁版嵁")
+	@GetMapping(value = "/loadTree")
+	public Result<?> loadTree() {
+		List<CommonGenericTree<Warehouse>> treeList = warehouseService.loadTree();
+		return Result.OK(treeList);
+	}
 	
 	/**
 	 *   娣诲姞
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/GoodsShelves.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/GoodsShelves.java
new file mode 100644
index 0000000..71098a0
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/GoodsShelves.java
@@ -0,0 +1,99 @@
+package org.jeecg.modules.tms.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: tms_goods_shelves
+ * @Author: jeecg-boot
+ * @Date:   2025-05-08
+ * @Version: V1.0
+ */
+@Data
+@TableName("tms_goods_shelves")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="tms_goods_shelves瀵硅薄", description="tms_goods_shelves")
+public class GoodsShelves implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+    private String id;
+	/**浠撳簱缂栧彿(鍏宠仈瀛楁锛屽瓨浠撳簱琛╥d)*/
+	@Excel(name = "浠撳簱缂栧彿", width = 15)
+    @ApiModelProperty(value = "浠撳簱缂栧彿")
+    private String warehouseId;
+    /**浠撳簱缂栧彿*/
+    @TableField(exist = false)
+    private String warehouseNum;
+    /**浠撳簱鍚嶇О*/
+    @TableField(exist = false)
+    private String warehouseName;
+	/**搴撲綅鍙�*/
+	@Excel(name = "搴撲綅鍙�", width = 15)
+    @ApiModelProperty(value = "搴撲綅鍙�")
+    private String locationCode;
+	/**灞傛暟*/
+	@Excel(name = "灞傛暟", width = 15)
+    @ApiModelProperty(value = "灞傛暟")
+    private String storey;
+	/**鎺掓暟*/
+	@Excel(name = "鎺掓暟", width = 15)
+    @ApiModelProperty(value = "鎺掓暟")
+    private String arrange;
+	/**鍒楁暟*/
+	@Excel(name = "鍒楁暟", width = 15)
+    @ApiModelProperty(value = "鍒楁暟")
+    private String columnNumber;
+	/**鏍兼暟(榛樿鍊间负1)*/
+	@Excel(name = "鏍兼暟(榛樿鍊间负1)", width = 15)
+    @ApiModelProperty(value = "鏍兼暟(榛樿鍊间负1)")
+    private String cellsNum;
+	/**璐ф灦缂栧彿*/
+	@Excel(name = "璐ф灦缂栧彿", width = 15)
+    @ApiModelProperty(value = "璐ф灦缂栧彿")
+    private String shelfNumber;
+	/**璐ф灦鍚嶇О*/
+	@Excel(name = "璐ф灦鍚嶇О", width = 15)
+    @ApiModelProperty(value = "璐ф灦鍚嶇О")
+    private String shelfName;
+	/**澶囨敞*/
+	@Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+	/**绉熸埛鍙�*/
+	@Excel(name = "绉熸埛鍙�", width = 15)
+    @ApiModelProperty(value = "绉熸埛鍙�")
+    private String tenantId;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:ss")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    private Date updateTime;
+}
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/Warehouse.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/Warehouse.java
index 63205ce..e7d1557 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/Warehouse.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/Warehouse.java
@@ -4,12 +4,11 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.common.constant.CommonConstant;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.jeecg.common.aspect.annotation.Dict;
@@ -48,6 +47,12 @@
 	@Excel(name = "鐖惰妭鐐圭紪鍙�", width = 15)
     @ApiModelProperty(value = "鐖惰妭鐐圭紪鍙�")
     private String parentId;
+    /**鐖惰妭鐐逛粨搴撶紪鍙�*/
+    @TableField(exist = false)
+    private String parentWarehouseId;
+    /**鐖惰妭鐐逛粨搴撳悕绉�*/
+    @TableField(exist = false)
+    private String parentWarehouseName;
 	/**灞曠ず搴忓彿*/
 	@Excel(name = "灞曠ず搴忓彿", width = 15)
     @ApiModelProperty(value = "灞曠ず搴忓彿")
@@ -71,21 +76,21 @@
 	/**鍒涘缓浜�*/
 	@Excel(name = "鍒涘缓浜�", width = 15)
     @ApiModelProperty(value = "鍒涘缓浜�")
-    private String createdBy;
+    private String createBy;
 	/**鍒涘缓鏃堕棿*/
-	@Excel(name = "鍒涘缓鏃堕棿", width = 15, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@Excel(name = "鍒涘缓鏃堕棿", width = 15, format = "yyyy-MM-dd HH:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:ss")
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    private Date createdTime;
+    private Date createTime;
 	/**鏇存柊浜�*/
 	@Excel(name = "鏇存柊浜�", width = 15)
     @ApiModelProperty(value = "鏇存柊浜�")
-    private String updatedBy;
+    private String updateBy;
 	/**鏇存柊鏃堕棿*/
-	@Excel(name = "鏇存柊鏃堕棿", width = 15, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@Excel(name = "鏇存柊鏃堕棿", width = 15, format = "yyyy-MM-dd HH:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:ss")
     @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    private Date updatedTime;
+    private Date updateTime;
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/GoodsShelvesMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/GoodsShelvesMapper.java
new file mode 100644
index 0000000..4950b9d
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/GoodsShelvesMapper.java
@@ -0,0 +1,21 @@
+package org.jeecg.modules.tms.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.tms.entity.GoodsShelves;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: tms_goods_shelves
+ * @Author: jeecg-boot
+ * @Date:   2025-05-08
+ * @Version: V1.0
+ */
+public interface GoodsShelvesMapper extends BaseMapper<GoodsShelves> {
+
+    IPage<GoodsShelves> queryPageList(Page<GoodsShelves> page,
+                                      @Param(Constants.WRAPPER) Wrapper<GoodsShelves> queryWrapper);
+}
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/WarehouseMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/WarehouseMapper.java
index 7b41acc..c63ca8f 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/WarehouseMapper.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/WarehouseMapper.java
@@ -2,6 +2,11 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.tms.entity.Warehouse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +19,6 @@
  */
 public interface WarehouseMapper extends BaseMapper<Warehouse> {
 
+    IPage<Warehouse> queryPageList(Page<Warehouse> page,
+                                   @Param(Constants.WRAPPER) Wrapper<Warehouse> queryWrapper);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/GoodsShelvesMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/GoodsShelvesMapper.xml
new file mode 100644
index 0000000..ff45cb3
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/GoodsShelvesMapper.xml
@@ -0,0 +1,25 @@
+<?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.tms.mapper.GoodsShelvesMapper">
+
+    <select id="queryPageList" resultType="org.jeecg.modules.tms.entity.GoodsShelves">
+        SELECT
+            t.id,
+            t.warehouse_id warehouseId,
+            p.warehouse_id warehouseNum,
+            p.warehouse_name warehouseName,
+            t.location_code locationCode,
+            t.storey storey,
+            t.arrange arrange,
+            t.column_number columnNumber,
+            t.cells_num cellsNum,
+            t.shelf_number shelfNumber,
+            t.shelf_name shelfName,
+            t.remark,
+            t.create_by createBy,
+            t.create_time createTime
+        FROM tms_goods_shelves t
+        LEFT JOIN tms_warehouse p on t.warehouse_id = p.id
+        ${ew.customSqlSegment}
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/WarehouseMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/WarehouseMapper.xml
index f7188e2..196972c 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/WarehouseMapper.xml
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/WarehouseMapper.xml
@@ -2,4 +2,24 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.tms.mapper.WarehouseMapper">
 
+    <select id="queryPageList" resultType="org.jeecg.modules.tms.entity.Warehouse">
+        SELECT
+            t.id,
+            t.warehouse_id warehouseId,
+            t.warehouse_name warehouseName,
+            t.parent_id parentId,
+            p.warehouse_id parentWarehouseId,
+            p.warehouse_name parentWarehouseName,
+            t.seq,
+            t.leaf_flag leafFlag,
+            t.status,
+            t.remark,
+            t.create_by createBy,
+            t.create_time createTime,
+            t.update_by updateBy,
+            t.update_time updateTime
+        FROM tms_warehouse t
+        LEFT JOIN tms_warehouse p on t.parent_id = p.id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IGoodsShelvesService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IGoodsShelvesService.java
new file mode 100644
index 0000000..9ee9b6b
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IGoodsShelvesService.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.tms.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.tms.entity.GoodsShelves;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * @Description: tms_goods_shelves
+ * @Author: jeecg-boot
+ * @Date:   2025-05-08
+ * @Version: V1.0
+ */
+public interface IGoodsShelvesService extends IService<GoodsShelves> {
+
+    IPage<GoodsShelves> queryPageList(Page<GoodsShelves> page, Map<String, String[]> parameterMap);
+}
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IWarehouseService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IWarehouseService.java
index a81ac49..cc79097 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IWarehouseService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IWarehouseService.java
@@ -1,7 +1,13 @@
 package org.jeecg.modules.tms.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.api.vo.CommonGenericTree;
 import org.jeecg.modules.tms.entity.Warehouse;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: tms_warehouse
@@ -11,4 +17,7 @@
  */
 public interface IWarehouseService extends IService<Warehouse> {
 
+    List<CommonGenericTree<Warehouse>> loadTree();
+
+    IPage<Warehouse> queryPageList(Page<Warehouse> page, Map<String, String[]> parameterMap);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/GoodsShelvesServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/GoodsShelvesServiceImpl.java
new file mode 100644
index 0000000..6f61777
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/GoodsShelvesServiceImpl.java
@@ -0,0 +1,55 @@
+package org.jeecg.modules.tms.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.tms.entity.GoodsShelves;
+import org.jeecg.modules.tms.mapper.GoodsShelvesMapper;
+import org.jeecg.modules.tms.service.IGoodsShelvesService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Map;
+
+/**
+ * @Description: tms_goods_shelves
+ * @Author: jeecg-boot
+ * @Date:   2025-05-08
+ * @Version: V1.0
+ */
+@Service
+public class GoodsShelvesServiceImpl extends ServiceImpl<GoodsShelvesMapper, GoodsShelves> implements IGoodsShelvesService {
+
+    @Override
+    public IPage<GoodsShelves> queryPageList(Page<GoodsShelves> page, Map<String, String[]> parameterMap) {
+        QueryWrapper<GoodsShelves> queryWrapper = Wrappers.query();
+        String[] warehouseIds = parameterMap.get("warehouseId");
+        if (warehouseIds != null && warehouseIds.length > 0) {
+            queryWrapper.eq("t.warehouse_id", warehouseIds[0]);
+        }
+        String[] warehouseNames = parameterMap.get("warehouseName");
+        if (warehouseNames != null && warehouseNames.length > 0) {
+            queryWrapper.like("p.warehouse_name", warehouseNames[0]);
+        }
+        String[] locationCodes = parameterMap.get("locationCode");
+        if (locationCodes != null && locationCodes.length > 0) {
+            queryWrapper.like("t.location_code", locationCodes[0]);
+        }
+        String[] shelfNumbers = parameterMap.get("shelfNumber");
+        if (shelfNumbers != null && shelfNumbers.length > 0) {
+            queryWrapper.like("t.shelf_number", shelfNumbers[0]);
+        }
+        String[] beginTimes = parameterMap.get("beginTime");
+        String[] endTimes = parameterMap.get("endTime");
+        if (beginTimes != null && beginTimes.length > 0) {
+            queryWrapper.ge("t.create_time", beginTimes[0]);
+        }
+        if (endTimes != null && endTimes.length > 0) {
+            queryWrapper.le("t.create_time", endTimes[0]);
+        }
+        queryWrapper.orderByDesc("t.create_time");
+        return this.baseMapper.queryPageList(page, queryWrapper);
+    }
+}
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/WarehouseServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/WarehouseServiceImpl.java
index c4e7a2c..50083ca 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/WarehouseServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/WarehouseServiceImpl.java
@@ -1,11 +1,22 @@
 package org.jeecg.modules.tms.service.impl;
 
+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.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.api.vo.CommonGenericTree;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.util.StrUtils;
 import org.jeecg.modules.tms.entity.Warehouse;
 import org.jeecg.modules.tms.mapper.WarehouseMapper;
 import org.jeecg.modules.tms.service.IWarehouseService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.*;
 
 /**
  * @Description: tms_warehouse
@@ -16,4 +27,108 @@
 @Service
 public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> implements IWarehouseService {
 
+    @Override
+    public List<CommonGenericTree<Warehouse>> loadTree() {
+        List<Warehouse> warehouseList = list(new LambdaQueryWrapper<Warehouse>()
+                .eq(Warehouse::getStatus, CommonConstant.STATUS_1));
+        return loadTree(warehouseList);
+    }
+
+    @Override
+    public IPage<Warehouse> queryPageList(Page<Warehouse> page, Map<String, String[]> parameterMap) {
+        QueryWrapper<Warehouse> queryWrapper = Wrappers.query();
+        String[] warehouseNames = parameterMap.get("warehouseName");
+        if (warehouseNames != null && warehouseNames.length > 0) {
+            queryWrapper.like("t.warehouse_name", warehouseNames[0]);
+        }
+        String[] parentIds = parameterMap.get("parentId");
+        if (parentIds != null && parentIds.length > 0) {
+            queryWrapper.eq("t.parent_id", parentIds[0]);
+        }
+        String[] beginTimes = parameterMap.get("beginTime");
+        String[] endTimes = parameterMap.get("endTime");
+        if (beginTimes != null && beginTimes.length > 0) {
+            queryWrapper.ge("t.create_time", beginTimes[0]);
+        }
+        if (endTimes != null && endTimes.length > 0) {
+            queryWrapper.le("t.create_time", endTimes[0]);
+        }
+        queryWrapper.orderByAsc("t.seq");
+        return this.baseMapper.queryPageList(page, queryWrapper);
+    }
+
+    private List<CommonGenericTree<Warehouse>> loadTree(List<Warehouse> warehouseList) {
+        Warehouse warehouse = new Warehouse();
+        List<CommonGenericTree<Warehouse>> list = new ArrayList<>();
+        Map<String, CommonGenericTree<Warehouse>> map = new HashMap<>();
+        CommonGenericTree<Warehouse> node = new CommonGenericTree<>();//鎵嬪姩鍒涘缓鏍硅妭鐐�
+        node.setKey("-1");
+        node.setTitle("鑸畤鏁戠敓");
+        node.setRField1("");
+        node.setRField2("");
+        node.setEntity(new Warehouse()
+                .setId("-1")
+                .setWarehouseId("-1")
+                .setWarehouseName("鑸畤鏁戠敓")
+                .setLeafFlag("2"));
+        list.add(node);
+        if (CollectionUtils.isNotEmpty(warehouseList)) {
+            CommonGenericTree<Warehouse> tcNode;
+            for (Warehouse wh : warehouseList) {
+                if (StrUtils.isBlankOrNull(wh.getParentId()) || wh.getParentId().equals("-1")) {
+                    tcNode = new CommonGenericTree<>();
+                    tcNode.setKey(wh.getId());
+                    tcNode.setTitle(wh.getWarehouseId() + "/" + wh.getWarehouseName());
+                    tcNode.setParentId(node.getKey());
+                    tcNode.setIcon("");
+                    tcNode.setType(1);
+                    tcNode.setValue(wh.getWarehouseName());
+                    //tcNode.setDisabled(CommonConstant.STATUS_0.equals(wh.getStatus()) ? true : false);
+                    tcNode.setRField1(wh.getWarehouseId());
+                    tcNode.setRField2(getBaseParent(wh.getId(), 0).getWarehouseId());
+                    tcNode.setEntity(wh);
+                    node.addChildren(tcNode);
+                    map.put(wh.getId(), tcNode);
+                }
+            }
+            CommonGenericTree<Warehouse> childNode;
+            for (Warehouse wh : warehouseList) {
+                Warehouse child = wh;
+                if (map.containsKey(child.getParentId())) {
+                    if (StrUtils.isBlankOrNull(wh.getParentId()) || wh.getParentId().equals("-1")) {
+                        warehouse = wh;
+                    } else {
+                        tcNode = map.get(child.getParentId());
+                        childNode = new CommonGenericTree<>();
+                        childNode.setKey(wh.getId());
+                        childNode.setTitle(wh.getWarehouseId() + "/" + wh.getWarehouseName());
+                        childNode.setParentId(wh.getParentId());
+                        childNode.setIcon("");
+                        childNode.setType(0);
+                        childNode.setValue(wh.getWarehouseName());
+                        //childNode.setDisabled(CommonConstant.STATUS_0.equals(wh.getStatus()) ? true : false);
+                        childNode.setRField1(wh.getWarehouseId());
+                        childNode.setRField2(getBaseParent(wh.getId(), 0).getWarehouseId());
+                        childNode.setEntity(wh);
+                        tcNode.addChildren(childNode);
+                        map.put(child.getId(), childNode);
+                    }
+                }
+            }
+        }
+        return list;
+    }
+
+    public Warehouse getBaseParent(String id, int index) {
+        Warehouse warehouse = null;
+        if (index < 99) {
+            warehouse = getById(id);
+            if (StrUtils.isNotBlankOrNull(warehouse.getParentId())) {
+                if (!warehouse.getParentId().equals("-1")) {
+                    warehouse = getBaseParent(warehouse.getParentId(), index++);
+                }
+            }
+        }
+        return warehouse;
+    }
 }

--
Gitblit v1.9.3