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.service.impl.ServiceImpl;
|
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 lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
@Slf4j
|
@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);
|
}
|
}
|