wujianwei
2025-08-14 4ee555a391411375feb67d14dc9b3600382392eb
service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -1,9 +1,19 @@
package com.ruoyi.cwgl.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import com.ruoyi.common.utils.RandomUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.cwgl.domain.EstimatedReceivableBill;
import com.ruoyi.cwgl.mapper.EstimatedReceivableLogMapper;
import com.ruoyi.cwgl.service.IEstimatedReceivableLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import org.springframework.scheduling.annotation.Async;
@@ -33,7 +43,8 @@
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private EstimatedReceivableMapper estimatedReceivableMapper;
    @Autowired
    private IEstimatedReceivableLogService logService;
    /**
     * 查询预估应收管理
@@ -102,7 +113,12 @@
    @Override
    public int insertEstimatedReceivable(EstimatedReceivable estimatedReceivable)
    {
        estimatedReceivable.setCreateTime(DateUtils.getNowDate());
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
        Date nowDate = DateUtils.getNowDate();
        String datePart = dateFormat.format(nowDate);
        estimatedReceivable.setCreateTime(nowDate);
        estimatedReceivable.setFeeSystemNo("YF"+datePart+ RandomUtils.random(5));
        return estimatedReceivableMapper.insertEstimatedReceivable(estimatedReceivable);
    }
@@ -128,7 +144,14 @@
    @Override
    public int updateEstimatedReceivable(EstimatedReceivable estimatedReceivable)
    {
        Integer id = estimatedReceivable.getId();
        EstimatedReceivable estimatedReceivable1 = estimatedReceivableMapper.selectEstimatedReceivableById(id);
        if (estimatedReceivable1.getRelatedBillStatus().equals(2)||estimatedReceivable1.getRelatedBillStatus().equals(3)){
            throw new ServiceException("结算中或已结算无法修改");
        }
        estimatedReceivable.setUpdateTime(DateUtils.getNowDate());
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("修改应收",estimatedReceivable.getId(),username);
        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
    }
@@ -179,4 +202,65 @@
    {
        return estimatedReceivableMapper.deleteEstimatedReceivableById(id);
    }
    @Override
    public int confirm(Integer id) {
        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
        if (estimatedReceivable==null){
            throw new ServiceException("数据不存在");
        }
        if (estimatedReceivable.getIsConfirmed().equals(2)) {
            throw new ServiceException("该数据已作废");
        }
        if (estimatedReceivable.getIsConfirmed().equals(1)) {
            throw new ServiceException("无需重复确认");
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("确认应收",id,username);
        estimatedReceivable.setIsConfirmed(1);
        estimatedReceivable.setConfirmBy(username);
        estimatedReceivable.setConfirmTime(new Date());
        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
    }
    @Override
    public int cancel(Integer id) {
        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
        if (estimatedReceivable==null){
            throw new ServiceException("数据不存在");
        }
        if (estimatedReceivable.getIsConfirmed().equals(2)) {
            throw new ServiceException("该数据已作废");
        }
        if (estimatedReceivable.getIsConfirmed().equals(0)) {
            throw new ServiceException("无需重复取消");
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("取消应收",id,username);
        estimatedReceivable.setIsConfirmed(0);
        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
    }
    @Override
    public int invalid(Integer id) {
        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
        if (estimatedReceivable==null){
            throw new ServiceException("数据不存在");
        }
        if (estimatedReceivable.getIsConfirmed().equals(2)) {
            throw new ServiceException("无需重复作废");
        }
        String username = SecurityUtils.getUsername();
        logService.insertEstimatedReceivableLog("作废应收",id,username);
        estimatedReceivable.setIsConfirmed(2);
        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
    }
}