|
|
|
|
@ -1,10 +1,12 @@
|
|
|
|
|
package org.dromara.xzd.biddingManagement.postAnalysis.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
|
|
|
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
|
|
|
|
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
|
|
|
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
|
|
|
|
import org.dromara.common.core.utils.MapstructUtils;
|
|
|
|
|
import org.dromara.common.core.utils.StringUtils;
|
|
|
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
|
|
@ -14,9 +16,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.dromara.common.utils.BatchNumberGenerator;
|
|
|
|
|
import org.dromara.system.domain.SysDept;
|
|
|
|
|
import org.dromara.system.domain.vo.SysDeptVo;
|
|
|
|
|
import org.dromara.system.mapper.SysDeptMapper;
|
|
|
|
|
import org.dromara.system.service.ISysDeptService;
|
|
|
|
|
import org.dromara.system.service.impl.SysOssServiceImpl;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBidPreProject;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.XzdBqlxProjectInfo;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.domain.vo.XzdBidPreProjectVo;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.mapper.XzdBidPreProjectMapper;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biaoqianlixiang.service.IXzdBqlxProjectInfoService;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.biddingDocumentList.domain.XzdBiddingDocument;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdBhfxDwpm;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.postAnalysis.domain.XzdPostBidAnalysis;
|
|
|
|
|
@ -27,9 +36,17 @@ import org.dromara.xzd.biddingManagement.postAnalysis.domain.vo.XzdPostBidAnalys
|
|
|
|
|
import org.dromara.xzd.biddingManagement.postAnalysis.mapper.XzdPostBidAnalysisMapper;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdBhfxDwpmService;
|
|
|
|
|
import org.dromara.xzd.biddingManagement.postAnalysis.service.IXzdPostBidAnalysisService;
|
|
|
|
|
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.XzdSubcontract;
|
|
|
|
|
import org.dromara.xzd.domain.XzdProject;
|
|
|
|
|
import org.dromara.xzd.domain.XzdProjectProfile;
|
|
|
|
|
import org.dromara.xzd.domain.bo.XzdProjectProfileBo;
|
|
|
|
|
import org.dromara.xzd.domain.vo.XzdProjectTypeVo;
|
|
|
|
|
import org.dromara.xzd.enums.ZxdEnum;
|
|
|
|
|
import org.dromara.xzd.service.IXzdProjectProfileService;
|
|
|
|
|
import org.dromara.xzd.service.IXzdProjectService;
|
|
|
|
|
import org.dromara.xzd.settlement.domain.vo.XzdJsCgJungonVo;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
|
|
import org.springframework.context.event.EventListener;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@ -52,11 +69,22 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
|
|
|
|
|
|
|
|
|
|
private final IXzdBhfxDwpmService xzdBhfxDwpmService;
|
|
|
|
|
|
|
|
|
|
private final SysDeptMapper sysDeptMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private SysOssServiceImpl sysOssService;
|
|
|
|
|
|
|
|
|
|
private final XzdBidPreProjectMapper xzdBidPreProjectMapper;
|
|
|
|
|
|
|
|
|
|
private final IXzdProjectProfileService xzdProjectProfileService;
|
|
|
|
|
|
|
|
|
|
private final IXzdBqlxProjectInfoService xzdBqlxProjectInfoService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
@Lazy
|
|
|
|
|
private IXzdProjectService xzdProjectService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询标后分析
|
|
|
|
|
*
|
|
|
|
|
@ -68,7 +96,7 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
|
|
|
|
|
XzdPostBidAnalysisVo vo = baseMapper.selectVoById(id);
|
|
|
|
|
List<XzdBhfxDwpm> xzdBhfxDwpms = xzdBhfxDwpmService.getBaseMapper().selectList(new LambdaQueryWrapper<XzdBhfxDwpm>().eq(XzdBhfxDwpm::getMasterId, id).orderByAsc(XzdBhfxDwpm::getRanking));
|
|
|
|
|
vo.setPm(MapstructUtils.convert(xzdBhfxDwpms, XzdBhfxDwpmVo.class));
|
|
|
|
|
getName( vo);
|
|
|
|
|
getName(vo);
|
|
|
|
|
|
|
|
|
|
return vo;
|
|
|
|
|
}
|
|
|
|
|
@ -245,10 +273,51 @@ public class XzdPostBidAnalysisServiceImpl extends ServiceImpl<XzdPostBidAnalysi
|
|
|
|
|
if (vo == null) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 审核通过并且中标则转换项目数据
|
|
|
|
|
if (processEvent.getStatus().equals(BusinessStatusEnum.FINISH.getStatus()) && ZxdEnum.SFZB_F.getTypeValue().equals(vo.getBiddingResult())){
|
|
|
|
|
// 查询顶层下的公司id 理论只有一个
|
|
|
|
|
List<SysDeptVo> sysDeptVos = sysDeptMapper.selectDeptList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getDelFlag, "0").eq(SysDept::getParentId, "100"));
|
|
|
|
|
// 查询投标管理中的项目信息
|
|
|
|
|
XzdBqlxProjectInfo xzdBqlxProjectInfo = xzdBqlxProjectInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<XzdBqlxProjectInfo>().eq(XzdBqlxProjectInfo::getBidPreProjectId, vo.getProjectName()));
|
|
|
|
|
// 标前立项
|
|
|
|
|
XzdBidPreProjectVo xzdBidPreProjectVo = xzdBidPreProjectMapper.selectVoOne(new LambdaQueryWrapper<XzdBidPreProject>().eq(XzdBidPreProject::getId, vo.getProjectName()));
|
|
|
|
|
// 项目信息
|
|
|
|
|
|
|
|
|
|
XzdProject xzdProject = new XzdProject();
|
|
|
|
|
xzdProject.setProjectNumber(BatchNumberGenerator.generateBatchNumber("XMXX-"));
|
|
|
|
|
xzdProject.setCityCode(xzdBidPreProjectVo.getCityCode());
|
|
|
|
|
xzdProject.setProjectName(xzdBidPreProjectVo.getProjectName());
|
|
|
|
|
xzdProject.setProjectAttribute(ZxdEnum.XMXX_BHFXLY.getTypeValue());
|
|
|
|
|
xzdProject.setProjectType(xzdBidPreProjectVo.getProjectTypeId());
|
|
|
|
|
xzdProject.setManagementOrganization(sysDeptVos.getFirst().getDeptId());
|
|
|
|
|
xzdProject.setDefaultFinancialOrganization(sysDeptVos.getFirst().getDeptId());
|
|
|
|
|
xzdProject.setSsgs(sysDeptVos.getFirst().getDeptId());
|
|
|
|
|
xzdProject.setConstructionUnit(xzdBidPreProjectVo.getProjectTypeId());
|
|
|
|
|
if (xzdBqlxProjectInfo != null){
|
|
|
|
|
xzdProject.setConstructionUnit(xzdBqlxProjectInfo.getConstructionUnit());
|
|
|
|
|
}
|
|
|
|
|
xzdProjectService.save(xzdProject);
|
|
|
|
|
// 项目概况
|
|
|
|
|
XzdProjectProfile xzdProjectProfile = new XzdProjectProfile();
|
|
|
|
|
xzdProjectProfile.setXzdProjectId(xzdProject.getId());
|
|
|
|
|
xzdProjectProfile.setCity(xzdBidPreProjectVo.getCity());
|
|
|
|
|
xzdProjectProfile.setCountry(xzdBidPreProjectVo.getCountry());
|
|
|
|
|
xzdProjectProfile.setDistrict(xzdBidPreProjectVo.getDistrict());
|
|
|
|
|
xzdProjectProfile.setProvince(xzdBidPreProjectVo.getProvince());
|
|
|
|
|
xzdProjectProfileService.save(xzdProjectProfile);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vo.setAuditStatus(processEvent.getStatus());
|
|
|
|
|
this.updateById(vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 执行任务创建监听
|
|
|
|
|
* 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断
|
|
|
|
|
|