From 9da5387b3a856fa0c6c3657bb6558638b8f6b115 Mon Sep 17 00:00:00 2001 From: yanps Date: Thu, 17 Oct 2024 14:21:12 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E5=BA=93=E5=8C=BA,=E4=BB=93=E5=BA=93,?= =?UTF-8?q?=E4=BB=93=E4=BD=8D=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SectattrController.java | 3 ++- .../sectattr/service/SectattrService.java | 3 ++- .../service/dao/mapper/SectattrMapper.java | 3 ++- .../service/dao/mapper/SectattrMapper.xml | 6 +++--- .../service/impl/SectattrServiceImpl.java | 12 ++++++----- .../controller/StorattrController.java | 4 ++-- .../storattr/service/StorattrService.java | 3 ++- .../service/dao/mapper/StorattrMapper.java | 4 +++- .../service/dao/mapper/StorattrMapper.xml | 8 ++++--- .../service/impl/StorattrServiceImpl.java | 20 +++++++++--------- .../java/org/nl/wms/basedata/st/wql/stivt.xls | Bin 202240 -> 202240 bytes 11 files changed, 38 insertions(+), 28 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/controller/SectattrController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/controller/SectattrController.java index aab4312..b7e934c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/controller/SectattrController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/controller/SectattrController.java @@ -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 query(@RequestParam Map whereJson, Pageable page) { + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { return new ResponseEntity<>(sectattrService.queryAll(whereJson, page), HttpStatus.OK); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/SectattrService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/SectattrService.java index 2c8c00c..1e6caf9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/SectattrService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/SectattrService.java @@ -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 { * @param page 分页参数 * @return Map */ - HashMap queryAll(Map whereJson, Pageable page); + HashMap queryAll(Map whereJson, PageQuery page); /** * 查询所有数据不分页 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.java index bf5097e..4892ff4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.java @@ -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 { * @param jo * @return */ - List queryAll(@Param("jo")JSONObject jo, @Param("page") Pageable page); + IPage queryAll(@Param("jo")JSONObject jo, @Param("page") IPage page); int getTatol(@Param("jo")JSONObject jsonObject); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.xml index f084fe9..78ee66e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/sectattr/service/dao/mapper/SectattrMapper.xml @@ -16,16 +16,16 @@ #{code} - - and sect.search like concat('%',#{jo.search},'%') + + and sect.sect_name like concat('%',#{jo.search},'%') or sect.sect_code like concat('%',#{jo.search},'%') and stor.stor_id = #{jo.stor_id} ORDER BY sect.update_time DESC - limit #{page.offset},#{page.size} + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storattr/service/impl/StorattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storattr/service/impl/StorattrServiceImpl.java index 8416172..54e7422 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storattr/service/impl/StorattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/storattr/service/impl/StorattrServiceImpl.java @@ -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 i private SectattrService sectattrServiceImpl; @Override - public Map queryAll(Map whereJson, Pageable page) { + public Map queryAll(Map whereJson, PageQuery page) { String search = (String) whereJson.get("search"); - HashMap map = new HashMap<>(); - if (!StrUtil.isEmpty(search)) { - map.put("search", search); - } - List storattrList = storattrMapper.queryAll(map, page); - int tatol = storattrMapper.queryAllTotal(map); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + IPage 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 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; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls index 3bbbfc276f13c0e564b00c8cb4c971f44c4b553e..a268a0ae8fe71036d5eb2efeacebe19b08bc6cd0 100644 GIT binary patch delta 9975 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 delta 10030 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 WLHPqQaQ8zI*POT47Q31<8vP$e@Jz-4