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