package cn.iocoder.yudao.module.erp.api.purchase;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseRequestRespDTO;
|
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseRequestDO;
|
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseRequestItemDO;
|
import cn.iocoder.yudao.module.erp.dal.mysql.purchase.ErpPurchaseRequestItemMapper;
|
import cn.iocoder.yudao.module.erp.dal.mysql.purchase.ErpPurchaseRequestMapper;
|
import jakarta.annotation.Resource;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
/**
|
* ERP 采购申请 API 实现类
|
*
|
* 供 SRM 询价比价模块读取采购申请、回写询价单与采购台账关联。
|
*/
|
@Service
|
@Validated
|
@Slf4j
|
public class ErpPurchaseRequestApiImpl implements ErpPurchaseRequestApi {
|
|
@Resource
|
private ErpPurchaseRequestMapper purchaseRequestMapper;
|
@Resource
|
private ErpPurchaseRequestItemMapper purchaseRequestItemMapper;
|
|
@Override
|
public CommonResult<ErpPurchaseRequestRespDTO> getPurchaseRequest(Long id) {
|
ErpPurchaseRequestDO request = purchaseRequestMapper.selectById(id);
|
if (request == null) {
|
return success(null);
|
}
|
List<ErpPurchaseRequestItemDO> items = purchaseRequestItemMapper.selectListByRequestId(id);
|
return success(BeanUtils.toBean(request, ErpPurchaseRequestRespDTO.class, resp -> resp
|
.setItems(BeanUtils.toBean(items, ErpPurchaseRequestRespDTO.Item.class))));
|
}
|
|
@Override
|
public CommonResult<Boolean> updatePurchaseRequestInquiry(Long id, Long inquiryId, String inquiryNo) {
|
purchaseRequestMapper.updateById(new ErpPurchaseRequestDO()
|
.setId(id)
|
.setInquiryId(inquiryId)
|
.setInquiryNo(inquiryNo));
|
return success(true);
|
}
|
|
@Override
|
public CommonResult<Boolean> clearPurchaseRequestInquiry(Long id) {
|
purchaseRequestMapper.update(null, new LambdaUpdateWrapper<ErpPurchaseRequestDO>()
|
.eq(ErpPurchaseRequestDO::getId, id)
|
.set(ErpPurchaseRequestDO::getInquiryId, null)
|
.set(ErpPurchaseRequestDO::getInquiryNo, null));
|
return success(true);
|
}
|
|
@Override
|
public CommonResult<Boolean> updatePurchaseRequestOrder(Long id, Long orderId, String orderNo) {
|
purchaseRequestMapper.updateById(new ErpPurchaseRequestDO()
|
.setId(id)
|
.setOrderId(orderId)
|
.setOrderNo(orderNo));
|
return success(true);
|
}
|
|
}
|