feat(oa): 新增送货单及工艺卡模块

- 新增送货单主表、明细表及相关业务逻辑
- 新增工艺卡主表、明细表及相关业务逻辑
- 实现完整的CRUD功能和数据校验
- 配置MyBatis映射文件和Excel导出支持
- 提供Controller接口用于前后端交互
This commit is contained in:
2025-12-08 16:54:23 +08:00
parent 7c9734f529
commit 7051de1fab
32 changed files with 2421 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.OaDeliveryOrderDetail;
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 送货单明细Service接口
*
* @author ruoyi
* @date 2025-12-08
*/
public interface IOaDeliveryOrderDetailService {
/**
* 查询送货单明细
*/
OaDeliveryOrderDetailVo queryById(Long detailId);
/**
* 查询送货单明细列表
*/
TableDataInfo<OaDeliveryOrderDetailVo> queryPageList(OaDeliveryOrderDetailBo bo, PageQuery pageQuery);
/**
* 查询送货单明细列表
*/
List<OaDeliveryOrderDetailVo> queryList(OaDeliveryOrderDetailBo bo);
/**
* 新增送货单明细
*/
Boolean insertByBo(OaDeliveryOrderDetailBo bo);
/**
* 修改送货单明细
*/
Boolean updateByBo(OaDeliveryOrderDetailBo bo);
/**
* 校验并批量删除送货单明细信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.OaDeliveryOrder;
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
import com.ruoyi.oa.domain.bo.OaDeliveryOrderBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 送货单主Service接口
*
* @author ruoyi
* @date 2025-12-08
*/
public interface IOaDeliveryOrderService {
/**
* 查询送货单主
*/
OaDeliveryOrderVo queryById(Long orderId);
/**
* 查询送货单主列表
*/
TableDataInfo<OaDeliveryOrderVo> queryPageList(OaDeliveryOrderBo bo, PageQuery pageQuery);
/**
* 查询送货单主列表
*/
List<OaDeliveryOrderVo> queryList(OaDeliveryOrderBo bo);
/**
* 新增送货单主
*/
Boolean insertByBo(OaDeliveryOrderBo bo);
/**
* 修改送货单主
*/
Boolean updateByBo(OaDeliveryOrderBo bo);
/**
* 校验并批量删除送货单主信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.OaProcessCardDetail;
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 工艺卡明细Service接口
*
* @author ruoyi
* @date 2025-12-08
*/
public interface IOaProcessCardDetailService {
/**
* 查询工艺卡明细
*/
OaProcessCardDetailVo queryById(Long detailId);
/**
* 查询工艺卡明细列表
*/
TableDataInfo<OaProcessCardDetailVo> queryPageList(OaProcessCardDetailBo bo, PageQuery pageQuery);
/**
* 查询工艺卡明细列表
*/
List<OaProcessCardDetailVo> queryList(OaProcessCardDetailBo bo);
/**
* 新增工艺卡明细
*/
Boolean insertByBo(OaProcessCardDetailBo bo);
/**
* 修改工艺卡明细
*/
Boolean updateByBo(OaProcessCardDetailBo bo);
/**
* 校验并批量删除工艺卡明细信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,49 @@
package com.ruoyi.oa.service;
import com.ruoyi.oa.domain.OaProcessCard;
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
import com.ruoyi.oa.domain.bo.OaProcessCardBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 工艺卡主Service接口
*
* @author ruoyi
* @date 2025-12-08
*/
public interface IOaProcessCardService {
/**
* 查询工艺卡主
*/
OaProcessCardVo queryById(Long cardId);
/**
* 查询工艺卡主列表
*/
TableDataInfo<OaProcessCardVo> queryPageList(OaProcessCardBo bo, PageQuery pageQuery);
/**
* 查询工艺卡主列表
*/
List<OaProcessCardVo> queryList(OaProcessCardBo bo);
/**
* 新增工艺卡主
*/
Boolean insertByBo(OaProcessCardBo bo);
/**
* 修改工艺卡主
*/
Boolean updateByBo(OaProcessCardBo bo);
/**
* 校验并批量删除工艺卡主信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -0,0 +1,123 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
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 lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaDeliveryOrderDetailBo;
import com.ruoyi.oa.domain.vo.OaDeliveryOrderDetailVo;
import com.ruoyi.oa.domain.OaDeliveryOrderDetail;
import com.ruoyi.oa.mapper.OaDeliveryOrderDetailMapper;
import com.ruoyi.oa.service.IOaDeliveryOrderDetailService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 送货单明细Service业务层处理
*
* @author ruoyi
* @date 2025-12-08
*/
@RequiredArgsConstructor
@Service
public class OaDeliveryOrderDetailServiceImpl implements IOaDeliveryOrderDetailService {
private final OaDeliveryOrderDetailMapper baseMapper;
/**
* 查询送货单明细
*/
@Override
public OaDeliveryOrderDetailVo queryById(Long detailId){
return baseMapper.selectVoById(detailId);
}
/**
* 查询送货单明细列表
*/
@Override
public TableDataInfo<OaDeliveryOrderDetailVo> queryPageList(OaDeliveryOrderDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = buildQueryWrapper(bo);
Page<OaDeliveryOrderDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询送货单明细列表
*/
@Override
public List<OaDeliveryOrderDetailVo> queryList(OaDeliveryOrderDetailBo bo) {
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaDeliveryOrderDetail> buildQueryWrapper(OaDeliveryOrderDetailBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaDeliveryOrderDetail> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getOrderId() != null, OaDeliveryOrderDetail::getOrderId, bo.getOrderId());
lqw.eq(bo.getSequence() != null, OaDeliveryOrderDetail::getSequence, bo.getSequence());
lqw.eq(StringUtils.isNotBlank(bo.getBoxNoTotal()), OaDeliveryOrderDetail::getBoxNoTotal, bo.getBoxNoTotal());
lqw.eq(StringUtils.isNotBlank(bo.getEquipmentStationNo()), OaDeliveryOrderDetail::getEquipmentStationNo, bo.getEquipmentStationNo());
lqw.like(StringUtils.isNotBlank(bo.getEquipmentName()), OaDeliveryOrderDetail::getEquipmentName, bo.getEquipmentName());
lqw.eq(StringUtils.isNotBlank(bo.getModelSpec()), OaDeliveryOrderDetail::getModelSpec, bo.getModelSpec());
lqw.eq(bo.getQuantity() != null, OaDeliveryOrderDetail::getQuantity, bo.getQuantity());
lqw.eq(StringUtils.isNotBlank(bo.getUnit()), OaDeliveryOrderDetail::getUnit, bo.getUnit());
lqw.eq(StringUtils.isNotBlank(bo.getPackagingType()), OaDeliveryOrderDetail::getPackagingType, bo.getPackagingType());
lqw.eq(bo.getNetWeight() != null, OaDeliveryOrderDetail::getNetWeight, bo.getNetWeight());
lqw.eq(bo.getGrossWeight() != null, OaDeliveryOrderDetail::getGrossWeight, bo.getGrossWeight());
lqw.eq(bo.getVolume() != null, OaDeliveryOrderDetail::getVolume, bo.getVolume());
lqw.eq(StringUtils.isNotBlank(bo.getBoxSize()), OaDeliveryOrderDetail::getBoxSize, bo.getBoxSize());
lqw.eq(StringUtils.isNotBlank(bo.getDetailRemark()), OaDeliveryOrderDetail::getDetailRemark, bo.getDetailRemark());
lqw.orderByDesc(OaDeliveryOrderDetail::getCreateTime);
return lqw;
}
/**
* 新增送货单明细
*/
@Override
public Boolean insertByBo(OaDeliveryOrderDetailBo bo) {
OaDeliveryOrderDetail add = BeanUtil.toBean(bo, OaDeliveryOrderDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setDetailId(add.getDetailId());
}
return flag;
}
/**
* 修改送货单明细
*/
@Override
public Boolean updateByBo(OaDeliveryOrderDetailBo bo) {
OaDeliveryOrderDetail update = BeanUtil.toBean(bo, OaDeliveryOrderDetail.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(OaDeliveryOrderDetail entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除送货单明细
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,125 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
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 lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaDeliveryOrderBo;
import com.ruoyi.oa.domain.vo.OaDeliveryOrderVo;
import com.ruoyi.oa.domain.OaDeliveryOrder;
import com.ruoyi.oa.mapper.OaDeliveryOrderMapper;
import com.ruoyi.oa.service.IOaDeliveryOrderService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 送货单主Service业务层处理
*
* @author ruoyi
* @date 2025-12-08
*/
@RequiredArgsConstructor
@Service
public class OaDeliveryOrderServiceImpl implements IOaDeliveryOrderService {
private final OaDeliveryOrderMapper baseMapper;
/**
* 查询送货单主
*/
@Override
public OaDeliveryOrderVo queryById(Long orderId){
return baseMapper.selectVoById(orderId);
}
/**
* 查询送货单主列表
*/
@Override
public TableDataInfo<OaDeliveryOrderVo> queryPageList(OaDeliveryOrderBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaDeliveryOrder> lqw = buildQueryWrapper(bo);
Page<OaDeliveryOrderVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询送货单主列表
*/
@Override
public List<OaDeliveryOrderVo> queryList(OaDeliveryOrderBo bo) {
LambdaQueryWrapper<OaDeliveryOrder> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaDeliveryOrder> buildQueryWrapper(OaDeliveryOrderBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaDeliveryOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryOrderNo()), OaDeliveryOrder::getDeliveryOrderNo, bo.getDeliveryOrderNo());
lqw.eq(bo.getProjectId() != null, OaDeliveryOrder::getProjectId, bo.getProjectId());
lqw.eq(StringUtils.isNotBlank(bo.getContractNo()), OaDeliveryOrder::getContractNo, bo.getContractNo());
lqw.eq(StringUtils.isNotBlank(bo.getUserContractNo()), OaDeliveryOrder::getUserContractNo, bo.getUserContractNo());
lqw.eq(StringUtils.isNotBlank(bo.getProcurementNo()), OaDeliveryOrder::getProcurementNo, bo.getProcurementNo());
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryDestination()), OaDeliveryOrder::getDeliveryDestination, bo.getDeliveryDestination());
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryAddress()), OaDeliveryOrder::getDeliveryAddress, bo.getDeliveryAddress());
lqw.eq(StringUtils.isNotBlank(bo.getReceiver()), OaDeliveryOrder::getReceiver, bo.getReceiver());
lqw.eq(StringUtils.isNotBlank(bo.getReceiverPhone()), OaDeliveryOrder::getReceiverPhone, bo.getReceiverPhone());
lqw.like(StringUtils.isNotBlank(bo.getSupplierFullname()), OaDeliveryOrder::getSupplierFullname, bo.getSupplierFullname());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierContact()), OaDeliveryOrder::getSupplierContact, bo.getSupplierContact());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierPhone()), OaDeliveryOrder::getSupplierPhone, bo.getSupplierPhone());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingCompany()), OaDeliveryOrder::getReceivingCompany, bo.getReceivingCompany());
lqw.eq(StringUtils.isNotBlank(bo.getActualReceiver()), OaDeliveryOrder::getActualReceiver, bo.getActualReceiver());
lqw.eq(StringUtils.isNotBlank(bo.getConstructionCompany()), OaDeliveryOrder::getConstructionCompany, bo.getConstructionCompany());
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryRemark()), OaDeliveryOrder::getDeliveryRemark, bo.getDeliveryRemark());
lqw.orderByDesc(OaDeliveryOrder::getCreateTime);
return lqw;
}
/**
* 新增送货单主
*/
@Override
public Boolean insertByBo(OaDeliveryOrderBo bo) {
OaDeliveryOrder add = BeanUtil.toBean(bo, OaDeliveryOrder.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setOrderId(add.getOrderId());
}
return flag;
}
/**
* 修改送货单主
*/
@Override
public Boolean updateByBo(OaDeliveryOrderBo bo) {
OaDeliveryOrder update = BeanUtil.toBean(bo, OaDeliveryOrder.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(OaDeliveryOrder entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除送货单主
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,118 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
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 lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo;
import com.ruoyi.oa.domain.vo.OaProcessCardDetailVo;
import com.ruoyi.oa.domain.OaProcessCardDetail;
import com.ruoyi.oa.mapper.OaProcessCardDetailMapper;
import com.ruoyi.oa.service.IOaProcessCardDetailService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 工艺卡明细Service业务层处理
*
* @author ruoyi
* @date 2025-12-08
*/
@RequiredArgsConstructor
@Service
public class OaProcessCardDetailServiceImpl implements IOaProcessCardDetailService {
private final OaProcessCardDetailMapper baseMapper;
/**
* 查询工艺卡明细
*/
@Override
public OaProcessCardDetailVo queryById(Long detailId){
return baseMapper.selectVoById(detailId);
}
/**
* 查询工艺卡明细列表
*/
@Override
public TableDataInfo<OaProcessCardDetailVo> queryPageList(OaProcessCardDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaProcessCardDetail> lqw = buildQueryWrapper(bo);
Page<OaProcessCardDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询工艺卡明细列表
*/
@Override
public List<OaProcessCardDetailVo> queryList(OaProcessCardDetailBo bo) {
LambdaQueryWrapper<OaProcessCardDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaProcessCardDetail> buildQueryWrapper(OaProcessCardDetailBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaProcessCardDetail> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getCardId() != null, OaProcessCardDetail::getCardId, bo.getCardId());
lqw.eq(bo.getSequence() != null, OaProcessCardDetail::getSequence, bo.getSequence());
lqw.like(StringUtils.isNotBlank(bo.getProcessName()), OaProcessCardDetail::getProcessName, bo.getProcessName());
lqw.eq(StringUtils.isNotBlank(bo.getProcessDetail()), OaProcessCardDetail::getProcessDetail, bo.getProcessDetail());
lqw.eq(StringUtils.isNotBlank(bo.getWorkResponsiblePerson()), OaProcessCardDetail::getWorkResponsiblePerson, bo.getWorkResponsiblePerson());
lqw.eq(bo.getProcessStartTime() != null, OaProcessCardDetail::getProcessStartTime, bo.getProcessStartTime());
lqw.eq(bo.getProcessEndTime() != null, OaProcessCardDetail::getProcessEndTime, bo.getProcessEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getInspector()), OaProcessCardDetail::getInspector, bo.getInspector());
lqw.eq(StringUtils.isNotBlank(bo.getUnqualifiedContent()), OaProcessCardDetail::getUnqualifiedContent, bo.getUnqualifiedContent());
lqw.orderByDesc(OaProcessCardDetail::getCreateTime);
return lqw;
}
/**
* 新增工艺卡明细
*/
@Override
public Boolean insertByBo(OaProcessCardDetailBo bo) {
OaProcessCardDetail add = BeanUtil.toBean(bo, OaProcessCardDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setDetailId(add.getDetailId());
}
return flag;
}
/**
* 修改工艺卡明细
*/
@Override
public Boolean updateByBo(OaProcessCardDetailBo bo) {
OaProcessCardDetail update = BeanUtil.toBean(bo, OaProcessCardDetail.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(OaProcessCardDetail entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除工艺卡明细
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,115 @@
package com.ruoyi.oa.service.impl;
import cn.hutool.core.bean.BeanUtil;
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 lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.oa.domain.bo.OaProcessCardBo;
import com.ruoyi.oa.domain.vo.OaProcessCardVo;
import com.ruoyi.oa.domain.OaProcessCard;
import com.ruoyi.oa.mapper.OaProcessCardMapper;
import com.ruoyi.oa.service.IOaProcessCardService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 工艺卡主Service业务层处理
*
* @author ruoyi
* @date 2025-12-08
*/
@RequiredArgsConstructor
@Service
public class OaProcessCardServiceImpl implements IOaProcessCardService {
private final OaProcessCardMapper baseMapper;
/**
* 查询工艺卡主
*/
@Override
public OaProcessCardVo queryById(Long cardId){
return baseMapper.selectVoById(cardId);
}
/**
* 查询工艺卡主列表
*/
@Override
public TableDataInfo<OaProcessCardVo> queryPageList(OaProcessCardBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<OaProcessCard> lqw = buildQueryWrapper(bo);
Page<OaProcessCardVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询工艺卡主列表
*/
@Override
public List<OaProcessCardVo> queryList(OaProcessCardBo bo) {
LambdaQueryWrapper<OaProcessCard> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<OaProcessCard> buildQueryWrapper(OaProcessCardBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<OaProcessCard> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, OaProcessCard::getProjectId, bo.getProjectId());
lqw.like(StringUtils.isNotBlank(bo.getEquipmentName()), OaProcessCard::getEquipmentName, bo.getEquipmentName());
lqw.eq(bo.getEquipmentQuantity() != null, OaProcessCard::getEquipmentQuantity, bo.getEquipmentQuantity());
lqw.eq(StringUtils.isNotBlank(bo.getManufacturingLeader()), OaProcessCard::getManufacturingLeader, bo.getManufacturingLeader());
lqw.eq(StringUtils.isNotBlank(bo.getOperationLeader()), OaProcessCard::getOperationLeader, bo.getOperationLeader());
lqw.eq(bo.getPlannedDeliveryDate() != null, OaProcessCard::getPlannedDeliveryDate, bo.getPlannedDeliveryDate());
lqw.orderByDesc(OaProcessCard::getCreateTime);
return lqw;
}
/**
* 新增工艺卡主
*/
@Override
public Boolean insertByBo(OaProcessCardBo bo) {
OaProcessCard add = BeanUtil.toBean(bo, OaProcessCard.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setCardId(add.getCardId());
}
return flag;
}
/**
* 修改工艺卡主
*/
@Override
public Boolean updateByBo(OaProcessCardBo bo) {
OaProcessCard update = BeanUtil.toBean(bo, OaProcessCard.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(OaProcessCard entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除工艺卡主
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}