1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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);
    }
}