opt: 库区,仓库,仓位分页查询优化
This commit is contained in:
@@ -4,6 +4,7 @@ package org.nl.wms.basedata.master.sectattr.controller;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.basedata.master.sectattr.service.SectattrService;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dto.SectattrDto;
|
||||
@@ -29,7 +30,7 @@ public class SectattrController {
|
||||
|
||||
@GetMapping
|
||||
@Log("查询库区")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(sectattrService.queryAll(whereJson, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.nl.wms.basedata.master.sectattr.service;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dao.Sectattr;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dto.SectattrDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -25,7 +26,7 @@ public interface SectattrService extends IService<Sectattr> {
|
||||
* @param page 分页参数
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
HashMap<String, Object> queryAll(Map whereJson, Pageable page);
|
||||
HashMap<String, Object> queryAll(Map whereJson, PageQuery page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.common.annotation.Query;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dao.Sectattr;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -22,7 +23,7 @@ public interface SectattrMapper extends BaseMapper<Sectattr> {
|
||||
* @param jo
|
||||
* @return
|
||||
*/
|
||||
List<Sectattr> queryAll(@Param("jo")JSONObject jo, @Param("page") Pageable page);
|
||||
IPage<Sectattr> queryAll(@Param("jo")JSONObject jo, @Param("page") IPage<Sectattr> page);
|
||||
|
||||
int getTatol(@Param("jo")JSONObject jsonObject);
|
||||
}
|
||||
|
||||
@@ -16,16 +16,16 @@
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="jo.search != null and jo.search != ' '">
|
||||
and sect.search like concat('%',#{jo.search},'%')
|
||||
<if test="jo.search != null">
|
||||
and sect.sect_name like concat('%',#{jo.search},'%') or sect.sect_code like concat('%',#{jo.search},'%')
|
||||
</if>
|
||||
<if test="jo.stor_id != null and jo.stor_id != ' '">
|
||||
and stor.stor_id = #{jo.stor_id}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY sect.update_time DESC
|
||||
limit #{page.offset},#{page.size}
|
||||
</select>
|
||||
|
||||
<select id="getTatol" resultType="java.lang.Integer">
|
||||
select
|
||||
COUNT(*)
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.WQL;
|
||||
@@ -25,6 +26,7 @@ import org.nl.system.service.logicflow.dao.StageImage;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dao.Sectattr;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dao.mapper.SectattrMapper;
|
||||
import org.nl.wms.basedata.master.sectattr.service.SectattrService;
|
||||
import org.nl.wms.basedata.master.storattr.service.dao.Storattr;
|
||||
import org.nl.wms.basedata.master.structattr.service.StructattrService;
|
||||
import org.nl.wms.basedata.master.structattr.service.dao.Structattr;
|
||||
import org.nl.wms.basedata.master.structattr.service.impl.StructattrServiceImpl;
|
||||
@@ -60,7 +62,7 @@ public class SectattrServiceImpl extends ServiceImpl<SectattrMapper, Sectattr> i
|
||||
private StructattrService structattrServiceImpl;
|
||||
|
||||
@Override
|
||||
public HashMap<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
public HashMap<String, Object> queryAll(Map whereJson, PageQuery page) {
|
||||
String search = (String) whereJson.get("search");
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
if (!StrUtil.isEmpty(search)) {
|
||||
@@ -78,11 +80,11 @@ public class SectattrServiceImpl extends ServiceImpl<SectattrMapper, Sectattr> i
|
||||
List<String> strings = CollUtil.toList(split);
|
||||
jsonObject.put("in_stor_id", strings);
|
||||
}
|
||||
List<Sectattr> sectattrs = sectattrMapper.queryAll(jsonObject, page);
|
||||
int tatol = sectattrMapper.getTatol(jsonObject);
|
||||
IPage<Sectattr> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
IPage<Sectattr> sectattrs = sectattrMapper.queryAll(jsonObject, pages);
|
||||
HashMap<String, Object> sectattrPage = new HashMap<>();
|
||||
sectattrPage.put("totalElements", tatol);
|
||||
sectattrPage.put("content", sectattrs);
|
||||
sectattrPage.put("totalElements", sectattrs.getTotal());
|
||||
sectattrPage.put("content", sectattrs.getRecords());
|
||||
return sectattrPage;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ package org.nl.wms.basedata.master.storattr.controller;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.basedata.master.storattr.service.StorattrService;
|
||||
import org.nl.wms.basedata.master.storattr.service.dao.Storattr;
|
||||
@@ -31,9 +32,8 @@ public class StorattrController {
|
||||
|
||||
@GetMapping
|
||||
@Log("查询仓库")
|
||||
|
||||
//@PreAuthorize("@el.check('Storattr:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(storattrService.queryAll(whereJson, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.basedata.master.storattr.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.basedata.master.storattr.service.dao.Storattr;
|
||||
import org.nl.wms.basedata.master.storattr.service.dto.StorattrDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -23,7 +24,7 @@ public interface StorattrService extends IService<Storattr> {
|
||||
* @param page 分页参数
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
Map<String, Object> queryAll(Map whereJson, Pageable page);
|
||||
Map<String, Object> queryAll(Map whereJson, PageQuery page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.basedata.master.storattr.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.basedata.master.materialbase.service.dao.Materialbase;
|
||||
import org.nl.wms.basedata.master.storattr.service.dao.Storattr;
|
||||
import org.nl.wms.basedata.master.structattr.service.dao.Structattr;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -16,7 +18,7 @@ public interface StorattrMapper extends BaseMapper<Storattr> {
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
List<Storattr> queryAll(@Param("map")HashMap<String, String> map,@Param("page") Pageable page);
|
||||
IPage<Storattr> queryAll(@Param("search")String search,@Param("page") IPage<Storattr> page);
|
||||
|
||||
int queryAllTotal(@Param("map")HashMap<String, String> map);
|
||||
}
|
||||
|
||||
@@ -9,12 +9,13 @@
|
||||
LEFT JOIN sys_dict detail ON detail.value = stor.stor_type_scode AND detail.code = 'st_stor_type'
|
||||
<where>
|
||||
stor.is_delete = '0'
|
||||
<if test="map.search != null">
|
||||
stor.stor_name like concat('%',#{map.search},'%') or stor.stor_code like concat('%',#{map.search},'%')
|
||||
<if test="search != null">
|
||||
stor.stor_name like concat('%',#{search},'%') or stor.stor_code like concat('%',#{search},'%')
|
||||
</if>
|
||||
</where>
|
||||
LIMIT #{page.offset},#{page.size}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryAllTotal" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM st_ivt_bsrealstorattr stor
|
||||
@@ -26,4 +27,5 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -8,16 +8,20 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.dreamlu.mica.core.utils.BeanUtil;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.basedata.master.materialbase.service.dao.Materialbase;
|
||||
import org.nl.wms.basedata.master.sectattr.service.SectattrService;
|
||||
import org.nl.wms.basedata.master.sectattr.service.dao.Sectattr;
|
||||
import org.nl.wms.basedata.master.storattr.service.StorattrService;
|
||||
@@ -54,17 +58,13 @@ public class StorattrServiceImpl extends ServiceImpl<StorattrMapper, Storattr> i
|
||||
private SectattrService sectattrServiceImpl;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
public Map<String, Object> queryAll(Map whereJson, PageQuery page) {
|
||||
String search = (String) whereJson.get("search");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
if (!StrUtil.isEmpty(search)) {
|
||||
map.put("search", search);
|
||||
}
|
||||
List<Storattr> storattrList = storattrMapper.queryAll(map, page);
|
||||
int tatol = storattrMapper.queryAllTotal(map);
|
||||
IPage<Storattr> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
IPage<Storattr> storattrList = storattrMapper.queryAll(search, pages);
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("totalElements", tatol);
|
||||
jsonObject.put("content", storattrList);
|
||||
jsonObject.put("totalElements", storattrList.getTotal());
|
||||
jsonObject.put("content", storattrList.getRecords());
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ public class StorattrServiceImpl extends ServiceImpl<StorattrMapper, Storattr> i
|
||||
.eq(StrUtil.isNotEmpty(map.get("is_attachment")), Storattr::getIs_attachment, map.get("is_attachment"))
|
||||
.orderByDesc(Storattr::getUpdate_time)
|
||||
);
|
||||
JSONArray ja = WQL.getWO("QST_STOR_ATTR").addParamMap(map).process().getResultJSONArray(0);
|
||||
//JSONArray ja = WQL.getWO("QST_STOR_ATTR").addParamMap(map).process().getResultJSONArray(0);
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("content", storattrs);
|
||||
return jo;
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user