feat(oa): 新增送货单及工艺卡模块
- 新增送货单主表、明细表及相关业务逻辑 - 新增工艺卡主表、明细表及相关业务逻辑 - 实现完整的CRUD功能和数据校验 - 配置MyBatis映射文件和Excel导出支持 - 提供Controller接口用于前后端交互
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user