From d88a69584bb336b11688b07847ae176da9041009 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期四, 08 五月 2025 17:47:45 +0800
Subject: [PATCH] 工具管理-库位货架管理

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/GoodsShelves.java                  |   99 ++++++++++++++
 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/controller/GoodsShelvesController.java    |  177 +++++++++++++++++++++++++
 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/GoodsShelvesMapper.java            |   21 +++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/GoodsShelvesMapper.xml         |   25 +++
 6 files changed, 396 insertions(+), 0 deletions(-)

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/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/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/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/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/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);
+    }
+}

--
Gitblit v1.9.3