From 51ce87e0303e28e4e46b857168c04c0f0d05c8a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=B8=85?= Date: Wed, 16 Jul 2025 10:11:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=89=A9=E8=B5=84=E5=BA=93=E5=AD=98=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/ErpMaterialController.java | 40 ++++++++--------- .../business/mapper/ErpMaterialMapper.java | 14 ++++++ .../business/service/IErpMaterialService.java | 5 +++ .../service/impl/ErpMaterialServiceImpl.java | 43 +++++++++++++------ .../resources/mapper/ErpMaterialMapper.xml | 18 ++++++-- 5 files changed, 84 insertions(+), 36 deletions(-) diff --git a/maintain-business/src/main/java/com/maintain/business/controller/ErpMaterialController.java b/maintain-business/src/main/java/com/maintain/business/controller/ErpMaterialController.java index 590126b..cb2bc99 100644 --- a/maintain-business/src/main/java/com/maintain/business/controller/ErpMaterialController.java +++ b/maintain-business/src/main/java/com/maintain/business/controller/ErpMaterialController.java @@ -1,36 +1,34 @@ package com.maintain.business.controller; -import java.util.ArrayList; -import java.util.List; -import java.util.Arrays; - -import com.maintain.business.domain.bo.ErpCarBo; -import com.maintain.business.domain.vo.ErpCarVo; -import com.maintain.business.listener.ErpCarImportListener; -import com.maintain.business.listener.ErpMaterialImportListener; -import com.maintain.common.excel.ExcelResult; -import lombok.RequiredArgsConstructor; -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import com.maintain.common.annotation.RepeatSubmit; +import com.maintain.business.domain.bo.ErpMaterialBo; +import com.maintain.business.domain.vo.ErpMaterialVo; +import com.maintain.business.listener.ErpMaterialImportListener; +import com.maintain.business.service.IErpMaterialService; import com.maintain.common.annotation.Log; +import com.maintain.common.annotation.RepeatSubmit; import com.maintain.common.core.controller.BaseController; import com.maintain.common.core.domain.PageQuery; import com.maintain.common.core.domain.R; +import com.maintain.common.core.page.TableDataInfo; import com.maintain.common.core.validate.AddGroup; import com.maintain.common.core.validate.EditGroup; import com.maintain.common.enums.BusinessType; +import com.maintain.common.excel.ExcelResult; import com.maintain.common.utils.poi.ExcelUtil; -import com.maintain.business.domain.vo.ErpMaterialVo; -import com.maintain.business.domain.bo.ErpMaterialBo; -import com.maintain.business.service.IErpMaterialService; -import com.maintain.common.core.page.TableDataInfo; +import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * 物资 * @@ -51,7 +49,7 @@ public class ErpMaterialController extends BaseController { @SaCheckPermission("business:material:list") @GetMapping("/list") public TableDataInfo list(ErpMaterialBo bo, PageQuery pageQuery) { - return iErpMaterialService.queryPageList(bo, pageQuery); + return iErpMaterialService.customQueryPageList(bo, pageQuery); } /** diff --git a/maintain-business/src/main/java/com/maintain/business/mapper/ErpMaterialMapper.java b/maintain-business/src/main/java/com/maintain/business/mapper/ErpMaterialMapper.java index 2cd1eb5..8b2a740 100644 --- a/maintain-business/src/main/java/com/maintain/business/mapper/ErpMaterialMapper.java +++ b/maintain-business/src/main/java/com/maintain/business/mapper/ErpMaterialMapper.java @@ -1,8 +1,14 @@ package com.maintain.business.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.maintain.business.domain.ErpMaterial; +import com.maintain.business.domain.ErpMaterialPickingInfo; +import com.maintain.business.domain.vo.ErpMaterialPickingInfoVo; import com.maintain.business.domain.vo.ErpMaterialVo; import com.maintain.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 物资Mapper接口 @@ -12,4 +18,12 @@ import com.maintain.common.core.mapper.BaseMapperPlus; */ public interface ErpMaterialMapper extends BaseMapperPlus { + /** + * 自定义分页查询 + * @param page + * @param queryWrapper + * @return + */ + Page customQueryPageList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + } diff --git a/maintain-business/src/main/java/com/maintain/business/service/IErpMaterialService.java b/maintain-business/src/main/java/com/maintain/business/service/IErpMaterialService.java index 319c587..129cfc7 100644 --- a/maintain-business/src/main/java/com/maintain/business/service/IErpMaterialService.java +++ b/maintain-business/src/main/java/com/maintain/business/service/IErpMaterialService.java @@ -28,6 +28,11 @@ public interface IErpMaterialService { */ TableDataInfo queryPageList(ErpMaterialBo bo, PageQuery pageQuery); + /** + * 查询物资列表(自定义查询) + */ + TableDataInfo customQueryPageList(ErpMaterialBo bo, PageQuery pageQuery); + /** * 查询物资列表 */ diff --git a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaterialServiceImpl.java b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaterialServiceImpl.java index be34248..fdcd34d 100644 --- a/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaterialServiceImpl.java +++ b/maintain-business/src/main/java/com/maintain/business/service/impl/ErpMaterialServiceImpl.java @@ -1,31 +1,29 @@ package com.maintain.business.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.maintain.business.domain.ErpMaterialCheck; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.maintain.business.domain.ErpMaterial; +import com.maintain.business.domain.bo.ErpMaterialBo; import com.maintain.business.domain.vo.*; import com.maintain.business.mapper.*; +import com.maintain.business.service.IErpMaterialService; +import com.maintain.common.core.domain.PageQuery; +import com.maintain.common.core.page.TableDataInfo; import com.maintain.common.enums.IsDeleteStatus; import com.maintain.common.enums.IsEnableStatus; import com.maintain.common.utils.StringUtils; -import com.maintain.common.core.page.TableDataInfo; -import com.maintain.common.core.domain.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import com.maintain.business.domain.bo.ErpMaterialBo; -import com.maintain.business.domain.ErpMaterial; -import com.maintain.business.service.IErpMaterialService; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; - -import static net.sf.jsqlparser.parser.feature.Feature.update; /** * 物资Service业务层处理 @@ -61,6 +59,15 @@ public class ErpMaterialServiceImpl implements IErpMaterialService { return TableDataInfo.build(result); } + /** + * 查询物资列表(自定义查询) + */ + @Override + public TableDataInfo customQueryPageList(ErpMaterialBo bo, PageQuery pageQuery) { + Page result = baseMapper.customQueryPageList(pageQuery.build(), this.customBuildQueryWrapper(bo)); + return TableDataInfo.build(result); + } + /** * 查询物资列表 */ @@ -70,6 +77,18 @@ public class ErpMaterialServiceImpl implements IErpMaterialService { return baseMapper.selectVoList(lqw); } + private QueryWrapper customBuildQueryWrapper(ErpMaterialBo bo) { + QueryWrapper query = Wrappers.query(); + query.like(null != bo.getVendorName(), "vendor_name", bo.getVendorName()) + .like(null != bo.getMaterialName(), "material_name", bo.getMaterialName()) + .like(null != bo.getMaterialCode(), "material_code", bo.getMaterialCode()) + .like(null != bo.getMaterialSpecifications(), "material_specifications", bo.getMaterialSpecifications()) + .eq(null != bo.getIsEnable(), "is_enable", bo.getIsEnable()) + .eq(null != bo.getIsCheck(), "is_check", bo.getIsCheck()) + .eq(null != bo.getIsUniversal(), "is_universal", bo.getIsUniversal()); + return query; + } + private LambdaQueryWrapper buildQueryWrapper(ErpMaterialBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); diff --git a/maintain-business/src/main/resources/mapper/ErpMaterialMapper.xml b/maintain-business/src/main/resources/mapper/ErpMaterialMapper.xml index 4f80c41..0c42fc9 100644 --- a/maintain-business/src/main/resources/mapper/ErpMaterialMapper.xml +++ b/maintain-business/src/main/resources/mapper/ErpMaterialMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -24,9 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + SELECT DISTINCT m.* + FROM erp_material m + LEFT JOIN erp_material_picking_info p ON m.id = p.material_id + LEFT JOIN erp_material_putaway_info pu ON m.id = pu.material_id + LEFT JOIN erp_material_returns_info r ON m.id = r.material_id + WHERE p.material_id IS NOT NULL + OR pu.material_id IS NOT NULL + OR r.material_id IS NOT NULL + + -- 2.22.0