package com.by4cloud.platformx.business.service.impl;
|
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.util.ObjUtil;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.by4cloud.platformx.business.dto.ContractDelayOutQueryDTO;
|
import com.by4cloud.platformx.business.entity.Contract;
|
import com.by4cloud.platformx.business.entity.ContractDelayOut;
|
import com.by4cloud.platformx.business.mapper.ContractDelayOutMapper;
|
import com.by4cloud.platformx.business.mapper.ContractMapper;
|
import com.by4cloud.platformx.business.service.ContractDelayOutService;
|
import com.by4cloud.platformx.common.data.datascope.DataScope;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.stereotype.Service;
|
/**
|
* 延期出货
|
*
|
* @author syt
|
* @date 2026-06-17 08:44:56
|
*/
|
@Service
|
@RequiredArgsConstructor
|
public class ContractDelayOutServiceImpl extends ServiceImpl<ContractDelayOutMapper, ContractDelayOut> implements ContractDelayOutService {
|
|
private final ContractMapper contractMapper;
|
|
@Override
|
public void approvalPass(Long contractId) {
|
ContractDelayOut delayOut = baseMapper.selectOne(Wrappers.<ContractDelayOut>lambdaQuery().eq(ContractDelayOut::getContractId,contractId)
|
.eq(ContractDelayOut::getDelayStatus,"0").last("limit 1"));
|
if (ObjUtil.isNull(delayOut)){
|
log.error("合同延期发货审批同意后查询审批数据异常");
|
return;
|
}
|
delayOut.setDelayStatus("1");
|
baseMapper.updateById(delayOut);
|
Contract contract = contractMapper.selectById(contractId);
|
if (ObjUtil.isNull(contract)){
|
log.error("合同延期发货审批同意后查询合同数据异常");
|
return;
|
}
|
contract.setExpirationDate(DateUtil.offsetDay(contract.getExpirationDate(),delayOut.getDelayDay()));
|
contractMapper.updateById(contract);
|
}
|
|
@Override
|
public void refuseApproval(Long contractId) {
|
ContractDelayOut delayOut = baseMapper.selectOne(Wrappers.<ContractDelayOut>lambdaQuery().eq(ContractDelayOut::getContractId,contractId)
|
.eq(ContractDelayOut::getDelayStatus,"0").last("limit 1"));
|
if (ObjUtil.isNull(delayOut)){
|
log.error("合同延期发货审批同意后查询审批数据异常");
|
return;
|
}
|
delayOut.setDelayStatus("2");
|
baseMapper.updateById(delayOut);
|
}
|
|
@Override
|
public Page pageNew(Page page, ContractDelayOutQueryDTO queryDTO) {
|
return baseMapper.pageNew(page,queryDTO, DataScope.of("comp_id"));
|
}
|
}
|