10 小时以前 db46314b9c56256a31c9114bd45d9bd63368cbd8
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/service/tender/SrmTenderProjectServiceImpl.java
@@ -11,6 +11,7 @@
import cn.iocoder.yudao.module.srm.dal.mysql.SrmBidAwardMapper;
import cn.iocoder.yudao.module.srm.dal.mysql.SrmTenderMaterialMapper;
import cn.iocoder.yudao.module.srm.dal.mysql.SrmTenderProjectMapper;
import cn.iocoder.yudao.module.srm.enums.AwardStatusEnum;
import cn.iocoder.yudao.module.srm.enums.ErrorCodeConstants;
import cn.iocoder.yudao.module.srm.enums.TenderStatusEnum;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
@@ -64,7 +65,15 @@
    @Override
    public SrmTenderProjectDO getTenderProject(Long id) {
        return tenderProjectMapper.selectById(id);
        SrmTenderProjectDO project = tenderProjectMapper.selectById(id);
        if (project != null) {
            SrmBidAwardDO award = bidAwardMapper.selectByTenderProjectId(id);
            if (award != null) {
                project.setAwardId(award.getId());
                project.setPurchaseOrderNo(award.getPurchaseOrderNo());
            }
        }
        return project;
    }
    @Override
@@ -82,6 +91,10 @@
                if (award != null) {
                    project.setAwardId(award.getId());
                    project.setPurchaseOrderNo(award.getPurchaseOrderNo());
                    // 防御:如果定标已生成订单但项目状态未更新,同步状态
                    if (AwardStatusEnum.ORDER_GENERATED.getCode().equals(award.getAwardStatus())) {
                        project.setTenderStatus(TenderStatusEnum.CLOSED.getCode());
                    }
                }
            });
        }