diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/CenterReturnController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/CenterReturnController.java index 45bbfc39..0a120dc8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/CenterReturnController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/CenterReturnController.java @@ -1,10 +1,12 @@ package com.nflg.wms.admin.controller; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.convert.Convert; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.qo.C_MaterialReturnSearchQO; import com.nflg.wms.common.pojo.vo.*; +import com.nflg.wms.common.util.PageUtil; import com.nflg.wms.repository.entity.WmsCenterReturnItem; import com.nflg.wms.repository.entity.WmsCenterReturnScan; import com.nflg.wms.repository.service.IWmsCenterReturnItemService; @@ -43,11 +45,14 @@ public class CenterReturnController { @PostMapping("search") @ApiMark(moduleName = "中心物料退库管理", apiName = "退库单列表") public ApiResult> search(@Valid @RequestBody C_MaterialReturnSearchQO request) { - // return ApiResult.success(wmsSrmOrderService.search(request)); + PageData pageData = PageUtil.convert(wmsCenterReturnService.searchDictionary(request), d -> Convert.convert(C_MaterialReturnVO.class, d)); + return ApiResult.success(pageData); + } - /** + /** * 获取退库单详情 + * * @param orderId 退库单ID,不能为空 * @return 退库单详情列表 */ @@ -73,7 +78,6 @@ public class CenterReturnController { return ApiResult.success(vos); } - private C_MaterialReturnItemVO convertToVO(WmsCenterReturnItem item) { C_MaterialReturnItemVO vo = new C_MaterialReturnItemVO(); if (item != null) { @@ -90,11 +94,6 @@ public class CenterReturnController { return vo; } - // 根据预留单号查询退货信息 - - //用户确认退货 - - /** * 根据订单项ID获取扫码信息列表 * @@ -129,4 +128,12 @@ public class CenterReturnController { return scanCodeVO; } + + + // 根据预留单号查询退货信息 + + //用户确认退货 + + + } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsCenterReturnService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsCenterReturnService.java index ac259e66..565b2ced 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsCenterReturnService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsCenterReturnService.java @@ -1,7 +1,10 @@ package com.nflg.wms.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.nflg.wms.common.pojo.qo.C_MaterialReturnSearchQO; import com.nflg.wms.repository.entity.WmsCenterReturn; import com.baomidou.mybatisplus.extension.service.IService; +import jakarta.validation.Valid; /** *

@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IWmsCenterReturnService extends IService { + IPage searchDictionary(@Valid C_MaterialReturnSearchQO request); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsCenterReturnServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsCenterReturnServiceImpl.java index 221074fa..15249069 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsCenterReturnServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsCenterReturnServiceImpl.java @@ -1,5 +1,10 @@ package com.nflg.wms.repository.service.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nflg.wms.common.pojo.qo.C_MaterialReturnSearchQO; import com.nflg.wms.repository.entity.WmsCenterReturn; import com.nflg.wms.repository.mapper.WmsCenterReturnMapper; import com.nflg.wms.repository.service.IWmsCenterReturnService; @@ -8,7 +13,7 @@ import org.springframework.stereotype.Service; /** *

- * 服务实现类 + * 服务实现类 *

* * @author 代码生成器生成 @@ -17,4 +22,42 @@ import org.springframework.stereotype.Service; @Service public class WmsCenterReturnServiceImpl extends ServiceImpl implements IWmsCenterReturnService { + /** + * 根据搜索条件分页查询退货单信息 + * + * @param request 搜索请求参数对象,包含分页信息和搜索条件 + * - page: 页码,默认为1 + * - pageSize: 每页大小,默认为10 + * - orderNumber: 订单号,用于模糊搜索 + * - reservedNumber: 预留号,用于模糊搜索 + * @return 分页查询结果,包含退货单信息列表和分页信息 + * @throws IllegalArgumentException 当请求参数为空时抛出异常 + */ + @Override + public IPage searchDictionary(C_MaterialReturnSearchQO request) { + // 参数非空校验 + if (request == null) { + throw new IllegalArgumentException("请求参数不能为空"); + } + + // 分页参数校验 + int page = request.getPage() <= 0 ? 1 : request.getPage(); + int pageSize = request.getPageSize() <= 0 ? 10 : request.getPageSize(); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(request.getOrderNumber())) { + // 对用户输入进行转义,防止SQL注入 + String orderNumber = request.getOrderNumber().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); + queryWrapper.like(WmsCenterReturn::getOrderNumber, orderNumber); + } + if (StrUtil.isNotBlank(request.getReservedNumber())) { + // 对用户输入进行转义,防止SQL注入 + String reservedNumber = request.getReservedNumber().replace("\\", "\\\\").replace("%", "\\%").replace("_", "\\_"); + queryWrapper.like(WmsCenterReturn::getReservedNumber, reservedNumber); + } + queryWrapper.orderByDesc(WmsCenterReturn::getId); + return baseMapper.selectPage(new Page<>(page, pageSize), queryWrapper); + } + + }