Commit df7b45186c399ca529ea24202d13722cf8f8f025

Authored by 周峰
1 parent b8f8c22c

增加查库内空托盘接口listEmptyContainerInLocation

jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/controller/LocationController.java
1 package org.jeecg.modules.wms.config.location.controller; 1 package org.jeecg.modules.wms.config.location.controller;
2 2
3 -import java.util.Arrays;  
4 -import java.util.List;  
5 -import java.util.Map;  
6 -import java.util.stream.Collectors;  
7 -import java.io.IOException;  
8 -import java.io.UnsupportedEncodingException;  
9 -import java.net.URLDecoder;  
10 -import javax.servlet.http.HttpServletRequest;  
11 -import javax.servlet.http.HttpServletResponse;  
12 -  
13 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
14 -import org.apache.shiro.authz.annotation.RequiresPermissions;  
15 -import org.jeecg.common.api.vo.Result;  
16 -import org.jeecg.common.system.query.QueryGenerator;  
17 -import org.jeecg.common.system.util.JwtUtil;  
18 -import org.jeecg.common.util.oConvertUtils;  
19 -  
20 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
21 import com.baomidou.mybatisplus.core.metadata.IPage; 5 import com.baomidou.mybatisplus.core.metadata.IPage;
22 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7 +import io.swagger.annotations.Api;
  8 +import io.swagger.annotations.ApiOperation;
23 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
24 -  
25 -import org.jeecg.modules.wms.config.container.entity.Container; 10 +import org.apache.shiro.authz.annotation.RequiresPermissions;
  11 +import org.jeecg.common.api.vo.Result;
  12 +import org.jeecg.common.aspect.annotation.AutoLog;
  13 +import org.jeecg.common.system.base.controller.JeecgController;
  14 +import org.jeecg.common.system.query.QueryGenerator;
  15 +import org.jeecg.common.system.util.JwtUtil;
26 import org.jeecg.modules.wms.config.location.entity.BatchLocation; 16 import org.jeecg.modules.wms.config.location.entity.BatchLocation;
27 import org.jeecg.modules.wms.config.location.entity.Location; 17 import org.jeecg.modules.wms.config.location.entity.Location;
28 import org.jeecg.modules.wms.config.location.service.ILocationService; 18 import org.jeecg.modules.wms.config.location.service.ILocationService;
29 import org.jeecg.utils.StringUtils; 19 import org.jeecg.utils.StringUtils;
30 import org.jeecg.utils.constant.QuantityConstant; 20 import org.jeecg.utils.constant.QuantityConstant;
31 -import org.jeecgframework.poi.excel.ExcelImportUtil;  
32 -import org.jeecgframework.poi.excel.def.NormalExcelConstants;  
33 -import org.jeecgframework.poi.excel.entity.ExportParams;  
34 -import org.jeecgframework.poi.excel.entity.ImportParams;  
35 -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;  
36 -import org.jeecg.common.system.base.controller.JeecgController;  
37 import org.springframework.beans.factory.annotation.Autowired; 21 import org.springframework.beans.factory.annotation.Autowired;
38 import org.springframework.web.bind.annotation.*; 22 import org.springframework.web.bind.annotation.*;
39 -import org.springframework.web.multipart.MultipartFile;  
40 -import org.springframework.web.multipart.MultipartHttpServletRequest;  
41 import org.springframework.web.servlet.ModelAndView; 23 import org.springframework.web.servlet.ModelAndView;
42 -import com.alibaba.fastjson.JSON;  
43 -import io.swagger.annotations.Api;  
44 -import io.swagger.annotations.ApiOperation;  
45 -import org.jeecg.common.aspect.annotation.AutoLog; 24 +
  25 +import javax.servlet.http.HttpServletRequest;
  26 +import javax.servlet.http.HttpServletResponse;
  27 +import java.util.Arrays;
  28 +import java.util.List;
46 29
47 /** 30 /**
48 * @Description: 库位管理 31 * @Description: 库位管理
@@ -84,6 +67,19 @@ public class LocationController extends JeecgController<Location, ILocationServi @@ -84,6 +67,19 @@ public class LocationController extends JeecgController<Location, ILocationServi
84 return Result.OK(pageList); 67 return Result.OK(pageList);
85 } 68 }
86 69
  70 + @ApiOperation(value="库位管理-分页查询放空托的库位", notes="分页查询放空托的库位")
  71 + @GetMapping(value = "/listEmptyContainerInLocation")
  72 + public Result<IPage<Location>> listEmptyContainerInLocation(Location location,
  73 + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  74 + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  75 + HttpServletRequest req) {
  76 + Page<Location> page = new Page<Location>(pageNo, pageSize);
  77 + String warehouseCode = JwtUtil.getWarehouseCodeByToken(req);
  78 + location.setWarehouseCode(warehouseCode);
  79 + IPage<Location> pageList = locationService.listEmptyContainerInLocation(page, location);
  80 + return Result.OK(pageList);
  81 + }
  82 +
87 /** 83 /**
88 * 添加 84 * 添加
89 * 85 *
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/LocationMapper.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.wms.config.location.mapper; @@ -2,6 +2,7 @@ package org.jeecg.modules.wms.config.location.mapper;
2 2
3 import java.util.List; 3 import java.util.List;
4 4
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
5 import org.apache.ibatis.annotations.Param; 6 import org.apache.ibatis.annotations.Param;
6 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 7 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7 import org.jeecg.modules.wms.config.location.entity.Location; 8 import org.jeecg.modules.wms.config.location.entity.Location;
@@ -9,7 +10,7 @@ import org.jeecg.modules.wms.config.location.entity.Location; @@ -9,7 +10,7 @@ import org.jeecg.modules.wms.config.location.entity.Location;
9 /** 10 /**
10 * @Description: 库位管理 11 * @Description: 库位管理
11 * @Author: jeecg-boot 12 * @Author: jeecg-boot
12 - * @Date: 2022-10-27 13 + * @Date: 2022-10-27
13 * @Version: V1.0 14 * @Version: V1.0
14 */ 15 */
15 public interface LocationMapper extends BaseMapper<Location> { 16 public interface LocationMapper extends BaseMapper<Location> {
@@ -19,4 +20,5 @@ public interface LocationMapper extends BaseMapper&lt;Location&gt; { @@ -19,4 +20,5 @@ public interface LocationMapper extends BaseMapper&lt;Location&gt; {
19 20
20 int getFirstRowOfZone(@Param("warehouseCode") String warehouseCode, @Param("locationType") String locationType); 21 int getFirstRowOfZone(@Param("warehouseCode") String warehouseCode, @Param("locationType") String locationType);
21 22
  23 + IPage<Location> listEmptyContainerInLocation(IPage<?> page, @Param("location") Location location);
22 } 24 }
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/mapper/xml/LocationMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="org.jeecg.modules.wms.config.location.mapper.LocationMapper">
  4 +
  5 + <select id="getAllLocation" resultType="org.jeecg.modules.wms.config.location.entity.Location"></select>
  6 + <select id="getFirstRowOfZone" resultType="java.lang.Integer"></select>
  7 + <select id="listEmptyContainerInLocation" parameterType="org.jeecg.modules.wms.config.location.entity.Location"
  8 + resultType="org.jeecg.modules.wms.config.location.entity.Location">
  9 + SELECT *
  10 + FROM location t
  11 + <where>
  12 + AND t.warehouse_code = #{location.warehouseCode}
  13 + AND t.status='empty'
  14 + AND t.container_code !=''
  15 + AND t.container_code is not NULL
  16 + AND t.container_code NOT in (SELECT h.container_code from task_header h WHERE status &lt; 100 AND warehouse_code=#{location.warehouseCode})
  17 + and t.`code` in(select cc.location_code from container cc where cc.`status`='empty' and cc.warehouse_code =#{location.warehouseCode})
  18 + <if test="location.zoneCode != null and location.zoneCode !=''">
  19 + and t.zone_code = #{location.zoneCode}
  20 + </if>
  21 + <if test="location.containerCode != null and location.containerCode !=''">
  22 + and t.container_code = #{location.containerCode}
  23 + </if>
  24 + <if test="location.code != null and location.code !=''">
  25 + and t.`code` = #{location.code}
  26 + </if>
  27 + <if test="location.roadWay != null and location.roadWay !=''">
  28 + and t.`road_way` = #{location.roadWay}
  29 + </if>
  30 + </where>
  31 + </select>
  32 +</mapper>
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/ILocationService.java
1 package org.jeecg.modules.wms.config.location.service; 1 package org.jeecg.modules.wms.config.location.service;
2 2
  3 +import com.baomidou.mybatisplus.core.metadata.IPage;
  4 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
3 import com.baomidou.mybatisplus.extension.service.IService; 5 import com.baomidou.mybatisplus.extension.service.IService;
4 import org.jeecg.common.api.vo.Result; 6 import org.jeecg.common.api.vo.Result;
5 import org.jeecg.modules.wms.config.location.entity.BatchLocation; 7 import org.jeecg.modules.wms.config.location.entity.BatchLocation;
@@ -42,4 +44,6 @@ public interface ILocationService extends IService&lt;Location&gt; { @@ -42,4 +44,6 @@ public interface ILocationService extends IService&lt;Location&gt; {
42 Result batchAdd(BatchLocation batchLocation); 44 Result batchAdd(BatchLocation batchLocation);
43 45
44 LocationInfo getAllLocation(String type); 46 LocationInfo getAllLocation(String type);
  47 +
  48 + IPage<Location> listEmptyContainerInLocation(Page<Location> page, Location location);
45 } 49 }
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
@@ -2,7 +2,10 @@ package org.jeecg.modules.wms.config.location.service.impl; @@ -2,7 +2,10 @@ package org.jeecg.modules.wms.config.location.service.impl;
2 2
3 import com.aliyun.oss.ServiceException; 3 import com.aliyun.oss.ServiceException;
4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
5 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 6 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  7 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8 +import org.apache.ibatis.annotations.Param;
6 import org.jeecg.common.api.vo.Result; 9 import org.jeecg.common.api.vo.Result;
7 import org.jeecg.modules.wms.config.location.entity.BatchLocation; 10 import org.jeecg.modules.wms.config.location.entity.BatchLocation;
8 import org.jeecg.modules.wms.config.location.entity.Location; 11 import org.jeecg.modules.wms.config.location.entity.Location;
@@ -351,6 +354,11 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i @@ -351,6 +354,11 @@ public class LocationServiceImpl extends ServiceImpl&lt;LocationMapper, Location&gt; i
351 return null; 354 return null;
352 } 355 }
353 356
  357 + @Override
  358 + public IPage<Location> listEmptyContainerInLocation(Page page, Location location) {
  359 + return locationMapper.listEmptyContainerInLocation(page, location);
  360 + }
  361 +
354 private boolean getOutSideCanMove(Location location) { 362 private boolean getOutSideCanMove(Location location) {
355 Location locaiton2 = getInsideNear(location); 363 Location locaiton2 = getInsideNear(location);
356 if (locaiton2.getStatus().equals(QuantityConstant.STATUS_LOCATION_LOCK)) { 364 if (locaiton2.getStatus().equals(QuantityConstant.STATUS_LOCATION_LOCK)) {