From 18cc98bc651578578b00625bb2803655ec1cde4e Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 8 Dec 2025 17:28:16 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa):=20=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E9=A1=B9=E7=9B=AEID=E6=9F=A5=E8=AF=A2=E9=80=81?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E5=92=8C=E5=B7=A5=E8=89=BA=E5=8D=A1=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IOaDeliveryOrderDetailService和IOaProcessCardDetailService接口中新增queryListByProjectId方法 - 在对应的controller中增加listDetailsByProjectId接口,支持通过项目ID查询明细列表 - 实现service层逻辑,通过项目ID获取相关订单或卡片ID,再查询对应明细数据 - 扩展mapper接口和xml文件,新增selectVoListByOrderIds和selectVoListByCardIds方法用于批量查询 - 更新分页查询逻辑,优化查询条件构造器,加入项目关联信息查询支持 - 添加必要的导入语句及字段校验注解,确保参数合法性 - 补充项目相关信息字段到OaDeliveryOrderVo和OaProcessCardVo视图对象中 --- .../OaDeliveryOrderDetailController.java | 13 +++++++ .../OaProcessCardDetailController.java | 14 ++++++++ .../ruoyi/oa/domain/vo/OaDeliveryOrderVo.java | 5 +++ .../ruoyi/oa/domain/vo/OaProcessCardVo.java | 4 +++ .../mapper/OaDeliveryOrderDetailMapper.java | 3 ++ .../oa/mapper/OaDeliveryOrderMapper.java | 6 ++++ .../oa/mapper/OaProcessCardDetailMapper.java | 3 ++ .../ruoyi/oa/mapper/OaProcessCardMapper.java | 5 +++ .../IOaDeliveryOrderDetailService.java | 3 ++ .../service/IOaProcessCardDetailService.java | 6 ++++ .../OaDeliveryOrderDetailServiceImpl.java | 19 +++++++++++ .../impl/OaDeliveryOrderServiceImpl.java | 34 +++++++++++++++++-- .../impl/OaProcessCardDetailServiceImpl.java | 19 +++++++++++ .../impl/OaProcessCardServiceImpl.java | 24 +++++++++++-- .../mapper/oa/OaDeliveryOrderDetailMapper.xml | 30 ++++++++++++++++ .../mapper/oa/OaDeliveryOrderMapper.xml | 27 +++++++++++++++ .../mapper/oa/OaProcessCardDetailMapper.xml | 25 ++++++++++++++ .../mapper/oa/OaProcessCardMapper.xml | 16 +++++++++ 18 files changed, 252 insertions(+), 4 deletions(-) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaDeliveryOrderDetailController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaDeliveryOrderDetailController.java index eae8676..20749b2 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaDeliveryOrderDetailController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaDeliveryOrderDetailController.java @@ -98,4 +98,17 @@ public class OaDeliveryOrderDetailController extends BaseController { @PathVariable Long[] detailIds) { return toAjax(iOaDeliveryOrderDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); } + + /** + * 根据项目ID查询送货单明细列表 + * + * @param projectId 项目ID + * @return 送货单明细列表 + */ + @GetMapping("/detail/listByProject/{projectId}") + public R> listDetailsByProjectId(@NotNull(message = "项目ID不能为空") + @PathVariable Long projectId) { + List list = iOaDeliveryOrderDetailService.queryListByProjectId(projectId); + return R.ok(list); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardDetailController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardDetailController.java index 5a313a8..f18f2dd 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardDetailController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardDetailController.java @@ -98,4 +98,18 @@ public class OaProcessCardDetailController extends BaseController { @PathVariable Long[] detailIds) { return toAjax(iOaProcessCardDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); } + + + /** + * 根据项目ID查询工艺卡明细列表 + * + * @param projectId 项目ID + * @return 工艺卡明细列表 + */ + @GetMapping("/detail/listByProject/{projectId}") + public R> listDetailsByProjectId(@NotNull(message = "项目ID不能为空") + @PathVariable Long projectId) { + List list = iOaProcessCardDetailService.queryListByProjectId(projectId); + return R.ok(list); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaDeliveryOrderVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaDeliveryOrderVo.java index 43b6927..31f4f22 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaDeliveryOrderVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaDeliveryOrderVo.java @@ -130,5 +130,10 @@ public class OaDeliveryOrderVo { @ExcelProperty(value = "备注") private String remark; + //联查项目信息 + private String projectName; + private String projectCode; + private String projectNum; + } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaProcessCardVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaProcessCardVo.java index 6a0c370..e705379 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaProcessCardVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/OaProcessCardVo.java @@ -73,5 +73,9 @@ public class OaProcessCardVo { @ExcelProperty(value = "备注") private String remark; + //联查项目信息 + private String projectName; + private String projectCode; + private String projectNum; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderDetailMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderDetailMapper.java index 7f9eb0b..14d61ad 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderDetailMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderDetailMapper.java @@ -4,6 +4,8 @@ import com.ruoyi.oa.domain.OaDeliveryOrderDetail; import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 送货单明细Mapper接口 * @@ -12,4 +14,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; */ public interface OaDeliveryOrderDetailMapper extends BaseMapperPlus { + List selectVoListByOrderIds(List orderIds); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderMapper.java index f02700e..6ecef4d 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaDeliveryOrderMapper.java @@ -1,8 +1,13 @@ package com.ruoyi.oa.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.oa.domain.OaDeliveryOrder; import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 送货单主Mapper接口 @@ -12,4 +17,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; */ public interface OaDeliveryOrderMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build,@Param(Constants.WRAPPER) QueryWrapper lqw); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardDetailMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardDetailMapper.java index ce1e6b1..4794b9d 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardDetailMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardDetailMapper.java @@ -4,6 +4,8 @@ import com.ruoyi.oa.domain.OaProcessCardDetail; import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 工艺卡明细Mapper接口 * @@ -12,4 +14,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; */ public interface OaProcessCardDetailMapper extends BaseMapperPlus { + List selectVoListByCardIds(List cardIds); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardMapper.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardMapper.java index d3adc9d..22cbaed 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardMapper.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/OaProcessCardMapper.java @@ -1,8 +1,12 @@ package com.ruoyi.oa.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.oa.domain.OaProcessCard; import com.ruoyi.oa.domain.vo.OaProcessCardVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 工艺卡主Mapper接口 @@ -12,4 +16,5 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus; */ public interface OaProcessCardMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build, @Param(Constants.WRAPPER) QueryWrapper lqw); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaDeliveryOrderDetailService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaDeliveryOrderDetailService.java index 40e9e71..980a1df 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaDeliveryOrderDetailService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaDeliveryOrderDetailService.java @@ -6,6 +6,7 @@ import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; +import javax.validation.constraints.NotNull; import java.util.Collection; import java.util.List; @@ -46,4 +47,6 @@ public interface IOaDeliveryOrderDetailService { * 校验并批量删除送货单明细信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + List queryListByProjectId(@NotNull(message = "项目ID不能为空") Long projectId); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardDetailService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardDetailService.java index 256e29f..aeaebbf 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardDetailService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardDetailService.java @@ -6,6 +6,7 @@ import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; +import javax.validation.constraints.NotNull; import java.util.Collection; import java.util.List; @@ -46,4 +47,9 @@ public interface IOaProcessCardDetailService { * 校验并批量删除工艺卡明细信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 根据项目ID查询工艺卡明细列表 + */ + List queryListByProjectId(@NotNull(message = "项目ID不能为空") Long projectId); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java index 3f43f28..ea7fb3d 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderDetailServiceImpl.java @@ -1,12 +1,17 @@ package com.ruoyi.oa.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.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 com.ruoyi.oa.domain.OaDeliveryOrder; +import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo; +import com.ruoyi.oa.mapper.OaDeliveryOrderMapper; +import com.ruoyi.oa.service.IOaDeliveryOrderService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo; @@ -15,9 +20,11 @@ import com.ruoyi.oa.domain.OaDeliveryOrderDetail; import com.ruoyi.oa.mapper.OaDeliveryOrderDetailMapper; import com.ruoyi.oa.service.IOaDeliveryOrderDetailService; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.stream.Collectors; /** * 送货单明细Service业务层处理 @@ -30,6 +37,7 @@ import java.util.Collection; public class OaDeliveryOrderDetailServiceImpl implements IOaDeliveryOrderDetailService { private final OaDeliveryOrderDetailMapper baseMapper; + private final OaDeliveryOrderMapper oaDeliveryOrderMapper; /** * 查询送货单明细 @@ -120,4 +128,15 @@ public class OaDeliveryOrderDetailServiceImpl implements IOaDeliveryOrderDetailS } return baseMapper.deleteBatchIds(ids) > 0; } + + @Override + public List queryListByProjectId(Long projectId) { + //拿到projectId下的所有orderId + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(OaDeliveryOrder::getProjectId, projectId); + List orderList = oaDeliveryOrderMapper.selectList(wrapper); + //然后根据orderId拿到所有的detail + List orderIdList = orderList.stream().map(OaDeliveryOrder::getOrderId).collect(Collectors.toList()); + return baseMapper.selectVoListByOrderIds(orderIdList); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderServiceImpl.java index f108e3d..2813afc 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaDeliveryOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.oa.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; @@ -44,11 +45,40 @@ public class OaDeliveryOrderServiceImpl implements IOaDeliveryOrderService { */ @Override public TableDataInfo queryPageList(OaDeliveryOrderBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper qw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), qw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(OaDeliveryOrderBo bo) { + QueryWrapper qw = new QueryWrapper<>(); + + // 等值查询条件(带表别名odo) + qw.eq(StringUtils.isNotBlank(bo.getDeliveryOrderNo()), "odo.delivery_order_no", bo.getDeliveryOrderNo()); + qw.eq(bo.getProjectId() != null, "odo.project_id", bo.getProjectId()); + qw.eq(StringUtils.isNotBlank(bo.getContractNo()), "odo.contract_no", bo.getContractNo()); + qw.eq(StringUtils.isNotBlank(bo.getUserContractNo()), "odo.user_contract_no", bo.getUserContractNo()); + qw.eq(StringUtils.isNotBlank(bo.getProcurementNo()), "odo.procurement_no", bo.getProcurementNo()); + qw.eq(StringUtils.isNotBlank(bo.getDeliveryDestination()), "odo.delivery_destination", bo.getDeliveryDestination()); + qw.eq(StringUtils.isNotBlank(bo.getDeliveryAddress()), "odo.delivery_address", bo.getDeliveryAddress()); + qw.eq(StringUtils.isNotBlank(bo.getReceiver()), "odo.receiver", bo.getReceiver()); + qw.eq(StringUtils.isNotBlank(bo.getReceiverPhone()), "odo.receiver_phone", bo.getReceiverPhone()); + qw.eq(StringUtils.isNotBlank(bo.getSupplierContact()), "odo.supplier_contact", bo.getSupplierContact()); + qw.eq(StringUtils.isNotBlank(bo.getSupplierPhone()), "odo.supplier_phone", bo.getSupplierPhone()); + qw.eq(StringUtils.isNotBlank(bo.getReceivingCompany()), "odo.receiving_company", bo.getReceivingCompany()); + qw.eq(StringUtils.isNotBlank(bo.getActualReceiver()), "odo.actual_receiver", bo.getActualReceiver()); + qw.eq(StringUtils.isNotBlank(bo.getConstructionCompany()), "odo.construction_company", bo.getConstructionCompany()); + qw.eq(StringUtils.isNotBlank(bo.getDeliveryRemark()), "odo.delivery_remark", bo.getDeliveryRemark()); + // 模糊查询(供应商全称) + qw.like(StringUtils.isNotBlank(bo.getSupplierFullname()), "odo.supplier_fullname", bo.getSupplierFullname()); + // 按创建时间降序排序 + qw.orderByDesc("odo.create_time"); + //逻辑删除 + qw.eq("odo.del_flag", 0); + + return qw; + } + /** * 查询送货单主列表 */ diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java index e4c0602..31488fd 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardDetailServiceImpl.java @@ -7,6 +7,8 @@ import com.ruoyi.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 com.ruoyi.oa.domain.OaProcessCard; +import com.ruoyi.oa.mapper.OaProcessCardMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo; @@ -18,6 +20,7 @@ import com.ruoyi.oa.service.IOaProcessCardDetailService; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.stream.Collectors; /** * 工艺卡明细Service业务层处理 @@ -31,6 +34,8 @@ public class OaProcessCardDetailServiceImpl implements IOaProcessCardDetailServi private final OaProcessCardDetailMapper baseMapper; + private final OaProcessCardMapper oaProcessCardMapper; + /** * 查询工艺卡明细 */ @@ -115,4 +120,18 @@ public class OaProcessCardDetailServiceImpl implements IOaProcessCardDetailServi } return baseMapper.deleteBatchIds(ids) > 0; } + + /** + * 根据项目ID查询工艺卡明细列表 + */ + @Override + public List queryListByProjectId(Long projectId) { + //拿到projectId下的所有cardId + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(OaProcessCard::getProjectId, projectId); + List cardList = oaProcessCardMapper.selectList(wrapper); + //然后根据cardId拿到所有的detail + List cardIdList = cardList.stream().map(OaProcessCard::getCardId).collect(Collectors.toList()); + return baseMapper.selectVoListByCardIds(cardIdList); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java index 5c72b59..a10c3e2 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.oa.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; @@ -44,11 +45,30 @@ public class OaProcessCardServiceImpl implements IOaProcessCardService { */ @Override public TableDataInfo queryPageList(OaProcessCardBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper lqw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(OaProcessCardBo bo) { + QueryWrapper qw = Wrappers.query(); + + // 等值查询(带表别名oc,使用数据库下划线字段名) + qw.eq(bo.getProjectId() != null, "oc.project_id", bo.getProjectId()); + qw.eq(bo.getEquipmentQuantity() != null, "oc.equipment_quantity", bo.getEquipmentQuantity()); + qw.eq(StringUtils.isNotBlank(bo.getManufacturingLeader()), "oc.manufacturing_leader", bo.getManufacturingLeader()); + qw.eq(StringUtils.isNotBlank(bo.getOperationLeader()), "oc.operation_leader", bo.getOperationLeader()); + qw.eq(bo.getPlannedDeliveryDate() != null, "oc.planned_delivery_date", bo.getPlannedDeliveryDate()); + // 模糊查询(设备名称) + qw.like(StringUtils.isNotBlank(bo.getEquipmentName()), "oc.equipment_name", bo.getEquipmentName()); + // 按创建时间降序排序 + qw.orderByDesc("oc.create_time"); + // 逻辑删除 + qw.eq("oc.del_flag", 0); + + return qw; + } + /** * 查询工艺卡主列表 */ diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderDetailMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderDetailMapper.xml index 7701fe5..f586d17 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderDetailMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderDetailMapper.xml @@ -27,6 +27,36 @@ + diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderMapper.xml index 8df4285..3d57cf2 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaDeliveryOrderMapper.xml @@ -29,6 +29,33 @@ + + diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardDetailMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardDetailMapper.xml index d5745ff..881e12c 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardDetailMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardDetailMapper.xml @@ -23,5 +23,30 @@ + diff --git a/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardMapper.xml b/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardMapper.xml index 29eed32..8124d6c 100644 --- a/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardMapper.xml +++ b/ruoyi-oa/src/main/resources/mapper/oa/OaProcessCardMapper.xml @@ -19,6 +19,22 @@ +